Developer Documentation
SingleObjectPropertyModel Class Reference

This class manages the visualizers for a single object. More...

#include <Plugin-PropertyVis/Models/SingleObjectPropertyModel.hh>

Inheritance diagram for SingleObjectPropertyModel:
PropertyModel OMPropertyModelSubclass OVMPropertyModelSubclass OMPropertyModel< MeshT > OVMPropertyModel< MeshT >

Signals

void log (Logtype _type, QString _message)
 
void log (QString _message)
 

Public Member Functions

virtual void pickModeChanged (const std::string &_mode) override
 
virtual void mouseEvent (QMouseEvent *_event) override
 
 SingleObjectPropertyModel (QObject *parent=0)
 
virtual int rowCount (const QModelIndex &parent=QModelIndex()) const override
 
virtual QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const override
 
virtual QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
 
virtual QModelIndex index (int row, int column, QModelIndex const &parent=QModelIndex()) const override
 
virtual void objectUpdated () override
 Revisualizes visualized properties. More...
 
virtual void visualize (QModelIndexList selectedIndices, QWidgetList widgets=QWidgetList()) override
 Visualizes the selected properties. More...
 
virtual void removeProperty (QModelIndexList selectedIndices) override
 Removes the selected properties. More...
 
virtual void duplicateProperty (QModelIndexList selectedIndices) override
 Duplicates the selected properties. More...
 
virtual void gatherProperties () override
 Searches for properties and creates PropertyVisualizers. More...
 
virtual void clear (QModelIndexList selectedIndices) override
 Clears the selected property visualization. More...
 
void hideWidget () override
 Hides the widget. More...
 
QWidget * getWidget () override
 Returns the widget. More...
 
virtual void updateWidget (const QModelIndexList &selectedIndices) override
 Updates the widget. More...
 
void connectLogs (PropertyVisualizer *propViz) override
 Connects the PropertyVisualizer log signals with the log slot. More...
 
virtual PropertyInfo getPropertyInfo (const QModelIndex index) const override
 Returns the property info for the property with the given index. More...
 
virtual QScriptValue getScriptObject (const QModelIndex index, QScriptContext *ctx)
 Returns a qscript object that can be used to access visualisation parameters. More...
 
- Public Member Functions inherited from PropertyModel
virtual void pickModeChanged (const std::string &_mode)
 
virtual void mouseEvent (QMouseEvent *_event)
 
 PropertyModel (QObject *parent=0)
 
virtual int rowCount (const QModelIndex &parent=QModelIndex()) const =0
 
virtual QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const =0
 
virtual QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const =0
 
virtual QModelIndex index (int row, int column, QModelIndex const &parent=QModelIndex()) const =0
 
virtual void objectUpdated ()=0
 Revisualizes visualized properties. More...
 
virtual void visualize (QModelIndexList selectedIndices, QWidgetList widgets=QWidgetList())=0
 Visualizes the selected properties. More...
 
virtual void removeProperty (QModelIndexList selectedIndices)=0
 Removes the selected properties. More...
 
virtual void duplicateProperty (QModelIndexList selectedIndices)=0
 Duplicates the selected properties. More...
 
virtual void gatherProperties ()=0
 Searches for properties and creates PropertyVisualizers. More...
 
virtual void clear (QModelIndexList selectedIndices)=0
 Clears the selected property visualization. More...
 
virtual void hideWidget ()=0
 Hides the widget. More...
 
virtual QWidget * getWidget ()=0
 Returns the widget. More...
 
virtual void updateWidget (const QModelIndexList &selectedIndices)=0
 Updates the widget. More...
 
virtual void connectLogs (PropertyVisualizer *propViz)=0
 Connects the PropertyVisualizer log signals with the log slot. More...
 
virtual PropertyInfo getPropertyInfo (const QModelIndex index) const =0
 Returns the property info for the property with the given index. More...
 
QModelIndex indexFromFancyPropName (const QString &propName) const
 Returns the index of the property with the given name. More...
 
QModelIndex indexFromPlainPropName (const QString &propName) const
 Returns the index of the property with the given name. More...
 

Protected Member Functions

