MoulKI::MoulKI(QWidget *parent) : QMainWindow(parent), ui(new Ui::MoulKIClass), gameClient(NULL), authClient(NULL) { resmgr = new plResManager(PlasmaVer::pvMoul); sdlmgr = new plSDLMgr(); ui->setupUi(this); qRegisterMetaType<plUuid>("plUuid"); qRegisterMetaType<plString>("plString"); qRegisterMetaType<uint32_t>("uint32_t"); connect(ui->actionLogin, SIGNAL(triggered()), this, SLOT(showLoginDialog())); connect(ui->actionSet_Active, SIGNAL(triggered()), this, SLOT(showPlayers())); connect(ui->actionFind_Node, SIGNAL(triggered()), this, SLOT(showFindDialog())); connect(ui->actionSubscribe, SIGNAL(triggered()), this, SLOT(showFetchDialog())); connect(ui->actionGet_Public_Ages, SIGNAL(triggered()), this, SLOT(getPublicAgeList())); connect(ui->actionSave_Vault, SIGNAL(triggered()), this, SLOT(writeVault())); connect(ui->actionLoad_Vault, SIGNAL(triggered()), this, SLOT(readVault())); connect(ui->actionJoin_Age, SIGNAL(triggered()), this, SLOT(showJoinAgeDialog())); connect(ui->vaultTree, SIGNAL(itemSelectionChanged()), this, SLOT(setShownNode())); connect(ui->applyButton, SIGNAL(clicked()), this, SLOT(saveNodeData())); connect(ui->revertButton, SIGNAL(clicked()), this, SLOT(revertNode())); connect(ui->nodeEditor, SIGNAL(isDirty(bool)), this, SLOT(nodeDirty(bool))); connect(ui->vaultTree, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showItemContextMenu(QPoint))); connect(ui->chatEntry, SIGNAL(returnPressed()), this, SLOT(sendGameChat())); connect(&vault, SIGNAL(addedNode(uint32_t, uint32_t)), this, SLOT(addNode(uint32_t,uint32_t))); connect(&vault, SIGNAL(removedNode(uint32_t, uint32_t)), this, SLOT(removeNode(uint32_t,uint32_t))); connect(&vault, SIGNAL(gotRootNode(uint32_t)), this, SLOT(addRoot(uint32_t))); connect(&vault, SIGNAL(updatedNode(uint32_t)), this, SLOT(updateNode(uint32_t))); connect(&vault, SIGNAL(fetchComplete()), this, SLOT(checkCurrentAge())); ui->vaultTree->setContextMenuPolicy(Qt::CustomContextMenu); // set up the player list agePlayersItem = new QTreeWidgetItem(ui->playersTree); agePlayersItem->setText(0, "AGE PLAYERS"); ui->playersTree->insertTopLevelItem(0, agePlayersItem); agePlayersItem->setExpanded(true); buddiesItem = new QTreeWidgetItem(ui->playersTree); buddiesItem->setText(0, "BUDDIES"); buddiesItem->setExpanded(true); ui->playersTree->insertTopLevelItem(0, buddiesItem); neighborsItem = new QTreeWidgetItem(ui->playersTree); neighborsItem->setText(0, "NEIGHBORS"); ui->playersTree->insertTopLevelItem(0, neighborsItem); neighborsItem->setExpanded(true); QList<int> chatSizes; chatSizes.append(350); chatSizes.append(100); ui->chatSplitter->setSizes(chatSizes); ui->nodeEditor->setMgrs(getSDLMgr(), getResManager()); }
void saveNodesRecursive(Node *node, int *sizeDb, FILE *fp){ saveNodeData(node, sizeDb, fp); if(node->left != NIL) saveNodesRecursive(node->left, sizeDb,fp); if(node->right != NIL) saveNodesRecursive(node->right, sizeDb,fp); }