void mmAssetsPanel::OnViewPopupSelected(wxCommandEvent& event) { int evt = std::max(event.GetId() - 1, 0); if (evt == 0) { itemStaticTextMainFilter_->SetLabelText(_("All")); this->m_filter_type = Model_Asset::TYPE(-1); } else { this->m_filter_type = Model_Asset::TYPE(evt - 1); itemStaticTextMainFilter_->SetLabelText(wxGetTranslation(Model_Asset::all_type()[evt - 1])); } int trx_id = -1; m_listCtrlAssets->doRefreshItems(trx_id); updateExtraAssetData(trx_id); }
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_flagsBorder1V); 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_flagsBorder1V); wxBoxSizer* itemBoxSizerHHeader2 = new wxBoxSizer(wxHORIZONTAL); itemBoxSizerVHeader->Add(itemBoxSizerHHeader2); wxStaticBitmap* itemStaticBitmap3 = new wxStaticBitmap(headerPanel, wxID_STATIC, mmBitmap(png::RIGHTARROW)); itemBoxSizerHHeader2->Add(itemStaticBitmap3, g_flagsBorder1H); //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, 1); header_text_ = new wxStaticText(headerPanel, wxID_STATIC, ""); itemBoxSizerVHeader->Add(header_text_, g_flagsBorder1V); /* ---------------------- */ 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 = Option::instance().IconSize(); m_imageList.reset(new wxImageList(x, x)); m_imageList->Add(mmBitmap(png::PROPERTY)); 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(mmBitmap(png::UPARROW)); m_imageList->Add(mmBitmap(png::DOWNARROW)); m_listCtrlAssets->SetImageList(m_imageList.get(), wxIMAGE_LIST_SMALL); 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_flagsBorder1V); 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, mmBitmap(png::CLIP), 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); }