//--------------------------------------------- guiTypeTextDropDown * ofxControlPanel::addTextDropDown(string name, string xmlName, int defaultBox, vector <string> boxNames){ if( currentPanel < 0 || currentPanel >= (int) panels.size() )return NULL; //add a new multi toggle to our list guiTypeTextDropDown * tmp = new guiTypeTextDropDown(); setLayoutFlag(tmp); //setup and dimensions tmp->setDimensions(180, 60); tmp->setup(name, defaultBox, boxNames); tmp->xmlName = xmlName; //we can say we want to an int or a float! tmp->setTypeInt(); xmlObjects.push_back( xmlAssociation(tmp, xmlName, 1) ); guiObjects.push_back(tmp); if( bUseTTFFont ){ tmp->setFont(&guiTTFFont); } panels[currentPanel]->addElement( tmp ); return tmp; }
//--------------------------------------------- guiTypeToggle * ofxControlPanel::addToggle(string name, string xmlName, bool defaultValue) { if( currentPanel < 0 || currentPanel >= (int) panels.size() )return NULL; //add a new toggle to our list guiTypeToggle * tmp = new guiTypeToggle(); setLayoutFlag(tmp); //setup and dimensions tmp->setup(name, (bool)defaultValue); tmp->setDimensions(14, 14); tmp->setTypeBool(); tmp->xmlName = xmlName; xmlObjects.push_back( xmlAssociation(tmp, xmlName, 1) ); guiObjects.push_back(tmp); if( bUseTTFFont ){ tmp->setFont(&guiTTFFont); } panels[currentPanel]->addElement( tmp ); return tmp; }
//------------------------------- guiTypeButtonSlider * ofxControlPanel::addButtonSlider(string sliderName, string xmlName, float value , float min, float max, bool isInt ) { if( currentPanel < 0 || currentPanel >= (int) panels.size() )return NULL; //add a new slider to our list guiTypeButtonSlider * tmp = new guiTypeButtonSlider(); setLayoutFlag(tmp); //setup and dimensions tmp->setup(sliderName, 210, 15, value, min, max, false); tmp->xmlName = xmlName; //we can say we want to an int or a float! if(isInt){ tmp->setTypeInt(); }else{ tmp->setTypeFloat(); } xmlObjects.push_back( xmlAssociation(tmp, xmlName, 1) ); guiObjects.push_back(tmp); if( bUseTTFFont ) { tmp->setFont(&guiTTFFont); } panels[currentPanel]->addElement( tmp ); return tmp; }
//------------------------------- guiType2DSlider * ofxControlPanel::addSlider2D(string sliderName, string xmlName, float valueX, float valueY, float minX, float maxX, float minY, float maxY, bool isInt) { if( currentPanel < 0 || currentPanel >= (int) panels.size() )return NULL; //add a new slider to our list guiType2DSlider * tmp = new guiType2DSlider(); setLayoutFlag(tmp); //setup and dimensions tmp->setup(sliderName, valueX, minX, maxX, valueY, minY, maxY); tmp->setDimensions(200, 200); tmp->xmlName = xmlName; //we can say we want to an int or a float! if(isInt){ tmp->setTypeInt(); }else{ tmp->setTypeFloat(); } addXmlAssociation( tmp, xmlName, 2 ); guiObjects.push_back(tmp); if( bUseTTFFont ){ tmp->setFont(&guiTTFFont); } panels[currentPanel]->addElement( tmp ); return tmp; }
//------------------------------- guiTypeSlider * ofxControlPanel::addSlider(string sliderName, string xmlName, float value , float min, float max, bool isInt) { if( currentPanel < 0 || currentPanel >= (int) panels.size() )return NULL; //add a new slider to our list guiTypeSlider * tmp = new guiTypeSlider(); setLayoutFlag(tmp); //setup and dimensions tmp->setup(sliderName, value, min, max); tmp->setDimensions(180, 10); tmp->xmlName = xmlName; //we can say we want to an int or a float! if(isInt){ tmp->setTypeInt(); }else{ tmp->setTypeFloat(); } addXmlAssociation( tmp, xmlName, 1 ); guiObjects.push_back(tmp); if( bUseTTFFont ){ tmp->setFont(&guiTTFFont); } //printf("adding %s [%x] to panel %s\n", xmlName.c_str(), tmp, panels[currentPanel]->name.c_str() ); panels[currentPanel]->addElement( tmp ); return tmp; }
//--------------------------------------------- guiTypeCustom * ofxControlPanel::addCustomRect(string name, guiCustomImpl * customPtr, int drawW, int drawH){ if( currentPanel < 0 || currentPanel >= (int) panels.size() )return NULL; guiTypeCustom * custom = new guiTypeCustom(); setLayoutFlag(custom); custom->setup(name, customPtr, drawW, drawH); panels[currentPanel]->addElement(custom); guiObjects.push_back(custom); if( bUseTTFFont ){ custom->setFont(&guiTTFFont); } return custom; }
//--------------------------------------------- guiTypeFileLister * ofxControlPanel::addFileLister(string name, simpleFileLister * lister, int drawW, int drawH){ if( currentPanel < 0 || currentPanel >= panels.size() )return NULL; guiTypeFileLister * listerType = new guiTypeFileLister(); setLayoutFlag(listerType); listerType->setup(name, lister, drawW, drawH); panels[currentPanel]->addElement(listerType); guiObjects.push_back(listerType); if( bUseTTFFont ){ listerType->setFont(&guiTTFFont); } return listerType; }
//--------------------------------------------- guiTypeVideo * ofxControlPanel::addVideoRect(string name, ofVideoPlayer * drawablePtr, int drawW, int drawH){ if( currentPanel < 0 || currentPanel >= panels.size() )return NULL; guiTypeVideo * vid = new guiTypeVideo(); setLayoutFlag(vid); vid->setup(name, drawablePtr, drawW, drawH); panels[currentPanel]->addElement(vid); guiObjects.push_back(vid); if( bUseTTFFont ){ vid->setFont(&guiTTFFont); } return vid; }
//--------------------------------------------- guiBaseObject * ofxControlPanel::addGuiBaseObject( guiBaseObject * element, int varsToAddToXml){ if( currentPanel < 0 || currentPanel >= (int) panels.size() )return NULL; setLayoutFlag(element); if( varsToAddToXml > 0 ){ addXmlAssociation(element, element->xmlName, varsToAddToXml); } guiObjects.push_back(element); if( bUseTTFFont ){ element->setFont(&guiTTFFont); } panels[currentPanel]->addElement(element); return element; }
//----------------------------------------------------- guiTypeChartPlotter * ofxControlPanel::addChartPlotter(string name, guiStatVarPointer varPtr, float width, float height, int maxNum, float minValY, float maxValY){ if( currentPanel < 0 || currentPanel >= (int) panels.size() )return NULL; //add a new multi toggle to our list guiTypeChartPlotter * tmp = new guiTypeChartPlotter(); setLayoutFlag(tmp); //setup and dimensions tmp->setDimensions(width, height); tmp->setup(name, varPtr, width, height, maxNum, minValY, maxValY); tmp->xmlName = "NONE_NOT_NEEDED"; guiObjects.push_back(tmp); if( bUseTTFFont ){ tmp->setFont(&guiTTFFont); } panels[currentPanel]->addElement( tmp ); return tmp; }
//--------------------------------------------- guiTypeVairableLister * ofxControlPanel::addVariableLister(string name, vector <guiVariablePointer> & varsIn){ if( currentPanel < 0 || currentPanel >= (int) panels.size() )return NULL; //add a new multi toggle to our list guiTypeVairableLister * tmp = new guiTypeVairableLister(); setLayoutFlag(tmp); //setup and dimensions tmp->setDimensions(180, 60); tmp->setup(name, varsIn); tmp->xmlName = "NONE_NOT_NEEDED"; guiObjects.push_back(tmp); if( bUseTTFFont ){ tmp->setFont(&guiTTFFont); } panels[currentPanel]->addElement( tmp ); return tmp; }