pqParaViewBehaviors.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-FileCopyrightText: Copyright (c) Sandia Corporation
3 // SPDX-License-Identifier: BSD-3-Clause
4 #ifndef pqParaViewBehaviors_h
5 #define pqParaViewBehaviors_h
6 
8 
9 #include "vtkParaViewDeprecation.h" // for PARAVIEW_DEPRECATED_IN_5_12_0
10 #include "vtkSetGet.h" // for VTK_LEGACY.
11 
12 #include <QFlags>
13 #include <QObject>
14 
15 class QMainWindow;
16 
41 #define PQ_BEHAVIOR_DEFINE_METHODS(_name) \
42  static void setEnable##_name(bool val) { pqParaViewBehaviors::_name = val; } \
43  static bool enable##_name() { return pqParaViewBehaviors::_name; }
44 
45 #define PQ_BEHAVIOR_DEFINE_METHODS_LEGACY(_name) \
46  VTK_LEGACY(static void setEnable##_name(bool val) { pqParaViewBehaviors::_name = val; }); \
47  VTK_LEGACY(static bool enable##_name() { return pqParaViewBehaviors::_name; });
48 
49 #define PQ_BEHAVIOR_DECLARE_FLAG(_name) static bool _name;
50 
52 {
53  Q_OBJECT
54  typedef QObject Superclass;
55 
56 public:
57  PQ_BEHAVIOR_DEFINE_METHODS(StandardPropertyWidgets);
58  PQ_BEHAVIOR_DEFINE_METHODS(StandardViewFrameActions);
59  PQ_BEHAVIOR_DEFINE_METHODS(StandardRecentlyUsedResourceLoader);
60  PQ_BEHAVIOR_DEFINE_METHODS(DataTimeStepBehavior);
61  PQ_BEHAVIOR_DEFINE_METHODS(SpreadSheetVisibilityBehavior);
62  PQ_BEHAVIOR_DEFINE_METHODS(PipelineContextMenuBehavior);
63  PQ_BEHAVIOR_DEFINE_METHODS(BlockContentMenu);
64  PQ_BEHAVIOR_DEFINE_METHODS(ObjectPickingBehavior);
65  PQ_BEHAVIOR_DEFINE_METHODS(DefaultViewBehavior);
66  PQ_BEHAVIOR_DEFINE_METHODS(UndoRedoBehavior);
67  PQ_BEHAVIOR_DEFINE_METHODS(AlwaysConnectedBehavior);
68  PQ_BEHAVIOR_DEFINE_METHODS(CrashRecoveryBehavior);
69  PQ_BEHAVIOR_DEFINE_METHODS(AutoLoadPluginXMLBehavior);
70  PQ_BEHAVIOR_DEFINE_METHODS(PluginDockWidgetsBehavior);
71  PQ_BEHAVIOR_DEFINE_METHODS(VerifyRequiredPluginBehavior);
72  PQ_BEHAVIOR_DEFINE_METHODS(PluginActionGroupBehavior);
73  PQ_BEHAVIOR_DEFINE_METHODS(PluginToolBarBehavior);
74  PQ_BEHAVIOR_DEFINE_METHODS(CommandLineOptionsBehavior);
75  PQ_BEHAVIOR_DEFINE_METHODS(PersistentMainWindowStateBehavior);
76  PQ_BEHAVIOR_DEFINE_METHODS(CollaborationBehavior);
77  PQ_BEHAVIOR_DEFINE_METHODS(ViewStreamingBehavior);
78  PQ_BEHAVIOR_DEFINE_METHODS(PluginSettingsBehavior);
80  PQ_BEHAVIOR_DEFINE_METHODS(QuickLaunchShortcuts);
81  PQ_BEHAVIOR_DEFINE_METHODS(LockPanelsBehavior);
82  PQ_BEHAVIOR_DEFINE_METHODS(PythonShellResetBehavior);
83  PQ_BEHAVIOR_DEFINE_METHODS(CustomShortcutBehavior);
84  PQ_BEHAVIOR_DEFINE_METHODS(MainWindowEventBehavior);
85 
86  PARAVIEW_DEPRECATED_IN_5_12_0("Use AddExamplesInFileDialogBehavior instead")
87  PQ_BEHAVIOR_DEFINE_METHODS(AddExamplesInFavoritesBehavior);
88  PQ_BEHAVIOR_DEFINE_METHODS(AddExamplesInFileDialogBehavior);
89 
91 
96  PQ_BEHAVIOR_DEFINE_METHODS(UsageLoggingBehavior);
98 
100 
104  PQ_BEHAVIOR_DEFINE_METHODS(LiveSourceBehavior);
106 
108 
116  PQ_BEHAVIOR_DEFINE_METHODS(WheelNeedsFocusBehavior);
118 
119  pqParaViewBehaviors(QMainWindow* window, QObject* parent = nullptr);
120  ~pqParaViewBehaviors() override;
121 
122 private:
123  Q_DISABLE_COPY(pqParaViewBehaviors)
124 
125  PQ_BEHAVIOR_DECLARE_FLAG(StandardPropertyWidgets);
126  PQ_BEHAVIOR_DECLARE_FLAG(StandardViewFrameActions);
127  PQ_BEHAVIOR_DECLARE_FLAG(StandardRecentlyUsedResourceLoader);
128  PQ_BEHAVIOR_DECLARE_FLAG(DataTimeStepBehavior);
129  PQ_BEHAVIOR_DECLARE_FLAG(SpreadSheetVisibilityBehavior);
130  PQ_BEHAVIOR_DECLARE_FLAG(PipelineContextMenuBehavior);
131  PQ_BEHAVIOR_DECLARE_FLAG(BlockContentMenu);
132  PQ_BEHAVIOR_DECLARE_FLAG(ObjectPickingBehavior);
133  PQ_BEHAVIOR_DECLARE_FLAG(DefaultViewBehavior);
134  PQ_BEHAVIOR_DECLARE_FLAG(UndoRedoBehavior);
135  PQ_BEHAVIOR_DECLARE_FLAG(AlwaysConnectedBehavior);
136  PQ_BEHAVIOR_DECLARE_FLAG(CrashRecoveryBehavior);
137  PQ_BEHAVIOR_DECLARE_FLAG(AutoLoadPluginXMLBehavior);
138  PQ_BEHAVIOR_DECLARE_FLAG(PluginDockWidgetsBehavior);
139  PQ_BEHAVIOR_DECLARE_FLAG(VerifyRequiredPluginBehavior);
140  PQ_BEHAVIOR_DECLARE_FLAG(PluginActionGroupBehavior);
141  PQ_BEHAVIOR_DECLARE_FLAG(PluginToolBarBehavior);
142  PQ_BEHAVIOR_DECLARE_FLAG(CommandLineOptionsBehavior);
143  PQ_BEHAVIOR_DECLARE_FLAG(PersistentMainWindowStateBehavior);
144  PQ_BEHAVIOR_DECLARE_FLAG(CollaborationBehavior);
145  PQ_BEHAVIOR_DECLARE_FLAG(ViewStreamingBehavior);
146  PQ_BEHAVIOR_DECLARE_FLAG(PluginSettingsBehavior);
147  PQ_BEHAVIOR_DECLARE_FLAG(ApplyBehavior);
148  PQ_BEHAVIOR_DECLARE_FLAG(QuickLaunchShortcuts);
149  PQ_BEHAVIOR_DECLARE_FLAG(LockPanelsBehavior);
150  PQ_BEHAVIOR_DECLARE_FLAG(PythonShellResetBehavior);
151  PQ_BEHAVIOR_DECLARE_FLAG(WheelNeedsFocusBehavior);
152  PQ_BEHAVIOR_DECLARE_FLAG(LiveSourceBehavior);
153  PQ_BEHAVIOR_DECLARE_FLAG(CustomShortcutBehavior);
154  PQ_BEHAVIOR_DECLARE_FLAG(MainWindowEventBehavior);
155  PQ_BEHAVIOR_DECLARE_FLAG(UsageLoggingBehavior);
156  // PARAVIEW_DEPRECATED_IN_5_12_0
157  PQ_BEHAVIOR_DECLARE_FLAG(AddExamplesInFavoritesBehavior);
158  PQ_BEHAVIOR_DECLARE_FLAG(AddExamplesInFileDialogBehavior);
159 };
160 
161 #undef PQ_BEHAVIOR_DECLARE_FLAG
162 #undef PQ_BEHAVIOR_DEFINE_METHODS
163 
164 #endif
#define PARAVIEW_DEPRECATED_IN_5_12_0(reason)
#define PQ_BEHAVIOR_DEFINE_METHODS(_name)
#define PQAPPLICATIONCOMPONENTS_EXPORT
creates all standard ParaView behaviourspqParaViewBehaviors creates all the behaviors used by ParaVie...
#define PQ_BEHAVIOR_DECLARE_FLAG(_name)