Workspace 6.21.5
Public Slots | Signals | Public Member Functions | Protected Types | Protected Slots | Protected Member Functions | Protected Attributes | List of all members
MultipleWorkflowApp Class Referenceabstract

Interface for applications with multiple workflows.

#include <Tools/Widgets/multiworkflowapp.h>

Inheritance diagram for MultipleWorkflowApp:
[legend]

Public Slots

virtual SettingsStackDialogcreateSettingsStackDialog ()
 Creates the SettingsStackDialog box.
 
virtual void on_actionConfigure_application_triggered ()
 
void on_actionGroup_by_workspace_toggled ()
 
virtual void on_actionToggleDependencies_toggled ()
 
virtual void on_actionView_ghost_elements_toggled ()=0
 
virtual void on_actionWorkspaceIovVisibilityPolicy_triggered ()
 
virtual void on_actionZoomFitSelection_triggered ()
 
virtual void onActionIgnoredItemsTriggered ()
 
virtual void onConnectionSelectionChangedByDiffWidget (const ConnectionData &data, bool selected, bool notifyDiffWidgets=true, bool notifyTabWidgets=true)
 Propagates selection details when the user selects a Connection row in a WorkflowDifferencesWidget.
 
virtual void onConnectionSelectionChangedByTabWidget (const DataExecution::Connection &connection, bool selected)
 Propagates selection information from a WorkspaceScene inside a WorkspaceTabWidget to other linked widgets when a connection is selected within the scene.
 
virtual void onDisplaySelectionChangedByDiffWidget (const DisplayData &, bool selected, bool notifyDiffWidgets=true, bool notifyTabWidgets=true)
 A display widget item was selected or deselected. This ensures that the containing workspace is shown.
 
virtual void onFileNewTriggered ()
 
void onFileOpenTriggered ()
 
void onFileQuitTriggered ()
 
void onFileSaveAsTriggered ()
 
void onFileSaveTriggered ()
 
virtual void onFindTriggered ()
 Shows the find dialog box.
 
void onHelpAboutTriggered ()
 
virtual void onNoteSelectionChangedByTabWidget (const QUuid &wspId, const QUuid &noteItemId, bool selected)
 Propagates selection information from a WorkspaceScene inside a WorkspaceTabWidget to other linked widgets when a note is selected within the scene.
 
virtual void onOperationChildSelectionChangedByDiffWidget (const ChildItemSelectionData &data, bool selected, bool notifyDiffWidgets=true, bool notifyTabWidgets=true)
 Propagates selection information from a WorkflowDifferenceWidget to the other WorkflowDifferenceWidget and WorkspaceTabWidgets when an operation row is selected.
 
virtual void onOperationSelectionChangedByDiffWidget (const QUuid &opId, bool selected, bool notifyDiffWidgets=true, bool notifyTabWidgets=true)
 Propagates selection information from a WorkflowDifferenceWidget to the other WorkflowDifferenceWidget and WorkspaceTabWidgets when an operation row is selected.
 
virtual void onOperationSelectionChangedByTabWidget (const QItemSelection &selected, const QItemSelection &deselected)
 Propagates selection information from a WorkspaceScene inside a WorkspaceTabWidget to other linked widgets when an operation is selected within the scene.
 
virtual void onViewSynchronisationToggled (bool)
 
virtual void onWorkflowSuccess ()=0
 
virtual void onWorkspaceAnchorSelectionChangedByDiffWidget (const ConnectionAnchorData &, bool selected, bool notifyDiffWidgets=true, bool notifyTabWidgets=true)
 A connection anchor was selected or deselected. This ensures that the containing workspace is shown.
 
virtual void onWorkspaceNoteSelectionChangedByDiffWidget (const NoteData &data, bool selected, bool notifyDiffWidgets=true, bool notifyTabWidgets=true)
 Propagates selection details when the user selects a Connection row in a WorkflowDifferencesWidget.
 
virtual void onWorkspaceSelectionChangedByDiffWidget (const WorkspaceData &data, bool selected, bool notifyDiffWidgets=true, bool notifyTabWidgets=true)
 Propagates selection information from a WorkflowDifferenceWidget to the other WorkflowDifferenceWidget and WorkspaceTabWidgets when an Workspace row is selected (these are rows with a Nested Workspace icon and slection will cause the Nested Workspace to be opened up)
 

Signals

void dimOperationsChanged ()
 

Public Member Functions

 MultipleWorkflowApp (const QString &appName, const QString &title, const QStringList &fileNameFilter, const QString &projectSuffix, const QString &serializedTreeName, QWidget *parent=nullptr)
 
 ~MultipleWorkflowApp () override
 
void blockWidgetSignals (bool block)
 Temporarily stops selection signals from being bounced from one widget to other linked widgets, so that selection updates can be mirrored without triggering recursion.
 
void endSignalBlock ()
 
void setLogReportLevel (ReportingLevel level)
 
void startSignalBlock ()
 
