Log Message: ----------- Improved disconnect handling StatusBar with size handle for frmStatus, dlgFunction and dlgView
Modified Files: -------------- pgadmin3: CHANGELOG.txt (r1.116 -> r1.117) pgadmin3/src/include: dlgProperty.h (r1.37 -> r1.38) pgadmin3/src/ui: dlgProperty.cpp (r1.79 -> r1.80) events.cpp (r1.98 -> r1.99) pgadmin3/src/ui/common: dlgFunction.xrc (r1.15 -> r1.16) dlgView.xrc (r1.9 -> r1.10)
Index: CHANGELOG.txt =================================================================== RCS file: /projects/pgadmin3/CHANGELOG.txt,v retrieving revision 1.116 retrieving revision 1.117 diff -LCHANGELOG.txt -LCHANGELOG.txt -u -w -r1.116 -r1.117 --- CHANGELOG.txt +++ CHANGELOG.txt @@ -16,6 +16,8 @@ </ul> <br> <ul> + <li>2004-01-21 AP Improved disconnect handling + <li>2004-01-21 AP StatusBar with size handle for frmStatus, dlgFunction and dlgView <li>2004-01-21 AP Update ServerStatus to pg_logdir_ls <li>2004-01-21 AP catch SIGPIPE <li>2004-01-20 AP owner, name, comment refactoring in dlgProperty Index: dlgProperty.h =================================================================== RCS file: /projects/pgadmin3/src/include/dlgProperty.h,v retrieving revision 1.37 retrieving revision 1.38 diff -Lsrc/include/dlgProperty.h -Lsrc/include/dlgProperty.h -u -w -r1.37 -r1.38 --- src/include/dlgProperty.h +++ src/include/dlgProperty.h @@ -30,8 +30,8 @@ class dlgProperty : public DialogWithHelp { public: - static void CreateObjectDialog(frmMain *frame, pgObject *node, int type); - static void EditObjectDialog(frmMain *frame, ctlSQLBox *sqlbox, pgObject *node); + static bool CreateObjectDialog(frmMain *frame, pgObject *node, int type); + static bool EditObjectDialog(frmMain *frame, ctlSQLBox *sqlbox, pgObject *node); wxString GetName(); @@ -83,6 +83,7 @@ wxTextValidator numericValidator; wxTextCtrl *statusBox; + wxStatusBar *statusBar; wxNotebook *nbNotebook; wxTextCtrl *txtName, *txtOid, *txtComment; ctlComboBox *cbOwner; Index: dlgProperty.cpp =================================================================== RCS file: /projects/pgadmin3/src/ui/dlgProperty.cpp,v retrieving revision 1.79 retrieving revision 1.80 diff -Lsrc/ui/dlgProperty.cpp -Lsrc/ui/dlgProperty.cpp -u -w -r1.79 -r1.80 --- src/ui/dlgProperty.cpp +++ src/ui/dlgProperty.cpp @@ -116,7 +116,16 @@ wxSize size=GetSize(); - if (wxWindow::FindWindow(XRCID("txtStatus"))) + if (XRCID("unkStatusBar")) + { + statusBox = 0; + statusBar = new wxStatusBar(this, -1); + wxXmlResource::Get()->AttachUnknownControl(wxT("unkStatusBar"), statusBar); + } + else + { + statusBar = 0; + if (XRCID("txtStatus")) statusBox=CTRL_TEXT("txtStatus"); else { @@ -128,9 +137,9 @@ size.SetHeight(stdTxtSize.GetHeight()); statusBox = new wxTextCtrl(this, 178, wxT(""), pos, size, wxTE_READONLY); } - statusBox->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE)); } +} dlgProperty::~dlgProperty() @@ -164,7 +173,10 @@ { if (!condition) { + if (statusBox) statusBox->SetValue(msg); + if (statusBar) + statusBar->SetStatusText(msg); enable=false; } } @@ -187,7 +199,12 @@ btnOK->Enable(enable); if (enable) - statusBox->SetValue(wxT("")); + { + if (statusBox) + statusBox->SetValue(wxEmptyString); + if (statusBar) + statusBar->SetStatusText(wxEmptyString); + } } @@ -527,7 +544,10 @@ if (!apply(sql)) return; + if (statusBox) statusBox->SetValue(_("Changes applied.")); + if (statusBar) + statusBar->SetStatusText(_("Changes applied.")); } @@ -750,11 +770,11 @@ } -void dlgProperty::CreateObjectDialog(frmMain *frame, pgObject *node, int type) +bool dlgProperty::CreateObjectDialog(frmMain *frame, pgObject *node, int type) { pgConn *conn=node->GetConnection(); - if (!conn || conn->GetStatus() != PGCONN_OK) - return; + if (!conn || conn->GetStatus() != PGCONN_OK || !conn->IsAlive()) + return false; dlgProperty *dlg=CreateDlg(frame, node, true, type); @@ -767,14 +787,16 @@ } else wxMessageBox(_("Not implemented.")); + + return true; } -void dlgProperty::EditObjectDialog(frmMain *frame, ctlSQLBox *sqlbox, pgObject *node) +bool dlgProperty::EditObjectDialog(frmMain *frame, ctlSQLBox *sqlbox, pgObject *node) { pgConn *conn=node->GetConnection(); - if (!conn || conn->GetStatus() != PGCONN_OK) - return; + if (!conn || conn->GetStatus() != PGCONN_OK || !conn->IsAlive()) + return false; dlgProperty *dlg=CreateDlg(frame, node, false); @@ -787,6 +809,8 @@ } else wxMessageBox(_("Not implemented.")); + + return true; } Index: events.cpp =================================================================== RCS file: /projects/pgadmin3/src/ui/events.cpp,v retrieving revision 1.98 retrieving revision 1.99 diff -Lsrc/ui/events.cpp -Lsrc/ui/events.cpp -u -w -r1.98 -r1.99 --- src/ui/events.cpp +++ src/ui/events.cpp @@ -1092,7 +1092,8 @@ if (data) { - dlgProperty::CreateObjectDialog(this, data, -1); + if (!dlgProperty::CreateObjectDialog(this, data, -1)) + checkAlive(); } } @@ -1108,7 +1109,10 @@ pgObject *data = GetSelectedObject(); if (data) - dlgProperty::CreateObjectDialog(this, data, type); + { + if (!dlgProperty::CreateObjectDialog(this, data, type)) + checkAlive(); + } } @@ -1117,7 +1121,10 @@ pgObject *data = GetSelectedObject(); if (data) - dlgProperty::EditObjectDialog(this, sqlPane, data); + { + if (!dlgProperty::EditObjectDialog(this, sqlPane, data)) + checkAlive(); + } } //////////////////////////////////////////////////////////////////////////////// Index: dlgFunction.xrc =================================================================== RCS file: /projects/pgadmin3/src/ui/common/dlgFunction.xrc,v retrieving revision 1.15 retrieving revision 1.16 diff -Lsrc/ui/common/dlgFunction.xrc -Lsrc/ui/common/dlgFunction.xrc -u -w -r1.15 -r1.16 --- src/ui/common/dlgFunction.xrc +++ src/ui/common/dlgFunction.xrc @@ -315,9 +315,8 @@ </object> <growablecols>0</growablecols> <object class="sizeritem"> - <object class="wxTextCtrl" name="txtStatus"> - <size>135,-1d</size> - <style>wxTE_READONLY</style> + <object class="unknown" name="unkStatusBar"> + <size>-1,15d</size> </object> <flag>wxGROW|wxALIGN_CENTRE</flag> <border>3</border> Index: dlgView.xrc =================================================================== RCS file: /projects/pgadmin3/src/ui/common/dlgView.xrc,v retrieving revision 1.9 retrieving revision 1.10 diff -Lsrc/ui/common/dlgView.xrc -Lsrc/ui/common/dlgView.xrc -u -w -r1.9 -r1.10 --- src/ui/common/dlgView.xrc +++ src/ui/common/dlgView.xrc @@ -121,9 +121,8 @@ </object> <growablecols>0</growablecols> <object class="sizeritem"> - <object class="wxTextCtrl" name="txtStatus"> - <size>135,-1d</size> - <style>wxTE_READONLY</style> + <object class="unknown" name="unkStatusBar"> + <size>-1,15d</size> </object> <flag>wxGROW|wxALIGN_CENTRE</flag> <border>3</border>
---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly