void VCFrame::slotMenuCallback(int item) { switch (item) { case KVCMenuAddButton: addButton(); break; case KVCMenuAddSlider: addSlider(); break; case KVCMenuAddFrame: addFrame(); break; case KVCMenuAddXYPad: addXYPad(); break; case KVCMenuAddLabel: addLabel(); break; default: VCWidget::slotMenuCallback(item); break; } }
void ofxGuiPanel::buildFromXml() { int numberOfTags = mGlobals->mXml.getNumTags("OBJECT"); if(numberOfTags > 0) { for(int i = 0; i < numberOfTags; i++) { mGlobals->mXml.pushTag("OBJECT", i); int id = mGlobals->mXml.getValue("ID", 0); string type = mGlobals->mXml.getValue("TYPE", ""); string name = mGlobals->mXml.getValue("NAME", ""); int width = mGlobals->mXml.getValue("WIDTH", 0); int height = mGlobals->mXml.getValue("HEIGHT", 0); int display = mGlobals->mXml.getValue("DISPLAY", 0); int steps = mGlobals->mXml.getValue("STEPS", 0); int mode = mGlobals->mXml.getValue("MODE", 0); string image = mGlobals->mXml.getValue("IMAGE", ""); if(type == "SLIDER") { float min = mGlobals->mXml.getValue("MIN", 0.0f); float max = mGlobals->mXml.getValue("MAX", 0.0f); float value = mGlobals->mXml.getValue("VALUE", 0.0f); ofxGuiSlider* slider = addSlider(id, name, width, height, min, max, value, display, steps); slider->buildFromXml(); } else if(type == "XYPAD") { float minx = mGlobals->mXml.getValue("MIN_X", 0.0f); float miny = mGlobals->mXml.getValue("MIN_Y", 0.0f); float maxx = mGlobals->mXml.getValue("MAX_X", 0.0f); float maxy = mGlobals->mXml.getValue("MAX_Y", 0.0f); float valuex = mGlobals->mXml.getValue("VALUE_X", 0.0f); float valuey = mGlobals->mXml.getValue("VALUE_Y", 0.0f); ofxPoint2f min = ofxPoint2f(minx, miny); ofxPoint2f max = ofxPoint2f(maxx, maxy); ofxPoint2f value = ofxPoint2f(valuex, valuey); ofxGuiXYPad* xypad = addXYPad(id, name, width, height, min, max, value, display, steps); xypad->buildFromXml(); } else if(type == "POINTS") { float minx = mGlobals->mXml.getValue("MIN_X", 0.0f); float miny = mGlobals->mXml.getValue("MIN_Y", 0.0f); float maxx = mGlobals->mXml.getValue("MAX_X", 0.0f); float maxy = mGlobals->mXml.getValue("MAX_Y", 0.0f); float valuex = mGlobals->mXml.getValue("VALUE_X", 0.0f); float valuey = mGlobals->mXml.getValue("VALUE_Y", 0.0f); ofxPoint2f min = ofxPoint2f(minx, miny); ofxPoint2f max = ofxPoint2f(maxx, maxy); ofxPoint2f value = ofxPoint2f(valuex, valuey); ofxGuiPoints* points = addPoints(id, name, width, height, min, max, value, display, steps); points->buildFromXml(); } else if(type == "BUTTON") { bool value = mGlobals->mXml.getValue("VALUE", 0); ofxGuiButton* button = addButton(id, name, width, height, value, mode, image); button->buildFromXml(); } else if(type == "FILES") { string subPath = mGlobals->mXml.getValue("SUBPATH", ""); string suffix = mGlobals->mXml.getValue("SUFFIX", ""); ofxGuiFiles* files = addFiles(id, name, width, height, mGlobals->mXmlfile, subPath, suffix); files->buildFromXml(); } else if(type == "COLOR") { ofRGBA value = ofRGBA(mGlobals->mXml.getValue("VALUE", "FFFFFFFF")); ofxGuiColor* color = addColor(id, name, width, height, value, mode); color->buildFromXml(); } else if(type == "MATRIX") { int xGrid = mGlobals->mXml.getValue("XGRID", 0); int yGrid = mGlobals->mXml.getValue("YGRID", 0); int value = mGlobals->mXml.getValue("VALUE", 0); int spacing = mGlobals->mXml.getValue("SPACING", 0); ofxGuiMatrix* matrix = addMatrix(id, name, width, height, xGrid, yGrid, value, mode, spacing); matrix->buildFromXml(); } else if(type == "SCOPE") { int length = mGlobals->mXml.getValue("LENGTH", 0); float valuex = mGlobals->mXml.getValue("VALUE_X", 0.0f); float valuey = mGlobals->mXml.getValue("VALUE_Y", 0.0f); ofxPoint2f value = ofxPoint2f(valuex, valuey); ofxGuiScope* scope = addScope(id, name, width, height, length, value, mode); scope->buildFromXml(); } else if(type == "KNOB") { float min = mGlobals->mXml.getValue("MIN", 0.0f); float max = mGlobals->mXml.getValue("MAX", 0.0f); float value = mGlobals->mXml.getValue("VALUE", 0.0f); ofxGuiKnob* knob = addKnob(id, name, width, height, min, max, value, display, steps); knob->buildFromXml(); } mGlobals->mXml.popTag(); } } }