1*64d80db6SStephan Aßmus /* 2*64d80db6SStephan Aßmus * Copyright 2006, Haiku. 3*64d80db6SStephan Aßmus * Distributed under the terms of the MIT License. 4*64d80db6SStephan Aßmus * 5*64d80db6SStephan Aßmus * Authors: 6*64d80db6SStephan Aßmus * Stephan Aßmus <superstippi@gmx.de> 7*64d80db6SStephan Aßmus */ 8*64d80db6SStephan Aßmus 9*64d80db6SStephan Aßmus #include "PropertyEditorFactory.h" 10*64d80db6SStephan Aßmus 11*64d80db6SStephan Aßmus #include "ColorProperty.h" 12*64d80db6SStephan Aßmus #include "Property.h" 13*64d80db6SStephan Aßmus #include "IconProperty.h" 14*64d80db6SStephan Aßmus #include "Int64Property.h" 15*64d80db6SStephan Aßmus #include "OptionProperty.h" 16*64d80db6SStephan Aßmus 17*64d80db6SStephan Aßmus #include "BoolValueView.h" 18*64d80db6SStephan Aßmus #include "ColorValueView.h" 19*64d80db6SStephan Aßmus #include "FloatValueView.h" 20*64d80db6SStephan Aßmus #include "IconValueView.h" 21*64d80db6SStephan Aßmus #include "IntValueView.h" 22*64d80db6SStephan Aßmus #include "Int64ValueView.h" 23*64d80db6SStephan Aßmus #include "OptionValueView.h" 24*64d80db6SStephan Aßmus #include "StringValueView.h" 25*64d80db6SStephan Aßmus 26*64d80db6SStephan Aßmus PropertyEditorView* EditorFor(Property * p)27*64d80db6SStephan AßmusEditorFor(Property* p) 28*64d80db6SStephan Aßmus { 29*64d80db6SStephan Aßmus if (!p) 30*64d80db6SStephan Aßmus return NULL; 31*64d80db6SStephan Aßmus 32*64d80db6SStephan Aßmus if (IntProperty* i = dynamic_cast<IntProperty*>(p)) 33*64d80db6SStephan Aßmus return new IntValueView(i); 34*64d80db6SStephan Aßmus 35*64d80db6SStephan Aßmus if (FloatProperty* f = dynamic_cast<FloatProperty*>(p)) 36*64d80db6SStephan Aßmus return new FloatValueView(f); 37*64d80db6SStephan Aßmus 38*64d80db6SStephan Aßmus if (BoolProperty* b = dynamic_cast<BoolProperty*>(p)) 39*64d80db6SStephan Aßmus return new BoolValueView(b); 40*64d80db6SStephan Aßmus 41*64d80db6SStephan Aßmus if (StringProperty* s = dynamic_cast<StringProperty*>(p)) 42*64d80db6SStephan Aßmus return new StringValueView(s); 43*64d80db6SStephan Aßmus 44*64d80db6SStephan Aßmus if (Int64Property* i = dynamic_cast<Int64Property*>(p)) 45*64d80db6SStephan Aßmus return new Int64ValueView(i); 46*64d80db6SStephan Aßmus 47*64d80db6SStephan Aßmus if (OptionProperty* o = dynamic_cast<OptionProperty*>(p)) 48*64d80db6SStephan Aßmus return new OptionValueView(o); 49*64d80db6SStephan Aßmus 50*64d80db6SStephan Aßmus if (ColorProperty* c = dynamic_cast<ColorProperty*>(p)) 51*64d80db6SStephan Aßmus return new ColorValueView(c); 52*64d80db6SStephan Aßmus 53*64d80db6SStephan Aßmus if (IconProperty* i = dynamic_cast<IconProperty*>(p)) { 54*64d80db6SStephan Aßmus IconValueView* view = new IconValueView(i); 55*64d80db6SStephan Aßmus view->SetIcon(i->Icon(), i->Width(), i->Height(), i->Format()); 56*64d80db6SStephan Aßmus return view; 57*64d80db6SStephan Aßmus } 58*64d80db6SStephan Aßmus 59*64d80db6SStephan Aßmus 60*64d80db6SStephan Aßmus return NULL; 61*64d80db6SStephan Aßmus } 62*64d80db6SStephan Aßmus 63