36 #include <QApplication>
63 "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=";
72 QStringList standardToolbars;
73 standardToolbars <<
"Workflow" <<
"Navigation" <<
"Tools" <<
"Screenshot" <<
"Desktop";
77 desktop =
Desktop(
"LAYOUT_3D_ACS", QByteArray::fromBase64(
""));
79 toolbars << standardToolbars <<
"Data" <<
"Help";
80 this->addToolbarsToDesktop(desktop, toolbars);
81 desktop.
addPreset(
"MeshInfoWidget", Qt::LeftDockWidgetArea,
true);
82 desktop.
addPreset(
"VolumePropertiesWidget", Qt::LeftDockWidgetArea,
true);
83 desktop.
addPreset(
"SlicePropertiesWidget", Qt::LeftDockWidgetArea,
true);
84 desktop.
addPreset(
"DicomWidget", Qt::LeftDockWidgetArea,
true);
85 desktop.
addPreset(
"ConsoleWidget", Qt::LeftDockWidgetArea,
false);
86 desktop.
addPreset(
"HelpWidget", Qt::RightDockWidgetArea,
false);
87 mWorkflowDefaultDesktops[
"PatientDataUid"] = desktop;
91 desktop =
Desktop(
"LAYOUT_3D_ACS", QByteArray::fromBase64(
""));
93 toolbars << standardToolbars <<
"RegistrationHistory" <<
"Help";
94 this->addToolbarsToDesktop(desktop, toolbars);
95 desktop.
addPreset(
"ConsoleWidget", Qt::LeftDockWidgetArea,
true);
96 desktop.
addPreset(
"org_custusx_registration_gui_widget", Qt::LeftDockWidgetArea,
true);
97 desktop.
addPreset(
"RegistrationHistoryWidget", Qt::LeftDockWidgetArea,
false);
98 mWorkflowDefaultDesktops[
"RegistrationUid"] = desktop;
102 desktop =
Desktop(
"LAYOUT_3D_ACS", QByteArray::fromBase64(
""));
104 toolbars << standardToolbars <<
"Camera3DViews" <<
"Sampler" <<
"Help";
105 this->addToolbarsToDesktop(desktop, toolbars);
106 desktop.
addPreset(
"MeshInfoWidget", Qt::LeftDockWidgetArea,
true);
107 desktop.
addPreset(
"VolumePropertiesWidget", Qt::LeftDockWidgetArea,
true);
108 desktop.
addPreset(
"SlicePropertiesWidget", Qt::LeftDockWidgetArea,
true);
109 desktop.
addPreset(
"ConsoleWidget", Qt::LeftDockWidgetArea,
false);
110 mWorkflowDefaultDesktops[
"PreOpPlanningUid"] = desktop;
114 desktop =
Desktop(
"LAYOUT_3D_ACS", QByteArray::fromBase64(
""));
116 toolbars << standardToolbars <<
"InteractorStyle" <<
"ToolOffset" <<
"Help";
117 this->addToolbarsToDesktop(desktop, toolbars);
118 mWorkflowDefaultDesktops[
"NavigationUid"] = desktop;
122 desktop =
Desktop(
"LAYOUT_US_Acquisition", QByteArray::fromBase64(
""));
124 toolbars << standardToolbars <<
"Help";
125 this->addToolbarsToDesktop(desktop, toolbars);
126 desktop.
addPreset(
"IGTLinkWidget", Qt::LeftDockWidgetArea,
true);
127 desktop.
addPreset(
"USReconstruction", Qt::LeftDockWidgetArea,
true);
128 desktop.
addPreset(
"org_custusx_acquisition_widgets_acquisition", Qt::LeftDockWidgetArea,
true);
129 mWorkflowDefaultDesktops[
"IntraOpImagingUid"] = desktop;
133 desktop =
Desktop(
"LAYOUT_3D_ACS", QByteArray::fromBase64(
""));
135 toolbars << standardToolbars <<
"Sampler" <<
"Help";
136 this->addToolbarsToDesktop(desktop, toolbars);
137 desktop.
addPreset(
"MeshInfoWidget", Qt::LeftDockWidgetArea,
true);
138 desktop.
addPreset(
"VolumePropertiesWidget", Qt::LeftDockWidgetArea,
true);
139 desktop.
addPreset(
"SlicePropertiesWidget", Qt::LeftDockWidgetArea,
true);
140 desktop.
addPreset(
"MetricWidget", Qt::LeftDockWidgetArea,
true);
141 desktop.
addPreset(
"ConsoleWidget", Qt::LeftDockWidgetArea,
false);
142 desktop.
addPreset(
"PlaybackWidget", Qt::BottomDockWidgetArea,
false);
143 mWorkflowDefaultDesktops[
"PostOpControllUid"] = desktop;
147 void ApplicationsParser::addToolbarsToDesktop(
Desktop& desktop, QStringList toolbars)
149 for (
int i=0; i<toolbars.size(); ++i)
151 desktop.
addPreset(toolbars[i]+
"ToolBar", Qt::TopToolBarArea);
155 void ApplicationsParser::addDefaultDesktops(QString workflowStateUid, QString layoutUid, QString mainwindowstate)
157 mWorkflowDefaultDesktops[workflowStateUid] = Desktop(layoutUid,
158 QByteArray::fromBase64(mainwindowstate.toLatin1()));
164 if (!mWorkflowDefaultDesktops.count(workflowName))
165 return mWorkflowDefaultDesktops[
"DEFAULT"];
166 return mWorkflowDefaultDesktops[workflowName];
174 QDomElement desktopElement;
175 if (workflowElement.namedItem(
"custom").isNull())
181 desktopElement = workflowElement.namedItem(
"custom").toElement();
183 retval.
mMainWindowState = QByteArray::fromBase64(desktopElement.attribute(
"mainwindowstate").toLatin1());
184 retval.
mLayoutUid = desktopElement.attribute(
"layoutuid");
196 desktopElement.setAttribute(
"mainwindowstate", QString(desktop.
mMainWindowState.toBase64()));
197 desktopElement.setAttribute(
"layoutuid", desktop.
mLayoutUid);
205 retval = retval.
descend(
"workflows");
214 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