void ofxUIWidgetWithLabel::toggleColors() { ofxUIColor fill = getColorFill(); float af = fill.a; ofxUIColor back = getColorBack(); float ab = back.a; setColorFill(ofxUIColor(back, af)); setColorBack(ofxUIColor(fill, ab)); }
void testApp::populateSynthCanvas(ofPtr<triggerZone> zn){ if(synthCanvas != NULL)delete synthCanvas; synthCanvas = new ofxUIScrollableCanvas(ofGetWidth()/2 - tabBarWidth * 0.9 , 0, tabBarWidth * 1.8, 200); synthCanvas->setColorFill(ofxUIColor(200)); synthCanvas->setColorFillHighlight(ofxUIColor(255)); synthCanvas->setColorBack(ofxUIColor(20, 20, 20, 150)); synthCanvas->setVisible(false); synthCanvas->setSnapping(false); vector<synthParam> sp = synthDictionary::getSynthParams(zn->getSynthType()); mapTypeLabels.clear(); for(int i = 0; i < sp.size(); i ++){ synthCanvas->addLabel(sp[i].name, OFX_UI_FONT_MEDIUM); synthParam c_sp = zn->getSynthParam(i); ofxUISlider * absl = new ofxUISlider("abs_val" , sp[i].sl_min, sp[i].sl_max, c_sp.abs_val , 100,20); synthCanvas->addWidgetDown(absl); absl->setID(i); ofxUISlider * mvsl = new ofxUISlider("min_val" , sp[i].sl_min, sp[i].sl_max, c_sp.min_val , 100,20); synthCanvas->addWidgetRight(mvsl); mvsl->setID(i); ofxUISlider * mxsl = new ofxUISlider("max_val" , sp[i].sl_min, sp[i].sl_max, c_sp.max_val , 100,20); synthCanvas->addWidgetRight(mxsl); mxsl->setID(i); ofxUITextArea * l = new ofxUITextArea("MAP_TYPE", "MAP_TYPE: " + synthDictionary::getMapString(c_sp.map), 180,20,0,0, OFX_UI_FONT_SMALL); synthCanvas->addWidgetRight(l); l->setID(i); mapTypeLabels.push_back(l); ofxUILabelButton * zb = (ofxUILabelButton *)synthCanvas->addWidgetRight(new ofxUILabelButton("MINUS", true, 25)); ofxUILabelButton * zc = (ofxUILabelButton *)synthCanvas->addWidgetRight(new ofxUILabelButton( "PLUS", true ,25)); zb->setLabelText("-"); zc->setLabelText("+"); zb->setID(i); zc->setID(i); synthCanvas->addWidgetDown(new ofxUILabel("", OFX_UI_FONT_SMALL)); synthCanvas->addSpacer(); } ofAddListener(synthCanvas->newGUIEvent,this,&testApp::synthEvents); }
void ofxUIImageSampler::loadState(ofxXmlSettings *XML) { setValue(ofxUIVec2f(XML->getValue("XValue", getValue().x, 0), XML->getValue("YValue", getValue().y, 0))); setColor(ofxUIColor(XML->getValue("RColor", getColor().r, 0), XML->getValue("GColor", getColor().g, 0), XML->getValue("BColor", getColor().b, 0), XML->getValue("AColor", getColor().a, 0))); }
void testApp::createNodeInput(float _x, float _y){ textInput *node = new textInput("", "", 150, 20, _x, _y); vector<string> nodes; ofxUIDropDownList *dlist = new ofxUIDropDownList("", nodes, 150, _x, _y); gui->addWidget(dlist); gui->addWidget(node); //dlist->setColorBack(ofxUIColor (200,200,200,20)); node->setColorBack(ofxUIColor (80,80,80,100)); node->setColorOutlineHighlight(ofxUIColor(150,150,250)); node->setDropdownList(dlist); ofAddListener( node->createNode , this, &testApp::createNode); newNodeInput = node; }
//-------------------------------------------------------------- void kUsersApp::setup() { ofSetLogLevel( OF_LOG_ERROR ); openNIDevice.setup(); openNIDevice.addImageGenerator(); openNIDevice.addDepthGenerator(); openNIDevice.setRegister(true); openNIDevice.setMirror(true); openNIDevice.addUserGenerator(); openNIDevice.setMaxNumUsers( 10 ); openNIDevice.start(); // openNIDevice.setUseMaskPixelsAllUsers(true); // if you just want pixels, use this set to true // openNIDevice.setUseMaskTextureAllUsers(true); // this turns on mask pixels internally AND creates mask textures efficiently openNIDevice.setUsePointCloudsAllUsers(true); openNIDevice.setPointCloudDrawSizeAllUsers( 4 ); // size of each 'point' in the point cloud openNIDevice.setPointCloudResolutionAllUsers( 4 ); // resolution of the mesh created for the point cloud eg., this will use every second depth pixel userSeen = 0; status = 0; rep.pos.y = 1000; rep.pos.z = 2200; rep.radius = 250; loadSettings(); senders = new ofxOscSender[ settings.osc_conf.size() ]; for ( int i = 0; i < settings.osc_conf.size(); i++ ) { KUsersOscConfig * oc = settings.osc_conf[ i ]; senders[ i ].setup( oc->ip, oc->port ); cout << oc->ip << ":" << oc->port << endl; } sendMessage( "info", "HELLO" ); gui = new ofxUICanvas(); gui->addLabel( "REPERE", OFX_UI_FONT_SMALL ); gui->addSlider( "x pos", -2000, 2000, &rep.pos.x, 300, 10 ); gui->addSlider( "y pos", -2000, 2000, &rep.pos.y, 300, 10 ); gui->addSlider( "z pos", 0, 4000, &rep.pos.z, 300, 10 ); gui->addSlider( "radius", 0, 1000, &rep.radius, 300, 10 ); gui->addLabel( "ACTIONS", OFX_UI_FONT_SMALL ); gui->addSlider( "calibration (millis)", 0, 60000, &settings.calibration_time, 300, 10 ); for ( int i = 0; i < settings.actions.size(); i++ ) { KUsersAction * ac = settings.actions[ i ]; gui->addRangeSlider( ac->name, 0.0, 2.0, &ac->min, &ac->max, 300, 10 ); } gui->setColorBack( ofxUIColor( 255,255,255,90 ) ); ofAddListener( gui->newGUIEvent, this, &kUsersApp::guiEvent ); }
//-------------------------------------------------------------- void testApp::setupUI() { int columnWidth = 75; float dim = 24; float xInit = OFX_UI_GLOBAL_WIDGET_SPACING; float length = 320-xInit; ofxUICanvas* guiMain = new ofxUICanvas(columnWidth, 0, length+xInit, columnWidth); guiMain->setName("Main"); guiMain->setPosition(10, 50); guiMain->setColorFill(ofxUIColor(200)); guiMain->setColorFillHighlight(ofxUIColor(255)); guiMain->setColorBack(ofxUIColor(20, 20, 20, 150)); guiMain->addWidgetDown(new ofxUILabel("SETUP", OFX_UI_FONT_LARGE)); guiMain->addWidgetDown( new ofxUIBaseDraws(320, 240, &audioLevelsPreview, "AUDIO LEVELS", true) ); guiMain->addSlider("SPREAD", 1, 5, &spread ); //guiMain->addSpacer(length-xInit, 1); //guiMain->addWidgetDown(new ofxUILabel("EFFECTS", OFX_UI_FONT_LARGE)); //guiMain->addSpacer(length-xInit, 1); // guiMain->addSlider("REVERB", 1, 100, &_reverb ); // guiMain->addSlider("DISTORTION", 1, 100, &_distortion ); // guiMain->addSlider("COMPRESSION", 1, 100, &_compression ); // guiMain->addSlider("DELAY", 1, 100, &_delay ); // guiMain->addSlider("LOWPASS", 10, 6900, &_lowpass ); // guiMain->addSlider("VARISPEED", -2, 2, &_varispeed ); guiMain->autoSizeToFitWidgets(); ofAddListener( guiMain->newGUIEvent,this, &testApp::guiEvent ); guis.push_back(guiMain); }
void testApp::setupDisplaySettings(){ //--------------------------------------DISPLAY SETTINGS----------------------------------------------------------// displayTabBar = new ofxUITabBar(); displayTabBar->setPosition(ofGetWidth() - 100, ofGetHeight() - tabBarHeight); displayTabBar->setColorFill(ofxUIColor(200)); displayTabBar->setColorFillHighlight(ofxUIColor(255)); displayTabBar->setColorBack(ofxUIColor(255, 20, 20, 150)); ofAddListener(displayTabBar->newGUIEvent,this,&testApp::dispEvents); for(int i = 0; i < 2; i ++){ displayCanvases[i] = new ofxUICanvas(ofGetWidth() - tabBarWidth, 0, tabBarWidth, 300); displayCanvases[i]->setColorFill(ofxUIColor(200)); displayCanvases[i]->setColorFillHighlight(ofxUIColor(255)); displayCanvases[i]->setColorBack(ofxUIColor(20, 20, 20, 150)); } displayCanvases[0]->setName("2D"); displayCanvases[0]->setVisible(false); ofAddListener(displayCanvases[0]->newGUIEvent,this,&testApp::dispEvents); displayTabBar->addCanvas(displayCanvases[0]); displayCanvases[1]->setName("3D"); mouseTog = displayCanvases[1]->addToggle("MOUSE_INPUT", isCamMouse); displayCanvases[1]->addSpacer(); displayCanvases[1]->addLabel("Z/X = ZOOM IN/OUT"); displayCanvases[1]->addLabel("A/S = TRUCK LEFT/RIGHT"); displayCanvases[1]->addButton("RESET_CAM", false); displayCanvases[1]->addButton("OVERHEAD", false); displayCanvases[1]->addButton("FROM_LEFT", false); displayCanvases[1]->addButton("FROM_RIGHT", false); displayCanvases[1]->addToggle("VIEW_USER", isViewSegPoints); displayCanvases[1]->addToggle("VIEW_COM", isViewCom); displayCanvases[1]->addToggle("VIEW_SCENE", isViewCScene); displayCanvases[1]->autoSizeToFitWidgets(); ofAddListener(displayCanvases[1]->newGUIEvent,this,&testApp::dispEvents); displayTabBar->addCanvas(displayCanvases[1]); }
void testApp::setupGui(){ tabBarWidth = 320; tabBarHeight = 120; isSettingsGui = true; isDisplayGui = true; setupGeneralSettings(); setupZonePanels(); setupDisplaySettings(); dialog = new ofxUICanvas(0, 150, tabBarWidth, 100); dialog->setColorFill(ofxUIColor(200)); dialog->setColorFillHighlight(ofxUIColor(255)); dialog->setColorBack(ofxUIColor(20, 20, 20, 150)); confLab = dialog->addLabel("CONFIRM"); dialog->addLabelButton("OK", true); dialog->addLabelButton("CANCEL", true); dialog->setVisible(false); ofAddListener(dialog->newGUIEvent, this, &testApp::s0Events); fakeCanvas = new ofxUICanvas(ofGetWidth() - tabBarWidth, 450, tabBarWidth, 125); fakeCanvas->setColorFill(ofxUIColor(200)); fakeCanvas->setColorFillHighlight(ofxUIColor(255)); fakeCanvas->setColorBack(ofxUIColor(20, 20, 20, 150)); fakeCanvas->addSlider("F_POS_X", -5, 5, m_kinectManager.getFakePos().x); fakeCanvas->addSlider("F_POS_Y", -2, 2, m_kinectManager.getFakePos().y); fakeCanvas->addSlider("F_POS_Z", 0, 10, m_kinectManager.getFakePos().z); ofAddListener(fakeCanvas->newGUIEvent,this,&testApp::fEvents); fakeCanvas->setVisible(false); synthCanvas = NULL; }
//-------------------------------------------------------------- SETING void testApp::setup(){ ofEnableAlphaBlending(); ofEnableSmoothing(); ofSetVerticalSync(false); open_flyout = false; //*** TRACKPAD SETUP ***// pad = ofxMultiTouchPad(); //*** CAMERA SETUP ***// cam.setDistance(600); cam.disableMouseInput(); cam.enableOrtho(); cam.setVFlip(true); scale = 1.f; //*** TOP MENU ***// menu = new ofxUISuperCanvas("menu", 0, MENU_TOP_PADDING, ofGetWidth(), MENU_HEIGHT); menu->getCanvasTitle()->ofxUIWidget::setVisible(false); menu->setColorBack(ofxUIColor(140, 140, 140,255)); ofxUISpacer* spacer; new menuItem(menu, "MultiImageButton", "New Patcher", "assets/new_file.png", false, 35, 20); new menuItem(menu, "MultiImageButton", "Open Patcher", "assets/open_file.png", false, 65, 20); new menuItem(menu, "MultiImageButton", "Save Patcher", "assets/save_file.png", false, 95, 20); spacer = new ofxUISpacer(130, 20, 1,25); menu->addWidget(spacer); spacer->setColorFill(ofxUIColor(120, 120, 120, 200)); new menuItem(menu, "MultiImageButton", "Create Node", "assets/node.png", false, 140, 20); spacer = new ofxUISpacer(175, 20, 1,25); menu->addWidget(spacer); spacer->setColorFill(ofxUIColor(120, 120, 120, 200)); new menuItem(menu, "MultiImageButton", "Save Snippet", "assets/save_snippet.png", false, 185, 20); new menuItem(menu, "MultiImageButton", "Open Snippet", "assets/open_snippet.png", false, 215, 20); spacer = new ofxUISpacer(250, 20, 1,25); menu->addWidget(spacer); spacer->setColorFill(ofxUIColor(120, 120, 120, 200)); new menuItem(menu, "MultiImageToggle", "Straight Links", "assets/line.png", false, 260, 20); new menuItem(menu, "MultiImageToggle", "Curved Links", "assets/curve_line.png", false, 290, 20); new menuItem(menu, "MultiImageToggle", "Segmented Links", "assets/path_line.png", true, 320, 20); spacer = new ofxUISpacer(355, 20, 1,25); menu->addWidget(spacer); spacer->setColorFill(ofxUIColor(120, 120, 120, 200)); new menuItem(menu, "MultiImageToggle", "Edit Mode on/off", "assets/edit_mode.png", false, 365, 20); ofAddListener(menu->newGUIEvent,this,&testApp::menuEvent); //*** RIGHT MENU ***// right_menu = new ofxUISuperCanvas("menu", 0, MENU_HEIGHT + MENU_TOP_PADDING, RIGHT_MENU_WIDTH, ofGetHeight() - (MENU_HEIGHT + MENU_TOP_PADDING)); right_menu->getCanvasTitle()->ofxUIWidget::setVisible(false); right_menu->setColorBack(ofxUIColor(140, 140, 140,255)); new menuItem(right_menu, "MultiImageButton", "Zoom In", "assets/zoom_in.png", false, 5, right_menu->getRect()->getHeight()-30); new menuItem(right_menu, "MultiImageButton", "Zoom Out", "assets/zoom_out.png", false, 5, right_menu->getRect()->getHeight()-60); new menuItem(right_menu, "MultiImageToggle", "Inspect", "assets/open_flyout.png", false, 5, right_menu->getRect()->getHeight()-100); ofAddListener(right_menu->newGUIEvent,this,&testApp::menuEvent); //*** MAIN CANVAS ***// gui = new ofxUISuperCanvas("", RIGHT_MENU_WIDTH, MENU_HEIGHT + MENU_TOP_PADDING, ofGetWidth() - RIGHT_MENU_WIDTH, ofGetHeight() - (MENU_HEIGHT +MENU_TOP_PADDING)); gui->setColorBack(ofxUIColor(255,255,255,0)); gui->setDraggable(false); gui->setOtherSelected(false); //*** COMPOSER AND PATCHES SETUP ***// composer = new ofxComposer(); composer->setMainCanvas(gui); composer->load("config.xml"); composer->setLinkType(PATH_LINKS); composer->setParent(cam); map<int,ofxPatch*> patches = composer->getPatches(); for(map<int,ofxPatch*>::iterator it = patches.begin(); it != patches.end(); it++ ){ it->second->setParent(cam); } //*** SCROLL BAR SETUP ***// this->scrollBars = new scrollBar(this->composer, &this->pad, SCROLL_BAR_EVENT_PRIORITY); scrollBars->setup(); }
//-------------------------------------------------------------- void testApp::setup() { int tabBarWidth = 80; // --- guiTabBar = new ofxUITabBar(); guiTabBar->setWidth(tabBarWidth); guiTabBar->setColorFill(ofxUIColor(200)); guiTabBar->setColorFillHighlight(ofxUIColor(255)); guiTabBar->setColorBack(ofxUIColor(255, 20, 20, 150)); // --- ofEnableTextureEdgeHack(); middle.loadImage("slidertrack.png"); middle.getTextureReference().setTextureWrap(GL_REPEAT, GL_REPEAT); middle.update(); ofEnableSmoothing(); ofSetCircleResolution(60); red = 100; blue = 100; green = 100; float dim = 24; float xInit = OFX_UI_GLOBAL_WIDGET_SPACING; float length = 320-xInit; drawPadding = false; // --- ofxUICanvas* guiA = new ofxUICanvas(tabBarWidth, 0, length+xInit, 100); guiA->setName("Main"); guiA->setPosition(tabBarWidth, 0); guiA->setColorFill(ofxUIColor(200)); guiA->setColorFillHighlight(ofxUIColor(255)); guiA->setColorBack(ofxUIColor(20, 20, 20, 150)); { guiA->addLabel("Tab Bar"); guiA->addSpacer(); guiA->addButton("SAVE", false); guiA->addButton("LOAD", false); } ofAddListener(guiA->newGUIEvent,this,&testApp::guiEvent); guiTabBar->addCanvas(guiA); // --- guiB = new ofxUICanvas(tabBarWidth, 0, length+xInit, ofGetHeight()); guiB->setName("Tab 2"); guiB->addWidgetDown(new ofxUILabel("SLIDER WIDGETS", OFX_UI_FONT_LARGE)); guiB->addSpacer(length-xInit, 1); guiB->addFPSSlider("FPS SLIDER", length-xInit, dim*.25, 1000); guiB->addSpacer(length-xInit, 1); guiB->addWidgetDown(new ofxUILabel("NORMAL SLIDER", OFX_UI_FONT_MEDIUM)); guiB->addSlider("RED", 0.0, 255.0, red, length-xInit,dim); guiB->addSpacer(length-xInit, 1); guiB->addWidgetDown(new ofxUILabel("MINIMAL SLIDER", OFX_UI_FONT_MEDIUM)); guiB->addWidgetDown(new ofxUIMinimalSlider(length-xInit, 0.0, 255.0, green, "GREEN", OFX_UI_FONT_MEDIUM)); guiB->addSpacer(length-xInit, 1); guiB->addWidgetDown(new ofxUILabel("BILABEL SLIDER", OFX_UI_FONT_MEDIUM)); guiB->addWidgetDown(new ofxUIBiLabelSlider(length-xInit, 0.0, 255.0, blue, "BLUE", "LESS BLUE", "MORE BLUE", OFX_UI_FONT_MEDIUM)); guiB->addSpacer(length-xInit, 1); guiB->addWidgetDown(new ofxUILabel("VERTICAL SLIDERS", OFX_UI_FONT_MEDIUM)); guiB->addSlider("1", 0.0, 255.0, 100.0, dim,80); guiB->setWidgetPosition(OFX_UI_WIDGET_POSITION_RIGHT); guiB->addSlider("2", 0.0, 255.0, 150.0, dim, 80); guiB->addSlider("3", 0.0, 255.0, 200.0, dim, 80); guiB->addSlider("4", 0.0, 255.0, 250.0, dim, 80); guiB->setWidgetPosition(OFX_UI_WIDGET_POSITION_DOWN); guiB->addSpacer(length-xInit, 1); guiB->addWidgetDown(new ofxUILabel("RANGE SLIDER", OFX_UI_FONT_MEDIUM)); guiB->addWidgetDown(new ofxUIRangeSlider(length-xInit,dim, 0.0, 255.0, 50.0, 100.0, "RSLIDER")); guiB->addSpacer(length-xInit, 1); guiB->addWidgetDown(new ofxUILabel("ROTARY SLIDER", OFX_UI_FONT_MEDIUM)); guiB->addWidgetDown(new ofxUIRotarySlider(dim*2.0, 0.0, 100.0, 25.0, "CSLIDER 2")); guiB->addSpacer(length-xInit, 1); guiB->addWidgetDown(new ofxUILabel("2D PAD", OFX_UI_FONT_MEDIUM)); guiB->addWidgetDown(new ofxUI2DPad(length-xInit,80, ofPoint((length-xInit)*.5,80*.5), "PAD")); guiB->addSpacer(length-xInit, 1); guiB->addWidgetDown(new ofxUILabel("CIRCLE SLIDER", OFX_UI_FONT_MEDIUM)); guiB->addWidgetDown(new ofxUICircleSlider(dim*2, 0.0, 255.0, green, "GREEN", OFX_UI_FONT_MEDIUM)); guiB->addSpacer(length-xInit, 1); guiB->addWidgetDown(new ofxUILabel("IMAGE SLIDER", OFX_UI_FONT_MEDIUM)); guiB->addWidgetDown(new ofxUIImageSlider(length-xInit, 42, 0.0, 255.0, red, "slider.png", "IMAGE SLIDER")); guiB->setColorBack(ofColor(255,100)); ofAddListener(guiB->newGUIEvent,this,&testApp::guiEvent); guiTabBar->addCanvas(guiB); ofBackground(red, green, blue); guiTabBar->loadSettings("settings/", "ui-"); }
//-------------------------------------------------------------- void blobApp::setup(){ mSaveFrame = false; ofBackground(255,255,255); ofSetFrameRate(60); ofEnableSmoothing(); ofSetCircleResolution(60); // 2D Setup #ifdef _MSC_VER float pi = 3.14159; #endif vector<ofVec3f> bverts; float ang = 0; float r = 200; float sweep = pi*1.35; float segs = 7.0; for (int i=0; i<=segs; i++) { bverts.push_back(ofVec3f(cos(ang)*r,sin(ang)*r,0)); ang += sweep/segs; } mMasterCurve = new edgeCurve(bverts); mSlaveCurve = mMasterCurve->getSlave(); mFlatOs = ofVec2f(ofGetHeight()*0.5, ofGetHeight()*0.5); // 3D Setup mForm = new form(mMasterCurve,mSlaveCurve); // FBOs Setup m2DFbo.allocate(ofGetHeight(), ofGetHeight(),GL_RGB); m2DFbo.begin(); ofClear(255,255,255); m2DFbo.end(); float stdsz = 20; // GUI Setup ofxUIColor pink = ofxUIColor(255,0,128); ofxUIColor pinktrans = ofxUIColor(255,0,128,150); ofxUIColor trans = ofxUIColor(255,255,255,0); ofxUIColor grey = ofxUIColor(90,90,90); mResolutionGUI = new ofxUICanvas(); mResolutionGUI->setFont("GUI/Gotham-Bold.ttf"); mResolutionGUI->setUIColors(grey, trans, trans, pinktrans, pink, pink, pink); mResolutionGUI->setDrawBack(false); mResSlider = new ofxUIIntSlider("resolution", 2, 11, 7, 200, stdsz/4.0, stdsz,ofGetHeight()-stdsz*2); mResolutionGUI->addWidget(mResSlider); mShowZipperToggle = new ofxUIToggle("show cut edge",false, stdsz,stdsz,stdsz,ofGetHeight()-stdsz*3.5); mResolutionGUI->addWidget(mShowZipperToggle); mExportCutFileButton = new ofxUIButton("export cut file",false,stdsz,stdsz,stdsz,ofGetHeight()-stdsz*5); mResolutionGUI->addWidget(mExportCutFileButton); mResolutionGUI->autoSizeToFitWidgets(); ofAddListener(mResolutionGUI->newGUIEvent, this, &blobApp::guiEvent); float hx = ofGetHeight()-stdsz*2; float at = ofGetHeight()-stdsz*11; mHoleGUI = new ofxUICanvas(); mHoleGUI->setFont("GUI/Gotham-Bold.ttf"); mHoleGUI->setUIColors(grey, trans, trans, pinktrans, pink, pink, pink); mHoleGUI->setDrawBack(false); mHoleToggle = new ofxUIToggle("add holes", false, stdsz,stdsz,hx,at); mHoleGUI->addWidget(mHoleToggle); at += stdsz*1.5; mMirrorHolesToggle = new ofxUIToggle("mirror hole", true, stdsz,stdsz,hx,at); mHoleGUI->addWidget(mMirrorHolesToggle); at += stdsz*1.5; mFreeHolesToggle =new ofxUIToggle("free hole(s)",false, stdsz,stdsz,hx,at); mHoleGUI->addWidget(mFreeHolesToggle); at += stdsz*2; mHolePosSlider = new ofxUISlider("hole position", 0.001, 0.999, 0.501,200,stdsz/4.0,hx-200+stdsz,at); mHoleGUI->addWidget(mHolePosSlider); at += stdsz*2; mHoleSizeSlider = new ofxUISlider("hole size", 5, 100, 45, 200,stdsz/4.0,hx-200+stdsz,at); mHoleGUI->addWidget(mHoleSizeSlider); at += stdsz*2; mHoleOSSlider = new ofxUISlider("hole offset", 5, 100, 10,200,stdsz/4.0,hx-200+stdsz,at); mHoleGUI->addWidget(mHoleOSSlider); mHoleGUI->autoSizeToFitWidgets(); ofAddListener(mHoleGUI->newGUIEvent, this, &blobApp::guiEvent); hx = ofGetWidth()*0.5+stdsz*2; at = ofGetHeight()-stdsz*6.5; m3DGUI = new ofxUICanvas(); m3DGUI->setFont("GUI/Gotham-Bold.ttf"); m3DGUI->setUIColors(grey, trans, trans, pinktrans, pink, pink, pink); m3DGUI->setDrawBack(false); mUpdateButton = new ofxUIButton("update", false, stdsz,stdsz,hx,at); m3DGUI->addWidget(mUpdateButton); at += stdsz*2; mSimulateToggle = new ofxUIToggle("simulate", false, stdsz,stdsz,hx,at); m3DGUI->addWidget(mSimulateToggle); at += stdsz*2; mExportSTLButton = new ofxUIButton("export stl", false, stdsz,stdsz,hx,at); m3DGUI->addWidget(mExportSTLButton); m3DGUI->autoSizeToFitWidgets(); ofAddListener(m3DGUI->newGUIEvent, this, &blobApp::guiEvent); }
void textInput::setDropdownList(ofxUIDropDownList* dl) { dl->open(); dl->setVisible(false); dl->setAutoClose(false); dl->addToggles(nodes); dl->setToggleVisibility(false); for(auto n : dl->getToggles()) { if (n->getName() == "INPUTS" || n->getName() == "LAYERS" || n->getName() == "MIXERS" || n->getName() == "OUTPUTS") { n->setColorBack(ofxUIColor (50,50,50,250)); n->setColorOutline(ofxUIColor (30,30,30,250)); n->setColorOutlineHighlight(ofxUIColor (30,30,30,250)); n->setColorFill(ofxUIColor (50,50,50,250)); n->setColorFillHighlight(ofxUIColor (50,50,50,250)); ((ofxUIWidgetWithLabel*)n->getLabelWidget())->setColorFill(ofxUIColor (200,200,200,250)); ((ofxUIWidgetWithLabel*)n->getLabelWidget())->setColorFillHighlight(ofxUIColor (200,200,200,250)); } else { n->setColorBack(ofxUIColor (70,70,70,250)); n->setColorOutline(ofxUIColor (50,50,50,250)); n->setColorOutlineHighlight(ofxUIColor (120,120,120,250)); n->setColorFill(ofxUIColor (85,85,85,250)); n->setColorFillHighlight(ofxUIColor (30,30,30,250)); n->setDrawOutline(true); } n->setLabelAlignment(OFX_UI_TEXT_ALIGN_LEFT); } this->addEmbeddedWidget(dl); this->dropdownList = dl; ofAddListener(((ofxUISuperCanvas*) dl->getCanvasParent())->newGUIEvent,this,&textInput::guiEvent); }
//------------------------------------------------------------------ void textInput::guiEvent(ofxUIEventArgs &event_){ if(event_.widget == this->dropdownList && this->dropdownList->getSelected().size()) { string selectedName = this->dropdownList->getSelected()[0]->getName(); if (selectedName == "INPUTS" || selectedName == "LAYERS" || selectedName == "MIXERS" || selectedName == "OUTPUTS"){ return; } this->dropdownList->setVisible(false); this->setTextString(selectedName); textInputEvent e; e.point.set(this->getRect()->getX(), this->getRect()->getY()); e.widget = this; e.type = this->dropdownList->getSelected()[0]->getName(); ofFileDialogResult openFileResult; if (e.type == "midi device") { vector<string>& midiPortList = midiIn->getPortList(); if (midiPortList.size() == 0) { midiPortList.push_back("No devices available"); } if(midiList == NULL) { midiList = new ofxUIDropDownList("", midiPortList, 250, this->getRect()->x, this->getRect()->y); this->getCanvasParent()->addWidget(midiList); midiList->open(); midiList->setAutoClose(true); this->addEmbeddedWidget(midiList); ofAddListener(((ofxUISuperCanvas*) midiList->getCanvasParent())->newGUIEvent,this,&textInput::guiMidiEvent); } else { midiList->clearToggles(); midiList->addToggles(midiPortList); } midiList->setVisible(true); for(auto n : midiList->getToggles()) { n->setColorBack(ofxUIColor (70,70,70,250)); n->setColorOutline(ofxUIColor (50,50,50,250)); n->setColorFillHighlight(ofxUIColor (30,30,30,250)); n->setDrawOutline(true); } } else if ((e.type == "image or video")){ openFileResult = ofSystemLoadDialog("Select an image (.jpg, .jpeg, .png, .bmp or .gif) or video (.mov, .mpg, .mp4 or .m4v)"); if (openFileResult.bSuccess){ ofFile file (openFileResult.getPath()); if (file.exists()){ string fileExtension = ofToUpper(file.getExtension()); //We only want images if (fileExtension == "JPG" || fileExtension == "PNG" || fileExtension == "JPEG" || fileExtension == "GIF" || fileExtension == "BMP" || fileExtension == "MOV" || fileExtension == "MPG" || fileExtension == "MP4" || fileExtension == "M4V" ) { e.path = openFileResult.getPath(); e.name = file.getFileName(); } else { ConsoleLog::getInstance()->pushError("Select a valid image or video file (.jpg, .jpeg, .gif, .bmp, .mov, .mpg, .mp4 or .m4v)"); return; } } file.close(); ofNotifyEvent(createNode, e , this); } else { dropdownList->clearSelected(); return; } } else if(e.type == "shader"){ openFileResult = ofSystemLoadDialog("Select a shader (.fs)"); if (openFileResult.bSuccess){ ofFile file (openFileResult.getPath()); if (file.exists()){ string fileExtension = ofToUpper(file.getExtension()); //We only want shaders if (fileExtension == "fs" || fileExtension == "FS") { e.path = openFileResult.getPath(); e.name = file.getFileName(); } else { ConsoleLog::getInstance()->pushError("Select a valid shader file (.fs)"); return; } } file.close(); ofNotifyEvent(createNode, e , this); } else { dropdownList->clearSelected(); return; } } else { ofNotifyEvent(createNode, e , this); } } }
//-------------------------------------------------------------- void ofApp::setGUI() { vector<string> emptyList; // setup widget gui = new ofxUICanvas(0, 0, 200, 600); // default isShowGrid = true; isShowWireframe = true; isWindowOnTop = true; isFlipH = false; #ifdef TARGET_OSX isFlipV = false; #elif defined TARGET_WIN32 isFlipV = true; #endif //gui->setPadding(3); gui->setColorBack(ofxUIColor(80, 80, 80, 200)); gui->setColorFillHighlight(ofxUIColor(5, 140, 190, 255)); gui->setFont(FONT_NAME); gui->addLabel("Screen"); lblScreenName = gui->addLabel("file:", OFX_UI_FONT_SMALL); gui->addLabelButton("3D LOAD", false)->setLabelText("select 3d file.."); gui->addSpacer(); #ifdef TARGET_OSX gui->addLabel("Source"); ddlInput = gui->addDropDownList("INPUT LIST", emptyList); ddlInput->setAllowMultiple(false); ddlInput->setAutoClose(true); ddlInput->setShowCurrentSelected(true); ddlInput->setLabelText(""); gui->addSpacer(); #endif gui->addLabel("Display"); gui->addToggle("show wireframe", &isShowWireframe); gui->addToggle("show gird", &isShowGrid); #ifdef TARGET_OSX gui->addToggle("make window on top",&isWindowOnTop); #endif gui->addWidgetDown(new ofxUIToggle("flip H", &isFlipH, 18, 18)); gui->addWidgetRight(new ofxUIToggle("flip V", &isFlipV, 18, 18)); gui->addSpacer(); gui->addLabel("Camera"); //gui->setWidgetFontSize(OFX_UI_FONT_SMALL); gui->addWidgetDown(new ofxUILabelButton("add cam", false)); gui->addWidgetRight((new ofxUILabelButton("remove cam", false))); ndCamX = gui->addNumberDialer("x", -10000.0f, 10000.0f, 0.0f, 2); ndCamX->setName("CAMERA X"); ndCamY = gui->addNumberDialer("y", -10000.0f, 10000.0f, 0.0f, 2); ndCamY->setName("CAMERA Y"); ndCamZ = gui->addNumberDialer("z", -10000.0f, 10000.0f, 0.0f, 2); ndCamZ->setName("CAMERA Z"); msCamH = gui->addMinimalSlider("h", -180.0f, 180.0f, 0.0f); msCamH->setName("CAMERA H"); msCamP = gui->addMinimalSlider("p", -180.0f, 180.0f, 0.0f); msCamP->setName("CAMERA P"); msCamB = gui->addMinimalSlider("b", -180.0f, 180.0f, 0.0f); msCamB->setName("CAMERA B"); msCamFov = gui->addMinimalSlider("fov", 10.0f, 170.0f, 45.0f); msCamFov->setName("CAMERA FOV"); gui->autoSizeToFitWidgets(); gui->loadSettings("gui.xml"); // set cam values camPos = grabCam.getPosition(); ndCamX->setValue(camPos.x); ndCamY->setValue(camPos.y); ndCamZ->setValue(camPos.z); camEuler = grabCam.getOrientationEuler(); msCamH->setValue(camEuler.x); msCamP->setValue(camEuler.y); msCamB->setValue(camEuler.z); ofAddListener(gui->newGUIEvent, this, &ofApp::guiEvent); }
/** @author jtnimoy @author colin roache for implementations sitting on just OpenGL */ #include "ofxUIGLWrapper.h" ofxUIColor NN::color = ofxUIColor(255,255); bool NN::bFill = true; unsigned int NN::rectMode = OFX_UI_RECTMODE_CORNER; ofxUIVec2f::ofxUIVec2f(){ x=0; y=0; } ofxUIVec2f::ofxUIVec2f(float _x,float _y){ x = _x; y = _y; } void ofxUIDrawRect(float x,float y, float w, float h){ glRectf(x,y,x+w,y+h); } ofxUIColor::ofxUIColor(const ofxUIColor& that,float _a){ this->copy(that);
void testApp::setupZonePanels(){ //----------------------ZONE CANVASES --------------// for(int i = 0; i < 4; i ++){ if(i == 0) zoneCanvases[i] = new ofxUICanvas(ofGetWidth()/2 - 400, ofGetHeight() - 240, 600, 240); else zoneCanvases[i] = new ofxUICanvas(ofGetWidth()/2 + 210, ofGetHeight() - 240, 300, 240); zoneCanvases[i]->setColorFill(ofxUIColor(200)); zoneCanvases[i]->setColorFillHighlight(ofxUIColor(255)); zoneCanvases[i]->setColorBack(ofxUIColor(20, 20, 20, 150)); } //zone c0 ------------------------------------------- float slw = 200 - OFX_UI_GLOBAL_WIDGET_SPACING - 5; tPosX = new ofxUISlider("T_POS_X", -5, 5, 0.0, slw, 10); tPosY = new ofxUISlider("T_POS_Y", -2, 2, 0.0, slw, 10); tPosZ = new ofxUISlider("T_POS_Z", 0, 10, 0.0, slw, 10); zoneCanvases[0]->addWidgetDown(tPosX); zoneCanvases[0]->addWidgetRight(tPosY); zoneCanvases[0]->addWidgetRight(tPosZ); zoneCanvases[0]->addSpacer(); vector<string> st; //FIX ME: should be in trigger zone st.push_back("sphere"); st.push_back("box"); st.push_back("cylinder"); zoneCanvases[0]->addLabel("SHAPE TYPE:", OFX_UI_FONT_SMALL); shapeText = new ofxUITextArea ("SHAPE_TYPE", "sphere", 70, 20, 0,0, OFX_UI_FONT_SMALL); zoneCanvases[0]->addWidgetRight(shapeText); ofxUILabelButton * sel_p = (ofxUILabelButton *)zoneCanvases[0]->addWidgetRight(new ofxUILabelButton("SHP_MINUS", true, 25)); ofxUILabelButton * sel_m = (ofxUILabelButton *)zoneCanvases[0]->addWidgetRight(new ofxUILabelButton("SHP_PLUS", true, 25)); sel_p->setLabelText("-"); sel_m->setLabelText("+"); zoneCanvases[0]->addWidgetRight(new ofxUISpacer(1,20)); occInvTog = new ofxUIToggle("OCC_INVERT", false, 20,20,0,0, OFX_UI_FONT_SMALL); movEnaTog = new ofxUIToggle("MOV_ENABLED", false, 20,20,0,0, OFX_UI_FONT_SMALL); movInvTog = new ofxUIToggle("MOV_INVERT", false, 20,20,0,0, OFX_UI_FONT_SMALL); zoneCanvases[0]->addWidgetRight(occInvTog); zoneCanvases[0]->addWidgetRight(movEnaTog); zoneCanvases[0]->addWidgetRight(movInvTog); zoneCanvases[0]->addSpacer(); eblTog = new ofxUIToggle("ENABLED", true, 20, 20, 0, 0, OFX_UI_FONT_SMALL); eblTog->setColorFill(ofxUIColor(255,0,0)); zoneCanvases[0]->addWidgetDown(eblTog); zoneCanvases[0]->addWidgetRight(new ofxUISpacer(1,20)); zoneCanvases[0]->addWidgetRight(new ofxUILabel("SOUNDFILE", OFX_UI_FONT_SMALL)); sc2TextInput[2] = new ofxUITextInput("SOUNDFILE", "none", 200); zoneCanvases[0]->addWidgetRight(sc2TextInput[2]); loopTog = new ofxUIToggle("LOOP", true, 20,20,0,0, OFX_UI_FONT_SMALL); playToEndTog = new ofxUIToggle("PLAY_TO_END", false, 20,20,0,0, OFX_UI_FONT_SMALL); zoneCanvases[0]->addWidgetRight(loopTog); zoneCanvases[0]->addWidgetRight(playToEndTog); repSlider = new ofxUISlider("MIN_REPLAY", 0, 5.0, 0.05, slw, 10); zoneCanvases[0]->addWidgetDown(repSlider); //--------------------------------------------------------- zoneCanvases[0]->addWidgetRight(new ofxUISpacer(1,20)); selTypeDisp = new ofxUILabel(0,0,200, "SELECTOR_TYPE: ", OFX_UI_FONT_SMALL); zoneCanvases[0]->addWidgetRight(selTypeDisp); sel_p = (ofxUILabelButton *)zoneCanvases[0]->addWidgetRight(new ofxUILabelButton("SEL_MINUS", true, 25)); sel_m = (ofxUILabelButton *)zoneCanvases[0]->addWidgetRight(new ofxUILabelButton("SEL_PLUS", true, 25)); sel_p->setLabelText("-"); sel_m->setLabelText("+"); ofxUILabelButton * z_reset = (ofxUILabelButton *)zoneCanvases[0]->addWidgetRight(new ofxUILabelButton("ZONE_RESET", true, 100)); z_reset->setLabelText("RESET"); cbSlider = new ofxUISlider("CHANGE_BUFF", 0, 60, 1, slw, 10); zoneCanvases[0]->addWidgetDown(cbSlider); //------------------------------------------------------------------- zoneCanvases[0]->addSpacer(); synthTypeDisp = new ofxUILabel(0,0,200, "SYNTH TYPE: ", OFX_UI_FONT_SMALL); zoneCanvases[0]->addWidgetDown(synthTypeDisp); ofxUILabelButton * stb = (ofxUILabelButton *)zoneCanvases[0]->addWidgetRight(new ofxUILabelButton("ST_MINUS", true, 25)); ofxUILabelButton * stc = (ofxUILabelButton *)zoneCanvases[0]->addWidgetRight(new ofxUILabelButton("ST_PLUS", true, 25)); stb->setLabelText("-"); stc->setLabelText("+"); zoneCanvases[0]->addWidgetRight(new ofxUISpacer(1,20)); dispSynthTog = new ofxUIToggle("EDIT_SYNTH_PARAMS", false, 20,20,0,0, OFX_UI_FONT_SMALL); zoneCanvases[0]->addWidgetRight(dispSynthTog); ofAddListener(zoneCanvases[0]->newGUIEvent,this,&testApp::s2Events); for(int i = 0; i < 3; i++)sc2TextInput[i]->setTriggerType(OFX_UI_TEXTINPUT_ON_FOCUS); //zone c1---------------------------------------------------- radSlid = zoneCanvases[1]->addSlider("RADIUS", 0.05, 3.0, 0.1); ofAddListener(zoneCanvases[1]->newGUIEvent,this,&testApp::s2Events); //zone c2 ---------------------------------------------------------------- xDimSlid= zoneCanvases[2]->addSlider("X_DIM", 0.05,10.0,0.5); yDimSlid= zoneCanvases[2]->addSlider("Y_DIM", 0.05,2.0,0.5); zDimSlid= zoneCanvases[2]->addSlider("Z_DIM", 0.05,10.0,0.5); ofAddListener(zoneCanvases[2]->newGUIEvent,this,&testApp::s2Events); //zone c3 radSlid = zoneCanvases[3]->addSlider("RADIUS", 0.05, 3.0, 0.1); yDimSlid= zoneCanvases[3]->addSlider("Y_DIM", 0.05,2.0,0.5); ofAddListener(zoneCanvases[3]->newGUIEvent,this,&testApp::s2Events); }
void ofxUISetColor(int b){ color.copy(ofxUIColor(b,b,b,this->a)); }
void testApp::setupGeneralSettings(){ float slHeight = 24; float slLength = tabBarWidth - OFX_UI_GLOBAL_WIDGET_SPACING * 2; // --- settingsTabBar = new ofxUITabBar(); settingsTabBar->setPosition(0, ofGetHeight() - tabBarHeight); settingsTabBar->setColorFill(ofxUIColor(200)); settingsTabBar->setColorFillHighlight(ofxUIColor(255)); settingsTabBar->setColorBack(ofxUIColor(255, 20, 20, 150)); ofAddListener(settingsTabBar->newGUIEvent,this,&testApp::settingsEvents); for(int i = 0; i < NUM_SETTINGS_CANVASES; i ++){ settingsCanvases[i] = new ofxUICanvas(0, 0, tabBarWidth, 500); settingsCanvases[i]->setColorFill(ofxUIColor(200)); settingsCanvases[i]->setColorFillHighlight(ofxUIColor(255)); settingsCanvases[i]->setColorBack(ofxUIColor(20, 20, 20, 150)); } //-------------------------------------------- settingsCanvases[0]->setName("Save/Load"); settingsCanvases[0]->addLabel("Save/Load"); settingsCanvases[0]->addSpacer(); fileNameInput = settingsCanvases[0]->addTextInput("FILENAME", "none"); settingsCanvases[0]->addButton("SAVE", false); settingsCanvases[0]->addButton("LOAD", false); ofAddListener(settingsCanvases[0]->newGUIEvent,this,&testApp::s0Events); settingsTabBar->addCanvas(settingsCanvases[0]); settingsCanvases[0]->autoSizeToFitWidgets(); //--------------------------- settingsCanvases[1]->setName("Initial Setup"); sc1Sliders[0] = settingsCanvases[1]->addSlider("KN_TILT", -30, 30, m_kinectManager.getKinectAngle(), slLength, slHeight); settingsCanvases[1]->addSpacer(); settingsCanvases[1]->addButton("RECORD_BACKGROUND", false); settingsCanvases[1]->addSpacer(); sc1Sliders[1] = settingsCanvases[1]->addSlider("NEAR_THRESH", 0, 2, m_kinectManager.getNearThresh(), slLength, slHeight); sc1Sliders[2] = settingsCanvases[1]->addSlider("FAR_THRESH", 5, 15, m_kinectManager.getFarThresh(), slLength, slHeight); sc1Sliders[3] = settingsCanvases[1]->addSlider("SEG_THRESH", 0, 1, m_kinectManager.getSegThresh(), slLength, slHeight); sc1Sliders[4] = settingsCanvases[1]->addSlider("MIN_BLOB", 0.0, 0.1, m_kinectManager.getMinBlob(), slLength, slHeight); sc1Sliders[4]->setLabelPrecision(3); sc1Sliders[5] = settingsCanvases[1]->addSlider("MAX_BLOB", 0.25, 1, m_kinectManager.getMaxBlob(), slLength, slHeight); settingsCanvases[1]->addSpacer(); sc1Sliders[6] = settingsCanvases[1]->addSlider("FLOOR_Y", -10, -0.5, m_kinectManager.getFloorY(), slLength, slHeight); sc1Sliders[7] = settingsCanvases[1]->addSlider("USER_HEIGHT", 1, 2, m_kinectManager.getDancerHeight(), slLength, slHeight); sc1Sliders[8] = settingsCanvases[1]->addSlider("MOV_THRESH", 0, 200, m_kinectManager.getMovThresh(), slLength, slHeight); sc1Sliders[9] = settingsCanvases[1]->addSlider("MOV_BUFF", 0, 60, m_kinectManager.getMovBuff(), slLength, slHeight); ofAddListener(settingsCanvases[1]->newGUIEvent,this,&testApp::s1Events); settingsTabBar->addCanvas(settingsCanvases[1]); settingsCanvases[1]->autoSizeToFitWidgets(); //------------------------ settingsCanvases[2]->setName("Scene Setup"); settingsCanvases[2]->addLabel("SELECTED SCENE"); sc2TextInput[0] = settingsCanvases[2]->addTextInput("S_NAME", ""); ofxUILabelButton * sb = (ofxUILabelButton *)settingsCanvases[2]->addWidgetDown(new ofxUILabelButton("SCENE_MINUS", true, 25)); ofxUILabelButton * sc = (ofxUILabelButton *)settingsCanvases[2]->addWidgetRight(new ofxUILabelButton("SCENE_PLUS", true, 25)); sb->setLabelText("-"); sc->setLabelText("+"); settingsCanvases[2]->addButton("CREATE_SCENE", false); settingsCanvases[2]->addButton("DELETE_SCENE", false); settingsCanvases[2]->addButton("COPY_SCENE", false); fInSlid = new ofxUISlider("FADE_IN", 0.01, 1.0, 0.01, tabBarWidth, 20); fOutSlid = new ofxUISlider("FADE_OUT", 0.01, 10.0, 0.01, tabBarWidth, 20); settingsCanvases[2]->addWidgetDown(fInSlid); settingsCanvases[2]->addWidgetDown(fOutSlid); settingsCanvases[2]->addSpacer(); settingsCanvases[2]->addLabel("SELECTED_ZONE"); sc2TextInput[1] = settingsCanvases[2]->addTextInput("Z_NAME", "none"); ofxUILabelButton * zb = (ofxUILabelButton *)settingsCanvases[2]->addWidgetDown(new ofxUILabelButton("ZONE_MINUS", true, 25)); ofxUILabelButton * zc = (ofxUILabelButton *)settingsCanvases[2]->addWidgetRight(new ofxUILabelButton("ZONE_PLUS", true, 25)); zb->setLabelText("-"); zc->setLabelText("+"); settingsCanvases[2]->addButton("CREATE_ZONE", false); settingsCanvases[2]->addButton("DELETE_ZONE", false); settingsCanvases[2]->addButton("COPY_ZONE", false); ofAddListener(settingsCanvases[2]->newGUIEvent,this,&testApp::s2Events); settingsTabBar->addCanvas(settingsCanvases[2]); settingsCanvases[2]->autoSizeToFitWidgets(); //----------------------------BANKS CANVASES ----------------------// settingsCanvases[3]->setName("Setup Banks"); settingsCanvases[3]->addLabel("Setup Banks"); settingsCanvases[3]->addLabel("CURRENT BANK: ", OFX_UI_FONT_SMALL); sc3TextInput = new ofxUITextInput ("B_NAME", "all scenes", 200); settingsCanvases[3]->addWidgetRight(sc3TextInput); ofxUILabelButton * bb = (ofxUILabelButton *)settingsCanvases[3]->addWidgetDown(new ofxUILabelButton("BANK_MINUS", true, 25)); ofxUILabelButton * bc = (ofxUILabelButton *)settingsCanvases[3]->addWidgetRight(new ofxUILabelButton("BANK_PLUS", true, 25)); bb->setLabelText("-"); bc->setLabelText("+"); settingsCanvases[3]->addWidgetRight(new ofxUIButton("CREATE_BANK", false, 20,20)); settingsCanvases[3]->addWidgetRight(new ofxUIButton("DELETE_BANK", false, 20,20)); settingsCanvases[3]->addSpacer(); settingsCanvases[3]->addLabel("SELECTED SCENE: ", OFX_UI_FONT_SMALL); sceneText = new ofxUITextArea("SCENE_TEXT", "none", 250, 20,0,0,OFX_UI_FONT_SMALL); sceneText->setDrawBack(true); settingsCanvases[3]->addWidgetRight(sceneText); ofxUILabelButton * sbb = (ofxUILabelButton *)settingsCanvases[3]->addWidgetDown(new ofxUILabelButton("B_SCENE_MINUS", true, 25)); ofxUILabelButton * sbc = (ofxUILabelButton *)settingsCanvases[3]->addWidgetRight(new ofxUILabelButton("B_SCENE_PLUS", true, 25)); sbb->setLabelText("-"); sbc->setLabelText("+"); settingsCanvases[3]->addWidgetRight(new ofxUIButton("ADD_SCENE_TO_BANK", false, 20,20)); bankText = new ofxUITextArea("BANK_TEXT", "bank items here", tabBarWidth, 200, 0,0, OFX_UI_FONT_SMALL); bankText->setDrawOutlineHighLight(true); settingsCanvases[3]->addWidgetDown(bankText); ofxUILabelButton * sbb2 = (ofxUILabelButton *)settingsCanvases[3]->addWidgetRight(new ofxUILabelButton("B_ITEM_MINUS", true, 25)); ofxUILabelButton * sbc2 = (ofxUILabelButton *)settingsCanvases[3]->addWidgetSouthOf(new ofxUILabelButton("B_ITEM_PLUS", true, 25), "B_ITEM_MINUS"); sbb2->setLabelText("+"); sbc2->setLabelText("-"); settingsCanvases[3]->addWidgetSouthOf(new ofxUIButton("REMOVE_ITEM", false, 20,20), "BANK_TEXT"); ofAddListener(settingsCanvases[3]->newGUIEvent,this,&testApp::s3Events); settingsTabBar->addCanvas(settingsCanvases[3]); settingsCanvases[3]->autoSizeToFitWidgets(); //----------------------------PERFORMANCE CANVAS ----------------------// settingsCanvases[4]->setName("Performance Mode"); settingsCanvases[4]->addLabel("Performance Mode"); settingsCanvases[4]->addLabel("CURRENT BANK: ", OFX_UI_FONT_SMALL); perfBankText = new ofxUITextArea ("PERF_BANK_TEXT", "none", 150, 20, 0,0, OFX_UI_FONT_SMALL); perfBankText->setDrawBack(true); settingsCanvases[4]->addWidgetRight(perfBankText); ofxUILabelButton * bplus = (ofxUILabelButton *)settingsCanvases[4]->addWidgetDown(new ofxUILabelButton("BANK_MINUS", true, 25)); ofxUILabelButton * bmin = (ofxUILabelButton *)settingsCanvases[4]->addWidgetRight(new ofxUILabelButton("BANK_PLUS", true, 25)); bplus->setLabelText("-"); bmin->setLabelText("+"); settingsCanvases[4]->addSpacer(); perfSceneText = new ofxUITextArea("BANK_TEXT", "bank items here", tabBarWidth, 200, 0,0, OFX_UI_FONT_SMALL); perfSceneText->setDrawOutlineHighLight(true); settingsCanvases[4]->addWidgetDown(perfSceneText); bplus = (ofxUILabelButton *)settingsCanvases[4]->addWidgetRight(new ofxUILabelButton("B_ITEM_MINUS", true, 25)); bmin = (ofxUILabelButton *)settingsCanvases[4]->addWidgetSouthOf(new ofxUILabelButton("B_ITEM_PLUS", true, 25), "B_ITEM_MINUS"); bplus->setLabelText("+"); bmin->setLabelText("-"); ofAddListener(settingsCanvases[4]->newGUIEvent,this,&testApp::s4Events); settingsTabBar->addCanvas(settingsCanvases[4]); settingsCanvases[4]->autoSizeToFitWidgets(); }
//-------------------------------------------------------------- ofxMtlMapping2DControls::ofxMtlMapping2DControls(int width, const string& file) { // ---- Shapes list // set default values _selectedShapeId = -1; _selectedShapeChanged = false; shapeCounter = 0; _shapesListCanvas = new ofxUIScrollableCanvas(width, 0, width, 720); _shapesListCanvas->setScrollArea(width, 0, kControlsMappingShapesListPanelWidth, 720); _shapesListCanvas->setScrollableDirections(false, true); _shapesListCanvas->setColorBack(ofColor(0, 210, 255, 90)); _shapesListCanvas->autoSizeToFitWidgets(); ofAddListener(_shapesListCanvas->newGUIEvent, this, &ofxMtlMapping2DControls::shapesListUiEvent); // --- Grid settings int gridSettingCanvasWidth = 200.0f; _gridSettingsCanvas = new ofxUICanvas(); _gridSettingsCanvas->setPosition(width, 720 - 90); _gridSettingsCanvas->setWidth(gridSettingCanvasWidth); _gridSettingsCanvas->setColorFill(ofxUIColor(200)); _gridSettingsCanvas->setColorFillHighlight(ofxUIColor(255)); _gridSettingsCanvas->setColorBack(ofColor(0, 210, 255, 90)); ofxUISlider *nSlider; _gridSettingsCanvas->addLabel("GRID SETTINGS"); nSlider = _gridSettingsCanvas->addSlider("NB COLS", 1.0, 20.0, &ofxMtlMapping2DSettings::gridDefaultNbCols); nSlider->setIncrement(1.0f); nSlider = _gridSettingsCanvas->addSlider("NB ROWS", 1.0, 20.0, &ofxMtlMapping2DSettings::gridDefaultNbRows); nSlider->setIncrement(1.0f); _gridSettingsCanvas->autoSizeToFitWidgets(); ofAddListener(_gridSettingsCanvas->newGUIEvent, this, &ofxMtlMapping2DControls::gridSettingsListUiEvent); _gridSettingsCanvas->disable(); // ---- Tool box shapeTypesAsString[MAPPING_2D_SHAPE_QUAD] = "quad"; shapeTypesAsString[MAPPING_2D_SHAPE_GRID] = "grid"; shapeTypesAsString[MAPPING_2D_SHAPE_TRIANGLE] = "triangle"; shapeTypesAsString[MAPPING_2D_SHAPE_MASK] = "mask"; // set default values _saveMapping = false; _loadMapping = false; _editShapes = false; _createNewQuad = false; _createNewGrid = false; _createNewTriangle = false; _createNewMask = false; _showShapesId = true; _mappingModeChanged = true; // initialized to true so that when the app launch the 'shapes' are correctly setted. _mappingMode = MAPPING_MODE_OUTPUT; static const int kWidgetWidth = width - 16; _toolsCanvas = new ofxUIScrollableCanvas(0, 0, width, 720); //must have modified ofxUI //_toolsCanvas->setStickyDistance(30.0f); _toolsCanvas->setScrollableDirections(false, true); _toolsCanvas->setColorBack(ofColor(0, 210, 255, 130)); _file = file; // --- Fullscreen _fullscreenExpandIcon.loadImage("mapping/GUI/expand.png"); _fullscreenContractIcon.loadImage("mapping/GUI/contract.png"); //_toolsCanvas->addWidgetDown(new ofxUIImageToggle(kToggleSize, kToggleSize, false, "mapping/GUI/expand.png", kSettingMappingFullscreen)); // Edit //_toolsCanvas->addWidgetDown(new ofxUIImageToggle(kToggleSize, kToggleSize, false, "mapping/GUI/edit.png", kSettingMappingEditShapes)); _toolsCanvas->addWidgetDown(new ofxUIImageToggle(kToggleSize, kToggleSize, false, "mapping/GUI/file-down.png", kSettingMappingSave)); _toolsCanvas->addWidgetDown(new ofxUIImageToggle(kToggleSize, kToggleSize, false, "mapping/GUI/file-up.png", kSettingMappingLoad)); // add mapping controls Output / Input ofxUISpacer *spacer = new ofxUISpacer(kWidgetWidth, kSpacerHeight); spacer->setDrawFill(false); _toolsCanvas->addWidgetDown(spacer); _toolsCanvas->addWidgetDown(new ofxUIImageToggle(kToggleSize, kToggleSize, false, "mapping/GUI/projo.png", kSettingMappingModeOutput)); _toolsCanvas->addWidgetDown(new ofxUIImageToggle(kToggleSize, kToggleSize, false, "mapping/GUI/texture.png", kSettingMappingModeInput)); // add mapping shape controls if (ofxMtlMapping2DSettings::kIsManuallyCreatingShapeEnabled) { _toolsCanvas->addWidgetDown(spacer); _toolsCanvas->addWidgetDown(new ofxUIImageToggle(kToggleSize, kToggleSize, _createNewQuad, "mapping/GUI/quad.png", kSettingMappingCreateNewQuad)); _toolsCanvas->addWidgetDown(new ofxUIImageToggle(kToggleSize, kToggleSize, _createNewGrid, "mapping/GUI/grid.png", kSettingMappingCreateNewGrid)); _toolsCanvas->addWidgetDown(new ofxUIImageToggle(kToggleSize, kToggleSize, _createNewTriangle, "mapping/GUI/triangle.png", kSettingMappingCreateNewTriangle)); _toolsCanvas->addWidgetDown(new ofxUIImageToggle(kToggleSize, kToggleSize, _createNewMask, "mapping/GUI/mask.png", kSettingMappingCreateNewMask)); } // add mapping shape's details // _toolsCanvas->addWidgetDown(spacer); // _toolsCanvas->addWidgetDown(new ofxUILabel("SHAPE DATA", OFX_UI_FONT_MEDIUM)); // _toolsCanvas->addWidgetDown(new ofxUIToggle(kToggleSize, kToggleSize, _editShapes, kSettingMappingShowShapesId)); // ---- ofAddListener(_toolsCanvas->newGUIEvent, this, &ofxMtlMapping2DControls::toolsUiEvent); load(); if (getToggleValue(kSettingMappingModeOutput)) { _mappingMode = MAPPING_MODE_OUTPUT; } else if (getToggleValue(kSettingMappingModeInput)) { _mappingMode = MAPPING_MODE_INPUT; } // --- //((ofxUIToggle *)_toolsCanvas->getWidget(kSettingMappingEditShapes))->setValue(false); setUIShapeEditingState(true); }