void FCarAddEdit::OnOtherControlSelected(const Osp::Ui::Control& source) { ScrollPanel * vpScrollPanel = static_cast<ScrollPanel *> (GetControl(L"IDC_SCROLLPANEL1")); vpScrollPanel->CloseOverlayWindow(); }
void FCarAddEdit::OnActionPerformed(const Control& source, int actionId) { Frame *pFrame = Application::GetInstance()->GetAppFrame()->GetFrame(); if (actionId == ID_CANCEL){ bool issaved = false; if (!this->detailmode) { if (CheckIfDataChanged()) { MessageBox msgbox; int modalResult = 0; msgbox.Construct("Confirm cancel", "Car data changed. Save data?", MSGBOX_STYLE_YESNO, 10000); msgbox.ShowAndWait(modalResult); if (modalResult == MSGBOX_RESULT_YES) { if (Save() == false) { return; } else { issaved = true; } } } } if (this->formtype == 2) { FormMgr *pFormMgr = static_cast<FormMgr *>(pFrame->GetControl("FormMgr")); if (issaved) { carconclass_->SetLastSelectedID(this->itemid); FormMgr *pFormMgr = static_cast<FormMgr *>(pFrame->GetControl("FormMgr")); pFormMgr->SendUserEvent(FormMgr::REQUEST_MAINFORM, null); } else { ArrayList * list = new ArrayList; list->Construct(); list->Add(*(new Integer(2))); pFormMgr->SendUserEvent(FormMgr::REQUEST_SETTINGSFORM, list); } } else { if ((!this->detailform) || (this->detailmode)) { FormMgr *pFormMgr = static_cast<FormMgr *>(pFrame->GetControl("FormMgr")); ArrayList * list = new ArrayList; list->Construct(); list->Add(*(new Integer(this->itemid))); pFormMgr->SendUserEvent(FormMgr::REQUEST_CARSELECTFORM, list); } else { OnActionPerformed(source, ID_DETAIL); } } } else if (actionId == ID_SAVE) { if (Save() == false) { return; } if (this->formtype == 2) { carconclass_->SetLastSelectedID(this->itemid); FormMgr *pFormMgr = static_cast<FormMgr *>(pFrame->GetControl("FormMgr")); pFormMgr->SendUserEvent(FormMgr::REQUEST_MAINFORM, null); } else { if (!this->detailform) { FormMgr *pFormMgr = static_cast<FormMgr *>(pFrame->GetControl("FormMgr")); ArrayList * list = new ArrayList; list->Construct(); list->Add(*(new Integer(this->itemid))); pFormMgr->SendUserEvent(FormMgr::REQUEST_CARSELECTFORM, list); } else { OnActionPerformed(source, ID_DETAIL); } } } else if (actionId == ID_SELECTFUELTYPEPOPUPOK) { fueltypesselectedarray_.RemoveAll(); int checkeditemindex; int fueltypeid; checkeditemindex = pListSelectFuelTypes_->GetFirstCheckedItemIndex(); while (checkeditemindex > -1) { fueltypeid = pListSelectFuelTypes_->GetItemIdAt(checkeditemindex); fueltypesselectedarray_.Add(fueltypeid); checkeditemindex = pListSelectFuelTypes_->GetNextCheckedItemIndexAfter(checkeditemindex); } controlhandler_->SetValue(this,L"CB_4_fueltypestring", GetFuelTypesString()); pPopup_->SetShowState(false); this->SetFocus(); RequestRedraw(true); } else if (actionId == ID_ADDNEWFUELTYPEPOPUPCANCEL) { pAddnewfueltypepopup_->SetShowState(false); this->SetFocus(); RequestRedraw(true); } else if (actionId == ID_ADDNEWFUELTYPEPOPUPSAVE) { Osp::Ui::Controls::EditField *pAddnewfueltypepopupEditField_ = static_cast<EditField *>(pAddnewfueltypepopup_->GetControl(L"IDC_EDITFIELD1")); String tmps = pAddnewfueltypepopupEditField_->GetText(); tmps.Trim(); if (tmps == "") { MessageBox msgbox; int modalResult = 0; msgbox.Construct("Empty value!", "Input fuel type caption!", MSGBOX_STYLE_OK, 10000); msgbox.ShowAndWait(modalResult); } else { FuelTypeData fueltypedata_; fueltypedata_.Caption = tmps; fueltypedata_.ID = 0; carconclass_->SaveFuelTypeData(fueltypedata_); pListSelectFuelTypes_->AddItem(&fueltypedata_.Caption, null, null, null, fueltypedata_.ID); int selecteditemindex = pListSelectFuelTypes_->GetItemIndexFromItemId(fueltypedata_.ID); if (selecteditemindex > -1) { pListSelectFuelTypes_->SetItemChecked(selecteditemindex, true); } pListSelectFuelTypes_->ScrollToBottom(); pAddnewfueltypepopup_->SetShowState(false); RequestRedraw(true); } } else if (actionId == ID_SELECTFUELTYPEPOPUPADD) { Osp::Ui::Controls::EditField *pAddnewfueltypepopupEditField_ = static_cast<EditField *>(pAddnewfueltypepopup_->GetControl(L"IDC_EDITFIELD1")); pAddnewfueltypepopupEditField_->SetText(L""); pAddnewfueltypepopup_->SetShowState(true); pAddnewfueltypepopup_->Show(); } else if (actionId == ID_BUTTON_EDITFIELD_DONE) { int actiondone = controlhandler_->ActionDone(this, source); if ((actiondone == ControlHandler::ACTIONDONERESULT_HIDEKEYPAD) || (actiondone == ControlHandler::ACTIONDONERESULT_OPENCOMBOBOX)) { ScrollPanel * vpScrollPanel = static_cast<ScrollPanel *> (GetControl(L"IDC_SCROLLPANEL1")); vpScrollPanel->CloseOverlayWindow(); } if (actiondone == ControlHandler::ACTIONDONERESULT_OPENCOMBOBOX) { pPopup_->SetShowState(true); pPopup_->Show(); } } else if (actionId == ID_BUTTON_EDITFIELD_CLOSE) { ScrollPanel * vpScrollPanel = static_cast<ScrollPanel *> (GetControl(L"IDC_SCROLLPANEL1")); vpScrollPanel->CloseOverlayWindow(); } else if ((actionId == ID_EDIT) || (actionId == ID_DETAIL)) { this->SetFocus(); if (actionId == ID_DETAIL) { ReloadSavedData(); } this->detailmode = (actionId == ID_DETAIL); DetailEditMode(); RequestRedraw(true); } }