Workspace 6.21.5
Public Member Functions | List of all members
WidgetFactory Class Referenceabstract

#include <Workspace/Widgets/widgetfactory.h>

Inheritance diagram for WidgetFactory:
[legend]

Public Member Functions

virtual ~WidgetFactory ()=default
 
QWidget & createWidget (QWidget *parent=nullptr) const
 
QWidgetConnectorcreateWidgetConnector (QWidget &widget, const NamePath &namePath) const
 
QWidgetConnectorcreateWidgetConnector (QWidget &widget, const NamePath &namePath, const DataExecution::TypeAdaptorFactory *adaptorFactory, WidgetState state) const
 
virtual const DataExecution::DataFactorygetDataFactory () const =0
 
virtual const QMetaObject & getQWidgetMetaObject () const =0
 
virtual const char * getWidgetName () const
 
virtual bool showInWorkspaceEditor () const
 
virtual bool supportAdaptor () const
 

Constructor & Destructor Documentation

◆ ~WidgetFactory()

virtual ~WidgetFactory ( )
virtualdefault

Member Function Documentation

◆ createWidget()

QWidget & createWidget ( QWidget *  parent = nullptr) const

◆ createWidgetConnector() [1/2]

QWidgetConnector & createWidgetConnector ( QWidget &  widget,
const NamePath namePath 
) const

◆ createWidgetConnector() [2/2]

QWidgetConnector & createWidgetConnector ( QWidget &  widget,
const NamePath namePath,
const DataExecution::TypeAdaptorFactory adaptorFactory,
WidgetState  state 
) const

◆ getDataFactory()

virtual const DataExecution::DataFactory & getDataFactory ( ) const
pure virtual
Returns
The data factory supported by the widgets this factory produces.

Implemented in ConversionSpinBoxFactory, ChartWidgetFactory, ColorSpectrumButtonFactory, ImageWidgetFactory, PlotWidgetFactory, DataCollectionWidgetFactory, DataSeriesWidgetFactory, ImageTileViewFactory, PropertySetterDataCollectionFactory, ScientificDoubleSpinBoxFactory, SqlDatabaseWidgetFactory, SqlDataTableWidgetFactory, SqlResultSetTableWidgetFactory, Matrix3x3WidgetFactory, MeshModelInterfaceComboBoxFactory, MeshModelInterfaceInspectorWidgetFactory, MeshModelInterfaceSummaryWidgetFactory, MeshModelInterfaceWidgetFactory, MeshModelWidgetFactory, MeshReadersComboBoxFactory, QVectorVector3dWidgetFactory, TransformByComponentsFactory, TransformMatrixFactory, Vector3dGroupDegreesWidgetFactory, Vector3dGroupWidgetFactory, SchedulerServerSelectionWidgetFactory, WSGLGridWidgetFactory, WSGLWidgetFactory, SceneEditorWidgetFactory, SceneInteractionWidgetFactory, PlaybackControlWidgetFactory, ScreenNumberWidgetFactory, ScreenSerialNumberWidgetFactory, MergeProgressWidgetFactory, WorkflowDifferencesWidgetFactory, WorkflowValidatorWidgetFactory, ButtonGroupBoxFactory< EnumT, WidgetT >, CheckBoxFactory, ColorButtonFactory, ColorComponentSliderFactory, ComboBoxAsStringFactory, ComboBoxFactory, DataTableWidgetFactory, DateTimeWidgetFactory, DependencyButtonFactory, DirectoryWidgetFactory, DoubleLineEditFactory, DoubleSpinBoxFactory, DoubleWsLineEditFactory, EnumComboBoxFactory< T >, FileNameWidgetFactory, FloatSpinBoxFactory, FontButtonFactory, GroupBoxFactory, IntegerLineEditFactory, IntegerSpinBoxFactory, IntegerWsLineEditFactory, JsonJSEditFactory, MatrixWidgetFactory< T >, MultipleFileNamesWidgetFactory, NullWidgetFactory< DataObjectT >, ObjectArrayWidgetFactory, ObjectDictionaryTableViewWidgetFactory, ObjectDictionaryWidgetFactory, ObjectGroupWidgetFactory, PasswordWidgetFactory, ProgressBarFactory, PropertySetterBoolFactory, PropertySetterIntFactory, PropertySetterObjectArrayFactory, PropertySetterQrealFactory, PropertySetterStringFactory, QByteArrayLabelFactory, QPointFLineEditFactory, QVariantWidgetFactory, RadioButtonFactory, RangedSliderFactory, RangedSpinBoxFactory, ShowWidgetButtonFactory< T, ChildFactoryT >, StateToggleFactory, StringJSEditFactory, StringLineEditFactory, StringListLineEditFactory, StringListWidgetFactory, StringSelectionWidgetFactory, StringTextEditFactory, StringWsLineEditFactory, TimeStampFormatWidgetFactory, ToggleButtonFactory, VariantLabelFactory, and VariantLineEditFactory.

◆ getQWidgetMetaObject()