PropertyVisualizergetPropertyVisualizer (QString propName, PropertyInfo::ENTITY_FILTER filter, TypeInfoWrapper typeInfo)
 Returns a PropertyVisualizer. More...
 
bool isPropertyFree (QString propName, PropertyInfo::ENTITY_FILTER filter, TypeInfoWrapper typeInfo)
 Checks if the property name is still available. More...
 
QString getLoadFilename ()
 Asks the user for a file to load. More...
 
virtual QString getLoadFilenameFilter ()
 Returns the filename filter for loading. More...
 
QString getSaveFilename (unsigned int propId)
 Asks the user for a file to load. More...
 
virtual QString getSaveFilenameFilter (unsigned int propId)
 Returns the filename filter for saving. More...
 
virtual QString getDefaultSaveFilename (unsigned int propId)
 Returns the default file name. More...
 
void saveProperty (unsigned int propId)
 Saves property. More...
 
void loadProperty ()
 Loads property. More...
 
virtual void setPropertyFromFile (QTextStream &file_stream, unsigned int n, PropertyVisualizer *propVis)
 Sets the property values from a given file. More...
 
virtual bool parseHeader (QString header, PropertyVisualizer *&propVis, unsigned int &n)
 Parses the property file header. More...
 

Protected Attributes

std::vector< PropertyVisualizer * > propertyVisualizers
 
QWidget * widgets
 
QModelIndexList currentlySelectedIndices
 
std::vector< unsigned int > currentlyVisualizedIndices
 

Private Slots

void slotLog (Logtype _type, QString _message)
 
void slotLog (QString _message)
 

Detailed Description

This class manages the visualizers for a single object.

For each mesh object a SingleObjectPropertyModel is created. It searches for properties and creates a PropertyVisualizer for each of them. It provides the GUI for all selected properties. Also loading and saving of properties is handled here.

Note that for each type of object (OpenMesh, OpenVolumeMesh and others that might follow) a subclass should be derived from this class.

Definition at line 76 of file SingleObjectPropertyModel.hh.

Constructor & Destructor Documentation

◆ SingleObjectPropertyModel()

SingleObjectPropertyModel::SingleObjectPropertyModel ( QObject *  parent = 0)
explicit

Definition at line 48 of file SingleObjectPropertyModel.cc.

◆ ~SingleObjectPropertyModel()

SingleObjectPropertyModel::~SingleObjectPropertyModel ( )
virtual

Definition at line 60 of file SingleObjectPropertyModel.cc.

Member Function Documentation

◆ clear()

void SingleObjectPropertyModel::clear ( QModelIndexList  selectedIndices)
overridevirtual

Clears the selected property visualization.

Implements PropertyModel.

Definition at line 133 of file SingleObjectPropertyModel.cc.

◆ connectLogs()

void SingleObjectPropertyModel::connectLogs ( PropertyVisualizer propViz)
overridevirtual

Connects the PropertyVisualizer log signals with the log slot.

Implements PropertyModel.

Definition at line 162 of file SingleObjectPropertyModel.cc.

◆ data()

QVariant SingleObjectPropertyModel::data ( const QModelIndex &  index,
int  role = Qt::DisplayRole 
) const
overridevirtual

Implements PropertyModel.

Definition at line 172 of file SingleObjectPropertyModel.cc.

◆ duplicateProperty()

void SingleObjectPropertyModel::duplicateProperty ( QModelIndexList  selectedIndices)
overridevirtual

Duplicates the selected properties.

Implements PropertyModel.

Definition at line 127 of file SingleObjectPropertyModel.cc.

◆ gatherProperties()

virtual void SingleObjectPropertyModel::gatherProperties ( )
inlineoverridevirtual

Searches for properties and creates PropertyVisualizers.

Implements PropertyModel.

Reimplemented in OMPropertyModel< MeshT >, and OVMPropertyModel< MeshT >.

Definition at line 113 of file SingleObjectPropertyModel.hh.

◆ getDefaultSaveFilename()

QString SingleObjectPropertyModel::getDefaultSaveFilename ( unsigned int  propId)
protectedvirtual

Returns the default file name.

