SMTK  @SMTK_VERSION@
Simulation Modeling Tool Kit
qtAssociationView.h
1 //=========================================================================
2 // Copyright (c) Kitware, Inc.
3 // All rights reserved.
4 // See LICENSE.txt for details.
5 //
6 // This software is distributed WITHOUT ANY WARRANTY; without even
7 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
8 // PURPOSE. See the above copyright notice for more information.
9 //=========================================================================
10 // .NAME qtAssociationView - View for modifying attribute association information
11 // .SECTION Description
12 // .SECTION See Also
13 // qtSection
14 
15 #ifndef smtk_extension_qtAssociationView_h
16 #define smtk_extension_qtAssociationView_h
17 
18 #include "smtk/extension/qt/Exports.h"
19 #include "smtk/extension/qt/qtBaseAttributeView.h"
20 
21 #include <QMap>
22 #include <QModelIndex>
23 
25 class QTableWidgetItem;
26 class QKeyEvent;
27 class QStandardItem;
28 class QTableWidget;
29 
30 namespace smtk
31 {
32 namespace extension
33 {
34 class qtAssociationWidget;
35 class qtBaseView;
52 class SMTKQTEXT_EXPORT qtAssociationView : public qtBaseAttributeView
53 {
54  Q_OBJECT
55 
56 public:
58 
59  static qtBaseView* createViewWidget(const smtk::view::Information& info);
61  ~qtAssociationView() override;
62  const QMap<QString, QList<smtk::attribute::DefinitionPtr>>& attDefinitionMap() const;
63 
64  bool isEmpty() const override;
65 
66 public Q_SLOTS:
67  void updateUI() override;
68  void onShowCategory() override;
69  void updateModelAssociation() override;
70  void onAttributeChanged(int);
71  void associationsChanged();
72 
73 Q_SIGNALS:
74  void attAssociationChanged();
75 
76 protected:
77  void createWidget() override;
78  virtual smtk::extension::qtAssociationWidget* createAssociationWidget(
79  QWidget* parent,
80  qtBaseView* view);
81  virtual void getAllDefinitions();
82  smtk::attribute::AttributePtr getAttributeFromIndex(int index);
83 
84 private:
85  qtAssociationViewInternals* Internals;
86 
87 }; // class
88 }; // namespace extension
89 }; // namespace smtk
90 
91 #endif
smtk
The main namespace for the Simulation Modeling Tool Kit (SMTK).
Definition: doc.h:33
smtk::extension::qtBaseAttributeView
Definition: qtBaseAttributeView.h:29
smtk::extension::qtBaseView
A base class for all view types implemented using Qt.
Definition: qtBaseView.h:46
smtk::view::Information
A class for information passed to views during initialization.
Definition: Information.h:32
smtk::extension::qtAssociationWidget
Base class for widgets that deal with attribute associations.
Definition: qtAssociationWidget.h:25
smtk::extension::qtAssociationView
A View that provides a GUI to edit an attribute's association information.
Definition: qtAssociationView.h:52
smtk::attribute::AttributePtr
smtk::shared_ptr< smtk::attribute::Attribute > AttributePtr
Definition: PublicPointerDefs.h:456
qtAssociationViewInternals
Definition: qtAssociationView.cxx:38
smtkTypenameMacro
#define smtkTypenameMacro(...)
Add typedefs to a class for identifcation.
Definition: SharedFromThis.h:68