virtual const QMetaObject & getQWidgetMetaObject ( ) const
pure virtual
Returns
The static QMetaObject associated with the QWidget this factory produces. For most classes, it will be implemented very similar to the following:
const QMetaObject& SomeWidgetFactory::getQWidgetMetaObject() const
{
return SomeWidget::staticMetaObject;
}

Implemented in ConversionSpinBoxFactory, ChartWidgetFactory, ColorSpectrumButtonFactory, ImageWidgetFactory, PlotWidgetFactory, DataCollectionWidgetFactory, DataSeriesWidgetFactory, ImageTileViewFactory, PropertySetterDataCollectionFactory, ScientificDoubleSpinBoxFactory, SqlDatabaseWidgetFactory, SqlDataTableWidgetFactory, SqlResultSetTableWidgetFactory, Matrix3x3WidgetFactory, MeshModelInterfaceComboBoxFactory, MeshModelInterfaceInspectorWidgetFactory, MeshModelInterfaceSummaryWidgetFactory, MeshModelInterfaceWidgetFactory, MeshModelWidgetFactory, MeshReadersComboBoxFactory, QVectorVector3dWidgetFactory, TransformByComponentsFactory, TransformMatrixFactory, Vector3dGroupDegreesWidgetFactory, Vector3dGroupWidgetFactory, SchedulerServerSelectionWidgetFactory, WSGLGridWidgetFactory, WSGLWidgetFactory, SceneEditorWidgetFactory, SceneInteractionWidgetFactory, PlaybackControlWidgetFactory, ScreenNumberWidgetFactory, ScreenSerialNumberWidgetFactory, MergeProgressWidgetFactory, WorkflowDifferencesWidgetFactory, WorkflowValidatorWidgetFactory, ButtonGroupBoxFactory< EnumT, WidgetT >, CheckBoxFactory, ColorButtonFactory, ColorComponentSliderFactory, ComboBoxAsStringFactory, ComboBoxFactory, DataTableWidgetFactory, DateTimeWidgetFactory, DependencyButtonFactory, DirectoryWidgetFactory, DoubleLineEditFactory, DoubleSpinBoxFactory, DoubleWsLineEditFactory, EnumComboBoxFactory< T >, FileNameWidgetFactory, FloatSpinBoxFactory, FontButtonFactory, GroupBoxFactory, IntegerLineEditFactory, IntegerSpinBoxFactory, IntegerWsLineEditFactory, JsonJSEditFactory, MatrixWidgetFactory< T >, MultipleFileNamesWidgetFactory, NullWidgetFactory< DataObjectT >, ObjectArrayWidgetFactory, ObjectDictionaryTableViewWidgetFactory, ObjectDictionaryWidgetFactory, ObjectGroupWidgetFactory, PasswordWidgetFactory, ProgressBarFactory, PropertySetterBoolFactory, PropertySetterIntFactory, PropertySetterObjectArrayFactory, PropertySetterQrealFactory, PropertySetterStringFactory, QByteArrayLabelFactory, QPointFLineEditFactory, QVariantWidgetFactory, RadioButtonFactory, RangedSliderFactory, RangedSpinBoxFactory, ShowWidgetButtonFactory< T, ChildFactoryT >, StateToggleFactory, StringJSEditFactory, StringLineEditFactory, StringListLineEditFactory, StringListWidgetFactory, StringSelectionWidgetFactory, StringTextEditFactory, StringWsLineEditFactory, TimeStampFormatWidgetFactory, ToggleButtonFactory, VariantLabelFactory, and VariantLineEditFactory.

◆ getWidgetName()

const char * getWidgetName ( ) const
virtual
Returns
The name of the widget this factory provides. It is obtained from the QMetaObject returned from getStaticMetaObject().

Reimplemented in DirectoryWidgetFactory.

◆ showInWorkspaceEditor()

bool showInWorkspaceEditor ( ) const
virtual
Returns
True if this widget should show up in Workspace's IO port context menus and be used as the default widget by the operation editor if it's the first in the list for a given data type.

Reimplemented in DataCollectionWidgetFactory, PropertySetterDataCollectionFactory, WorkflowDifferencesWidgetFactory, WorkflowValidatorWidgetFactory, PropertySetterBoolFactory, PropertySetterIntFactory, PropertySetterObjectArrayFactory, PropertySetterQrealFactory, and PropertySetterStringFactory.

◆ supportAdaptor()

bool supportAdaptor ( ) const
virtual
Returns
Whether adaptor could be used for the widget.
Note
Most widget should be able to work with adaptor, except some widgets that need to access the DataObject through NamePath without checking the type of the DataObject. As a workaround, we mark those widgets as not able to work with any adaptor so that they won't cause problem.

Reimplemented in ChartWidgetFactory, DataCollectionWidgetFactory, ObjectArrayWidgetFactory, ObjectDictionaryTableViewWidgetFactory, ObjectDictionaryWidgetFactory, ObjectGroupWidgetFactory, and StringJSEditFactory.