- Public Member Functions inherited from BasicTextLogger
 BasicTextLogger ()
 
virtual ~BasicTextLogger ()
 
void logLine (const Application::LogManager::MessageCategory &category, const QString &msg) const
 
void logLine (const QString &msg) const
 
void logText (const Application::LogManager::MessageCategory &category, const QString &msg) const
 
void logText (const QString &msg) const
 

Protected Types

typedef QPair< Presentation::WorkspaceTabWidget *, Presentation::WorkspaceTabWidget * > TabPair
 

Protected Slots

virtual void onColoursChanged (const QSet< QString > &colours)
 
void onCurrentWorkspaceTabChanged (CSIRO::DataExecution::Workspace *workspace)
 Handler for when the displayed workspace has changed within a WorkspaceTabWidget, this notifies any synchronosed WorkspaceTabWidgets so that they can change too.
 
void onOpRunnerErrorReported ()
 
virtual void onSettingsChanged ()
 
void restartRunner ()
 
void setProjectModified (bool val=true)
 

Protected Member Functions

void clearTabWidgetConnections ()
 
void clearWorkflowDifferenceWidgets ()
 
void connectAndInitialiseApplicationActions (QAction *action_About, QAction *action_Quit)
 Makes connections between application-related gui elements and their handling slots. If a relevant gui element does not exist in the subclass application, set it to nullptr and it will be ignored.
 
void connectAndInitialiseProjectActions (QAction *actionNew, QAction *actionOpen, QAction *action_Save, QAction *actionSave_As, QAction *actionRecent)
 Makes connections between project-related gui elements and their handling slots. If a relevant gui element does not exist in the subclass application, set it to nullptr and it will be ignored.
 
void connectAndInitialiseUtilityActions (QAction *actionIgnoredItems, QAction *actionFind, QComboBox *reportingLevelComboBox)
 Makes connections between some utility gui elements and their handling slots. If a relevant gui element does not exist in the subclass application, set it to nullptr and it will be ignored.
 
void connectAndInitialiseViewActions (QAction *actionView_ghost_elements, QAction *actionSynchronise_views, QAction *iovVisibilityPolicy, QAction *actionToggleDependencies, QAction *actionToggle_canvas_tooltips, QAction *actionToggleGroupByWorkspace)
 Makes connections between WorkspaceTabWidget display-related gui elements and their handling slots. If a relevant gui element does not exist in the subclass application, set it to nullptr and it will be ignored.
 
bool connectFindDialog (Presentation::FindDialog &dialog)
 Makes connections between the app find dialog and the app WorkflowDifferenceWidgets.
 
bool connectViewportInteractions (Presentation::WorkspaceTabWidget *widgetA, Presentation::WorkspaceTabWidget *widgetB)
 
void createProgressMonitor (const QString &labelText, int maximum)
 
bool disconnectViewportInteractions (Presentation::WorkspaceTabWidget *widgetA, Presentation::WorkspaceTabWidget *widgetB)
 
bool findXmlToolArguments (QString &commandStr, QStringList &argumentList, QString &errMsg)
 Returns stored settings for running an external tool to compare two files.
 
QStringList getAllGlobalNamesFromWidget (QObject *w) const
 
QList< TabPairgetConnectedTabPairs ()
 Returns a list of all the pairs of WorkspaceTabWidgets that are currently synchronised.
 
QPair< bool, bool > getTabMatch (TabPair b)
 Queries the local synchronisation map to see if this pair of WorkspaceTabWidgets is currently synchronised.
 
QList< TabPairgetUnconnectedTabPairs ()
 Returns a list of all the pairs of WorkspaceTabWidgets that are currently unsynchronised.
 
void getWorkflowDifferencesContext (WorkflowDifferencesWidget *widget, QMap< QString, QPair< QString, QString > > &labelMap, QMap< QString, QString > &pathMap) const
 
void hideDocksByDefault (QList< QDockWidget * > &dockWidgetList)
 
void hideProgressMonitor ()
 
void launchExternalDiffTool (const QString &filenameA, const QString &filenameB)
 Launches an external differencing tool with two files as arguments.
 
QColor loadColour (const QString &name, const QString &defaultValue=defaultColourStr)
 loads a colour stored as hex in settings, if not currently in settings will use the defaultSetting and save that to settings
 
bool loadGlobalNamesFromItem (CSIRO::DataExecution::SerializedItem &workflowGlobalNamesElement)
 
virtual bool loadProject ()
 loads the project
 
bool loadRecentProject (const QString &path)
 
void loadWindowState ()
 
void logMap ()
 Logs a list of the synchronisation state of each pair of WorkspaceTabWidgets.
 
QPair< bool, QString > notifyTabWidgetOfSelectionChange (const ChildItemSelectionData &opId, Presentation::WorkspaceTabWidget &tabWidget, bool selected)
 Changes the selected operation in a WorkspaceTabWidget when a child item of the operation has been changed by one of other connected WorkflowDifferenceWidgets.
 
