11 #ifndef MORPHOGRAPHX_H
12 #define MORPHOGRAPHX_H
30 #include <ui_EditParms.h>
31 #include <ui_ProcessDocs.h>
33 class QDragEnterEvent;
38 class QFileSystemWatcher;
56 MorphoGraphX(QString appdir,QStringList addLibraries = QStringList());
70 QDialog* editParmsDlog;
71 Ui_EditParmsDialog* editParmsDialog;
85 QString currentProcessName;
86 bool currentProcessInTasks;
88 mgx::SetupProcess* currentSetup;
90 QList<QFileInfo> addedLibFiles;
91 QList<Library*> loadedLibs;
92 #ifdef WATCH_PROCESS_FOLDERS
93 QFileSystemWatcher* processWatcher;
94 QTimer* processReloadTimer;
96 QAction* resetParametersAct;
97 QAction* editTasksAct;
99 QMap<QString, mgx::ProcessDefinition> savedProc;
103 QPointer<PathEditorDlg> editPathsDlg;
104 QPointer<LabelEditorDlg> labelEditorDlg;
106 const QString& projectFile()
const;
107 QHash<QString, QTreeWidgetItem*> stackFolders, meshFolders, ccFolders, miscFolders, dynamXFolders;
113 bool LaunchProcess(
const QString& processName, QStringList& parms,
126 return currentProcess != 0;
138 void connectControlsIn();
139 void connectControlsOut();
142 void clearMeshSelect();
144 void readProcessParms();
145 void createSetupProcess();
147 QTreeWidgetItem* getFolder(QString name,
148 QHash<QString, QTreeWidgetItem*>& folders, QTreeWidget* tree);
150 void updateDefinitions(QMap<QString, mgx::ProcessDefinition>& procDefs,
151 mgx::ProcessFactoryPtr factory,
const
152 QMap<QString, mgx::ProcessDefinition>& oldProcDefs);
153 void setProjectFile(
const QString &f);
158 void setCurrentStack(
mgx::Process *proc,
const QString &store,
int id);
160 float overSampling,
int width,
int height,
int quality,
bool expandFrustum);
162 void setStatus(QString fileName,
bool alsoPrint =
true);
195 void FileOpen(
const QString& filename);
198 void AutoOpen(
const QString& filename = QString(),
int stack = 0,
bool main =
true);
211 void stack1UnloadedSlot();
212 void stack2UnloadedSlot();
216 void RotateSlot(
bool checked);
218 void ProcessCommandSlot(QTreeWidgetItem* current, QTreeWidgetItem* prev);
219 void ProcessTasksCommandSlot(QTreeWidgetItem* current, QTreeWidgetItem* prev);
220 void SeedStackSlot(
bool val);
221 void VoxelEditRadiusSlot(
int val) {
224 void FillWorkDataSlot(
bool val) {
228 void LoadView(
const QString& filename);
229 void SaveView(
const QString& filename);
231 void FileEditPathsSlot();
234 void FileSaveAsSlot();
235 void FileQuickSaveSlot();
238 void GlobalContrastSlot();
239 void GlobalBrightnessSlot();
241 void Stack1ImportSlot();
242 void Stack1ImportSeriesSlot();
243 void Stack1SaveSlot();
244 void Stack1OpenSlot();
245 void Stack1ExportSlot();
246 void Stack1ResetSlot();
247 void Stack2ImportSlot();
248 void Stack2ImportSeriesSlot();
249 void Stack2SaveSlot();
250 void Stack2OpenSlot();
251 void Stack2ExportSlot();
252 void Stack2ResetSlot();
254 void Stack1WorkImportSlot();
255 void Stack1WorkImportSeriesSlot();
256 void Stack1WorkSaveSlot();
257 void Stack1WorkOpenSlot();
258 void Stack1WorkExportSlot();
259 void Stack2WorkImportSlot();
260 void Stack2WorkImportSeriesSlot();
261 void Stack2WorkSaveSlot();
262 void Stack2WorkOpenSlot();
263 void Stack2WorkExportSlot();
265 void Mesh1ImportSlot();
266 void Mesh1ExportSlot();
267 void Mesh1LoadSlot();
268 void Mesh1SaveSlot();
269 void Mesh1ResetSlot();
270 void Mesh2ImportSlot();
271 void Mesh2ExportSlot();
272 void Mesh2LoadSlot();
273 void Mesh2SaveSlot();
274 void Mesh2ResetSlot();
276 void MeshSelectAll();
278 void MeshInvertSelection();
279 void MeshAddCurrentLabel();
280 void MeshAddUnlabeled();
281 void MeshRemoveCurrentLabel();
282 void ChangeCurrentSeed();
284 void Mesh1ManageAttributes();
285 void Mesh2ManageAttributes();
287 void UserManualSlot();
289 void QGLViewerHelpSlot();
292 void LabelColorSlot();
293 void LabelColorSlot(QIcon& icon);
295 void on_actionAddNewSeed_triggered(
bool on);
296 void on_actionAddCurrentSeed_triggered(
bool on);
297 void on_actionPickLabel_triggered(
bool on);
298 void on_actionGrabSeed_triggered(
bool on);
299 void on_actionFillLabel_triggered(
bool on);
300 void on_actionPickFillLabel_triggered(
bool on);
301 void on_actionPickFillParent_triggered(
bool on);
302 void on_actionMeshSelect_toggled(
bool on);
303 void on_actionLassoSelect_toggled(
bool on);
304 void on_actionTriangleSelect_toggled(
bool on);
305 void on_actionLabelSelect_triggered(
bool on);
306 void on_actionConnectedSelect_triggered(
bool on);
308 void on_actionPickVolLabel_triggered(
bool on);
309 void on_actionPickFillVolumeLabel_triggered(
bool on);
310 void on_actionFillVolumeLabel_triggered(
bool on);
311 void on_actionVoxelEdit_triggered(
bool on);
312 void on_actionDeleteVolumeLabel_triggered(
bool on);
314 void on_actionRewind_triggered(
bool on);
315 void on_actionStop_triggered(
bool on);
316 void on_actionStep_triggered(
bool on);
317 void on_actionRun_triggered(
bool on);
319 void EraseSelectSlot();
320 void FillSelectSlot();
321 void DeleteSelectionSlot();
322 void EditParmsSlot();
323 void ProcessDocsSlot();
324 void ColorPaletteSlot();
325 void LabelsEditSlot(
bool on);
326 void EditParmsSaveAsSlot();
327 void SwapSurfacesSlot();
328 void ProgressStopSlot();
330 void ProcessCommandTabSlot(
int tab);
332 void SaveProcessesParameters();
333 void RecallProcessesParameters();
334 void ReloadProcesses();
335 void ProcessCommandFinished();