SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
11 #ifndef smtk_extension_qtItem_h
12 #define smtk_extension_qtItem_h
15 #include "smtk/extension/qt/Exports.h"
16 #include "smtk/extension/qt/qtAttributeItemInfo.h"
17 #include "smtk/view/Configuration.h"
22 #if defined(__VTK_WRAP__) && !defined(Q_SLOTS)
23 #define Q_DISABLE_COPY(x)
25 #define Q_SIGNALS protected
38 #if defined(__cplusplus)
39 #define smtk_TYPE_CAST(T, V) static_cast<T>(V)
41 #define smtk_TYPE_CAST(T, V) ((T)(V))
44 #define smtk_INT_MIN smtk_TYPE_CAST(int, ~(~0u >> 1))
45 #define smtk_INT_MAX smtk_TYPE_CAST(int, ~0u >> 1)
46 #define smtk_UNSIGNED_INT_MIN smtk_TYPE_CAST(unsigned int, 0)
47 #define smtk_UNSIGNED_INT_MAX smtk_TYPE_CAST(unsigned int, ~0u)
48 #define smtk_LONG_MIN smtk_TYPE_CAST(long, ~(~0ul >> 1))
49 #define smtk_LONG_MAX smtk_TYPE_CAST(long, ~0ul >> 1)
50 #define smtk_UNSIGNED_LONG_MIN smtk_TYPE_CAST(unsigned long, 0ul)
51 #define smtk_UNSIGNED_LONG_MAX smtk_TYPE_CAST(unsigned long, ~0ul)
52 #define smtk_FLOAT_MIN smtk_TYPE_CAST(float, -1.0e+38f)
53 #define smtk_FLOAT_MAX smtk_TYPE_CAST(float, 1.0e+38f)
54 #define smtk_DOUBLE_MIN smtk_TYPE_CAST(double, -1.0e+299)
55 #define smtk_DOUBLE_MAX smtk_TYPE_CAST(double, 1.0e+299)
57 #define smtk_DOUBLE_CONSTRAINT_PRECISION 0.000001
58 #define smtk_USER_DATA_TYPE 10000
61 class SMTKQTEXT_EXPORT
qtItem :
public QObject
71 template<
typename ItemType>
72 std::shared_ptr<ItemType> itemAs()
const
74 return m_itemInfo.itemAs<ItemType>();
77 qtUIManager* uiManager()
const {
return m_itemInfo.uiManager(); }
82 QPointer<QWidget> widget() {
return m_widget; }
83 QPointer<QWidget> parentWidget() {
return m_itemInfo.parentWidget(); }
85 bool isLeafItem() {
return m_isLeafItem; }
87 virtual void setLabelVisible(
bool) { ; }
88 virtual bool isFixedWidth()
const;
90 void showAdvanceLevelOverlay(
bool);
91 bool useSelectionManager()
const {
return m_useSelectionManager; }
92 void setReadOnly(
bool mode) { m_readOnly = mode; }
93 bool isReadOnly()
const;
97 virtual void markForDeletion();
112 virtual void updateItemData();
116 void widgetSizeChanged();
122 void childModified(
qtItem* item);
128 void editingWidgetChanged();
131 virtual void onAdvanceLevelChanged(
int levelIdx);
132 virtual void onChildWidgetSizeChanged() { ; }
135 virtual void createWidget() { ; }
136 virtual void setLocalAdvanceLevel(
unsigned int level);
137 virtual void addChildItem(
qtItem*);
138 virtual void removeChildItem(
qtItem*);
139 virtual void clearChildItems();
140 QList<qtItem*>& childItems();
142 QPointer<QWidget> m_widget;
144 bool m_useSelectionManager;
146 bool m_markedForDeletion;
148 QList<smtk::extension::qtItem*> m_childItems;
The main namespace for the Simulation Modeling Tool Kit (SMTK).
Definition: doc.h:33
an abstract UI class for attribute item
Definition: qtItem.h:61
Container for managers whose content is presented via Qt widgets.
Definition: qtUIManager.h:57
virtual QWidget * lastEditor() const
Returns editor widget, used when setting tab order.
Definition: qtItem.h:100
Definition: qtItem.cxx:25
virtual void updateTabOrder(QWidget *)
Sets previous widget for tabbing order.
Definition: qtItem.h:102
Class used to generate widgets for Attribute Items.
Definition: qtAttributeItemInfo.h:39
smtk::shared_ptr< smtk::attribute::Item > ItemPtr
Definition: PublicPointerDefs.h:474
smtk::shared_ptr< smtk::attribute::Resource > ResourcePtr
Definition: PublicPointerDefs.h:611