QPair< bool, QString > notifyTabWidgetOfSelectionChange (const ConnectionAnchorData &opId, Presentation::WorkspaceTabWidget &tabWidget, bool selected)
 Changes the selected connection anchor in a WorkspaceTabWidget when the current selection has been changed by one of other connected application widgets.
 
QPair< bool, QString > notifyTabWidgetOfSelectionChange (const ConnectionData &connection, Presentation::WorkspaceTabWidget &tabWidget, bool selected)
 Changes the selected connection in a WorkspaceTabWidget when the current selection has been changed by one of other connected application widgets.
 
QPair< bool, QString > notifyTabWidgetOfSelectionChange (const DisplayData &id, Presentation::WorkspaceTabWidget &tabWidget, bool selected)
 Changes the selected operation in a WorkspaceTabWidget when a displayy widget has been changed by one of other connected WorkflowDifferenceWidgets.
 
QPair< bool, QString > notifyTabWidgetOfSelectionChange (const NoteData &opId, Presentation::WorkspaceTabWidget &tabWidget, bool selected)
 Changes the selected Note in a WorkspaceTabWidget when the current selection has been changed by one of other connected application widgets.
 
QPair< bool, QString > notifyTabWidgetOfSelectionChange (const QUuid &opId, Presentation::WorkspaceTabWidget &tabWidget, bool selected)
 Changes the selected operation in a WorkspaceTabWidget when the current selection has been changed by one of other connected application widgets.
 
QPair< bool, QString > notifyTabWidgetOfSelectionChange (const WorkspaceData &id, Presentation::WorkspaceTabWidget &tabWidget, bool selected)
 Changes the current Workspace in a WorkspaceTabWidget when the current Workspace has been changed by one of other connected application widgets.
 
void openWorkflowInExternalApplication (const QString &filename)
 
QProgressDialog & progressMonitor ()
 
QPair< bool, int > registerDifferenceWidget (Tools::WorkflowDifferencesWidget *widget, Presentation::WorkspaceTabWidget *tab1, Presentation::WorkspaceTabWidget *tab2, const QString &arrayName)
 Sets up SIGNAL/SLOT connections between a WorkflowDifferenceWidget and a pair of linked WorkspaceTabWidgets so that an element selected in one is propagated to the others where possible. The WorkspaceTabWidgets shold be displaying two Workflows that are being compared and the WorkflowDifferenceWidget the differences between them in a tree)
 
int registerTabWidgetList (QList< Presentation::WorkspaceTabWidget * > list, QAction *toggleDimOperations)
 Sets the list of WorkspaceTabWidgets in the Application. This should only be called once when the application is being constructed.
 
void resetUndoStack ()
 
void resetWindowState ()
 
void restoreSelection ()
 restores the current graphics selection if stored
 
virtual void saveProject ()
 
void saveSettings ()
 
void saveWindowState ()
 
template<typename T >
void selectionChangedByDiffWidget (T elementData, bool selected, WorkflowDifferencesWidget &sendingWidget, bool notifyDiffWidgets=true, bool notifyTabWidgets=true)
 Propagates selection details when the user changes the selected row in a WorkflowDifferencesWidget.
 
template<typename T >
void selectionChangedByExternalWidget (T elementData, bool selected, bool notifyDiffWidgets=true, bool notifyTabWidgets=true)
 Propagates selection details when the user changes the selected row in a WorkflowDifferencesWidget.
 
template<typename T >
void selectionChangedByTabWidget (T elementData, bool selected, Presentation::WorkspaceTabWidget &sendingWidget, bool notifyDiffWidgets=true, bool notifyTabWidgets=true)
 Propagates selection details when the user changes the selected item in a WorkspaceTabWidget.
 
void selectMissingOperationStandins (const QString &opId, bool selected, const QSet< QString > &pathSet, QList< Presentation::WorkspaceTabWidget * > tabWidgets)
 Attempts to select an appropriate ancestral Workspace inside WorkspaceTabWidgets for an operation where the operation itself may not actually exist. It looks for appropriate ancestral parent Workspaces from id paths gathered from controllers where the operations was found.
 
virtual void setDefaultIgnoreLists ()
 Sets up the default list of items to be ignored when comparing operations.
 
void setProjectName (const QString &projectName)
 
void setTabWorkspaceConnected (TabPair b, bool value)
 Updates the local map that keeps track of which WorkspaceTabWidgets are currently synchronised.
 
void setupColours (Presentation::WorkspaceTabWidget &frame, QLabel &label, int borderWidth, QColor colour) const
 
void setupLogDock (QMenu *menuDocks, QDockWidget *dockLog)
 
void setupUndoActions (QMenu *menuEdit)
 
bool setWorkflowEditorApplication ()
 
void stopOpRunner ()
 
void storeCurrentSelection ()
 stores (in memory) the current graphics selection in the (first registered) WorkspaceTabWidget
 