Definition at line 238 of file SingleObjectPropertyModel.cc.

◆ getLoadFilename()

QString SingleObjectPropertyModel::getLoadFilename ( )
protected

Asks the user for a file to load.

Definition at line 206 of file SingleObjectPropertyModel.cc.

◆ getLoadFilenameFilter()

QString SingleObjectPropertyModel::getLoadFilenameFilter ( )
protectedvirtual

Returns the filename filter for loading.

Reimplemented in OMPropertyModel< MeshT >, and OVMPropertyModel< MeshT >.

Definition at line 216 of file SingleObjectPropertyModel.cc.

◆ getPropertyInfo()

PropertyInfo SingleObjectPropertyModel::getPropertyInfo ( const QModelIndex  index) const
overridevirtual

Returns the property info for the property with the given index.

Implements PropertyModel.

Definition at line 338 of file SingleObjectPropertyModel.cc.

◆ getPropertyVisualizer()

PropertyVisualizer * SingleObjectPropertyModel::getPropertyVisualizer ( QString  propName,
PropertyInfo::ENTITY_FILTER  filter,
TypeInfoWrapper  typeInfo 
)
protected

Returns a PropertyVisualizer.

Definition at line 322 of file SingleObjectPropertyModel.cc.

◆ getSaveFilename()

QString SingleObjectPropertyModel::getSaveFilename ( unsigned int  propId)
protected

Asks the user for a file to load.

Definition at line 221 of file SingleObjectPropertyModel.cc.

◆ getSaveFilenameFilter()

QString SingleObjectPropertyModel::getSaveFilenameFilter ( unsigned int  propId)
protectedvirtual

Returns the filename filter for saving.

Reimplemented in OMPropertyModel< MeshT >, and OVMPropertyModel< MeshT >.

Definition at line 231 of file SingleObjectPropertyModel.cc.

◆ getScriptObject()

QScriptValue SingleObjectPropertyModel::getScriptObject ( const QModelIndex  index,
QScriptContext *  ctx 
)
virtual

Returns a qscript object that can be used to access visualisation parameters.

Definition at line 344 of file SingleObjectPropertyModel.cc.

◆ getWidget()

QWidget * SingleObjectPropertyModel::getWidget ( )
inlineoverridevirtual

Returns the widget.

Implements PropertyModel.

Definition at line 122 of file SingleObjectPropertyModel.hh.

◆ headerData()

QVariant SingleObjectPropertyModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role = Qt::DisplayRole 
) const
overridevirtual

Implements PropertyModel.

Definition at line 182 of file SingleObjectPropertyModel.cc.

◆ hideWidget()

void SingleObjectPropertyModel::hideWidget ( )
inlineoverridevirtual

Hides the widget.

Implements PropertyModel.

Definition at line 119 of file SingleObjectPropertyModel.hh.

◆ index()

QModelIndex SingleObjectPropertyModel::index ( int  row,
int  column,
QModelIndex const &  parent = QModelIndex() 
) const
overridevirtual

Implements PropertyModel.

Definition at line 192 of file SingleObjectPropertyModel.cc.

◆ isPropertyFree()

bool SingleObjectPropertyModel::isPropertyFree ( QString  propName,
PropertyInfo::ENTITY_FILTER  filter,
TypeInfoWrapper  typeInfo 
)
protected

Checks if the property name is still available.

Definition at line 333 of file SingleObjectPropertyModel.cc.

◆ loadProperty()

void SingleObjectPropertyModel::loadProperty ( )
protected

Loads property.

Definition at line 284 of file SingleObjectPropertyModel.cc.

◆ mouseEvent()

virtual void SingleObjectPropertyModel::mouseEvent ( QMouseEvent *  _event)
inlineoverridevirtual

Reimplemented from PropertyModel.

Reimplemented in OMPropertyModel< MeshT >, and OVMPropertyModel< MeshT >.

Definition at line 90 of file SingleObjectPropertyModel.hh.

◆ objectUpdated()

void SingleObjectPropertyModel::objectUpdated ( )
overridevirtual

Revisualizes visualized properties.

Implements PropertyModel.

