10 #ifndef smtk_extension_paraview_appcomponents_pqSMTKOperationParameterPanel_h
11 #define smtk_extension_paraview_appcomponents_pqSMTKOperationParameterPanel_h
12 #include "smtk/extension/paraview/appcomponents/smtkPQComponentsExtModule.h"
13 #include "smtk/extension/qt/qtOperationPalette.h"
14 #include "smtk/extension/qt/qtOperationView.h"
15 #include "smtk/extension/qt/qtUIManager.h"
17 #include "smtk/project/Observer.h"
19 #include "smtk/task/Task.h"
21 #include "smtk/operation/Operation.h"
23 #include "smtk/resource/Observer.h"
27 #include "smtk/extension/paraview/appcomponents/pqQtKeywordWrapping.h"
37 class pqModalShortcut;
38 class pqPipelineSource;
43 class QListWidgetItem;
54 typedef QWidget Superclass;
61 void titleChanged(QString title);
65 virtual void observeWrapper(pqSMTKWrapper*, pqServer*);
68 virtual void unobserveWrapper(pqSMTKWrapper*, pqServer*);
77 virtual void runOperationWithDefaults(smtk::operation::Operation::Index);
82 void runOperationWithParameters(
const std::shared_ptr<smtk::operation::Operation>& operation);
89 virtual void editOperationParameters(smtk::operation::Operation::Index);
98 void editExistingOperationParameters(
99 const std::shared_ptr<smtk::operation::Operation>& operation,
100 bool associateSelection =
true,
101 bool isTabClosable =
true,
102 bool showApply =
true,
106 virtual void cancelEditing(
int tabIndex);
116 bool closeTabForOperation(
117 const std::shared_ptr<smtk::operation::Operation>& operation,
118 bool forceClose =
false);
121 virtual void cancelTabFromSender();
133 virtual void observeProjectsOnServer();
134 virtual void unobserveProjectsOnServer();
139 void runOperation(smtk::operation::Operation::Index index);
144 void observeToolboxPanels();
153 void activeTaskStateChange(
160 std::shared_ptr<smtk::operation::Operation> m_operation;
161 QPointer<QWidget> m_tab;
162 QPointer<smtk::extension::qtUIManager> m_uiMgr;
163 QPointer<smtk::extension::qtBaseView> m_view;
164 bool m_closable{
true };
166 QPointer<QTabWidget> m_tabs;
167 QPointer<QVBoxLayout> m_layout;
168 pqSMTKWrapper* m_wrapper{
nullptr };
169 std::multimap<smtk::operation::Operation::Index, TabData> m_views;
170 int m_selectionValue{ 1 };
171 bool m_selectionExactMatch{
false };
173 std::map<smtk::project::ManagerPtr, smtk::project::Observers::Key> m_projectManagerObservers;
174 smtk::task::Active::Observers::Key m_activeObserverKey;
175 smtk::task::Task::Observers::Key m_taskObserver;
178 #endif // smtk_extension_paraview_appcomponents_pqSMTKOperationParameterPanel_h