本文整理汇总了C++中UmlPackage::propertyValue方法的典型用法代码示例。如果您正苦于以下问题:C++ UmlPackage::propertyValue方法的具体用法?C++ UmlPackage::propertyValue怎么用?C++ UmlPackage::propertyValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UmlPackage
的用法示例。
在下文中一共展示了UmlPackage::propertyValue方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: fileControl
void UmlPackage::fileControl(bool ci) {
UmlPackage * prj = getProject();
Q3CString prjfile = prj->supportFile();
BooL rec;
BooL reload;
Q3CString cmd;
if (! prj->propertyValue((ci) ? "check-in-cmd" : "check-out-cmd", cmd))
cmd = "specify the command containing %file and %dir or %dironly";
Dialog dialog(ci, cmd, rec, reload); // the dialog execution set 'cmd' and 'rec'
if (dialog.exec() == QDialog::Accepted) {
// save the command for a future usage
prj->set_PropertyValue((ci) ? "check-in-cmd" : "check-out-cmd", cmd);
if (reload)
saveProject();
// get files list
Q3Dict<void> files;
getFiles(files, (rec) ? ~0u : 1);
if (this == prj)
getAuxFiles(files);
// apply the command on each file
Q3DictIterator<void> it(files);
QFileInfo prjpath(prjfile);
QString dir = prjpath.dirPath(TRUE);
QString dironly = dir;
int index;
if ((dironly.length() > 3) &&
(((const char *) dironly)[1] == ':') &&
(((const char *) dironly)[2] == '/'))
dironly = dironly.mid(2);
while ((index = cmd.find("%dironly")) != -1)
cmd.replace(index, 8, dironly);
while ((index = cmd.find("%dir")) != -1)
cmd.replace(index, 4, dir);
while (it.current()) {
QString s = cmd;
while ((index = s.find("%file")) != -1)
s.replace(index, 5, it.currentKey());
system((const char *) s);
++it;
}
UmlCom::trace("Done.");
if (reload)
loadProject(prjfile);
}
}
示例2: main
int main(int argc, char ** argv)
{
if (argc != 2)
return 0;
if (UmlCom::connect(Q3CString(argv[1]).toUInt())) {
bool aborted = TRUE;
try {
UmlCom::trace("<b>C++ roundtrip</b> release 1.3<br>");
UmlCom::traceAutoRaise(FALSE);
char * argv = 0;
int argc = 0;
QApplication * app = new QApplication(argc, &argv);
UmlItem * item = UmlCom::targetItem();
int n;
switch (item->kind()) {
default:
UmlCom::trace("<font face=helvetica><b>must be applied on a <i>package, class view, deployment view, artifact</i> or <i>class</i></b></font><br>");
aborted = FALSE;
throw 0;
case aPackage:
n = ((UmlPackage *) item)->count_roundtriped();
break;
case aClassView:
case aDeploymentView:
case anArtifact:
n = 1;
break;
case aClass:
if (item->parent()->kind() != aClassView) {
UmlCom::trace("<font face=helvetica><b>can't be applied on a <i>class</i> nested or out of a <i>class view</i></b></font><br>");
aborted = FALSE;
throw 0;
}
n = 1;
break;
}
UmlPackage * project = UmlPackage::getProject();
UmlCom::trace("<font face=helvetica>Upload project ...</font>");
Package::init(project, app);
UmlCom::trace("<font face=helvetica>...done</font><br>");
UmlCom::message("");
Package::set_step(0, n);
UmlCom::trace("<font face=helvetica>Preparation...</font>");
if (!item->set_roundtrip_expected() &&
(QMessageBox::warning(0, "Roundtrip",
"Some elements to roundtrip are read-only and will not be updated\n\n"
"Roundtrip anyway ?",
"Yes", "No", QString::null, 1, 1)
!= 0)) {
aborted = FALSE;
throw 0;
}
Package::set_step(0, -1);
UmlCom::trace("<font face=helvetica>...done</font><br>");
if ((item->kind() == aPackage) && !UmlArtifact::is_roundtrip_usefull()) {
UmlCom::trace("<font face=helvetica>you don't ask for to roundtrip artifact(s)<br><br>"
"probably you want to do a <i>reverse</i> rather than a <i>roundtrip</i></font><br>");
aborted = FALSE;
throw 0;
}
Q3CString f;
if (project->propertyValue("#file", f))
Lex::defines(f);
n = 0;
item->scan_it(n);
CppSettings::set_UseDefaults(TRUE);
project->set_childrenVisible(FALSE);
item->send_it(n);
UmlOperation::force_defs();
Statistic::produce();
// umark all
{
Q3PtrVector<UmlItem> marked = UmlItem::markedItems();
UmlItem ** v = marked.data();
UmlItem ** const vsup = v + marked.size();
for (;v != vsup; v += 1)
(*v)->set_isMarked(FALSE);
}
Q3PtrList<UmlItem> useless;
item->mark_useless(useless);
if (!useless.isEmpty() &&
(QMessageBox::warning(0, "C++ roundtrip",
"The marked elements are useless because they don't\n"
//.........这里部分代码省略.........
示例3: fileControl
void UmlPackage::fileControl(bool ci)
{
UmlPackage * prj = getProject();
QByteArray prjfile = prj->supportFile();
BooL rec;
BooL reload;
QByteArray cmd;
if (! prj->propertyValue((ci) ? "check-in-cmd" : "check-out-cmd", cmd))
cmd = "specify the command containing %file and %dir or %dironly";
Dialog dialog(ci, cmd, rec, reload); // the dialog execution set 'cmd' and 'rec'
if (dialog.exec() == QDialog::Accepted) {
// save the command for a future usage
prj->set_PropertyValue((ci) ? "check-in-cmd" : "check-out-cmd", cmd);
if (reload)
saveProject();
// get files list
QHash<QString,void*> files;
getFiles(files, (rec) ? ~0u : 1);
if (this == prj)
getAuxFiles(files);
// apply the command on each file
QHashIterator<QString,void*> it(files);
QFileInfo prjpath(prjfile);
QString dir = prjpath.path();
QString dironly = dir;
int index;
if ((dironly.length() > 3) &&
(dironly[1] == ':') &&
(dironly[2] == '/'))
dironly = dironly.mid(2);
while ((index = cmd.indexOf("%dironly")) != -1)
cmd.replace(index, 8, dironly.toLatin1());
while ((index = cmd.indexOf("%dir")) != -1)
cmd.replace(index, 4, dir.toLatin1());
while (it.hasNext()) {
it.next();
QString s = cmd;
while ((index = s.indexOf("%file")) != -1)
s.replace(index, 5, it.key().toLatin1());
system((const char *) s.toLatin1().constData());
//++it;
}
UmlCom::trace("Done.");
if (reload)
loadProject(prjfile);
}
}