void NamePanel::MessageReceived(BMessage* message) { switch (message->what) { case MSG_PANEL_CANCEL: Quit(); break; case MSG_PANEL_OK: { if (!fTarget) fTarget = fWindow; BLooper* looper = fTarget ? fTarget->Looper() : NULL; if (fMessage && looper) { BMessage cloneMessage(*fMessage); cloneMessage.AddString("name", fNameTC->Text()); cloneMessage.AddRect("frame", Frame()); looper->PostMessage(&cloneMessage, fTarget); } Quit(); break; } default: Panel::MessageReceived(message); } }
QTreeWidgetItem* LOCACC :: cloneElement(QTreeWidgetItem *itemToClone,QTreeWidgetItem *parent) { QStringList stringData = getElementTreeData(itemToClone); QStringList newStringData(stringData); QTreeWidgetItem *clonedElement; int counter = 0; do { clonedElement = addElement(newStringData,parent); counter++; newStringData[0] = stringData[0] + "-copy (" + QString::number(counter) + ")"; newStringData[1] = stringData[1] + "-copy (" + QString::number(counter) + ")"; } while(clonedElement == NULL); int msgCount = itemToClone->childCount(); for(int i = 0 ; i < msgCount ; i++) { QTreeWidgetItem *currentMsg = itemToClone->child(i); cloneMessage(currentMsg,clonedElement); } return clonedElement; }