36 #include <QApplication>
64 "AAAA/wAAAAD9AAAAAgAAAAAAAAGEAAADlvwCAAAACvsAAAAiAEMAbwBuAHQAZQB4AHQARABvAGMAawBXAGkAZABnAGUAdAEAAAMgAAAAWgAAAAAAAAAA+wAAADIASQBtAGEAZwBlAFAAcgBvAHAAZQByAHQAaQBlAHMARABvAGMAawBXAGkAZABnAGUAdAEAAAM0AAAAuwAAAAAAAAAA/AAAAEEAAAI7AAACAwEAAB36AAAAAAEAAAAV+wAAAEAAVgBvAGwAdQBtAGUAUAByAG8AcABlAHIAdABpAGUAcwBXAGkAZABnAGUAdABEAG8AYwBrAFcAaQBkAGcAZQB0AQAAAAD/////AAABGQD////7AAAAPABNAGUAcwBoAFAAcgBvAHAAZQByAHQAaQBlAHMAVwBpAGQAZwBlAHQARABvAGMAawBXAGkAZABnAGUAdAEAAAAA/////wAAAP4A////+wAAADoAUABvAGkAbgB0AFMAYQBtAHAAbABpAG4AZwBXAGkAZABnAGUAdABEAG8AYwBrAFcAaQBkAGcAZQB0AAAAAAD/////AAAAAAAAAAD7AAAAOgBDAGEAbQBlAHIAYQBDAG8AbgB0AHIAbwBsAFcAaQBkAGcAZQB0AEQAbwBjAGsAVwBpAGQAZwBlAHQAAAAAAP////8AAAAAAAAAAPsAAAAuAEkARwBUAEwAaQBuAGsAVwBpAGQAZwBlAHQARABvAGMAawBXAGkAZABnAGUAdAAAAAAA/////wAAAUEA////+wAAADgAVQBTAEEAYwBxAHUAcwBpAHQAaQBvAG4AVwBpAGQAZwBlAHQARABvAGMAawBXAGkAZABnAGUAdAAAAAAA/////wAAANQA////+wAAAEIAVAByAGEAYwBrAGUAZABDAGUAbgB0AGUAcgBsAGkAbgBlAFcAaQBkAGcAZQB0AEQAbwBjAGsAVwBpAGQAZwBlAHQAAAAAAP////8AAADDAP////sAAAA0AE4AYQB2AGkAZwBhAHQAaQBvAG4AVwBpAGQAZwBlAHQARABvAGMAawBXAGkAZABnAGUAdAAAAAAA/////wAAAMEA////+wAAADIARgByAGEAbQBlAFQAcgBlAGUAVwBpAGQAZwBlAHQARABvAGMAawBXAGkAZABnAGUAdAAAAAAA/////wAAAGYA////+wAAADwAVABvAG8AbABQAHIAbwBwAGUAcgB0AGkAZQBzAFcAaQBkAGcAZQB0AEQAbwBjAGsAVwBpAGQAZwBlAHQBAAAAAP////8AAAGEAP////sAAABGAFIAZQBnAGkAcwB0AHIAYQB0AGkAbwBuAEgAaQBzAHQAbwByAHkAVwBpAGQAZwBlAHQARABvAGMAawBXAGkAZABnAGUAdAAAAAAA/////wAAAQIA////+wAAAEQAQwBhAGwAaQBiAHIAYQB0AGkAbwBuAE0AZQB0AGgAbwBkAHMAVwBpAGQAZwBlAHQARABvAGMAawBXAGkAZABnAGUAdAAAAAAA/////wAAAZMA////+wAAAEgAVgBpAHMAdQBhAGwAaQB6AGEAdABpAG8AbgBNAGUAdABoAG8AZABzAFcAaQBkAGcAZQB0AEQAbwBjAGsAVwBpAGQAZwBlAHQAAAAAAP////8AAAFMAP////sAAABGAFMAZQBnAG0AZQBuAHQAYQB0AGkAbwBuAE0AZQB0AGgAbwBkAHMAVwBpAGQAZwBlAHQARABvAGMAawBXAGkAZABnAGUAdAAAAAAA/////wAAAPEA////+wAAAEYAUgBlAGcAaQBzAHQAcgBhAHQAaQBvAG4ATQBlAHQAaABvAGQAcwBXAGkAZABnAGUAdABEAG8AYwBrAFcAaQBkAGcAZQB0AAAAAAD/////AAABYgD////7AAAAPgBJAG0AYQBnAGUAUAByAG8AcABlAHIAdABpAGUAcwBXAGkAZABnAGUAdABEAG8AYwBrAFcAaQBkAGcAZQB0AQAAAAD/////AAAA8AD////7AAAAFABEAG8AYwBrAFcAaQBkAGcAZQB0AAAAAAAAAAGBAAABSgD////7AAAALABNAGUAdAByAGkAYwBXAGkAZABnAGUAdABEAG8AYwBrAFcAaQBkAGcAZQB0AAAAAAD/////AAAAZgD////7AAAALABFAHIAYQBzAGUAcgBXAGkAZABnAGUAdABEAG8AYwBrAFcAaQBkAGcAZQB0AAAAAAD/////AAAA2wD////7AAAAMABUAHIAYQBjAGsAUABhAGQAVwBpAGQAZwBlAHQARABvAGMAawBXAGkAZABnAGUAdAAAAAAA/////wAAAHQA////+wAAADYAVwBpAHIAZQBQAGgAYQBuAHQAbwBtAFcAaQBkAGcAZQB0AEQAbwBjAGsAVwBpAGQAZwBlAHQAAAAAAP////8AAADyAP////wAAAKCAAABVQAAAL4BAAAd+gAAAAEBAAAAAvsAAAAuAEMAbwBuAHMAbwBsAGUAVwBpAGQAZwBlAHQARABvAGMAawBXAGkAZABnAGUAdAEAAAAA/////wAAAFQA////+wAAAC4AQgByAG8AdwBzAGUAcgBXAGkAZABnAGUAdABEAG8AYwBrAFcAaQBkAGcAZQB0AQAAAAAAAAFvAAAAiAD////8AAADKAAAAMsAAAAAAP////oAAAAAAQAAAAH7AAAAQABUAHIAYQBuAHMAZgBlAHIARgB1AG4AYwB0AGkAbwBuAFcAaQBkAGcAZQB0AEQAbwBjAGsAVwBpAGQAZwBlAHQBAAAAAP////8AAAAAAAAAAPsAAAA+AFMAaABpAGYAdABDAG8AcgByAGUAYwB0AGkAbwBuAFcAaQBkAGcAZQB0AEQAbwBjAGsAVwBpAGQAZwBlAHQAAAAAAP////8AAAAAAAAAAPsAAABCAEkAbQBhAGcAZQBSAGUAZwBpAHMAdAByAGEAdABpAG8AbgBXAGkAZABnAGUAdABEAG8AYwBrAFcAaQBkAGcAZQB0AAAAACwAAAS0AAAAAAAAAAD7AAAARgBQAGEAdABpAGUAbgB0AFIAZQBnAGkAcwB0AHIAYQB0AGkAbwBuAFcAaQBkAGcAZQB0AEQAbwBjAGsAVwBpAGQAZwBlAHQAAAAAAP////8AAAAAAAAAAPwAAAJdAAABQAAAAAAA////+gAAAAABAAAAAfsAAAAUAEQAbwBjAGsAVwBpAGQAZwBlAHQBAAAAAP////8AAAAAAAAAAPsAAAA2AFQAbwBvAGwATQBhAG4AYQBnAGUAcgBXAGkAZABnAGUAdABEAG8AYwBrAFcAaQBkAGcAZQB0AAAAAAD/////AAAAiAD///8AAAADAAAAAAAAAAD8AQAAAAH7AAAAMABQAGwAYQB5AGIAYQBjAGsAVwBpAGQAZwBlAHQARABvAGMAawBXAGkAZABnAGUAdAAAAAAA/////wAAAVMA////AAAF9gAAA5YAAAAEAAAABAAAAAgAAAAI/AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAACQAAAB4AVwBvAHIAawBmAGwAbwB3AFQAbwBvAGwAQgBhAHIBAAAAAP////8AAAAAAAAAAAAAABYARABhAHQAYQBUAG8AbwBsAEIAYQByAQAAAOX/////AAAAAAAAAAAAAAAiAE4AYQB2AGkAZwBhAHQAaQBvAG4AVABvAG8AbABCAGEAcgEAAAGC/////wAAAAAAAAAAAAAAJgBDAGEAbQBlAHIAYQAzAEQAVgBpAGUAdwBUAG8AbwBsAEIAYQByAQAAAfv/////AAAAAAAAAAAAAAAWAFQAbwBvAGwAVABvAG8AbABCAGEAcgEAAAME/////wAAAAAAAAAAAAAAIgBTAGMAcgBlAGUAbgBzAGgAbwB0AFQAbwBvAGwAQgBhAHIBAAADWf////8AAAAAAAAAAAAAABwARABlAHMAawB0AG8AcABUAG8AbwBsAEIAYQByAQAAA4r/////AAAAAAAAAAAAAAAsAEkAbgB0AGUAcgBhAGMAdABvAHIAUwB0AHkAbABlAFQAbwBvAGwAQgBhAHIAAAAD3/////8AAAAAAAAAAAAAABYASABlAGwAcABUAG8AbwBsAEIAYQByAQAAA98AAAF4AAAAAAAAAAA=";
74 desktop =
Desktop(
"LAYOUT_3D_ACS", QByteArray::fromBase64(
""));
76 toolbars <<
"Workflow" <<
"Data" <<
"Navigation" <<
"Tools" <<
"Screenshot" <<
"Desktop" <<
"Help";
77 this->addToolbarsToDesktop(desktop, toolbars);
78 desktop.
addPreset(
"VolumePropertiesWidget", Qt::LeftDockWidgetArea,
true);
79 desktop.
addPreset(
"SlicePropertiesWidget", Qt::LeftDockWidgetArea,
true);
80 desktop.
addPreset(
"DicomWidget", Qt::LeftDockWidgetArea,
true);
81 desktop.
addPreset(
"ConsoleWidget", Qt::LeftDockWidgetArea,
false);
82 desktop.
addPreset(
"HelpWidget", Qt::RightDockWidgetArea,
false);
83 mWorkflowDefaultDesktops[
"PatientDataUid"] = desktop;
87 desktop =
Desktop(
"LAYOUT_3D_ACS", QByteArray::fromBase64(
""));
89 toolbars <<
"Workflow" <<
"Navigation" <<
"Tools" <<
"Screenshot" <<
"Desktop" <<
"RegistrationHistory" <<
"Help";
90 this->addToolbarsToDesktop(desktop, toolbars);
91 desktop.
addPreset(
"ConsoleWidget", Qt::LeftDockWidgetArea,
true);
92 desktop.
addPreset(
"org_custusx_registration_gui_widget", Qt::LeftDockWidgetArea,
true);
93 desktop.
addPreset(
"RegistrationHistoryWidget", Qt::LeftDockWidgetArea,
false);
94 mWorkflowDefaultDesktops[
"RegistrationUid"] = desktop;
98 desktop =
Desktop(
"LAYOUT_3D_ACS", QByteArray::fromBase64(
""));
100 toolbars <<
"Workflow" <<
"Navigation" <<
"Tools" <<
"Screenshot" <<
"Desktop" <<
"Camera3DViews" <<
"Sampler" <<
"Help";
101 this->addToolbarsToDesktop(desktop, toolbars);
102 desktop.
addPreset(
"VolumePropertiesWidget", Qt::LeftDockWidgetArea,
true);
103 desktop.
addPreset(
"SlicePropertiesWidget", Qt::LeftDockWidgetArea,
true);
104 desktop.
addPreset(
"ConsoleWidget", Qt::LeftDockWidgetArea,
false);
105 mWorkflowDefaultDesktops[
"PreOpPlanningUid"] = desktop;
109 desktop =
Desktop(
"LAYOUT_3D_ACS", QByteArray::fromBase64(
""));
111 toolbars <<
"Workflow" <<
"Navigation" <<
"Tools" <<
"Screenshot" <<
"Desktop" <<
"InteractorStyle" <<
"ToolOffset" <<
"Help";
112 this->addToolbarsToDesktop(desktop, toolbars);
113 mWorkflowDefaultDesktops[
"NavigationUid"] = desktop;
117 desktop =
Desktop(
"LAYOUT_US_Acquisition", QByteArray::fromBase64(
""));
119 toolbars <<
"Workflow" <<
"Navigation" <<
"Tools" <<
"Screenshot" <<
"Desktop" <<
"Help";
120 this->addToolbarsToDesktop(desktop, toolbars);
121 desktop.
addPreset(
"IGTLinkWidget", Qt::LeftDockWidgetArea,
true);
122 desktop.
addPreset(
"USReconstruction", Qt::LeftDockWidgetArea,
true);
123 desktop.
addPreset(
"USAcqusitionWidget", Qt::LeftDockWidgetArea,
true);
124 mWorkflowDefaultDesktops[
"IntraOpImagingUid"] = desktop;
128 desktop =
Desktop(
"LAYOUT_3D_ACS", QByteArray::fromBase64(
""));
130 toolbars <<
"Workflow" <<
"Navigation" <<
"Screenshot" <<
"Desktop" <<
"Sampler" <<
"Help";
131 this->addToolbarsToDesktop(desktop, toolbars);
132 desktop.
addPreset(
"VolumePropertiesWidget", Qt::LeftDockWidgetArea,
true);
133 desktop.
addPreset(
"SlicePropertiesWidget", Qt::LeftDockWidgetArea,
true);
134 desktop.
addPreset(
"MetricWidget", Qt::LeftDockWidgetArea,
true);
135 desktop.
addPreset(
"ConsoleWidget", Qt::LeftDockWidgetArea,
false);
136 desktop.
addPreset(
"PlaybackWidget", Qt::BottomDockWidgetArea,
false);
137 mWorkflowDefaultDesktops[
"PostOpControllUid"] = desktop;
168 void ApplicationsParser::addToolbarsToDesktop(
Desktop& desktop, QStringList toolbars)
170 for (
int i=0; i<toolbars.size(); ++i)
172 desktop.
addPreset(toolbars[i]+
"ToolBar", Qt::TopToolBarArea);
176 void ApplicationsParser::addDefaultDesktops(QString workflowStateUid, QString layoutUid, QString mainwindowstate)
178 mWorkflowDefaultDesktops[workflowStateUid] = Desktop(layoutUid,
179 QByteArray::fromBase64(mainwindowstate.toLatin1()));
185 if (!mWorkflowDefaultDesktops.count(workflowName))
186 return mWorkflowDefaultDesktops[
"DEFAULT"];
187 return mWorkflowDefaultDesktops[workflowName];
195 QDomElement desktopElement;
196 if (workflowElement.namedItem(
"custom").isNull())
202 desktopElement = workflowElement.namedItem(
"custom").toElement();
204 retval.
mMainWindowState = QByteArray::fromBase64(desktopElement.attribute(
"mainwindowstate").toLatin1());
205 retval.
mLayoutUid = desktopElement.attribute(
"layoutuid");
217 desktopElement.setAttribute(
"mainwindowstate", QString(desktop.
mMainWindowState.toBase64()));
218 desktopElement.setAttribute(
"layoutuid", desktop.
mLayoutUid);
226 retval = retval.
descend(
"workflows");
235 workflowElement.removeChild(workflowElement.namedItem(
"custom"));
ProfilePtr activeProfile()
void setDesktop(QString workflowName, Desktop desktop)
QDomElement getElement()
return the current element
void resetDesktop(QString workflowName)
static ProfileManager * getInstance()
returns the only instance of this class
QByteArray mMainWindowState
Data class for CustusX desktop.
void save()
save entire document.
QString mSecondaryLayoutUid
Desktop getDefaultDesktop(QString workflowName)
void addPreset(QString name, int pos, bool tabbed=true)
Helper class for xml files used to store ssc/cx data.
Desktop getDesktop(QString workflowName)
XmlOptionFile descend(QString element) const
step one level down in the xml tree