void simForm::OnActionPerformed(const Osp::Ui::Control& source, int actionId) { switch (actionId) { case ID_BUTTON_OK: { SimInfo *pSimInfo = new SimInfo(); pSimInfo->Construct(); bool isAvailable = pSimInfo->IsAvailable(); EditField *valorIcc = static_cast<EditField *> (GetControl( L"IDC_EDITFIELDICC")); valorIcc->SetEnabled(false); if (isAvailable) { String iccId = pSimInfo->GetIccId(); valorIcc->SetText(iccId); __pButtonOk->SetText("SUCCESS"); AppLog("ICC Read! \n"); } else { valorIcc->SetText("N/A"); AppLog("SIM NOT READY! \n"); } } break; default: break; } Draw(); Show(); }
void TemplateDlg::EnterTemplate() { const PackageTemplate& tp = ActualTemplate(); ArrayMap<String, EscValue> var; var.Add("PACKAGE", (String)~package); StdLib(var); label.Clear(); ctrl.Clear(); Point pos = templist.GetRect().BottomLeft(); pos.y += 8; int cx = cancel.GetRect().right - pos.x; for(int i = 0; i < tp.item.GetCount(); i++) { const TemplateItem& m = tp.item[i]; if(m.type == TEMPLATEITEM_OPTION) ctrl.Create<Option>().SetLabel(m.label); else { label.Add().SetLabel(m.label).LeftPos(pos.x, cx).TopPos(pos.y); Add(label.Top()); pos.y += label.Top().GetMinSize().cy; switch(m.type) { case TEMPLATEITEM_ID: { EditField *e = new EditField; e->SetFilter(IdFilter); ctrl.Add(e); break; } case TEMPLATEITEM_FILENAME: { EditField *e = new EditField; e->SetFilter(FilenameFilter); ctrl.Add(e); break; } case TEMPLATEITEM_SELECT: { DropList *d = new DropList; for(int i = 0; i < m.value.GetCount(); i++) d->Add(i, m.value[i]); if(m.value.GetCount()) d->SetIndex(0); ctrl.Add(d); break; } case TEMPLATEITEM_TEXT: { EditField *e = new EditField; ctrl.Add(e); break; } } } Add(ctrl.Top()); ctrl.Top() << ~delay; ctrl.Top().LeftPos(pos.x, cx).TopPos(pos.y); pos.y += ctrl.Top().GetMinSize().cy + 6; ctrl.Top().ClearModify(); } Inits(); Preview(); }
void PlannerSearchForm::OnActionPerformed(const Osp::Ui::Control &source, int actionId) { BetrainsPrototype* app = (BetrainsPrototype*)this->GetParent(); EditField* to = static_cast<EditField*>(GetControl(L"PLANNER_SEARCH_TO_STATION" )); EditField* from = static_cast<EditField*>(GetControl(L"PLANNER_SEARCH_FROM_STATION" )); String to_ = to->GetText(); String from_ = from->GetText(); switch ( actionId ) { case Constants::PLANNER_SEARCH: app->showPlannerResults(from_,to_); break; case Constants::BACK: app->showMenu(); default : app->showMenu(); } }
void PropertiesWindow::Property(const String& id, const String& label, const String& type, const Array<String>& prop) { if (type == "Option") { EditIntSpinEx* p = &_Properties.Create<EditIntSpinEx>(id); p->Min(0).Max(1); if (prop.GetCount()) { p->SetData(prop[0]); _Options.AddRow(label, AsString(prop[0])); } } if (type == "EditInt") { EditInt* p = &_Properties.Create<EditInt>(id); if (prop.GetCount()) { p->SetData(prop[0]); _Options.AddRow(label, AsString(prop[0])); } } if (type == "EditField") { EditField* p = &_Properties.Create<EditField>(id); if (prop.GetCount()) { p->SetData(prop[0]); _Options.AddRow(label, AsString(prop[0])); } } if (type == "EditTabs") { EditTabs* p = &_Properties.Create<EditTabs>(id); p->WhenEndEdit = THISBACK1(OnEndEdit, 0); if (prop.GetCount()) { p->SetLabel(t_("Change tabs...")); p->SetData(prop[0]); _Options.AddRow(label, AsString(prop[0])); } } if (type == "EditColumns") { EditColumns* p = &_Properties.Create<EditColumns>(id); p->WhenEndEdit = THISBACK1(OnEndEdit, 0); if (prop.GetCount()) { p->SetLabel(t_("Change columns...")); p->SetData(prop[0]); _Options.AddRow(label, AsString(prop[0])); } } if (type == "DropList") { if (prop.GetCount() < 2) return; DropList* p = &_Properties.Create<DropList>(id); for (int i = 1; i < prop.GetCount(); ++i) p->Add(prop[i]); if (prop.GetCount()) { String option = prop[ prop[0].IsEmpty() ? 1 : 0 ]; _Options.AddRow(label, option); p->SetData(option); } } }
void FormEdit::UpdateChildCount(int count) { for (int i = 0; i < _Ctrls.GetCount(); ++i) _CtrlContainer.RemoveChild(&_Ctrls[i]); _Ctrls.Clear(); _ItemList.Clear(); _Temporaries.Clear(); if (!_View.IsLayout()) { UpdateItemList(); return; } // if (_ViewMode == VIEW_MODE_WIREFRAME) // return; for (int i = 0; i < count; ++i) { if (!_View.GetObject(i)) continue; String type = (*_View.GetObjects())[i].Get("Type"); Font font = _View.GetFont(); int h = _View.ZoomY((*_View.GetObjects())[i].GetNumber("Font.Height")); if (h != 0) font.Height(h); if (font.GetHeight() == 0) font.Height(StdFont().GetHeight()); _ItemList.AddRow(type, (*_View.GetObjects())[i].Get("Variable")); if ((*_View.GetObjects())[i].GetBool("OutlineDraw", false) && _ViewMode != VIEW_MODE_AS_IS) { if (_ViewMode != VIEW_MODE_WIREFRAME) _CtrlContainer.Add( _Ctrls.Create<StaticRect>() ); } else if (type == "Button") { Button* b = &_Ctrls.Create<Button>(); b->SetFont(font); if (_ViewMode == VIEW_MODE_AS_IS) b->SetLabel((*_View.GetObjects())[i].Get("Label")); if (_ViewMode != VIEW_MODE_WIREFRAME) _CtrlContainer.Add( b->NoWantFocus() ); } else if (type == "DropDate") { DropDate *b = &_Ctrls.Create<DropDate>(); b->SetFont(font); if (_ViewMode != VIEW_MODE_WIREFRAME) _CtrlContainer.Add( b->NoWantFocus() ); } else if (type == "GridCtrl") { GridCtrl *b = &_Ctrls.Create<GridCtrl>(); // b->SetFont(font); TODO #ifdef PLATFORM_WIN32 b->Chameleon(); #endif String src = (*_View.GetObjects())[i].Get("Grid.Columns"); ReplaceString(src, ";", "\r\n"); StringStream s; s.Open(src); IniFile f; f.Load(s); Vector<String> names = f.EnumNames("Columns"); for (int j = 0; j < names.GetCount(); ++j) { int n = ScanInt(names[j]); Vector<String> values = f.GetArray("Columns", names[j]); if (values.GetCount() != 3) continue; if (values[1] == "Left") b->AddColumn(values[0]).HeaderAlignCenterLeft(); else if (values[1] == "Right") b->AddColumn(values[0]).HeaderAlignCenterRight(); else b->AddColumn(values[0]).HeaderAlignCenter(); } if (_ViewMode != VIEW_MODE_WIREFRAME) _CtrlContainer.Add( b->NoWantFocus() ); } else if (type == "EditField") { EditField *b = &_Ctrls.Create<EditField>(); b->SetFont(font); if (_ViewMode == VIEW_MODE_AS_IS) b->SetText((*_View.GetObjects())[i].Get("DefaultData")); if (_ViewMode != VIEW_MODE_WIREFRAME) _CtrlContainer.Add( b->NoWantFocus() ); } else if (type == "EditInt") { EditInt *b = &_Ctrls.Create<EditInt>(); b->SetFont(font); if (_ViewMode == VIEW_MODE_AS_IS) b->SetText((*_View.GetObjects())[i].Get("DefaultData")); if (_ViewMode != VIEW_MODE_WIREFRAME) _CtrlContainer.Add( b->NoWantFocus() ); } else if (type == "ProgressBar") { ProgressIndicator *b = &_Ctrls.Create<ProgressIndicator>(); b->Set(0, 100); if (_ViewMode != VIEW_MODE_WIREFRAME) _CtrlContainer.Add( b->NoWantFocus() ); } else if (type == "TabCtrl") { TabCtrl* e = &_Ctrls.Create<TabCtrl>(); TabCtrl::Style& style = e->StyleDefault().Write(); style.font = font; style.tabheight = font.GetHeight() + VertLayoutZoom(10); e->SetStyle(style); String src = (*_View.GetObjects())[i].Get("Tab.Content"); ReplaceString(src, ";", "\r\n"); StringStream s; s.Open(src); IniFile f; f.Load(s); Vector<String> names = f.EnumNames("Tabs"); VectorMap<int, Vector<String> > cache; int tabCount = 0; for (int j = 0; j < names.GetCount(); ++j) { int n = ScanInt(names[j]); if (AsString(n) != names[j]) continue; Vector<String> values = f.GetArray("Tabs", names[j]); if (values.GetCount() != 3) continue; Container *cont = &_Temporaries.Create<Container>(); Form *f = &_Temporaries.Create<Form>(); if (values[0] != t_("Current form")) { if (!f->Load(GetFileDirectory(_File) + "\\" + values[0])) continue; } else { int lay = _View.HasLayout(values[1]); if (lay < 0) continue; f->GetLayouts().Add() <<= _View.GetLayouts()[lay]; } if (!f->Layout(values[1], font)) continue; cont->Set(*f, f->GetSize()); cont->SizePos(); e->Add(*cont, values[2]); tabCount++; } int activeTab = -1; if (tabCount) { activeTab = (*_View.GetObjects())[i].GetNumber("Tab.Active", 0, 0); if (activeTab >= tabCount) { activeTab = tabCount - 1; e->Set(activeTab); } e->Set(activeTab); } (*_View.GetObjects())[i].SetNumber("Tab.Active", activeTab); (*_View.GetObjects())[i].SetNumber("Tab.Count", tabCount); if (_ViewMode != VIEW_MODE_WIREFRAME) _CtrlContainer.Add( e->NoWantFocus() ); } else if (type == "Form") { Form f; String path = (*_View.GetObjects())[i].Get("Form.Path"); (*_View.GetObjects())[i].Get("Form.PathType") == "Relative" ? f.Load(::GetFileDirectory(_File) + "\\" + path) : f.Load(path); f.Layout((*_View.GetObjects())[i].Get("Form.Layout"), font); ImageDraw w(f.GetSize()); f.DrawCtrl(w); ImageBuffer buf(w); StaticImage *s = &_Ctrls.Create<StaticImage>(); s->SetImage(buf); if (_ViewMode != VIEW_MODE_WIREFRAME) _CtrlContainer.AddChild( s ); } else { Label *b = &_Ctrls.Create<Label>(); b->SetFont(font); Color fontColor = DefaultInk(); LoadFromString(fontColor, Decode64((*_View.GetObjects())[i].Get("Font.Color", StoreAsString(fontColor)))); b->SetInk(fontColor); String align = (*_View.GetObjects())[i].Get("Text.Align"); if (align == "Center") b->SetAlign(ALIGN_CENTER); if (align == "Right") b->SetAlign(ALIGN_RIGHT); if (align == "Left") b->SetAlign(ALIGN_LEFT); if (_ViewMode == VIEW_MODE_AS_IS) b->SetLabel((*_View.GetObjects())[i].Get("Label")); if (_ViewMode != VIEW_MODE_WIREFRAME) _CtrlContainer.Add( b->NoWantFocus() ); } String frame = (*_View.GetObjects())[i].Get("Frame"); Ctrl* c = NULL; if (_Ctrls.GetCount()) c = &_Ctrls[_Ctrls.GetCount() - 1]; if (c) { if (frame == "Null frame") c->SetFrame(NullFrame()); if (frame == "Field frame") c->SetFrame(FieldFrame()); if (frame == "Inset frame") c->SetFrame(InsetFrame()); if (frame == "Outset frame") c->SetFrame(OutsetFrame()); if (frame == "Thin inset frame") c->SetFrame(ThinInsetFrame()); if (frame == "Thin outset frame") c->SetFrame(ThinOutsetFrame()); if (frame == "Black frame") c->SetFrame(BlackFrame()); if (frame == "Button frame") c->SetFrame(ButtonFrame()); if (frame == "Top separator frame") c->SetFrame(TopSeparatorFrame()); if (frame == "Left separator frame") c->SetFrame(LeftSeparatorFrame()); if (frame == "Right separator frame") c->SetFrame(RightSeparatorFrame()); if (frame == "Bottom separator frame") c->SetFrame(BottomSeparatorFrame()); } } UpdateItemList(); UpdateChildAllPos(); }