ListBox* CreateListBoxFromXML(ticpp::Element* elem, Dialog* /*dlg*/){ int tmpInt; ListBox* box = new ListBox(); box->SetName(elem->GetAttribute("NAME").c_str()); if(elem->GetAttribute("ID", &tmpInt)) box->SetID(tmpInt); if(elem->GetAttribute("X", &tmpInt)) box->SetPositionX(tmpInt); if(elem->GetAttribute("Y", &tmpInt)) box->SetPositionY(tmpInt); if(elem->GetAttribute("WIDTH", &tmpInt)) box->SetSizeX(tmpInt); if(elem->GetAttribute("HEIGHT", &tmpInt)) box->SetSizeY(tmpInt); if(elem->GetAttribute("CHARWIDTH", &tmpInt)) box->SetCharWidth(tmpInt); if(elem->GetAttribute("CHARHEIGHT", &tmpInt)) box->SetCharHeight(tmpInt); if(elem->GetAttribute("FONT", &tmpInt)) box->SetFont(tmpInt); if(elem->GetAttribute("EXTENT", &tmpInt)) box->SetExtent(tmpInt); if(elem->GetAttribute("LINESPACE", &tmpInt)) box->SetLineSpace(tmpInt); if(elem->GetAttribute("SELECTABLE", &tmpInt)) box->SetSelectable(tmpInt); if(elem->GetAttribute("MAXSIZE", &tmpInt)) box->SetMaxSize(tmpInt); if(elem->GetAttribute("OWNERDRAW", &tmpInt)) box->SetOwnerDraw(tmpInt); return box; }
void FormWindow::CreateDefList(CtrlDef& def) { ListBox* ctrl = CreateListBox(def.GetText(), def.GetX(), def.GetY(), def.GetW(), def.GetH(), def.GetID(), def.GetParentID()); ctrl->SetAltText(def.GetAltText()); ctrl->SetEnabled(def.IsEnabled()); ctrl->SetBackColor(def.GetBackColor()); ctrl->SetForeColor(def.GetForeColor()); ctrl->SetStyle(def.GetStyle()); ctrl->SetTextAlign(def.GetTextAlign()); ctrl->SetTransparent(def.GetTransparent()); ctrl->SetHidePartial(def.GetHidePartial()); ctrl->SetLineHeight(def.GetLineHeight()); ctrl->SetShowHeadings(def.GetShowHeadings()); ctrl->SetLeading(def.GetLeading()); ctrl->SetMultiSelect(def.GetMultiSelect()); ctrl->SetDragDrop(def.GetDragDrop()); ctrl->SetScrollBarVisible(def.GetScrollBarVisible()); ctrl->SetSmoothScroll(def.GetSmoothScroll()); ctrl->SetItemStyle(def.GetItemStyle()); ctrl->SetSelectedStyle(def.GetSelectedStyle()); ctrl->SetMargins(def.GetMargins()); ctrl->SetTextInsets(def.GetTextInsets()); ctrl->SetCellInsets(def.GetCellInsets()); ctrl->SetCells(def.GetCells()); ctrl->SetFixedWidth(def.GetFixedWidth()); ctrl->SetFixedHeight(def.GetFixedHeight()); if (def.GetTexture().length() > 0) { Bitmap* ctrl_tex = 0; DataLoader* loader = DataLoader::GetLoader(); loader->SetDataPath("Screens/"); loader->LoadTexture(def.GetTexture(), ctrl_tex); loader->SetDataPath(""); ctrl->SetTexture(ctrl_tex); } int ncols = def.NumColumns(); for (int i = 0; i < ncols; i++) { ColumnDef* col = def.GetColumn(i); ctrl->AddColumn(col->title, col->width, col->align, col->sort); if (col->use_color) ctrl->SetColumnColor(i, col->color); } int nitems = def.NumItems(); for (int i = 0; i < nitems; i++) ctrl->AddItem(def.GetItem(i)); Font* f = FontMgr::Find(def.GetFont()); if (f) ctrl->SetFont(f); }