template<typename T >
void synchroniseTabSelection (T elementData, bool selected, Presentation::WorkspaceTabWidget *sendingWidget=nullptr)
 Propagates selection details when the selected item should be updated WorkspaceTabWidget due to user changing the selection in a different widget.
 
void synchroniseViewportInteractions (QList< TabPair > connectList, QList< TabPair > disconnectList)
 
QMap< TabPair, int > tabPairMap () const
 
void updateDifferenceListSettings ()
 
void updateIovVisibilityPolicy ()
 
bool updateProgressAndCheckForCancellation (int value, const QString &labelText)
 Updates the QProgressWidget.
 
void updateWorkflowDifferencesContext (const QList< WorkflowDifferencesWidget * > &widgets=QList< WorkflowDifferencesWidget * >())
 
const QList< WorkflowDifferencesWidget * > workflowDifferencesWidgets ()
 
const QList< Presentation::WorkspaceTabWidget * > workspaceTabWidgets ()
 

Protected Attributes

QAction * actionGroupByWorkspace_ {}
 
QAction * actionView_ghost_elements_ {}
 
QString appName_
 
QStringList fileNameFilter_
 
std::unique_ptr< Presentation::FindDialogfindDialog_
 
CSIRO::DataExecution::OperationRunner::unique_ptr opRunner_
 
std::unique_ptr< QProgressDialog > progressDialog_
 
int progressMarker_ {-1}
 
QString projectDirectory_
 
bool projectModified_
 
QString projectName_
 
QString projectSuffix_
 
QSettings qSettings_
 
Presentation::RecentFilesModel recentFilesModel_
 
QScopedPointer< Presentation::RecentFilesMenuViewrecentFilesView_
 
QAction * redoAction_ {}
 
QComboBox * reportingLevelComboBox_ {}
 
QString savedSelectedOp_
 
QString serializedTreeName_
 
QMap< TabPair, int > tabPairMap_
 
QMap< int, bool > tabSynchronisationMap_
 
DataExecution::WorkspacetheWorkspace_
 
QString title_
 
QAction * undoAction_ {}
 
std::unique_ptr< DataExecution::UpdatablesObserverBaseupdatablesMonitor_
 
bool viewsSynchronised_
 
QAction * workspaceIovVisibilityPolicyAction_ {}
 

Member Typedef Documentation

◆ TabPair

Constructor & Destructor Documentation

◆ MultipleWorkflowApp()

MultipleWorkflowApp ( const QString &  appName,
const QString &  title,
const QStringList fileNameFilter,
const QString &  projectSuffix,
const QString &  serializedTreeName,
QWidget *  parent = nullptr 
)
explicit

◆ ~MultipleWorkflowApp()

~MultipleWorkflowApp ( )
override

Member Function Documentation

◆ blockWidgetSignals()

void blockWidgetSignals ( bool  block)

◆ clearTabWidgetConnections()

void clearTabWidgetConnections ( )
protected

◆ clearWorkflowDifferenceWidgets()

void clearWorkflowDifferenceWidgets ( )
protected

◆ connectAndInitialiseApplicationActions()

void connectAndInitialiseApplicationActions ( QAction *  action_About,
QAction *  action_Quit 
)
protected

◆ connectAndInitialiseProjectActions()

void connectAndInitialiseProjectActions ( QAction *  actionNew,
QAction *  actionOpen,
QAction *  action_Save,
QAction *  actionSave_As,
QAction *  actionRecent 
)
protected

◆ connectAndInitialiseUtilityActions()

void connectAndInitialiseUtilityActions ( QAction *  actionIgnoredItems,
QAction *  actionFind,
QComboBox *  reportingLevelComboBox 
)
protected

◆ connectAndInitialiseViewActions()

void connectAndInitialiseViewActions ( QAction *  actionView_ghost_elements,
QAction *  actionSynchronise_views,
QAction *  iovVisibilityPolicy,
QAction *  actionToggleDependencies,
QAction *  actionToggle_canvas_tooltips,
QAction *  actionToggleGroupByWorkspace 
)
protected

◆ connectFindDialog()

bool connectFindDialog ( Presentation::FindDialog dialog)
protected
Returns
false if no difference widgets have been added to the application
See also
registerDifferenceWidget

◆ connectViewportInteractions()

bool connectViewportInteractions ( Presentation::WorkspaceTabWidget widgetA,
Presentation::WorkspaceTabWidget widgetB 
)
protected

◆ createProgressMonitor()

void createProgressMonitor ( const QString &  labelText,
int  maximum 
)
protected

◆ createSettingsStackDialog

CSIRO::Tools::SettingsStackDialog * createSettingsStackDialog ( )
virtualslot
Returns
Pointer to the dialog box created

◆ dimOperationsChanged

void dimOperationsChanged ( )
signal

◆ disconnectViewportInteractions()

bool disconnectViewportInteractions ( Presentation::WorkspaceTabWidget widgetA,
Presentation::WorkspaceTabWidget widgetB 
)
protected

