41 #include <QtCore/QString>
42 #include <QtCore/QVariant>
43 #include <QtCore/QVariantList>
44 #include <QtXml/QDomElement>
45 #include <QtCore/QStringList>
46 #include <QtCore/QMutex>
51 #if (OGRE_PLATFORM == OGRE_PLATFORM_WIN32)
138 static QString getTypeName ( Type type );
146 static QColor getTypeColor ( Type type );
154 static Type getTypeByName (
const QString &typeName );
162 static QVariant getDefaultValue ( Type type );
172 static QColor decodeIntColor (
const QString &color );
182 static QColor decodeDoubleColor (
const QString &color );
190 static Size decodeSize (
const QString &size );
198 static int decodeMultiplicity (
const QString &multiplicity );
206 static PinType decodePinType (
const QString &pinTypeString );
219 static Parameter * create (
const QString &name, Type type, QVariant defaultValue = QVariant() );
231 static Parameter * create (
const QDomElement &element );
247 static QString extractFirstGroupName ( QString *path );
256 static Parameter * createImageParameter (
const QString &name, Ogre::TexturePtr texturePointer = Ogre::TexturePtr(0) );
288 Parameter (
const QString &name,
Type type,
const QVariant &value );
324 Type getType ()
const;
332 Size getSize ()
const;
340 void setSize (
Size size );
348 int getMultiplicity ()
const;
356 void setMultiplicity (
int multiplicity );
363 int getNumberOfConnections ()
const;
372 virtual QVariant getValue (
bool triggerEvaluation =
false );
380 virtual const QVariantList & getValueList ()
const;
387 void setValue (
const QVariant &value,
bool triggerDirtying =
false );
397 void setValue (
int index,
const QVariant &value,
bool triggerDirtying =
false );
404 bool hasDefaultValue ()
const;
411 void setDefaultValue (
const QVariant &defaultValue );
416 virtual void reset ();
424 List getAffectedParameters ()
const;
432 void addAffectedParameter (
Parameter *affectedParameter );
440 void removeAffectedParameter (
Parameter *affectedParameter );
448 List getAffectingParameters ()
const;
456 void addAffectingParameter (
Parameter *affectingParameter );
464 void removeAffectingParameter (
Parameter *affectingParameter );
471 QString getDescription ()
const;
478 void setDescription (
const QString &description );
493 void setPinType (
PinType pinType );
507 void addConnection (
Connection *connection );
522 bool isConnected ()
const;
529 Parameter * getConnectedParameter ()
const;
543 virtual void setDirty (
bool dirty );
557 virtual void setAuxDirty (
bool dirty );
564 bool isVisible ()
const;
571 void setVisible (
bool visible );
579 bool isReadOnly ()
const;
587 void setReadOnly (
bool readOnly );
594 void setSelfEvaluating (
bool selfEvaluating );
600 bool isSelfEvaluating ()
const;
606 void propagateDirty (
bool setFirstTrue =
true);
612 void propagateAuxDirty ();
619 void propagateEvaluation ();
629 void setChangeFunction (
const char *changeFunction );
639 void setProcessingFunction (
const char *processingFunction );
649 void setAuxProcessingFunction (
const char *processingFunction );
660 void setCommandFunction (
const char *commandFunction );
668 void setOnConnectFunction (
const char *onConnectFunction );
676 void setOnDisconnectFunction (
const char *onDisconnectFunction );
682 void executeCommand ();
689 QString getValueString ();
701 void valueChanged ();
709 void valueChanged (
int index );
715 void processingRequested ();
721 void auxProcessingRequested ();
726 void commandExecutionRequested ();
731 void connectionEstablished();
736 void connectionDestroyed();