void mmAssetsPanel::CreateControls() { wxBoxSizer* itemBoxSizer9 = new wxBoxSizer(wxVERTICAL); this->SetSizer(itemBoxSizer9); wxPanel* headerPanel = new wxPanel(this, wxID_ANY, wxDefaultPosition , wxDefaultSize, wxNO_BORDER | wxTAB_TRAVERSAL); itemBoxSizer9->Add(headerPanel, g_flagsBorder1); wxBoxSizer* itemBoxSizerVHeader = new wxBoxSizer(wxVERTICAL); headerPanel->SetSizer(itemBoxSizerVHeader); wxStaticText* itemStaticText9 = new wxStaticText( headerPanel, wxID_STATIC, _("Assets")); itemStaticText9->SetFont(this->GetFont().Larger().Bold()); itemBoxSizerVHeader->Add(itemStaticText9, g_flagsBorder1); wxBoxSizer* itemBoxSizerHHeader2 = new wxBoxSizer(wxHORIZONTAL); itemBoxSizerVHeader->Add(itemBoxSizerHHeader2); wxBitmap itemStaticBitmap(rightarrow_xpm); wxStaticBitmap* itemStaticBitmap3 = new wxStaticBitmap(headerPanel, wxID_STATIC, itemStaticBitmap); itemBoxSizerHHeader2->Add(itemStaticBitmap3, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); //itemStaticBitmap3->Connect(ID_PANEL_CHECKING_STATIC_BITMAP_VIEW, wxEVT_RIGHT_DOWN, wxMouseEventHandler(mmAssetsPanel::OnFilterResetToViewAll), nullptr, this); itemStaticBitmap3->Connect(wxID_STATIC, wxEVT_LEFT_DOWN, wxMouseEventHandler(mmAssetsPanel::OnMouseLeftDown), nullptr, this); itemStaticTextMainFilter_ = new wxStaticText(headerPanel, wxID_STATIC, _("All")); itemBoxSizerHHeader2->Add(itemStaticTextMainFilter_, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxGROW, 5); header_text_ = new wxStaticText(headerPanel, wxID_STATIC, ""); itemBoxSizerVHeader->Add(header_text_, g_flagsBorder1); /* ---------------------- */ wxSplitterWindow* itemSplitterWindow10 = new wxSplitterWindow( this, wxID_STATIC, wxDefaultPosition, wxSize(200, 200), wxSP_3DBORDER|wxSP_3DSASH|wxNO_BORDER); m_listCtrlAssets = new mmAssetsListCtrl(this, itemSplitterWindow10, wxID_ANY); int x = mmIniOptions::instance().ico_size_; m_imageList.reset(new wxImageList(x, x)); m_imageList->Add(mmBitmap(png::HOME)); m_imageList->Add(mmBitmap(png::CAR)); m_imageList->Add(mmBitmap(png::HOUSEHOLD_OBJ)); m_imageList->Add(mmBitmap(png::ART)); m_imageList->Add(mmBitmap(png::JEWELLERY)); m_imageList->Add(mmBitmap(png::CASH)); m_imageList->Add(mmBitmap(png::OTHER)); m_imageList->Add(wxBitmap(wxImage(uparrow_xpm).Scale(x, x))); m_imageList->Add(wxBitmap(wxImage(downarrow_xpm).Scale(x, x))); m_listCtrlAssets->SetImageList(m_imageList.get(), wxIMAGE_LIST_SMALL); int i = 0; for (const auto& entry : m_listCtrlAssets->m_columns) { const wxString& heading = std::get<0>(entry); int width = Model_Setting::instance().GetIntSetting(wxString::Format(m_listCtrlAssets->m_col_width, i), std::get<1>(entry)); int format = std::get<2>(entry); m_listCtrlAssets->InsertColumn(i++, heading, format, width); } wxPanel* assets_panel = new wxPanel(itemSplitterWindow10, wxID_ANY , wxDefaultPosition, wxDefaultSize, wxNO_BORDER | wxTAB_TRAVERSAL); itemSplitterWindow10->SplitHorizontally(m_listCtrlAssets, assets_panel); itemSplitterWindow10->SetMinimumPaneSize(100); itemSplitterWindow10->SetSashGravity(1.0); itemBoxSizer9->Add(itemSplitterWindow10, g_flagsExpandBorder1); wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxVERTICAL); assets_panel->SetSizer(itemBoxSizer4); wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxHORIZONTAL); itemBoxSizer4->Add(itemBoxSizer5, g_flagsBorder1); wxButton* itemButton6 = new wxButton( assets_panel, wxID_NEW, _("&New ")); itemButton6->SetToolTip(_("New Asset")); itemBoxSizer5->Add(itemButton6, 0, wxRIGHT, 5); wxButton* itemButton81 = new wxButton( assets_panel, wxID_EDIT, _("&Edit ")); itemButton81->SetToolTip(_("Edit Asset")); itemBoxSizer5->Add(itemButton81, 0, wxRIGHT, 5); itemButton81->Enable(false); wxButton* itemButton7 = new wxButton( assets_panel, wxID_DELETE, _("&Delete ")); itemButton7->SetToolTip(_("Delete Asset")); itemBoxSizer5->Add(itemButton7, 0, wxRIGHT, 5); itemButton7->Enable(false); wxBitmapButton* attachment_button_ = new wxBitmapButton(assets_panel , wxID_FILE, wxBitmap(attachment_xpm), wxDefaultPosition, wxSize(30, itemButton7->GetSize().GetY())); attachment_button_->SetToolTip(_("Open attachments")); itemBoxSizer5->Add(attachment_button_, 0, wxRIGHT, 5); attachment_button_->Enable(false); wxSearchCtrl* searchCtrl = new wxSearchCtrl(assets_panel , wxID_FIND, wxEmptyString, wxDefaultPosition , wxSize(100, itemButton7->GetSize().GetHeight()) , wxTE_PROCESS_ENTER, wxDefaultValidator, _("Search")); searchCtrl->SetHint(_("Search")); itemBoxSizer5->Add(searchCtrl, 0, wxCENTER, 1); searchCtrl->SetToolTip(_("Enter any string to find related assets")); //Infobar-mini wxStaticText* itemStaticText44 = new wxStaticText(assets_panel, IDC_PANEL_ASSET_STATIC_DETAILS_MINI, ""); itemBoxSizer5->Add(itemStaticText44, 1, wxGROW | wxTOP | wxLEFT, 5); //Infobar wxStaticText* itemStaticText33 = new wxStaticText(assets_panel , IDC_PANEL_ASSET_STATIC_DETAILS, "", wxDefaultPosition, wxSize(200, -1), wxTE_MULTILINE | wxTE_WORDWRAP); itemBoxSizer4->Add(itemStaticText33, g_flagsExpandBorder1); updateExtraAssetData(-1); }
void mmAssetsPanel::CreateControls() { wxBoxSizer* itemBoxSizer9 = new wxBoxSizer(wxVERTICAL); this->SetSizer(itemBoxSizer9); wxPanel* headerPanel = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNO_BORDER|wxTAB_TRAVERSAL ); itemBoxSizer9->Add(headerPanel, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxGROW, 5); wxBoxSizer* itemBoxSizerVHeader = new wxBoxSizer(wxVERTICAL); headerPanel->SetSizer(itemBoxSizerVHeader); wxStaticText* itemStaticText9 = new wxStaticText( headerPanel, wxID_STATIC, _("Assets")); itemStaticText9->SetFont(this->GetFont().Larger().Bold()); itemBoxSizerVHeader->Add(itemStaticText9, 0, wxALL, 1); wxBoxSizer* itemBoxSizerHHeader2 = new wxBoxSizer(wxHORIZONTAL); itemBoxSizerVHeader->Add(itemBoxSizerHHeader2); wxBitmap itemStaticBitmap(rightarrow_xpm); wxStaticBitmap* itemStaticBitmap3 = new wxStaticBitmap(headerPanel, wxID_STATIC, itemStaticBitmap); itemBoxSizerHHeader2->Add(itemStaticBitmap3, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); //itemStaticBitmap3->Connect(ID_PANEL_CHECKING_STATIC_BITMAP_VIEW, wxEVT_RIGHT_DOWN, wxMouseEventHandler(mmAssetsPanel::OnFilterResetToViewAll), nullptr, this); itemStaticBitmap3->Connect(wxID_STATIC, wxEVT_LEFT_DOWN, wxMouseEventHandler(mmAssetsPanel::OnMouseLeftDown), nullptr, this); itemStaticTextMainFilter_ = new wxStaticText(headerPanel, wxID_STATIC, _("All")); itemBoxSizerHHeader2->Add(itemStaticTextMainFilter_, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxGROW, 5); header_text_ = new wxStaticText(headerPanel, wxID_STATIC, ""); itemBoxSizerVHeader->Add(header_text_, 0, wxALL, 1); /* ---------------------- */ wxSplitterWindow* itemSplitterWindow10 = new wxSplitterWindow( this, wxID_STATIC, wxDefaultPosition, wxSize(200, 200), wxSP_3DBORDER|wxSP_3DSASH|wxNO_BORDER); m_listCtrlAssets = new mmAssetsListCtrl(this, itemSplitterWindow10, wxID_ANY); wxSize imageSize(16, 16); m_imageList.reset(new wxImageList(imageSize.GetWidth(), imageSize.GetHeight())); //TODO: Provide better icons m_imageList->Add(wxBitmap(wxImage(house_xpm).Scale(16, 16))); m_imageList->Add(wxBitmap(wxImage(car_xpm).Scale(16, 16))); m_imageList->Add(wxBitmap(wxImage(clock_xpm).Scale(16, 16))); m_imageList->Add(wxBitmap(wxImage(art_xpm).Scale(16, 16))); m_imageList->Add(wxBitmap(wxImage(assets_xpm).Scale(16, 16))); m_imageList->Add(wxBitmap(wxImage(coin_xpm).Scale(16, 16))); m_imageList->Add(wxBitmap(wxImage(rubik_cube_xpm).Scale(16, 16))); m_imageList->Add(wxBitmap(wxImage(uparrow_xpm).Scale(16, 16))); m_imageList->Add(wxBitmap(wxImage(downarrow_xpm).Scale(16, 16))); m_listCtrlAssets->SetImageList(m_imageList.get(), wxIMAGE_LIST_SMALL); m_listCtrlAssets->InsertColumn(COL_ICON, " ", wxLIST_FORMAT_LEFT , Model_Setting::instance().GetIntSetting(wxString::Format("ASSETS_COL%i_WIDTH", COL_ICON), 25)); m_listCtrlAssets->InsertColumn(COL_ID, _("ID"), wxLIST_FORMAT_RIGHT , Model_Setting::instance().GetIntSetting(wxString::Format("ASSETS_COL%i_WIDTH", COL_ID), wxLIST_AUTOSIZE_USEHEADER)); m_listCtrlAssets->InsertColumn(COL_NAME, _("Name"), wxLIST_FORMAT_LEFT , Model_Setting::instance().GetIntSetting(wxString::Format("ASSETS_COL%i_WIDTH", COL_NAME), 150)); m_listCtrlAssets->InsertColumn(COL_TYPE, _("Type"), wxLIST_FORMAT_LEFT , Model_Setting::instance().GetIntSetting(wxString::Format("ASSETS_COL%i_WIDTH", COL_TYPE), wxLIST_AUTOSIZE_USEHEADER)); m_listCtrlAssets->InsertColumn(COL_VALUE_INITIAL, _("Initial Value"), wxLIST_FORMAT_RIGHT , Model_Setting::instance().GetIntSetting(wxString::Format("ASSETS_COL%i_WIDTH", COL_VALUE_INITIAL), wxLIST_AUTOSIZE_USEHEADER)); m_listCtrlAssets->InsertColumn(COL_VALUE_CURRENT, _("Current Value"), wxLIST_FORMAT_RIGHT , Model_Setting::instance().GetIntSetting(wxString::Format("ASSETS_COL%i_WIDTH", COL_VALUE_CURRENT), wxLIST_AUTOSIZE_USEHEADER)); m_listCtrlAssets->InsertColumn(COL_DATE, _("Date"), wxLIST_FORMAT_RIGHT , Model_Setting::instance().GetIntSetting(wxString::Format("ASSETS_COL%i_WIDTH", COL_DATE), wxLIST_AUTOSIZE_USEHEADER)); m_listCtrlAssets->InsertColumn(COL_NOTES, _("Notes"), wxLIST_FORMAT_LEFT , Model_Setting::instance().GetIntSetting(wxString::Format("ASSETS_COL%i_WIDTH", COL_NOTES), 450)); wxPanel* assets_panel = new wxPanel(itemSplitterWindow10, wxID_ANY , wxDefaultPosition, wxDefaultSize, wxNO_BORDER | wxTAB_TRAVERSAL); itemSplitterWindow10->SplitHorizontally(m_listCtrlAssets, assets_panel); itemSplitterWindow10->SetMinimumPaneSize(100); itemSplitterWindow10->SetSashGravity(1.0); itemBoxSizer9->Add(itemSplitterWindow10, 1, wxGROW | wxALL, 1); wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxVERTICAL); assets_panel->SetSizer(itemBoxSizer4); wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxHORIZONTAL); itemBoxSizer4->Add(itemBoxSizer5, 0, wxALIGN_LEFT | wxALL, 3); wxButton* itemButton6 = new wxButton( assets_panel, wxID_NEW, _("&New ")); itemButton6->SetToolTip(_("New Asset")); itemBoxSizer5->Add(itemButton6, 0, wxALIGN_CENTER_VERTICAL | wxALL, 4); wxButton* itemButton81 = new wxButton( assets_panel, wxID_EDIT, _("&Edit ")); itemButton81->SetToolTip(_("Edit Asset")); itemBoxSizer5->Add(itemButton81, 0, wxALIGN_CENTER_VERTICAL | wxALL, 4); itemButton81->Enable(false); wxButton* itemButton7 = new wxButton( assets_panel, wxID_DELETE, _("&Delete ")); itemButton7->SetToolTip(_("Delete Asset")); itemBoxSizer5->Add(itemButton7, 0, wxALIGN_CENTER_VERTICAL | wxALL, 4); itemButton7->Enable(false); wxBitmapButton* attachment_button_ = new wxBitmapButton(assets_panel , wxID_FILE, wxBitmap(attachment_xpm), wxDefaultPosition, wxSize(30, itemButton7->GetSize().GetY())); attachment_button_->SetToolTip(_("Open attachments")); itemBoxSizer5->Add(attachment_button_, 0, wxALIGN_CENTER_VERTICAL | wxALL, 4); attachment_button_->Enable(false); wxSearchCtrl* searchCtrl = new wxSearchCtrl(assets_panel , wxID_FIND, wxEmptyString, wxDefaultPosition , wxSize(100, itemButton7->GetSize().GetHeight()) , wxTE_PROCESS_ENTER, wxDefaultValidator, _("Search")); searchCtrl->SetHint(_("Search")); itemBoxSizer5->Add(searchCtrl, 0, wxCENTER, 1); searchCtrl->SetToolTip(_("Enter any string to find related assets")); //Infobar-mini wxStaticText* itemStaticText44 = new wxStaticText(assets_panel, IDC_PANEL_ASSET_STATIC_DETAILS_MINI, ""); itemBoxSizer5->Add(itemStaticText44, 1, wxGROW | wxTOP, 12); //Infobar wxStaticText* itemStaticText33 = new wxStaticText(assets_panel , IDC_PANEL_ASSET_STATIC_DETAILS, "", wxDefaultPosition, wxSize(200, -1), wxTE_MULTILINE | wxTE_WORDWRAP); itemBoxSizer4->Add(itemStaticText33, 1, wxGROW | wxLEFT | wxRIGHT, 14); updateExtraAssetData(-1); }
void mmBillsDepositsPanel::CreateControls() { wxBoxSizer* itemBoxSizer9 = new wxBoxSizer(wxVERTICAL); this->SetSizer(itemBoxSizer9); /* ---------------------- */ wxPanel* headerPanel = new wxPanel(this, wxID_ANY, wxDefaultPosition , wxDefaultSize, wxNO_BORDER | wxTAB_TRAVERSAL); itemBoxSizer9->Add(headerPanel, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5); wxBoxSizer* itemBoxSizerVHeader = new wxBoxSizer(wxVERTICAL); headerPanel->SetSizer(itemBoxSizerVHeader); wxStaticText* itemStaticText9 = new wxStaticText(headerPanel, wxID_ANY , _("Recurring Transactions")); itemStaticText9->SetFont(this->GetFont().Larger().Bold()); itemBoxSizerVHeader->Add(itemStaticText9, 0, wxALL, 1); wxBoxSizer* itemBoxSizerHHeader2 = new wxBoxSizer(wxHORIZONTAL); itemBoxSizerVHeader->Add(itemBoxSizerHHeader2); wxBitmap itemStaticBitmap(rightarrow_xpm); bitmapTransFilter_ = new wxStaticBitmap(headerPanel, wxID_ANY, itemStaticBitmap); itemBoxSizerHHeader2->Add(bitmapTransFilter_, 0, wxALL, 1); bitmapTransFilter_->Connect(wxID_ANY, wxEVT_LEFT_DOWN , wxMouseEventHandler(mmBillsDepositsPanel::OnFilterTransactions), nullptr, this); bitmapTransFilter_->Connect(wxID_ANY, wxEVT_RIGHT_DOWN , wxMouseEventHandler(mmBillsDepositsPanel::OnFilterTransactions), nullptr, this); itemBoxSizerHHeader2->AddSpacer(5); wxStaticText* statTextTransFilter_ = new wxStaticText(headerPanel, wxID_ANY , _("Transaction Filter")); itemBoxSizerHHeader2->Add(statTextTransFilter_, 0, wxALIGN_CENTER_VERTICAL, 0); /* ---------------------- */ wxSplitterWindow* itemSplitterWindowBillsDeposit = new wxSplitterWindow(this , wxID_ANY, wxDefaultPosition, wxSize(200, 200) , wxSP_3DBORDER | wxSP_3DSASH | wxNO_BORDER); wxSize imageSize(16, 16); m_imageList = new wxImageList(imageSize.GetWidth(), imageSize.GetHeight()); m_imageList->Add(wxBitmap(wxImage(error_xpm).Scale(16, 16))); m_imageList->Add(wxBitmap(wxImage(rt_exec_auto_xpm).Scale(16, 16))); m_imageList->Add(wxBitmap(wxImage(rt_exec_user_xpm).Scale(16, 16))); m_imageList->Add(wxBitmap(wxImage(uparrow_xpm).Scale(16, 16))); m_imageList->Add(wxBitmap(wxImage(downarrow_xpm).Scale(16, 16))); listCtrlAccount_ = new billsDepositsListCtrl(this, itemSplitterWindowBillsDeposit); listCtrlAccount_->SetImageList(m_imageList, wxIMAGE_LIST_SMALL); listCtrlAccount_->InsertColumn(COL_ICON, " ", wxLIST_FORMAT_LEFT , listCtrlAccount_->GetColumnWidthSetting(COL_ICON, std::get<1>(listCtrlAccount_->m_columns[COL_ICON]))); for (int i = 1; i < (int)listCtrlAccount_->m_columns.size(); i++) { int item_format = wxLIST_FORMAT_LEFT; if ((i == COL_PAYMENT_DATE) || (i == COL_AMOUNT) || (i == COL_ID) || (i == COL_REPEATS)) item_format = wxLIST_FORMAT_RIGHT; listCtrlAccount_->InsertColumn(i, std::get<0>(listCtrlAccount_->m_columns[i]), item_format, listCtrlAccount_->GetColumnWidthSetting(i, std::get<1>(listCtrlAccount_->m_columns[i]))); } wxPanel* bdPanel = new wxPanel(itemSplitterWindowBillsDeposit, wxID_ANY , wxDefaultPosition, wxDefaultSize, wxNO_BORDER | wxTAB_TRAVERSAL); itemSplitterWindowBillsDeposit->SplitHorizontally(listCtrlAccount_, bdPanel); itemSplitterWindowBillsDeposit->SetMinimumPaneSize(100); itemSplitterWindowBillsDeposit->SetSashGravity(1.0); itemBoxSizer9->Add(itemSplitterWindowBillsDeposit, 1, wxGROW | wxALL, 1); wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxVERTICAL); bdPanel->SetSizer(itemBoxSizer4); wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxHORIZONTAL); itemBoxSizer4->Add(itemBoxSizer5, g_flags); wxButton* itemButtonNew = new wxButton(bdPanel, wxID_NEW, _("&New ")); itemButtonNew->SetToolTip(_("New Bills & Deposit Series")); itemBoxSizer5->Add(itemButtonNew, g_flags); wxButton* itemButton81 = new wxButton(bdPanel, wxID_EDIT, _("&Edit ")); itemButton81->SetToolTip(_("Edit Bills & Deposit Series")); itemBoxSizer5->Add(itemButton81, g_flags); itemButton81->Enable(false); wxButton* itemButton7 = new wxButton(bdPanel, wxID_DELETE, _("&Delete ")); itemButton7->SetToolTip(_("Delete Bills & Deposit Series")); itemBoxSizer5->Add(itemButton7, g_flags); itemButton7->Enable(false); wxButton* itemButton8 = new wxButton(bdPanel, wxID_PASTE, _("En&ter")); itemButton8->SetToolTip(_("Enter Next Bills & Deposit Occurrence")); itemBoxSizer5->Add(itemButton8, g_flags); itemButton8->Enable(false); wxButton* buttonSkipTrans = new wxButton(bdPanel, wxID_IGNORE, _("&Skip")); buttonSkipTrans->SetToolTip(_("Skip Next Bills & Deposit Occurrence")); itemBoxSizer5->Add(buttonSkipTrans, g_flags); buttonSkipTrans->Enable(false); wxBitmapButton* btnAttachment_ = new wxBitmapButton(bdPanel, wxID_FILE , wxBitmap(attachment_xpm), wxDefaultPosition , wxSize(30, itemButton8->GetSize().GetY())); btnAttachment_->SetToolTip(_("Open attachments")); itemBoxSizer5->Add(btnAttachment_, g_flags); btnAttachment_->Enable(false); //Infobar-mini m_infoTextMini = new wxStaticText(bdPanel, wxID_STATIC, ""); itemBoxSizer5->Add(m_infoTextMini, 1, wxGROW | wxTOP, 12); //Infobar m_infoText = new wxStaticText(bdPanel, wxID_ANY, "" , wxPoint(-1, -1), wxSize(200, -1), wxNO_BORDER | wxTE_MULTILINE | wxTE_WORDWRAP | wxST_NO_AUTORESIZE); itemBoxSizer4->Add(m_infoText, 1, wxGROW | wxLEFT | wxRIGHT, 14); mmBillsDepositsPanel::updateBottomPanelData(-1); }