◆ endSignalBlock()

void endSignalBlock ( )

◆ findXmlToolArguments()

bool findXmlToolArguments ( QString &  commandStr,
QStringList argumentList,
QString &  errMsg 
)
protected
Returns
false if there are no settings, or if the settings do not contains a properly-constructed placeholders for the two input files

◆ getAllGlobalNamesFromWidget()

QStringList getAllGlobalNamesFromWidget ( QObject *  w) const
protected
Parameters
wThe widget from which global names are being sought.
Returns
The list of global names.

◆ getConnectedTabPairs()

QList< MultipleWorkflowApp::TabPair > getConnectedTabPairs ( )
protected

◆ getTabMatch()

QPair< bool, bool > getTabMatch ( TabPair  b)
protected
Returns
first returns true if the local map contains a value for the pair of tabs, second returns true if a value exists and they are currently matched

◆ getUnconnectedTabPairs()

QList< MultipleWorkflowApp::TabPair > getUnconnectedTabPairs ( )
protected

◆ getWorkflowDifferencesContext()

void getWorkflowDifferencesContext ( WorkflowDifferencesWidget widget,
QMap< QString, QPair< QString, QString > > &  labelMap,
QMap< QString, QString > &  pathMap 
) const
protected

◆ hideDocksByDefault()

void hideDocksByDefault ( QList< QDockWidget * > &  dockWidgetList)
protected

◆ hideProgressMonitor()

void hideProgressMonitor ( )
protected

◆ launchExternalDiffTool()

void launchExternalDiffTool ( const QString &  filenameA,
const QString &  filenameB 
)
protected

If no external tool has been set up yet, it prompts the user to do so

◆ loadColour()

QColor loadColour ( const QString &  name,
const QString &  defaultValue = defaultColourStr 
)
protected
Parameters
nameTag identifying colour
defaultValueColour to use if colour "name" not defined, in hex format eg "#FFFFD0"

◆ loadGlobalNamesFromItem()

bool loadGlobalNamesFromItem ( CSIRO::DataExecution::SerializedItem workflowGlobalNamesElement)
protected
Parameters
workflowGlobalNamesElementSerializedItem containing a block of workflow global names
Returns
True if the global names could be loaded, false otherwise.

◆ loadProject()

bool loadProject ( )
protectedvirtual

Reimplemented in WorkflowDiffMainWidget.

◆ loadRecentProject()

bool loadRecentProject ( const QString &  path)
protected

**

◆ loadWindowState()

void loadWindowState ( )
protected

◆ logMap()

void logMap ( )
protected

◆ notifyTabWidgetOfSelectionChange() [1/7]

QPair< bool, QString > notifyTabWidgetOfSelectionChange ( const ChildItemSelectionData selectionData,
Presentation::WorkspaceTabWidget tabWidget,
bool  selected 
)
protected
Returns
bool - true if the item was found inside the tabWidget workflow, QString -complete path to the connection's source operation (if found)

◆ notifyTabWidgetOfSelectionChange() [2/7]

QPair< bool, QString > notifyTabWidgetOfSelectionChange ( const ConnectionAnchorData anchorData,
Presentation::WorkspaceTabWidget tabWidget,
bool  selected 
)
protected
Returns
bool - true if the connection anchor was found inside the tabWidget workflow, QString path to the Workspace containing the anchor (if found)

◆ notifyTabWidgetOfSelectionChange() [3/7]

QPair< bool, QString > notifyTabWidgetOfSelectionChange ( const ConnectionData connection,
Presentation::WorkspaceTabWidget tabWidget,
bool  selected 
)
protected
Returns
bool - true if the connection was found inside the tabWidget workflow, QString -complete path to the connection's source operation (if found)

◆ notifyTabWidgetOfSelectionChange() [4/7]

QPair< bool, QString > notifyTabWidgetOfSelectionChange ( const DisplayData selectionData,
Presentation::WorkspaceTabWidget tabWidget,
bool  selected 
)
protected
Returns
bool - true if the item was found inside the tabWidget workflow, QString -complete path to the connection's source operation (if found)

◆ notifyTabWidgetOfSelectionChange() [5/7]

QPair< bool, QString > notifyTabWidgetOfSelectionChange ( const NoteData noteData,
Presentation::WorkspaceTabWidget tabWidget,
bool  selected 
)
protected
Returns
bool - true if the note was found inside the tabWidget workflow, QString -complete path to the connection's source operation (if found)

◆ notifyTabWidgetOfSelectionChange() [6/7]

QPair< bool, QString > notifyTabWidgetOfSelectionChange ( const QUuid &  opId,
Presentation::WorkspaceTabWidget tabWidget,
bool  selected 
)
protected
Returns
bool - true if the operation were found inside the tabWidget workflow, QString -complete path to the connection's source operation (if found)

◆ notifyTabWidgetOfSelectionChange() [7/7]

QPair< bool, QString > notifyTabWidgetOfSelectionChange ( const WorkspaceData id,
Presentation::WorkspaceTabWidget tabWidget,
bool  selected 
)
protected

◆ on_actionConfigure_application_triggered

void on_actionConfigure_application_triggered ( )
virtualslot

◆ on_actionGroup_by_workspace_toggled

void on_actionGroup_by_workspace_toggled ( )
slot

◆ on_actionToggleDependencies_toggled

void on_actionToggleDependencies_toggled ( )
virtualslot

◆ on_actionView_ghost_elements_toggled

virtual void on_actionView_ghost_elements_toggled ( )
pure virtualslot

◆ on_actionWorkspaceIovVisibilityPolicy_triggered

void on_actionWorkspaceIovVisibilityPolicy_triggered ( )
virtualslot

◆ on_actionZoomFitSelection_triggered

void on_actionZoomFitSelection_triggered ( )
virtualslot

◆ onActionIgnoredItemsTriggered

void onActionIgnoredItemsTriggered ( )
virtualslot

◆ onColoursChanged

void onColoursChanged ( const QSet< QString > &  colours)
protectedvirtualslot

◆ onConnectionSelectionChangedByDiffWidget

void onConnectionSelectionChangedByDiffWidget ( const ConnectionData data,
bool  selected,
bool  notifyDiffWidgets = true,
bool  notifyTabWidgets = true 
)
virtualslot

◆ onConnectionSelectionChangedByTabWidget

void onConnectionSelectionChangedByTabWidget ( const DataExecution::Connection connection,
bool  selected 
)
virtualslot

◆ onCurrentWorkspaceTabChanged

void onCurrentWorkspaceTabChanged ( CSIRO::DataExecution::Workspace workspace)
protectedslot
Parameters
workspaceThe Workspace currently displayed by the sending WorkspaceTabWidget

◆ onDisplaySelectionChangedByDiffWidget

void onDisplaySelectionChangedByDiffWidget ( const DisplayData data,
bool  selected,
bool  notifyDiffWidgets = true,
bool  notifyTabWidgets = true 
)
virtualslot

◆ onFileNewTriggered

void onFileNewTriggered ( )
virtualslot

◆ onFileOpenTriggered

void onFileOpenTriggered ( )
slot

◆ onFileQuitTriggered

void onFileQuitTriggered ( )
slot

Quit the program

◆ onFileSaveAsTriggered

void onFileSaveAsTriggered ( )
slot

◆ onFileSaveTriggered

void onFileSaveTriggered ( )
slot

◆ onFindTriggered

void onFindTriggered ( )
virtualslot

◆ onHelpAboutTriggered

void onHelpAboutTriggered ( )
slot

◆ onNoteSelectionChangedByTabWidget

void onNoteSelectionChangedByTabWidget ( const QUuid &  wspId,
const QUuid &  noteItemId,
bool  selected 
)
virtualslot

◆ onOperationChildSelectionChangedByDiffWidget

void onOperationChildSelectionChangedByDiffWidget ( const ChildItemSelectionData data,
bool  selected,
bool  notifyDiffWidgets = true,
bool  notifyTabWidgets = true 
)
virtualslot
Parameters
dataIdentifying data for the selected row
selectedTrue if selected, false if deselected
notifyDiffWidgetsSet to false it you don't want it propagated to the other registered WorkflowDifferentWidgets
notifyTabWidgetsSet to false it you don't want it propagated to the WorkspaceTabWidgets

◆ onOperationSelectionChangedByDiffWidget

void onOperationSelectionChangedByDiffWidget ( const QUuid &  opId,
bool  selected,
bool  notifyDiffWidgets = true,
bool  notifyTabWidgets = true 
)
virtualslot
Parameters
opIdId of the selected operation
selectedTrue if selected, false if deselected
notifyDiffWidgetsSet to false it you don't want it propagated to the other registered WorkflowDifferentWidgets
notifyTabWidgetsSet to false it you don't want it propagated to the WorkspaceTabWidgets

◆ onOperationSelectionChangedByTabWidget

void onOperationSelectionChangedByTabWidget ( const QItemSelection &  selected,
const QItemSelection &  deselected 
)
virtualslot
Parameters
selectedThe list of items that have been selected
deselectedThe list of items that have been deselected

◆ onOpRunnerErrorReported

void onOpRunnerErrorReported ( )
protectedslot

◆ onSettingsChanged

void onSettingsChanged ( )
protectedvirtualslot

◆ onViewSynchronisationToggled

void onViewSynchronisationToggled ( bool  synchronise)
virtualslot

◆ onWorkflowSuccess

virtual void onWorkflowSuccess ( )
pure virtualslot

◆ onWorkspaceAnchorSelectionChangedByDiffWidget

void onWorkspaceAnchorSelectionChangedByDiffWidget ( const ConnectionAnchorData data,
bool  selected,
bool  notifyDiffWidgets = true,
bool  notifyTabWidgets = true 
)
virtualslot