Definition at line 198 of file SingleObjectPropertyModel.cc.

◆ parseHeader()

virtual bool SingleObjectPropertyModel::parseHeader ( QString  header,
PropertyVisualizer *&  propVis,
unsigned int &  n 
)
inlineprotectedvirtual

Parses the property file header.

Parameters
headerThe header.
[out]propVisThe PropertyVisualizer that will visualize the new property.
[out]nThe number of values stored in the file
Returns
True if parsing was successfull, False if not.

When loading a property from a file this method parses the header placed in the file's first line. If parsing was successfull a new property and a PropertyVisualizer will be created.

Reimplemented in OMPropertyModel< MeshT >, and OVMPropertyModel< MeshT >.

Definition at line 183 of file SingleObjectPropertyModel.hh.

◆ pickModeChanged()

virtual void SingleObjectPropertyModel::pickModeChanged ( const std::string &  _mode)
inlineoverridevirtual

Reimplemented from PropertyModel.

Reimplemented in OMPropertyModel< MeshT >, and OVMPropertyModel< MeshT >.

Definition at line 89 of file SingleObjectPropertyModel.hh.

◆ removeProperty()

void SingleObjectPropertyModel::removeProperty ( QModelIndexList  selectedIndices)
overridevirtual

Removes the selected properties.

Implements PropertyModel.

Definition at line 92 of file SingleObjectPropertyModel.cc.

◆ rowCount()

int SingleObjectPropertyModel::rowCount ( const QModelIndex &  parent = QModelIndex()) const
overridevirtual

Implements PropertyModel.

Definition at line 168 of file SingleObjectPropertyModel.cc.

◆ saveProperty()

void SingleObjectPropertyModel::saveProperty ( unsigned int  propId)
protected

Saves property.

Definition at line 260 of file SingleObjectPropertyModel.cc.

◆ setPropertyFromFile()

void SingleObjectPropertyModel::setPropertyFromFile ( QTextStream &  file_stream,
unsigned int  n,
PropertyVisualizer propVis 
)
protectedvirtual

Sets the property values from a given file.

Reimplemented in OMPropertyModel< MeshT >.

Definition at line 313 of file SingleObjectPropertyModel.cc.

◆ slotLog [1/2]

void SingleObjectPropertyModel::slotLog ( Logtype  _type,
QString  _message 
)
inlineprivateslot

Definition at line 85 of file SingleObjectPropertyModel.hh.

◆ slotLog [2/2]

void SingleObjectPropertyModel::slotLog ( QString  _message)
inlineprivateslot

Definition at line 86 of file SingleObjectPropertyModel.hh.

◆ updateWidget()

void SingleObjectPropertyModel::updateWidget ( const QModelIndexList &  selectedIndices)
overridevirtual

Updates the widget.

Implements PropertyModel.

Reimplemented in OMPropertyModel< MeshT >, and OVMPropertyModel< MeshT >.

Definition at line 142 of file SingleObjectPropertyModel.cc.

◆ visualize()

void SingleObjectPropertyModel::visualize ( QModelIndexList  selectedIndices,
QWidgetList  widgets = QWidgetList() 
)
overridevirtual

Visualizes the selected properties.

Parameters
selectedIndicesThe

Implements PropertyModel.

Definition at line 70 of file SingleObjectPropertyModel.cc.

Member Data Documentation

◆ currentlySelectedIndices

QModelIndexList SingleObjectPropertyModel::currentlySelectedIndices
protected

Definition at line 188 of file SingleObjectPropertyModel.hh.

◆ currentlyVisualizedIndices

std::vector<unsigned int> SingleObjectPropertyModel::currentlyVisualizedIndices
protected

Definition at line 189 of file SingleObjectPropertyModel.hh.

◆ propertyVisualizers

std::vector<PropertyVisualizer*> SingleObjectPropertyModel::propertyVisualizers
protected

Definition at line 186 of file SingleObjectPropertyModel.hh.

◆ widgets

QWidget* SingleObjectPropertyModel::widgets
protected

Definition at line 187 of file SingleObjectPropertyModel.hh.


The documentation for this class was generated from the following files: