21 #include <QtWidgets/QAction>
35 class DtVrfBackendState;
36 class DtVrfTaskSetMenu;
37 class DtScriptedTaskConfigurableMenu;
38 class DtTaskSetDialogInterface;
39 class DtVrfTaskSetAction;
71 virtual QAction* registerMenuItem(
const QString& title, QWidget* parent,
int iAction,
const QString& iconBaseName);
74 virtual void on_triggered();
134 virtual void slot_onSendSetRequest(std::vector<DtUUID> names,
const DtSetDataRequest&);
140 boost::signal<void (std::vector<DtUUID> names,
const DtSetDataRequest&)> signal_sendSetRequest;
145 virtual void slot_onSendTaskRequest(std::vector<DtUUID> names,
const DtSimTask&);
151 boost::signal<void (std::vector<DtUUID> names,
const DtSimTask&)> signal_sendTaskRequest;
166 virtual void on_triggered();
192 virtual void setValidate(
bool b);
195 virtual void setShowAllItems(
bool b);
202 virtual void setPartOfPlanDialog(
int b);
204 virtual void setMenuItemValidation(
bool b);
208 virtual void setHideDisabledItem(
bool yesNo);
211 virtual void setSignalDialogCreation(
bool b);
213 bool signalDialogCreation()
const
215 return mySignalDialogCreation;
218 virtual void setValidationsDisabled(
bool);
219 bool validationsDisabled()
const
221 return myValidationsDisabled;
226 virtual void setSignalTaskSetRequests(
bool b);
228 bool signalTaskSetRequests()
const
230 return mySignalTaskSetRequests;
233 int partOfPlanDialog()
const
235 return myPartOfPlanDialog;
244 virtual void setAlwaysStartAsEnabled(
bool b);
246 bool alwaysStartAsEnabled()
const
248 return myAlwaysStartAsEnabled;
252 void setValidateIfNoPendingRequests(
bool b)
254 myValidateIfNoPendingRequests = b;
257 bool validateIfNoPendingRequests()
const
259 return myValidateIfNoPendingRequests;
276 virtual void clearMenu();
281 virtual bool updateSubMenuVisibilityState(
QMenu*,
bool hasRadio =
true);
287 virtual std::set<QAction*> actionsThatSupport(
int)
const;
294 virtual const char* supportedToolbar()
const = 0;
295 virtual const char* supportedMenu()
const = 0;
299 virtual void recreateMenu() = 0;
302 virtual void sortMenu();
316 virtual bool hasSupportForActionType(
int)
const;
319 boost::signal<void (std::vector<DtUUID> names,
const DtSetDataRequest&)> signal_sendSetRequest;
320 boost::signal<void (std::vector<DtUUID> names,
const DtSimTask&)> signal_sendTaskRequest;
331 virtual void slot_sendSetRequest(std::vector<DtUUID> names,
const DtSetDataRequest& s);
332 virtual void slot_sendTaskRequest(std::vector<DtUUID> names,
const DtSimTask& s);
335 virtual void slot_createTaskSetDialog(
int menuItemType, QWidget*,
DtVrfTaskSetAction*,
336 const std::vector<makVrv::DtSimEntry*>&,
int);
341 virtual void signalCommandDialogCreation(
int menuItemType, QWidget* parent,
DtVrfTaskSetAction* forAction,
342 const std::vector<makVrv::DtSimEntry*>& data,
int partOfPlan);
349 bool maintainOriginalOrder =
false);
352 virtual void validate();
355 virtual void radioMenuDestroyed();
356 virtual void dialogDestroyed();
361 virtual void renameIfDuplicate(
QAction*);
365 virtual QString alternateName(
QAction*)
const;
372 virtual void actionAdded(
QEvent*);
373 virtual void addTaskAction(
QAction*);
374 virtual void rebuildToolbar(
const std::string&);
376 virtual void slot_taskSetMenuSortChanged(
bool);
378 virtual void sortMenu(
QMenu*);
380 virtual void validateMenuItems(
int terrainPatchOffset);
382 virtual bool available(
int menu, std::vector<int>& l)
const;
384 virtual bool needsValidation()
const;
389 virtual void availableMenuItems(
391 std::vector<int>& available,
392 bool noTaskSetValueMeansAll);
398 virtual std::vector<DtUUID> whoShouldITask(
const std::vector<DtUUID>& name,
const DtSimTask& newTask);
410 bool useGlobalMenuManager =
false,
bool recreateToolbars =
false);