void dlgRepCluster::OnChangeJoin(wxCommandEvent &ev) { bool joinCluster = chkJoinCluster->GetValue(); txtClusterName->Show(!joinCluster); cbClusterName->Show(joinCluster); cbServer->Enable(joinCluster); cbDatabase->Enable(joinCluster); txtAdminNodeID->Show(!joinCluster && !cluster); txtAdminNodeName->Show(!joinCluster && !cluster); cbAdminNode->Show(joinCluster || cluster); cbAdminNode->Move(txtAdminNodeID->GetPosition()); // Force the dialogue to resize to prevent a drawing issue on GTK #ifdef __WXGTK__ SetSize(GetSize().x + 1, GetSize().y + 1); Layout(); SetSize(GetSize().x - 1, GetSize().y - 1); #endif if (joinCluster && !cbDatabase->GetCount()) { OnChangeServer(ev); return; } OnChange(ev); }
int dlgSelectConnection::Go(pgConn *conn, wxBitmapComboBox *cb) { cbConnection=cb; if (mainForm != NULL) { ctlTree *browser = mainForm->GetBrowser(); wxTreeItemIdValue foldercookie, servercookie; wxTreeItemId folderitem, serveritem; pgObject *object; pgServer *server; folderitem = browser->GetFirstChild(browser->GetRootItem(), foldercookie); while (folderitem) { if (browser->ItemHasChildren(folderitem)) { serveritem = browser->GetFirstChild(folderitem, servercookie); while (serveritem) { object = browser->GetObject(serveritem); if (object->IsCreatedBy(serverFactory)) { server = (pgServer *)object; cbServer->Append(server->GetIdentifier(), (void*)server); if (server->GetConnected() && server->GetConnection()->GetHost() == conn->GetHost() && server->GetConnection()->GetPort() == conn->GetPort()) { cbServer->SetSelection(cbServer->GetCount()-1); remoteServer = server; } } serveritem = browser->GetNextChild(folderitem, servercookie); } } folderitem = browser->GetNextChild(browser->GetRootItem(), foldercookie); } cbServer->SetFocus(); } wxCommandEvent ev; OnChangeServer(ev); return ShowModal(); }
int dlgRepClusterUpgrade::Go(bool modal) { txtCurrentVersion->SetValue(cluster->GetClusterVersion()); txtCurrentVersion->Disable(); txtVersion->Disable(); // Populate the server combo box ctlTree *browser = mainForm->GetBrowser(); wxTreeItemIdValue foldercookie, servercookie; wxTreeItemId folderitem, serveritem; pgObject *object; pgServer *server; folderitem = browser->GetFirstChild(browser->GetRootItem(), foldercookie); while (folderitem) { if (browser->ItemHasChildren(folderitem)) { serveritem = browser->GetFirstChild(folderitem, servercookie); while (serveritem) { object = browser->GetObject(serveritem); if (object->IsCreatedBy(serverFactory)) { server = (pgServer *)object; cbServer->Append(browser->GetItemText(server->GetId()), (void *)server); } serveritem = browser->GetNextChild(folderitem, servercookie); } } folderitem = browser->GetNextChild(browser->GetRootItem(), foldercookie); } if (cbServer->GetCount()) cbServer->SetSelection(0); wxCommandEvent ev; OnChangeServer(ev); return dlgRepClusterBase::Go(modal); }
int dlgSelectConnection::Go(pgConn *conn, wxBitmapComboBox *cb) { bool foundServer = false; cbConnection = cb; if (mainForm != NULL) { ctlTree *browser = mainForm->GetBrowser(); wxTreeItemIdValue foldercookie, servercookie; wxTreeItemId folderitem, serveritem; pgObject *object; pgServer *server; folderitem = browser->GetFirstChild(browser->GetRootItem(), foldercookie); while (folderitem) { if (browser->ItemHasChildren(folderitem)) { serveritem = browser->GetFirstChild(folderitem, servercookie); while (serveritem) { object = browser->GetObject(serveritem); if (object && object->IsCreatedBy(serverFactory)) { server = (pgServer *)object; cbServer->Append(server->GetIdentifier(), (void *)server); if (server->GetConnected() && server->GetConnection()->GetHost() == conn->GetHost() && server->GetConnection()->GetPort() == conn->GetPort()) { cbServer->SetSelection(cbServer->GetCount() - 1); remoteServer = server; foundServer = true; } } serveritem = browser->GetNextChild(folderitem, servercookie); } } folderitem = browser->GetNextChild(browser->GetRootItem(), foldercookie); } } cbServer->SetFocus(); wxCommandEvent ev; OnChangeServer(ev); if (foundServer) { unsigned int index = 0; for (; index < cbDatabase->GetCount(); index++) { if (cbDatabase->GetString(index) == conn->GetDbname()) { cbDatabase->SetSelection(index); break; } } for (index = 0; index < cbUsername->GetCount(); index++) { if (cbUsername->GetString(index) == conn->GetUser()) { cbUsername->SetSelection(index); break; } } for (index = 0; index < cbRolename->GetCount(); index++) { if (cbRolename->GetString(index) == conn->GetRole()) { cbRolename->SetSelection(index); break; } } } return ShowModal(); }