danni.coy Posted November 25, 2010 Share Posted November 25, 2010 class WidgetFoldingPanel { WidgetGroupBox panel; WidgetIcon fold_icon; WidgetVBox content; string id; // used for saving settings // use title if id is not supplied WidgetFoldingPanel(string title, WidgetVBox child, string id_="") { id=id_; if(id == "") id=title; content = child; panel = new WidgetGroupBox(engine.getGui(),title); panel.setWidth(283); panel.setSpace(2,2); fold_icon = new WidgetIcon(engine.getGui(),"ai3d/gui/fold.png"); fold_icon.setToggleable(true); fold_icon.setWidth(250); fold_icon.setCallback(GUI_CLICKED,"Interface::WidgetFoldingPanel::fold_panel_",this); panel.addChild(fold_icon,GUI_ALIGN_OVERLAP|GUI_ALIGN_TOP|GUI_ALIGN_LEFT); fold_icon.setPosition(-3,-16); panel.addChild(content,GUI_ALIGN_EXPAND); } void save() { //Config::setBool(id + "_panel_hidden",fold_icon.isToggled()); } void restore(){ //fold_icon.setToggled(Config::getBool(id + "_panel_hidden",true)); } void fold_panel() { content.setHidden(fold_icon.isToggled()); } void fold_panel_(WidgetFoldingPanel p) { p.fold_panel(); } void setHidden(int h) { panel.setHidden(h); } Widget getWidget() { return panel; } }; This creates a 3DStudio Max style folding GroupBox... 1 Link to comment
danni.coy Posted November 25, 2010 Author Share Posted November 25, 2010 this is what the results look like Link to comment
ivan.cuevas Posted November 25, 2010 Share Posted November 25, 2010 Very nice piece of code, thanks for share it :) Link to comment
Recommended Posts