Esempio n. 1
0
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;
	}
}
Esempio n. 2
0
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();
		}
	}
}