本文整理汇总了C++中OutputData类的典型用法代码示例。如果您正苦于以下问题:C++ OutputData类的具体用法?C++ OutputData怎么用?C++ OutputData使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了OutputData类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: print
// Prints a message to a given node.
void GameNode::print(char* szText, short nColor, short nNewlines, short nType)
{
OutputData odMessage;
char szBuffer[250];
// Need to convert szText to an output message.
odMessage.szMessage[0] = '\0';
if ( szText != NULL )
{
if ( strlen(szText) >= 200 - 2*nNewlines )
szText[199 - 2*nNewlines] = '\0';
strcpy(odMessage.szMessage, szText);
}
// Add the specified number of newlines (1 by default)
for ( short n = 0; n < nNewlines; n++ )
{
strcat(odMessage.szMessage, "\r\n");
}
// Set the message color, type, and player stat info
odMessage.nColor = nColor;
odMessage.nType = nType;
fillStats(&odMessage);
// Send the message to the slot, after converting it to a string.
sendToSlot(hOutputSlot, odMessage.toString(szBuffer));
}
示例2: updateInputPortColor
void InternalPortModel::updateInputPortColor(void)
{
if((type == INPUTD) && input && (string(input->getName()) != "*"))
{
strColor = COLOR_NOMAL;
if(!destinationArrows.size())
strColor = (input->isRequired()) ? COLOR_WARNING : COLOR_NOMAL;
else
{
std::vector<ArrowModel*>::iterator itr;
for(itr=destinationArrows.begin(); itr<destinationArrows.end(); itr++)
if((*itr)->getSource() &&
Glib::RefPtr<InternalPortModel>::cast_dynamic((*itr)->getSource()))
{
OutputData* outp = Glib::RefPtr<InternalPortModel>::cast_dynamic((*itr)->getSource())->getOutput();
if(outp && !compareString(outp->getName(), input->getName()))
{
strColor = COLOR_MISMATCH;
break;
}
}
}
poly->property_fill_color().set_value(strColor.c_str());
}
}
示例3: process
OutputData process(bool const & stop, ThreadData & /*data*/)
{
OutputData resultObject;
int value;
m_stop = stop;
while (CloudI::API::return_value::timeout ==
(value = m_api.poll(1000)))
{
if (stop)
return resultObject.setError(
CloudI::API::return_value::success);
}
return resultObject.setError(value);
}
示例4: PolylineModel
ArrowModel::ArrowModel(ApplicationWindow* parentWnd,
Glib::RefPtr<PortModel> src, Glib::RefPtr<PortModel> dest,
Connection* con, ApplicationModel* appModel, bool nullArw): PolylineModel(0,0,0,0), connection(NULL, NULL)
{
parentWindow = parentWnd;
source = src;
destination = dest;
selected = false;
bExist = false;
bNullArrow = nullArw;
applicationModel = appModel;
bNested = (applicationModel != NULL);
if(appModel)
application = appModel->getApplication();
else
application = parentWindow->manager.getKnowledgeBase()->getApplication();
if(con)
{
strLabel = con->carrier();
connection = *con;
}
this->property_close_path().set_value(false);
this->property_line_width().set_value(ARROW_LINEWIDTH);
this->property_arrow_width().set_value(5.0);
if(!bNullArrow)
this->property_end_arrow().set_value(true);
if(bNested)
{
defaultColor = "#555555";
//GooCanvasLineDash *dash = goo_canvas_line_dash_new (ARROW_LINEWIDTH, 3.0, 3.0);
//g_object_set(this->gobj(), "line-dash", dash, NULL);
}
else
defaultColor = "black";
source->addSourceArrow(this);
destination->addDestinationArrow(this);
if(!bNullArrow)
{
string strCarrier = strLabel;
string dummyLabel;
//Adding connection
if(application)
{
string strFrom, strTo;
Glib::RefPtr<InternalPortModel> intPort;
Glib::RefPtr<ExternalPortModel> extPort;
Glib::RefPtr<PortArbitratorModel> arbPort;
Module* module;
InputData* input = NULL;
OutputData* output = NULL;
bool bExternFrom = false;
bool bExternTo = false;
// port arbitrator at the destination
arbPort = Glib::RefPtr<PortArbitratorModel>::cast_dynamic(destination);
// source
intPort = Glib::RefPtr<InternalPortModel>::cast_dynamic(source);
if(intPort)
{
output = intPort->getOutput();
module = (Module*) output->owner();
strFrom = string(module->getPrefix()) + string(intPort->getOutput()->getPort());
dummyLabel = string(intPort->getOutput()->getPort());
if(!strCarrier.size())
{
strCarrier = intPort->getOutput()->getCarrier();
if(arbPort)
strCarrier += "+recv.priority";
}
}
else
{
extPort = Glib::RefPtr<ExternalPortModel>::cast_dynamic(source);
strFrom = extPort->getPort();
dummyLabel = string(extPort->getPort());
if(!strCarrier.size() && arbPort)
strCarrier = "udp+recv.priority";
bExternFrom = true;
}
// destination
intPort = Glib::RefPtr<InternalPortModel>::cast_dynamic(destination);
if(intPort)
{
input = intPort->getInput();
module = (Module*) input->owner();
strTo = string(module->getPrefix()) + string(intPort->getInput()->getPort());
dummyLabel += string(" -> ") + string(intPort->getInput()->getPort()) + string(" ");
if(!strCarrier.size())
{
strCarrier = intPort->getInput()->getCarrier();
if(arbPort)
strCarrier += "+recv.priority";
}
}
else if(arbPort)
//.........这里部分代码省略.........
示例5: doc
//.........这里部分代码省略.........
TiXmlElement* authors;
if((authors = (TiXmlElement*) root->FirstChild("authors")))
for(TiXmlElement* ath = authors->FirstChildElement(); ath;
ath = ath->NextSiblingElement())
{
if(compareString(ath->Value(), "author"))
{
Author author;
if(ath->GetText())
author.setName(parser->parseText(ath->GetText()).c_str());
if(ath->Attribute("email"))
author.setEmail(ath->Attribute("email"));
module.addAuthor(author);
}
else
{
OSTRINGSTREAM war;
war<<"Unrecognized tag from "<<szFile<<" at line "\
<<ath->Row()<<".";
logger->addWarning(war);
}
}
/* retrieving data */
if(root->FirstChild("data"))
for(TiXmlElement* data = root->FirstChild("data")->FirstChildElement();
data; data = data->NextSiblingElement())
{
/* output data */
if(compareString(data->Value(), "output"))
{
OutputData output;
if(compareString(data->Attribute("port_type"), "stream") || !data->Attribute("port_type"))
output.setPortType(STREAM_PORT);
else if(compareString(data->Attribute("port_type"), "event"))
output.setPortType(EVENT_PORT);
else if(compareString(data->Attribute("port_type"), "service"))
output.setPortType(SERVICE_PORT);
else
{
OSTRINGSTREAM war;
war<<"Unknown port type \'"<<data->Attribute("port_type")<<"\' from "<<szFile<<" at line "\
<<data->Row()<<". Available types : stream, event, service";
logger->addWarning(war);
}
TiXmlElement* element;
if(output.getPortType() != SERVICE_PORT )
{
if((element = (TiXmlElement*) data->FirstChild("type")))
output.setName(parser->parseText(element->GetText()).c_str());
else
{
OSTRINGSTREAM war;
war<<"Output data from "<<szFile<<" at line "\
<<data->Row()<<" has no type.";
logger->addWarning(war);
}
}
else
output.setName("*");
示例6: updateWidget
void ModuleWindow::updateWidget()
{
Module* m_pModule = ModuleWindow::m_pModule;
m_refTreeModel->clear();
Gtk::TreeModel::Row row;
Gtk::TreeModel::Row childrow;
Gtk::TreeModel::Row cchildrow;
row = *(m_refTreeModel->append());
row[m_Columns.m_col_name] = "Name";
row[m_Columns.m_col_value] = m_pModule->getName();
row = *(m_refTreeModel->append());
row[m_Columns.m_col_name] = "Version";
row[m_Columns.m_col_value] = m_pModule->getVersion();
row = *(m_refTreeModel->append());
row[m_Columns.m_col_name] = "Description";
row[m_Columns.m_col_value] = m_pModule->getDescription();
row = *(m_refTreeModel->append());
row[m_Columns.m_col_name] = "Parameters";
row[m_Columns.m_col_value] = "";
for(int i=0; i<m_pModule->argumentCount(); i++)
{
childrow = *(m_refTreeModel->append(row.children()));
childrow[m_Columns.m_col_name] = m_pModule->getArgumentAt(i).getParam();
childrow[m_Columns.m_col_value] = m_pModule->getArgumentAt(i).getDescription();
}
row = *(m_refTreeModel->append());
row[m_Columns.m_col_name] = "Authors";
row[m_Columns.m_col_value] = "";
for(int i=0; i<m_pModule->authorCount(); i++)
{
childrow = *(m_refTreeModel->append(row.children()));
childrow[m_Columns.m_col_name] = m_pModule->getAuthorAt(i).getName();
childrow[m_Columns.m_col_value] = m_pModule->getAuthorAt(i).getEmail();
}
row = *(m_refTreeModel->append());
row[m_Columns.m_col_name] = "Inputs";
row[m_Columns.m_col_value] = "";
for(int i=0; i<m_pModule->inputCount(); i++)
{
InputData in = m_pModule->getInputAt(i);
childrow = *(m_refTreeModel->append(row.children()));
childrow[m_Columns.m_col_name] = "Type";
childrow[m_Columns.m_col_value] = in.getName();
cchildrow = *(m_refTreeModel->append(childrow.children()));
cchildrow[m_Columns.m_col_name] = "Port";
cchildrow[m_Columns.m_col_value] = in.getPort();
cchildrow = *(m_refTreeModel->append(childrow.children()));
cchildrow[m_Columns.m_col_name] = "Description";
cchildrow[m_Columns.m_col_value] = in.getDescription();
childrow = *(m_refTreeModel->append(childrow.children()));
childrow[m_Columns.m_col_name] = "Required";
childrow[m_Columns.m_col_value] = (in.isRequired())?"Yes":"No";
}
row = *(m_refTreeModel->append());
row[m_Columns.m_col_name] = "Outputs";
row[m_Columns.m_col_value] = "";
for(int i=0; i<m_pModule->outputCount(); i++)
{
OutputData out = m_pModule->getOutputAt(i);
childrow = *(m_refTreeModel->append(row.children()));
childrow[m_Columns.m_col_name] = "Type";
childrow[m_Columns.m_col_value] = out.getName();
cchildrow = *(m_refTreeModel->append(childrow.children()));
cchildrow[m_Columns.m_col_name] = "Port";
cchildrow[m_Columns.m_col_value] = out.getPort();
cchildrow = *(m_refTreeModel->append(childrow.children()));
cchildrow[m_Columns.m_col_name] = "Description";
cchildrow[m_Columns.m_col_value] = out.getDescription();
}
}
示例7: updateApplication
void ApplicationPropertyWindow::updateApplication(const char* item, const char* value)
{
if(strcmp(item, "Prefix") == 0)
{
m_pManager->getKnowledgeBase()->setApplicationPrefix(m_pApplication, value);
Application* mainApplication = m_pManager->getKnowledgeBase()->getApplication();
for(int i=0; i<m_pApplication->sucCount(); i++)
{
Module* module = dynamic_cast<Module*>(m_pApplication->getLinkAt(i).to());
if(module)
{
for(int j=0; j<module->outputCount(); j++)
{
OutputData *output = &module->getOutputAt(j);
for(int i=0; i<mainApplication->connectionCount(); i++)
{
Connection con = mainApplication->getConnectionAt(i);
string strOldFrom = con.from();
Connection updatedCon = con;
if(con.getCorOutputData() && (con.getCorOutputData() == output))
{
string strFrom = string(module->getPrefix()) + string(output->getPort());
updatedCon.setFrom(strFrom.c_str());
m_pManager->getKnowledgeBase()->updateConnectionOfApplication(mainApplication,
con, updatedCon);
// updating arrow's connection
ArrowModel* arrow = dynamic_cast<ArrowModel*>(con.getModel());
if(arrow)
{
arrow->setConnection(updatedCon);
// updating excitatory links from other connections
Glib::RefPtr<PortArbitratorModel> arbPort = Glib::RefPtr<PortArbitratorModel>::cast_dynamic(arrow->getDestination());
if(arbPort)
arbPort->updateExcitation(arrow, strOldFrom.c_str(), strFrom.c_str());
}
}
}
}
for(int j=0; j<module->inputCount(); j++)
{
InputData *input = &module->getInputAt(j);
for(int i=0; i<mainApplication->connectionCount(); i++)
{
Connection con = mainApplication->getConnectionAt(i);
Connection updatedCon = con;
if(con.getCorInputData() && (con.getCorInputData() == input))
{
string strTo = string(module->getPrefix()) + string(input->getPort());
updatedCon.setTo(strTo.c_str());
m_pManager->getKnowledgeBase()->updateConnectionOfApplication(mainApplication,
con, updatedCon);
// updating arrow's connection
if(dynamic_cast<ArrowModel*>(con.getModel()))
dynamic_cast<ArrowModel*>(con.getModel())->setConnection(updatedCon);
}
}
}
} // end of if(module)
} // end of for
}
}
示例8: output
void output(OutputData & data)
{
if (data.error())
std::cerr << "CloudI error " << data.error() << std::endl;
m_got_output = true;
}
示例9: if
void ModulePropertyWindow::updateModule(const char* item, const char* value)
{
if(!m_pModule)
return;
// updating modules
if(strcmp(item, "Node") == 0)
{
m_pModule->setHost(value);
}
else if(strcmp(item,"Stdio") == 0)
{
m_pModule->setStdio(value);
}
else if(strcmp(item, "Workdir") == 0)
{
m_pModule->setWorkDir(value);
}
else if(strcmp(item, "Prefix") == 0)
{
m_pModule->setBasePrefix(value);
string strPrefix;
Application* application = m_pManager->getKnowledgeBase()->getApplication();
if(application)
{
strPrefix = string(application->getPrefix()) + string(value);
for(int j=0; j<m_pModule->outputCount(); j++)
{
OutputData *output = &m_pModule->getOutputAt(j);
for(int i=0; i<application->connectionCount(); i++)
{
Connection con = application->getConnectionAt(i);
string strOldFrom = con.from();
Connection updatedCon = con;
if(con.getCorOutputData())
{
if(con.getCorOutputData() == output)
{
string strFrom = strPrefix + string(output->getPort());
updatedCon.setFrom(strFrom.c_str());
m_pManager->getKnowledgeBase()->updateConnectionOfApplication(application,
con, updatedCon);
// updating arrow's connection
ArrowModel* arrow = dynamic_cast<ArrowModel*>(con.getModel());
if(arrow)
{
arrow->setConnection(updatedCon);
// updating excitatory links from other connections
Glib::RefPtr<PortArbitratorModel> arbPort = Glib::RefPtr<PortArbitratorModel>::cast_dynamic(arrow->getDestination());
if(arbPort)
arbPort->updateExcitation(arrow, strOldFrom.c_str(), strFrom.c_str());
}
}
}
}
}
for(int j=0; j<m_pModule->inputCount(); j++)
{
InputData *input = &m_pModule->getInputAt(j);
for(int i=0; i<application->connectionCount(); i++)
{
Connection con = application->getConnectionAt(i);
Connection updatedCon = con;
if(con.getCorInputData())
{
if(con.getCorInputData() == input)
{
string strTo = strPrefix + string(input->getPort());
updatedCon.setTo(strTo.c_str());
m_pManager->getKnowledgeBase()->updateConnectionOfApplication(application,
con, updatedCon);
// updating arrow's connection
if(dynamic_cast<ArrowModel*>(con.getModel()))
dynamic_cast<ArrowModel*>(con.getModel())->setConnection(updatedCon);
}
}
}
}
// updating module prefix.
m_pManager->getKnowledgeBase()->setModulePrefix(m_pModule, strPrefix.c_str(), false);
}
}
else if(strcmp(item, "Parameters") == 0)
{
m_pModule->setParam(value);
}
else if(strcmp(item, "Deployer") == 0)
{
m_pModule->setBroker(value);
}
}
示例10: strlen
//.........这里部分代码省略.........
row = *(m_refTreeModel->append());
row[m_Columns.m_col_name] = "Name";
row[m_Columns.m_col_value] = m_pModule->getName();
row[m_Columns.m_col_width] = width;
row = *(m_refTreeModel->append());
row[m_Columns.m_col_name] = "Version";
row[m_Columns.m_col_value] = m_pModule->getVersion();
row[m_Columns.m_col_width] = width;
row = *(m_refTreeModel->append());
row[m_Columns.m_col_name] = "Description";
row[m_Columns.m_col_value] = m_pModule->getDescription();
row[m_Columns.m_col_width] = width;
row = *(m_refTreeModel->append());
row[m_Columns.m_col_name] = "Parameters";
row[m_Columns.m_col_value] = "";
row[m_Columns.m_col_width] = width;
for(int i=0; i<m_pModule->argumentCount(); i++)
{
childrow = *(m_refTreeModel->append(row.children()));
childrow[m_Columns.m_col_name] = m_pModule->getArgumentAt(i).getParam();
childrow[m_Columns.m_col_value] = m_pModule->getArgumentAt(i).getDescription();
childrow[m_Columns.m_col_width] = width;
}
row = *(m_refTreeModel->append());
row[m_Columns.m_col_name] = "Authors";
row[m_Columns.m_col_value] = "";
row[m_Columns.m_col_width] = width;
//char buff[64];
for(int i=0; i<m_pModule->authorCount(); i++)
{
childrow = *(m_refTreeModel->append(row.children()));
//sprintf(buff, "%d", i+1);
childrow[m_Columns.m_col_name] = m_pModule->getAuthorAt(i).getName();
childrow[m_Columns.m_col_value] = m_pModule->getAuthorAt(i).getEmail();
childrow[m_Columns.m_col_width] = width;
}
row = *(m_refTreeModel->append());
row[m_Columns.m_col_name] = "Inputs";
row[m_Columns.m_col_value] = "";
row[m_Columns.m_col_width] = width;
for(int i=0; i<m_pModule->inputCount(); i++)
{
InputData in = m_pModule->getInputAt(i);
childrow = *(m_refTreeModel->append(row.children()));
childrow[m_Columns.m_col_name] = "Port";
childrow[m_Columns.m_col_value] = in.getPort();
childrow[m_Columns.m_col_width] = width;
cchildrow = *(m_refTreeModel->append(childrow.children()));
cchildrow[m_Columns.m_col_name] = "Type";
cchildrow[m_Columns.m_col_value] = in.getName();
cchildrow[m_Columns.m_col_width] = width;
cchildrow = *(m_refTreeModel->append(childrow.children()));
cchildrow[m_Columns.m_col_name] = "Description";
cchildrow[m_Columns.m_col_value] = in.getDescription();
cchildrow[m_Columns.m_col_width] = width;
childrow = *(m_refTreeModel->append(childrow.children()));
childrow[m_Columns.m_col_name] = "Required";
childrow[m_Columns.m_col_value] = (in.isRequired())?"Yes":"No";
childrow[m_Columns.m_col_width] = 200;
}
row = *(m_refTreeModel->append());
row[m_Columns.m_col_name] = "Outputs";
row[m_Columns.m_col_value] = "";
row[m_Columns.m_col_width] = width;
for(int i=0; i<m_pModule->outputCount(); i++)
{
OutputData out = m_pModule->getOutputAt(i);
childrow = *(m_refTreeModel->append(row.children()));
childrow[m_Columns.m_col_name] = "Port";
childrow[m_Columns.m_col_value] = out.getPort();
childrow[m_Columns.m_col_width] = width;
cchildrow = *(m_refTreeModel->append(childrow.children()));
cchildrow[m_Columns.m_col_name] = "Type";
cchildrow[m_Columns.m_col_value] = out.getName();
cchildrow[m_Columns.m_col_width] = width;
cchildrow = *(m_refTreeModel->append(childrow.children()));
cchildrow[m_Columns.m_col_name] = "Description";
cchildrow[m_Columns.m_col_value] = out.getDescription();
cchildrow[m_Columns.m_col_width] = width;
}
}
示例11: disconnect
//.........这里部分代码省略.........
}
nodeCombo->addItem(mod->getHost());
if(QString(mod->getHost()) != "localhost"){
nodeCombo->addItem("localhost");
}
ResourcePContainer resources = manager->getKnowledgeBase()->getResources();
for(ResourcePIterator itr=resources.begin(); itr!=resources.end(); itr++){
Computer* comp = dynamic_cast<Computer*>(*itr);
if(comp && !compareString(comp->getName(), "localhost")){
nodeCombo->addItem(comp->getName());
}
}
connect(nodeCombo, SIGNAL(editTextChanged(QString)), paramsSignalMapper, SLOT(map()));
connect(nodeCombo, SIGNAL(currentIndexChanged(int)), paramsSignalMapper, SLOT(map()));
paramsSignalMapper->setMapping(nodeCombo,nodeCombo);
connect(deployerCombo, SIGNAL(editTextChanged(QString)), paramsSignalMapper, SLOT(map()));
connect(deployerCombo, SIGNAL(currentIndexChanged(int)), paramsSignalMapper, SLOT(map()));
paramsSignalMapper->setMapping(deployerCombo,deployerCombo);
/*****************************/
// Populate paramters
for(int i=0;i<mod->argumentCount();i++){
Argument a = mod->getArgumentAt(i);
QTreeWidgetItem *it = new QTreeWidgetItem(modParams,QStringList() << a.getParam());
QComboBox *paramCombo = new QComboBox();
paramCombo->setEditable(true);
paramCombo->addItem(a.getValue());
if(strcmp(a.getDefault(),a.getValue()) != 0 ){
paramCombo->addItem(a.getDefault());
}
moduleProperties->setItemWidget(it,1,paramCombo);
connect(paramCombo, SIGNAL(editTextChanged(QString)), paramsSignalMapper, SLOT(map()));
connect(paramCombo, SIGNAL(currentIndexChanged(int)), paramsSignalMapper, SLOT(map()));
paramsSignalMapper->setMapping(paramCombo,paramCombo);
}
/*****************************/
moduleProperties->setItemWidget(modDeployer,1,deployerCombo);
moduleProperties->setItemWidget(modNode,1,nodeCombo);
modParams->setExpanded(true);
QTreeWidgetItem *nameItem = new QTreeWidgetItem(moduleDescription,QStringList() << "Name" << mod->getName());
QTreeWidgetItem *versionItem = new QTreeWidgetItem(moduleDescription,QStringList() << "Version" << mod->getVersion());
QTreeWidgetItem *descriptionItem = new QTreeWidgetItem(moduleDescription,QStringList() << "Description" << mod->getDescription());
QTreeWidgetItem *parametersItem = new QTreeWidgetItem(moduleDescription,QStringList() << "Parameters");
for(int i=0;i<mod->argumentCount();i++){
Argument a = mod->getArgumentAt(i);
QTreeWidgetItem *it = new QTreeWidgetItem(parametersItem,QStringList() << a.getParam() << a.getDescription());
}
QTreeWidgetItem *authorsItem = new QTreeWidgetItem(moduleDescription,QStringList() << "Authors" );
for(int i=0;i<mod->authorCount();i++){
Author a = mod->getAuthorAt(i);
QTreeWidgetItem *it = new QTreeWidgetItem(authorsItem,QStringList() << a.getName() << a.getEmail());
}
QTreeWidgetItem *inputsItem = new QTreeWidgetItem(moduleDescription,QStringList() << "Inputs" );
for(int i=0;i<mod->inputCount();i++){
InputData a = mod->getInputAt(i);
QTreeWidgetItem *type = new QTreeWidgetItem(inputsItem,QStringList() << "Type" << a.getName());
QTreeWidgetItem *port = new QTreeWidgetItem(type,QStringList() << "Port" << a.getPort());
QTreeWidgetItem *desc = new QTreeWidgetItem(type,QStringList() << "Description" << a.getDescription());
QTreeWidgetItem *req = new QTreeWidgetItem(type,QStringList() << "Required" << (a.isRequired() ? "yes" : "no"));
Q_UNUSED(port);
Q_UNUSED(desc);
Q_UNUSED(req);
}
QTreeWidgetItem *outputsItem = new QTreeWidgetItem(moduleDescription,QStringList() << "Outputs" );
for(int i=0;i<mod->outputCount();i++){
OutputData a = mod->getOutputAt(i); //TODO controllare
QTreeWidgetItem *type = new QTreeWidgetItem(outputsItem,QStringList() << "Type" << a.getName());
QTreeWidgetItem *port = new QTreeWidgetItem(type,QStringList() << "Port" << a.getPort());
QTreeWidgetItem *desc = new QTreeWidgetItem(type,QStringList() << "Description" << a.getDescription());
Q_UNUSED(port);
Q_UNUSED(desc);
}
moduleDescription->addTopLevelItem(nameItem);
moduleDescription->addTopLevelItem(versionItem);
moduleDescription->addTopLevelItem(descriptionItem);
moduleDescription->addTopLevelItem(parametersItem);
moduleDescription->addTopLevelItem(authorsItem);
moduleDescription->addTopLevelItem(inputsItem);
moduleDescription->addTopLevelItem(outputsItem);
connect(moduleProperties,SIGNAL(itemChanged(QTreeWidgetItem*,int)),this,SLOT(onModItemChanged(QTreeWidgetItem*,int)));
connect(moduleProperties,SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)),this,SLOT(onModItemDoubleClicked(QTreeWidgetItem*,int)));
}
示例12: string
void PropertiesTable::onModItemChanged(QTreeWidgetItem *it,int col)
{
Qt::ItemFlags tmp = it->flags();
if (!(tmp & Qt::ItemIsEditable)) {
return;
}
if(currentModule){
currentModule->setStdio(modStdio->text(1).toLatin1().data());
currentModule->setWorkDir(modWorkDir->text(1).toLatin1().data());
if(lastPrefix != modPrefix->text(1)){
currentModule->setBasePrefix(modPrefix->text(1).toLatin1().data());
string strPrefix;
Application* application = manager->getKnowledgeBase()->getApplication();
if(application){
strPrefix = string(application->getPrefix()) + string(modPrefix->text(1).toLatin1().data());
for(int j=0; j<currentModule->outputCount(); j++){
OutputData *output = ¤tModule->getOutputAt(j);
for(int i=0; i<application->connectionCount(); i++){
Connection con = application->getConnectionAt(i);
//string strOldFrom = con.from();
Connection updatedCon = con;
if(con.getCorOutputData()){
if(con.getCorOutputData() == output){
string strFrom = strPrefix + string(output->getPort());
updatedCon.setFrom(strFrom.c_str());
manager->getKnowledgeBase()->updateConnectionOfApplication(application,
con, updatedCon);
}
}
}
}
}
for(int j=0; j<currentModule->inputCount(); j++){
InputData *input = ¤tModule->getInputAt(j);
for(int i=0; i<application->connectionCount(); i++){
Connection con = application->getConnectionAt(i);
Connection updatedCon = con;
if(con.getCorInputData()){
if(con.getCorInputData() == input){
string strTo = strPrefix + string(input->getPort());
updatedCon.setTo(strTo.c_str());
manager->getKnowledgeBase()->updateConnectionOfApplication(application,
con, updatedCon);
}
}
}
}
manager->getKnowledgeBase()->setModulePrefix(currentModule, strPrefix.c_str(), false);
}
}
for(int i=0;i<modules.count();i++){
Module *module = modules.at(i);
if(!strcmp(module->getName(),currentModule->getName())){
module->setStdio(currentModule->getStdio());
module->setWorkDir(currentModule->getWorkDir());
}
}
modified();
}
示例13: switch
bool yarp::manager::exportDotGraph(Graph& graph, const char* szFileName)
{
ofstream dot;
dot.open(szFileName);
if(!dot.is_open())
return false;
dot<<"digraph G {"<<endl;
dot<<"rankdir=LR;"<<endl;
dot<<"ranksep=0.0;"<<endl;
dot<<"nodesep=0.2;"<<endl;
for(GraphIterator itr=graph.begin(); itr!=graph.end(); itr++)
{
switch((*itr)->getType()) {
case MODULE: {
Module* mod = (Module*)(*itr);
dot<<"\""<<mod->getLabel()<<"\"";
dot<<" [label=\""<< mod->getName()<<"\"";
dot<<" shape=component, color=midnightblue, fillcolor=lightslategrey, peripheries=1, style=filled, penwidth=2];"<<endl;
for(int i=0; i<mod->sucCount(); i++)
{
Link l = mod->getLinkAt(i);
InputData* in = (InputData*)l.to();
dot<<"\""<<mod->getLabel()<<"\" -> ";
dot<<"\""<<in->getLabel()<<"\"";
if(!l.isVirtual())
dot<<" [label=\"\"];"<<endl;
else
dot<<" [label=\"\" style=dashed];"<<endl;
}
break;
}
case INPUTD: {
InputData* in = (InputData*)(*itr);
dot<<"\""<<in->getLabel()<<"\"";
if(in->withPriority())
{
dot<<" [color=red, fillcolor=lightgrey, peripheries=1, style=filled";
dot<<" label=\""<< in->getName()<<"\\n"<<in->getPort()<<"\"];"<<endl;
}
else
{
dot<<" [color=black, fillcolor=lightgrey, peripheries=1, style=filled";
dot<<" label=\""<< in->getName()<<"\\n"<<in->getPort()<<"\"];"<<endl;
}
for(int i=0; i<in->sucCount(); i++)
{
Link l = in->getLinkAt(i);
OutputData* out = (OutputData*)l.to();
dot<<"\""<<in->getLabel()<<"\" -> ";
dot<<"\""<<out->getLabel()<<"\"";
if(!l.isVirtual())
dot<<" [label=\""<<l.weight()<<"\"];"<<endl;
else
dot<<" [label=\""<<l.weight()<<"\" style=dashed];"<<endl;
}
break;
}
case OUTPUTD: {
OutputData* out = (OutputData*)(*itr);
dot<<"\""<<out->getLabel()<<"\"";
dot<<" [color=black, fillcolor=wheat, peripheries=1, style=filled";
dot<<" label=\""<< out->getName()<<"\\n"<<out->getPort()<<"\"];"<<endl;
for(int i=0; i<out->sucCount(); i++)
{
Link l = out->getLinkAt(i);
Module* mod = (Module*)l.to();
dot<<"\""<<out->getLabel()<<"\" -> ";
dot<<"\""<<mod->getLabel()<<"\"";
dot<<" [label=\"\" arrowhead=none];"<<endl;
}
break;
}
case APPLICATION: {
Application* app = (Application*)(*itr);
dot<<"\""<<app->getLabel()<<"\"";
dot<<" [shape=folder, color=darkgreen, fillcolor=darkseagreen, peripheries=1, style=filled, penwidth=2";
dot<<" label=\""<<app->getLabel()<<"\""<<"];"<<endl;
for(int i=0; i<app->sucCount(); i++)
{
Link l = app->getLinkAt(i);
Module* mod = (Module*)l.to();
dot<<"\""<<app->getLabel()<<"\" -> ";
dot<<"\""<<mod->getLabel()<<"\"";
if(!l.isVirtual())
dot<<" [label=\"\"];"<<endl;
else
dot<<" [label=\"\" style=dashed];"<<endl;
}
break;
}
case RESOURCE: {
GenericResource* res = (GenericResource*)(*itr);
//.........这里部分代码省略.........