◆ onWorkspaceNoteSelectionChangedByDiffWidget

void onWorkspaceNoteSelectionChangedByDiffWidget ( const NoteData data,
bool  selected,
bool  notifyDiffWidgets = true,
bool  notifyTabWidgets = true 
)
virtualslot
Parameters
dataId of the workspace that contains the note
selectedFalse if the connection is being deselected
notifyDiffWidgetstrue if any other diffwidgets should be notified
notifyTabWidgetstrue if the tabWidgets should be notified

◆ onWorkspaceSelectionChangedByDiffWidget

void onWorkspaceSelectionChangedByDiffWidget ( const WorkspaceData data,
bool  selected,
bool  notifyDiffWidgets = true,
bool  notifyTabWidgets = true 
)
virtualslot
Parameters
datadata identifying the selected workspace
selectedTrue if selected, false if deselected
notifyDiffWidgetsSet to false it you don't want it propagated to the other registered WorkflowDifferentWidgets
notifyTabWidgetsSet to false it you don't want it propagated to the WorkspaceTabWidgets

◆ openWorkflowInExternalApplication()

void openWorkflowInExternalApplication ( const QString &  filename)
protected
Parameters
filenameOpen the workflow in an external workflow editor

◆ progressMonitor()

QProgressDialog & progressMonitor ( )
inlineprotected

◆ registerDifferenceWidget()

QPair< bool, int > registerDifferenceWidget ( Tools::WorkflowDifferencesWidget widget,
Presentation::WorkspaceTabWidget tabA,
Presentation::WorkspaceTabWidget tabB,
const QString &  arrayName 
)
protected
Parameters
widgetThe WorkflowDifferenceWidget that displays differences between two workflows
tabAThe WorkspaceTabWidget that displays workflow A
tabBThe WorkspaceTabWidget that displays workflow B
arrayNameThe global name of the difference array being displayed
Returns
bool true if the widget was added successfully, false otherwise. Second returns the number of difference widgets now registered

◆ registerTabWidgetList()

int registerTabWidgetList ( QList< Presentation::WorkspaceTabWidget * >  list,
QAction *  toggleDimOperations 
)
protected

◆ resetUndoStack()

void resetUndoStack ( )
protected

◆ resetWindowState()

void resetWindowState ( )
protected

◆ restartRunner

void restartRunner ( )
protectedslot

◆ restoreSelection()

void restoreSelection ( )
protected

◆ saveProject()

void saveProject ( )
protectedvirtual

Reimplemented in WorkflowDiffMainWidget.

◆ saveSettings()

void saveSettings ( )
protected

◆ saveWindowState()

void saveWindowState ( )
protected

◆ selectionChangedByDiffWidget()

void selectionChangedByDiffWidget ( elementData,
bool  selected,
WorkflowDifferencesWidget sendingWidget,
bool  notifyDiffWidgets = true,
bool  notifyTabWidgets = true 
)
protected
Parameters
elementDataData needed to identify the selected element
selectedTrue it the row has been selected, false if deselected
sendingWidgetThe WorkflowDifferenceWidget whose row was selected by the user
notifyDiffWidgetsSet to false if you don't want any other WorkflowDifferenceWidgets updated
notifyTabWidgetsSet to false if you don't want the WorkspaceTabWidgets updated

◆ selectionChangedByExternalWidget()

void selectionChangedByExternalWidget ( elementData,
bool  selected,
bool  notifyDiffWidgets = true,
bool  notifyTabWidgets = true 
)
protected
Parameters
elementDataData needed to identify the selected element
selectedTrue it the row has been selected, false if deselected
notifyDiffWidgetsSet to false if you don't want the WorkflowDifferenceWidgets updated
notifyTabWidgetsSet to false if you don't want the WorkspaceTabWidgets updated

◆ selectionChangedByTabWidget()

void selectionChangedByTabWidget ( elementData,
bool  selected,
Presentation::WorkspaceTabWidget sendingWidget,
bool  notifyDiffWidgets = true,
bool  notifyTabWidgets = true 
)
protected
Parameters
elementDataData needed to identify the selected element
selectedTrue it the item has been selected, false if deselected
sendingWidgetThe WorkspaceTabWidget whose item was selected by the user
notifyDiffWidgetsSet to false if you don't want the WorkflowDifferenceWidgets updated
notifyTabWidgetsSet to false if you don't want the other WorkspaceTabWidgets updated

◆ selectMissingOperationStandins()

void selectMissingOperationStandins ( const QString &  opId,
bool  selected,
const QSet< QString > &  pathSet,
QList< Presentation::WorkspaceTabWidget * >  tabWidgets 
)
protected
Parameters
opIdId of the operation whose match is sought
selectedTrue if the operation should be selcted (false if deselected)
pathSetSet of paths from the root workspace to the operation collected from the WokspaceTabWidgets where the operation was found
tabWidgetsThe widgets displaying the Workflows where the standing Workflows need to be found

◆ setDefaultIgnoreLists()

