From: <kkk...@us...> - 2010-05-16 09:32:35
|
Revision: 933 http://moneymanagerex.svn.sourceforge.net/moneymanagerex/?rev=933&view=rev Author: kkkvadim Date: 2010-05-16 09:32:29 +0000 (Sun, 16 May 2010) Log Message: ----------- mmPayeeDialog refactoring Modified Paths: -------------- trunk/mmex/src/billsdepositsdialog.cpp trunk/mmex/src/filtertransdialog.cpp trunk/mmex/src/helpers.cpp trunk/mmex/src/mmex.cpp trunk/mmex/src/payeedialog.cpp trunk/mmex/src/payeedialog.h trunk/mmex/src/transdialog.cpp Modified: trunk/mmex/src/billsdepositsdialog.cpp =================================================================== --- trunk/mmex/src/billsdepositsdialog.cpp 2010-05-15 15:17:57 UTC (rev 932) +++ trunk/mmex/src/billsdepositsdialog.cpp 2010-05-16 09:32:29 UTC (rev 933) @@ -25,6 +25,7 @@ #include "splittransactionsdialog.h" #include "defs.h" #include "paths.h" +#include "helpers.h" #include <limits> @@ -571,10 +572,10 @@ } else { - mmPayeeDialog *dlg = new mmPayeeDialog(core_, this); + boost::shared_ptr<mmPayeeDialog> dlg(new mmPayeeDialog(this, core_), mmex::Destroy); if ( dlg->ShowModal() == wxID_OK ) { - payeeID_ = dlg->payeeID_; + payeeID_ = dlg->getPayeeId(); if (payeeID_ == -1) { bPayee_->SetLabel(wxT("Select Payee")); @@ -613,8 +614,7 @@ } else { - wxString payeeName = mmDBWrapper::getPayee(db_, - payeeID_, categID_, subcategID_); + wxString payeeName = mmDBWrapper::getPayee(db_, payeeID_, categID_, subcategID_); if (payeeName.IsEmpty()) { payeeID_ = -1; @@ -629,8 +629,6 @@ } } - - dlg->Destroy(); } } Modified: trunk/mmex/src/filtertransdialog.cpp =================================================================== --- trunk/mmex/src/filtertransdialog.cpp 2010-05-15 15:17:57 UTC (rev 932) +++ trunk/mmex/src/filtertransdialog.cpp 2010-05-16 09:32:29 UTC (rev 933) @@ -37,6 +37,8 @@ #include "categdialog.h" #include "payeedialog.h" #include "paths.h" +#include "helpers.h" + #include <algorithm> #include <vector> @@ -649,10 +651,10 @@ void mmFilterTransactionsDialog::OnPayee(wxCommandEvent& /*event*/) { - mmPayeeDialog* dlg = new mmPayeeDialog(core_, this); + boost::shared_ptr<mmPayeeDialog> dlg(new mmPayeeDialog(this, core_), mmex::Destroy); if ( dlg->ShowModal() == wxID_OK ) { - payeeID_ = dlg->payeeID_; + payeeID_ = dlg->getPayeeId(); if (payeeID_ == -1) { btnPayee->SetLabel(wxT("Select Payee")); @@ -662,5 +664,4 @@ payeeID_, categID_, subcategID_); btnPayee->SetLabel(mmReadyDisplayString(payeeName)); } - dlg->Destroy(); } Modified: trunk/mmex/src/helpers.cpp =================================================================== --- trunk/mmex/src/helpers.cpp 2010-05-15 15:17:57 UTC (rev 932) +++ trunk/mmex/src/helpers.cpp 2010-05-16 09:32:29 UTC (rev 933) @@ -22,14 +22,10 @@ #include <wx/debug.h> //---------------------------------------------------------------------------- -bool mmex::Destroy(wxWindow *w) +bool mmex::Destroy(wxWindow *wnd) { - bool ok = w != 0; + bool ok = wnd ? wnd->Destroy() : true; wxASSERT(ok); - - ok = w->Destroy(); - wxASSERT(ok); - return ok; } //---------------------------------------------------------------------------- Modified: trunk/mmex/src/mmex.cpp =================================================================== --- trunk/mmex/src/mmex.cpp 2010-05-15 15:17:57 UTC (rev 932) +++ trunk/mmex/src/mmex.cpp 2010-05-16 09:32:29 UTC (rev 933) @@ -2861,30 +2861,27 @@ void mmGUIFrame::OnOrgCategories(wxCommandEvent& /*event*/) { - mmCategDialog *dlg = new mmCategDialog(m_core.get(), this, false); + boost::shared_ptr<mmCategDialog> dlg(new mmCategDialog(m_core.get(), this, false), mmex::Destroy); dlg->ShowModal(); - dlg->Destroy(); } //---------------------------------------------------------------------------- void mmGUIFrame::OnOrgPayees(wxCommandEvent& /*event*/) { - mmPayeeDialog *dlg = new mmPayeeDialog(m_core.get(), this, false); + boost::shared_ptr<mmPayeeDialog> dlg(new mmPayeeDialog(this, m_core.get(), false), mmex::Destroy); dlg->ShowModal(); - dlg->Destroy(); } //---------------------------------------------------------------------------- void mmGUIFrame::OnBudgetSetupDialog(wxCommandEvent& /*event*/) { - if (!m_db.get()) + if (!m_db) return; - mmBudgetYearDialog *dlg = new mmBudgetYearDialog(m_db.get(), this); + boost::shared_ptr<mmBudgetYearDialog> dlg(new mmBudgetYearDialog(m_db.get(), this), mmex::Destroy); dlg->ShowModal(); createHomePage(); updateNavTreeControl(); - dlg->Destroy(); } //---------------------------------------------------------------------------- Modified: trunk/mmex/src/payeedialog.cpp =================================================================== --- trunk/mmex/src/payeedialog.cpp 2010-05-15 15:17:57 UTC (rev 932) +++ trunk/mmex/src/payeedialog.cpp 2010-05-16 09:32:29 UTC (rev 933) @@ -20,6 +20,9 @@ #include "util.h" #include "defs.h" #include "paths.h" +#include "guiid.h" +#include "dbwrapper.h" +#include "mmcoredb.h" #include <wx/event.h> @@ -42,11 +45,6 @@ // EVT_TEXT_ENTER(ID_DIALOG_TRANS_PAYEECOMBO, mmPayeeDialog::OnComboSelected) //EVT_TEXT(ID_DIALOG_TRANS_PAYEECOMBO, mmPayeeDialog::OnComboSelected) -mmPayeeDialog::mmPayeeDialog( ) -{ - payeeID_ = -1; -} - void mmPayeeDialog::OnListKeyDown(wxKeyEvent &event) { long keycode = event.GetKeyCode(); @@ -58,25 +56,21 @@ } else if (keycode == 27) { - payeeID_ = -1; + m_payee_id = -1; Close(FALSE); } event.Skip(); } -mmPayeeDialog::mmPayeeDialog(mmCoreDB* core, - wxWindow* parent, - bool showSelectButton, - wxWindowID id, - const wxString& caption, const wxPoint& pos, - const wxSize& size, long style ) +mmPayeeDialog::mmPayeeDialog(wxWindow *parent, mmCoreDB *core, bool showSelectButton) : + m_payee_id(-1), + m_core(core), + showSelectButton_(showSelectButton) { - - core_ = core; - payeeID_ = -1; - showSelectButton_ = showSelectButton; - Create(parent, id, caption, pos, size, style | wxWANTS_CHARS); + long style = wxCAPTION | wxSYSTEM_MENU | wxCLOSE_BOX | wxRESIZE_BORDER | wxWANTS_CHARS; + + Create(parent, ID_DIALOG_PAYEE, _("Organize Payees"), wxDefaultPosition, wxSize(500, 300), style); } bool mmPayeeDialog::Create( wxWindow* parent, wxWindowID id, @@ -166,7 +160,7 @@ void mmPayeeDialog::fillControls() { - wxArrayString filtd = mmDBWrapper::filterPayees(core_->db_.get(), textCtrl->GetValue()); + wxArrayString filtd = mmDBWrapper::filterPayees(m_core->db_.get(), textCtrl->GetValue()); listBox_->Clear(); @@ -196,8 +190,8 @@ { wxString payee = listBox_->GetStringSelection(); - payeeID_ = payee.IsEmpty() ? -1 : core_->payeeList_.getPayeeID(payee); - bool ok = payeeID_ != -1; + m_payee_id = payee.IsEmpty() ? -1 : m_core->payeeList_.getPayeeID(payee); + bool ok = m_payee_id != -1; editButton->Enable(ok); deleteButton->Enable(ok); @@ -212,27 +206,27 @@ //mmShowErrorMessage(this, _("Type a Payee Name in the Text Box and then press Add."), _("Error")); return; } - if (core_->payeeList_.payeeExists(text)) + if (m_core->payeeList_.payeeExists(text)) { mmShowErrorMessage(this, _("Payee with same name exists"), _("Error")); } else { - core_->payeeList_.addPayee(text); + m_core->payeeList_.addPayee(text); textCtrl->SetValue(wxGetEmptyString()); fillControls(); listBox_->SetStringSelection(text); // SetStringSelection does not emit event, so we need to do it manually. - // This is important because it is where payeeID_ gets set + // This is important because it is where m_payee_id gets set OnSelChanged(event); } } void mmPayeeDialog::OnDelete(wxCommandEvent& event) { - if (!core_->payeeList_.deletePayee(payeeID_)) + if (!m_core->payeeList_.deletePayee(m_payee_id)) { mmShowErrorMessage(this, _("Payee is in use"), _("Error")); return; @@ -244,7 +238,7 @@ void mmPayeeDialog::OnBSelect(wxCommandEvent& /*event*/) { - if (payeeID_ != -1) + if (m_payee_id != -1) { EndModal(wxID_OK); return; @@ -270,8 +264,8 @@ wxString newName = wxGetTextFromUser(mesg, _("Edit Payee Name"), oldname); if (newName != wxGetEmptyString()) { - core_->payeeList_.updatePayee(payeeID_, newName); - core_->bTransactionList_.updateAllTransactionsForPayee(core_, payeeID_); + m_core->payeeList_.updatePayee(m_payee_id, newName); + m_core->bTransactionList_.updateAllTransactionsForPayee(m_core, m_payee_id); editButton->Disable(); fillControls(); Modified: trunk/mmex/src/payeedialog.h =================================================================== --- trunk/mmex/src/payeedialog.h 2010-05-15 15:17:57 UTC (rev 932) +++ trunk/mmex/src/payeedialog.h 2010-05-16 09:32:29 UTC (rev 933) @@ -19,55 +19,37 @@ #ifndef _MM_EX_PAYEEDIALOG_H_ #define _MM_EX_PAYEEDIALOG_H_ -#define SYMBOL_PAYEEDIALOG_STYLE wxCAPTION|wxSYSTEM_MENU|wxCLOSE_BOX|wxRESIZE_BORDER -#define SYMBOL_PAYEEDIALOG_TITLE _("Organize Payees") -#define SYMBOL_PAYEEDIALOG_IDNAME ID_DIALOG_PAYEE -#define SYMBOL_PAYEEDIALOG_SIZE wxSize(500, 300) -#define SYMBOL_PAYEEDIALOG_POSITION wxDefaultPosition - -#include "guiid.h" -#include "dbwrapper.h" -#include "mmcoredb.h" #include "wxautocombobox.h" -class mmPayeeListBoxItem: public wxClientData -{ -public: - mmPayeeListBoxItem(int payeeID) - : payeeID_(payeeID){} - - int getPayeeID() { return payeeID_; } +class mmCoreDB; -private: - int payeeID_; -}; class mmPayeeDialog : public wxDialog { - DECLARE_DYNAMIC_CLASS( mmPayeeDialog ) + DECLARE_DYNAMIC_CLASS(mmPayeeDialog) DECLARE_EVENT_TABLE() public: - mmPayeeDialog(); - mmPayeeDialog( - mmCoreDB* core, - wxWindow* parent, - bool showSelectButton = true, - wxWindowID id = SYMBOL_PAYEEDIALOG_IDNAME, - const wxString& caption = SYMBOL_PAYEEDIALOG_TITLE, - const wxPoint& pos = SYMBOL_PAYEEDIALOG_POSITION, - const wxSize& size = SYMBOL_PAYEEDIALOG_SIZE, - long style = SYMBOL_PAYEEDIALOG_STYLE ); + mmPayeeDialog() : m_payee_id(-1) {} + mmPayeeDialog(wxWindow* parent, mmCoreDB* core, bool showSelectButton = true); - bool Create( wxWindow* parent, wxWindowID id = SYMBOL_PAYEEDIALOG_IDNAME, - const wxString& caption = SYMBOL_PAYEEDIALOG_TITLE, - const wxPoint& pos = SYMBOL_PAYEEDIALOG_POSITION, - const wxSize& size = SYMBOL_PAYEEDIALOG_SIZE, - long style = SYMBOL_PAYEEDIALOG_STYLE ); + int getPayeeId() const { return m_payee_id; } +private: + int m_payee_id; + mmCoreDB *m_core; + bool showSelectButton_; + wxListBox* listBox_; + wxButton* addButton; + wxButton* editButton; + wxButton* deleteButton; + wxButton* selectButton; + wxTextCtrl* textCtrl; + wxAutoComboBox* payeeComboBox_; + + bool Create(wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style); void CreateControls(); - - // utility functions + void OnOk(wxCommandEvent& event); void OnAdd(wxCommandEvent& event); void OnDelete(wxCommandEvent& event); @@ -76,27 +58,13 @@ void OnListKeyDown(wxKeyEvent &event); void fillControls(); - void OnTextCtrlChanged(wxCommandEvent& event); + void OnTextCtrlChanged(wxCommandEvent& event); void OnSelChanged(wxCommandEvent& event); void OnComboSelected(wxCommandEvent& event); void OnDoubleClicked(wxCommandEvent& event); void OnFocus(wxFocusEvent& event); void OnSetFocus(wxFocusEvent& event); - -private: - mmCoreDB* core_; - wxListBox* listBox_; - bool showSelectButton_; - wxButton* addButton; - wxButton* editButton; - wxButton* deleteButton; - wxButton* selectButton; - wxTextCtrl* textCtrl; - wxAutoComboBox* payeeComboBox_; - -public: - int payeeID_; }; -#endif +#endif // _MM_EX_PAYEEDIALOG_H_ Modified: trunk/mmex/src/transdialog.cpp =================================================================== --- trunk/mmex/src/transdialog.cpp 2010-05-15 15:17:57 UTC (rev 932) +++ trunk/mmex/src/transdialog.cpp 2010-05-16 09:32:29 UTC (rev 933) @@ -25,6 +25,7 @@ #include "splittransactionsdialog.h" #include "defs.h" #include "paths.h" +#include "helpers.h" #include <sstream> @@ -488,10 +489,11 @@ } else { - mmPayeeDialog *dlg = new mmPayeeDialog(core_, this); + boost::shared_ptr<mmPayeeDialog> dlg(new mmPayeeDialog(this, core_), mmex::Destroy); + if ( dlg->ShowModal() == wxID_OK ) { - payeeID_ = dlg->payeeID_; + payeeID_ = dlg->getPayeeId(); if (payeeID_ == -1) { bPayee_->SetLabel(wxT("Select Payee")); @@ -546,8 +548,6 @@ } } - - dlg->Destroy(); } } void mmTransDialog::OnAutoTransNum(wxCommandEvent& /*event*/) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |