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 FontSelectManager::Set(DropList& _face, DropList& _height, Option& _bold, Option& _italic, Option& _naa) { face = &_face; face->WhenAction = THISBACK(FaceSelect); height = &_height; height->WhenAction = THISBACK(Select); bold = &_bold; bold->WhenAction = THISBACK(Select); italic = &_italic; italic->WhenAction = THISBACK(Select); naa = &_naa; naa->WhenAction = THISBACK(Select); face->Clear(); Index<String> fni; LoadFonts(face, fni, true); face->AddSeparator(); LoadFonts(face, fni, false); face->SetIndex(0); height->ClearList(); for(int i = 6; i < 64; i++) height->Add(i); FaceSelect(); }