Main Page | Namespace List | Class Hierarchy | Compound List | File List | Compound Members | File Members | Related Pages

CmdParam Class Reference

Abstract base class that represents a commands parameter. More...

#include <cmdparam.h>

Inheritance diagram for CmdParam:

ArrayParam DoubleParam EnumParam IntParam ClampDoubleParam ClampFloatParam FloatParam UnsignedIntParam List of all members.

Public Member Functions

 CmdParam (const char *formalVarName, const char *defaultValue, const char *exactTypeName="unknown_type", SuperPtrList< CmdParam > *extVarElements=NULL)
virtual ~CmdParam ()
virtual const QString & formalVarName () const
virtual const QString & defaultValue () const
virtual const QString & typeName () const
virtual QPtrList< CmdParam > * extVarElements ()
virtual int numExtVarElements () const
virtual void setFormalVarName (const QString &name)
virtual void setDefaultValue (const QString &value)
virtual void setTypeName (const QString &name)
virtual void setExtVarElements (QPtrList< CmdParam > *extVarElements)
virtual QWidget * createWidget (QWidget *parent, const char *name, const QObject *slotOwner, const char *member)=0
virtual void setWidgetValue (QWidget *widget, const QString &value)=0
virtual QString getWidgetValue (QWidget *widget)=0
virtual int maxWidgetWidth () const
virtual QString getStringRep (const QString &value) const

Protected Attributes

QString myFormalVarName
QString myDefaultValue
QString myTypeName
QPtrList< CmdParam > * myExtVarElements

Detailed Description

Abstract base class that represents a commands parameter.

It has a type name, formal argument name and default value properties.

It is designed to be inherited by classes to implement the behaviour. It ALSO handles a QT widget (e.g. QLineEdit) to edit the given parameter.

Note: Glicth COMMUNICATES with command parameters ON A STRING VALUE LEVEL.


Constructor & Destructor Documentation

CmdParam::CmdParam const char *  formalVarName,
const char *  defaultValue,
const char *  exactTypeName = "unknown_type",
SuperPtrList< CmdParam > *  extVarElements = NULL
[inline]
 

virtual CmdParam::~CmdParam  )  [inline, virtual]
 


Member Function Documentation

virtual QWidget* CmdParam::createWidget QWidget *  parent,
const char *  name,
const QObject *  slotOwner,
const char *  member
[pure virtual]
 

Create an editor widget for editing the parameter.

Note: the member slot will be called when the parameter value is changed

Example usage:

 QWidget* w = param->createWidget( editorParent, param->formalVarName(),
                                   this, SLOT(widgetValueChanged()) );

This method is designed to be reimplemented by derivitive classes.

Implemented in ArrayParam, DoubleParam, EnumParam, and IntParam.

virtual const QString& CmdParam::defaultValue  )  const [inline, virtual]
 

virtual QPtrList<CmdParam>* CmdParam::extVarElements  )  [inline, virtual]
 

virtual const QString& CmdParam::formalVarName  )  const [inline, virtual]
 

virtual QString CmdParam::getStringRep const QString &  value  )  const [inline, virtual]
 

This function is helpful with parameters that have a different string representation to that of their value, such as with enumerations.

Hence, only re-implement it if the string representation is different.

Note: EnumParam re-implements this

Reimplemented in DoubleParam, and EnumParam.

virtual QString CmdParam::getWidgetValue QWidget *  widget  )  [pure virtual]
 

Implemented in ArrayParam, DoubleParam, EnumParam, and IntParam.

virtual int CmdParam::maxWidgetWidth  )  const [inline, virtual]
 

Get a hint on what width to use for the widget. For example, combo boxes need to be wider than line edit boxes.

Hence, it is designed to be reimplemented by derivitive classes that wish to change this value.

Reimplemented in DoubleParam, EnumParam, and IntParam.

virtual int CmdParam::numExtVarElements  )  const [inline, virtual]
 

virtual void CmdParam::setDefaultValue const QString &  value  )  [inline, virtual]
 

virtual void CmdParam::setExtVarElements QPtrList< CmdParam > *  extVarElements  )  [inline, virtual]
 

virtual void CmdParam::setFormalVarName const QString &  name  )  [inline, virtual]
 

virtual void CmdParam::setTypeName const QString &  name  )  [inline, virtual]
 

virtual void CmdParam::setWidgetValue QWidget *  widget,
const QString &  value
[pure virtual]
 

Implemented in ArrayParam, DoubleParam, EnumParam, and IntParam.

virtual const QString& CmdParam::typeName  )  const [inline, virtual]
 


Member Data Documentation

QString CmdParam::myDefaultValue [protected]
 

QPtrList<CmdParam>* CmdParam::myExtVarElements [protected]
 

QString CmdParam::myFormalVarName [protected]
 

QString CmdParam::myTypeName [protected]
 


The documentation for this class was generated from the following file:
Generated on Fri Feb 27 12:01:40 2004 for Glitch by doxygen 1.3.2