void mmAssetDialog::dataToControls() { if (!this->m_asset) return; m_assetName->SetValue(m_asset->ASSETNAME); m_notes->SetValue(m_asset->NOTES); m_dpc->SetValue(Model_Asset::STARTDATE(m_asset)); m_value->SetValue(m_asset->VALUE); m_valueChangeRate->SetValue(m_asset->VALUECHANGERATE, 3); m_valueChange->SetSelection(Model_Asset::rate(m_asset)); enableDisableRate(Model_Asset::rate(m_asset) != Model_Asset::RATE_NONE); m_assetType->SetSelection(Model_Asset::type(m_asset)); }
void mmAssetDialog::CreateControls() { wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxHORIZONTAL); this->SetSizer(itemBoxSizer2); wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL); itemBoxSizer2->Add(itemBoxSizer3, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5); wxStaticBox* itemStaticBoxSizer4Static = new wxStaticBox(this, wxID_ANY, _("Asset Details")); wxStaticBoxSizer* itemStaticBoxSizer4 = new wxStaticBoxSizer(itemStaticBoxSizer4Static , wxVERTICAL); itemBoxSizer3->Add(itemStaticBoxSizer4, g_flags); wxPanel* itemPanel5 = new wxPanel( this, wxID_STATIC, wxDefaultPosition , wxDefaultSize, wxTAB_TRAVERSAL ); itemStaticBoxSizer4->Add(itemPanel5, g_flags); wxFlexGridSizer* itemFlexGridSizer6 = new wxFlexGridSizer(0, 2, 0, 0); itemPanel5->SetSizer(itemFlexGridSizer6); wxStaticText* n = new wxStaticText(itemPanel5, wxID_STATIC, _("Name")); itemFlexGridSizer6->Add(n, g_flags); n->SetFont(this->GetFont().Bold()); m_assetName = new mmTextCtrl(itemPanel5, wxID_ANY, wxGetEmptyString()); m_assetName->SetToolTip(_("Enter the name of the asset")); itemFlexGridSizer6->Add(m_assetName, g_flagsExpand); itemFlexGridSizer6->Add(new wxStaticText(itemPanel5, wxID_STATIC, _("Date")), g_flags); m_dpc = new wxDatePickerCtrl( itemPanel5, wxID_ANY, wxDefaultDateTime, wxDefaultPosition, wxSize(120, -1), wxDP_DROPDOWN|wxDP_SHOWCENTURY); itemFlexGridSizer6->Add(m_dpc, g_flags); m_dpc->SetToolTip(_("Specify the date of purchase of asset")); itemFlexGridSizer6->Add(new wxStaticText(itemPanel5, wxID_STATIC, _("Asset Type")), g_flags); m_assetType = new wxChoice(itemPanel5, wxID_STATIC, wxDefaultPosition, wxSize(150, -1)); for (const auto& a : Model_Asset::all_type()) m_assetType->Append(wxGetTranslation(a), new wxStringClientData(a)); m_assetType->SetToolTip(_("Select type of asset")); m_assetType->SetSelection(Model_Asset::TYPE_PROPERTY); itemFlexGridSizer6->Add(m_assetType, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); wxStaticText* v = new wxStaticText(itemPanel5, wxID_STATIC, _("Value")); itemFlexGridSizer6->Add(v, g_flags); v->SetFont(this->GetFont().Bold()); m_value = new mmTextCtrl(itemPanel5, IDC_VALUE, wxGetEmptyString() , wxDefaultPosition, wxSize(150,-1), wxALIGN_RIGHT|wxTE_PROCESS_ENTER , mmCalcValidator() ); m_value->SetToolTip(_("Enter the current value of the asset")); itemFlexGridSizer6->Add(m_value, g_flags); m_value->Connect(IDC_VALUE, wxEVT_COMMAND_TEXT_ENTER , wxCommandEventHandler(mmAssetDialog::onTextEntered), nullptr, this); itemFlexGridSizer6->Add(new wxStaticText(itemPanel5, wxID_STATIC, _("Change in Value")), g_flags); m_valueChange = new wxChoice(itemPanel5, IDC_COMBO_TYPE, wxDefaultPosition, wxSize(150, -1)); for(const auto& a : Model_Asset::all_rate()) m_valueChange->Append(wxGetTranslation(a)); m_valueChange->SetToolTip(_("Specify if the value of the asset changes over time")); m_valueChange->SetSelection(Model_Asset::RATE_NONE); itemFlexGridSizer6->Add(m_valueChange, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); m_valueChangeRateLabel = new wxStaticText( itemPanel5, wxID_STATIC, _("% Rate")); itemFlexGridSizer6->Add(m_valueChangeRateLabel, g_flags); m_valueChangeRate = new mmTextCtrl(itemPanel5, IDC_RATE, wxGetEmptyString() , wxDefaultPosition, wxSize(150,-1), wxALIGN_RIGHT|wxTE_PROCESS_ENTER , mmCalcValidator()); m_valueChangeRate->SetToolTip(_("Enter the rate at which the asset changes its value in % per year")); itemFlexGridSizer6->Add(m_valueChangeRate, g_flags); m_valueChangeRate->Connect(IDC_RATE, IDC_RATE , wxCommandEventHandler(mmAssetDialog::onTextEntered), nullptr, this); enableDisableRate(false); itemFlexGridSizer6->Add(new wxStaticText( itemPanel5, wxID_STATIC, _("Notes")), g_flags); bAttachments_ = new wxBitmapButton(itemPanel5, wxID_FILE , wxBitmap(attachment_xpm), wxDefaultPosition , wxSize(m_valueChange->GetSize().GetY(), m_valueChange->GetSize().GetY())); itemFlexGridSizer6->Add(bAttachments_, wxSizerFlags(g_flags).Align(wxALIGN_RIGHT)); bAttachments_->SetToolTip(_("Organize attachments of this asset")); m_notes = new mmTextCtrl(this, IDC_NOTES, wxGetEmptyString(), wxDefaultPosition, wxSize(220, 170), wxTE_MULTILINE); m_notes->SetToolTip(_("Enter notes associated with this asset")); itemStaticBoxSizer4->Add(m_notes, 0, wxGROW | wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT | wxBOTTOM, 10); wxPanel* itemPanel27 = new wxPanel(this, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL); itemBoxSizer3->Add(itemPanel27, wxSizerFlags(g_flags).Center()); wxBoxSizer* itemBoxSizer28 = new wxBoxSizer(wxHORIZONTAL); itemPanel27->SetSizer(itemBoxSizer28); wxButton* itemButton29 = new wxButton(itemPanel27, wxID_OK, _("&OK ")); itemBoxSizer28->Add(itemButton29, g_flags); wxButton* itemButton30 = new wxButton(itemPanel27, wxID_CANCEL, _("&Cancel ")); itemBoxSizer28->Add(itemButton30, g_flags); itemButton30->SetFocus(); }
void mmAssetDialog::OnChangeAppreciationType(wxCommandEvent& /*event*/) { int selection = m_valueChange->GetSelection(); // Disable for "None", Enable for "Appreciates" or "Depreciates" enableDisableRate(selection != Model_Asset::RATE_NONE); }