void setDefaultIgnoreLists ( )
protectedvirtual

◆ setLogReportLevel()

void setLogReportLevel ( ReportingLevel  level)
Parameters
levelThe reporting level desired of the comparison operation.

◆ setProjectModified

void setProjectModified ( bool  val = true)
protectedslot

◆ setProjectName()

void setProjectName ( const QString &  projectName)
protected
Parameters
projectNameSets the name of the project.

◆ setTabWorkspaceConnected()

void setTabWorkspaceConnected ( TabPair  b,
bool  value 
)
protected

◆ setupColours()

void setupColours ( Presentation::WorkspaceTabWidget frame,
QLabel &  label,
int  borderWidth,
QColor  colour 
) const
protected

◆ setupLogDock()

void setupLogDock ( QMenu *  menuDocks,
QDockWidget *  dockLog 
)
protected

◆ setupUndoActions()

void setupUndoActions ( QMenu *  menuEdit)
protected

◆ setWorkflowEditorApplication()

bool setWorkflowEditorApplication ( )
protected
Returns
True if the workflow editor was set correctly, false otherwise.

◆ startSignalBlock()

void startSignalBlock ( )

◆ stopOpRunner()

void stopOpRunner ( )
protected

Cancels the operation.

◆ storeCurrentSelection()

void storeCurrentSelection ( )
protected

◆ synchroniseTabSelection()

void synchroniseTabSelection ( elementData,
bool  selected,
Presentation::WorkspaceTabWidget sendingWidget = nullptr 
)
protected
Parameters
elementDataData needed to identify the selected element
selectedTrue it the item has been selected, false if deselected
sendingWidgetThe address of the original WorkspaceTabWidget if there is one

◆ synchroniseViewportInteractions()

void synchroniseViewportInteractions ( QList< TabPair connectList,
QList< TabPair disconnectList 
)
protected

◆ tabPairMap()

QMap< TabPair, int > tabPairMap ( ) const
inlineprotected

◆ updateDifferenceListSettings()

void updateDifferenceListSettings ( )
protected

Reloads configuration settings for the WorkspaceDifferenceWidgets

◆ updateIovVisibilityPolicy()

void updateIovVisibilityPolicy ( )
protected

◆ updateProgressAndCheckForCancellation()

bool updateProgressAndCheckForCancellation ( int  value,
const QString &  labelText 
)
protected
Returns
true if the cancel button has been pressed.

◆ updateWorkflowDifferencesContext()

void updateWorkflowDifferencesContext ( const QList< WorkflowDifferencesWidget * > &  widgets = QList<WorkflowDifferencesWidget*>())
protected

◆ workflowDifferencesWidgets()

const QList< WorkflowDifferencesWidget * > workflowDifferencesWidgets ( )
protected

◆ workspaceTabWidgets()

const QList< Presentation::WorkspaceTabWidget * > workspaceTabWidgets ( )
protected

Member Data Documentation

◆ actionGroupByWorkspace_

QAction* actionGroupByWorkspace_ {}
protected

◆ actionView_ghost_elements_

QAction* actionView_ghost_elements_ {}
protected

◆ appName_

QString appName_
protected

◆ fileNameFilter_

QStringList fileNameFilter_
protected

◆ findDialog_

std::unique_ptr<Presentation::FindDialog> findDialog_
protected

◆ opRunner_

◆ progressDialog_

std::unique_ptr<QProgressDialog> progressDialog_
protected

◆ progressMarker_

int progressMarker_ {-1}
protected

◆ projectDirectory_

QString projectDirectory_
protected

◆ projectModified_

bool projectModified_
protected

◆ projectName_

QString projectName_
protected

◆ projectSuffix_

QString projectSuffix_
protected

◆ qSettings_

QSettings qSettings_
protected

◆ recentFilesModel_

Presentation::RecentFilesModel recentFilesModel_
protected

◆ recentFilesView_

QScopedPointer<Presentation::RecentFilesMenuView> recentFilesView_
protected

◆ redoAction_

QAction* redoAction_ {}
protected

◆ reportingLevelComboBox_

QComboBox* reportingLevelComboBox_ {}
protected

◆ savedSelectedOp_

QString savedSelectedOp_
protected

◆ serializedTreeName_

QString serializedTreeName_
protected

◆ tabPairMap_

QMap<TabPair, int> tabPairMap_
protected

◆ tabSynchronisationMap_

QMap<int, bool> tabSynchronisationMap_
protected

◆ theWorkspace_

DataExecution::Workspace* theWorkspace_
protected

◆ title_

QString title_
protected

◆ undoAction_

QAction* undoAction_ {}
protected

◆ updatablesMonitor_

std::unique_ptr<DataExecution::UpdatablesObserverBase> updatablesMonitor_
protected

◆ viewsSynchronised_

bool viewsSynchronised_
protected

◆ workspaceIovVisibilityPolicyAction_

QAction* workspaceIovVisibilityPolicyAction_ {}
protected