//--------------------------------------------- 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(); addXmlAssociation( 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(); } addXmlAssociation( 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; addXmlAssociation( tmp, xmlName, 1 ); 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; }
//--------------------------------------------- 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; }