SMILX  1.01
milxQtMain.h
1 /*=========================================================================
2  The Software is copyright (c) Commonwealth Scientific and Industrial Research Organisation (CSIRO)
3  ABN 41 687 119 230.
4  All rights reserved.
5 
6  Licensed under the CSIRO BSD 3-Clause License
7  You may not use this file except in compliance with the License.
8  You may obtain a copy of the License in the file LICENSE.md or at
9 
10  https://stash.csiro.au/projects/SMILI/repos/smili/browse/license.txt
11 
12  Unless required by applicable law or agreed to in writing, software
13  distributed under the License is distributed on an "AS IS" BASIS,
14  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  See the License for the specific language governing permissions and
16  limitations under the License.
17 =========================================================================*/
18 #ifndef MILXQTMAIN_H
19 #define MILXQTMAIN_H
20 //Qt
21 #include <QPointer>
22 #include <QMainWindow>
23 #include <QTabWidget>
24 #include <QWorkspace>
25 #include <QList>
26 #include <QWebView>
27 //VTK
28 #include <vtkEventQtSlotConnect.h>
29 //Displays
30 #include "milxQtImage.h"
31 #include "milxQtModel.h"
32 #include "milxQtUnifiedWindow.h"
33 #include "milxQtPluginInterface.h"
34 
50 
57 
60 
66 
85 class MILXQT_EXPORT milxQtMain : public QMainWindow
86 {
87  Q_OBJECT
88 
89 public:
94  milxQtMain(QWidget *theParent = 0);
99  virtual ~milxQtMain();
100 
105  QString activeName();
110  QString activeNamePrefix();
111 
112  //Options
117  inline void preferWhiteBackground(const bool whiteBack)
118  { whiteBackground = whiteBack; }
119  inline bool isWhiteBackgroundPreferred()
120  { return whiteBackground; }
125  inline void preferHumanGlyph(const bool human)
126  { humanGlyph = human; }
127  inline bool isHumanGlyphPreferred()
128  { return humanGlyph; }
133  inline void preferSubWindowSize(const int winSize)
134  { subWindowSize = winSize; }
135  inline int hasPreferredSubWindowSize()
136  { return subWindowSize; }
141  inline void preferMaximumProcessors(const int procs)
142  { maxProcessors = procs; }
143  inline int hasMaximumProcessors()
144  { return maxProcessors; }
149  inline void preferScreenshotMagnifyFactor(const int factor)
150  { magnifyFactor = factor; }
151  inline int hasScreenshotMagnifyFactor()
152  { return magnifyFactor; }
157  inline void preferTimestamps(const bool timestamps)
158  { timestamping = timestamps; }
159  inline bool isTimestampsPreferred()
160  { return timestamping; }
165  inline void preferImageInterpolation(const bool interp)
166  { interpolationImages = interp; }
167  inline bool isImageInterpolationPreferred()
168  { return interpolationImages; }
173  inline void preferOrientation(const bool orient)
174  { orientationImages = orient; }
175  inline bool isOrientationPreferred()
176  { return orientationImages; }
181  inline void preferModelInterpolation(const bool interp)
182  { interpolationModels = interp; }
183  inline bool isModelInterpolationPreferred()
184  { return interpolationModels; }
189  inline void preferScalarBar(const bool bar)
190  { scalarBarModels = bar; }
191  inline bool isScalarBarPreferred()
192  { return scalarBarModels; }
193 
194 public slots:
199  bool isRender(QWidget *win);
204  bool isActiveRender();
209  milxQtRenderWindow* activeRender();
214  bool isImage(QWidget *win);
219  bool isActiveImage();
224  milxQtImage* activeImage();
229  bool isModel(QWidget *win);
234  bool isActiveModel();
239  milxQtModel* activeModel();
244  bool isPlot(QWidget *win);
249  bool isActivePlot();
254  milxQtModel* activePlot();
259  bool isUnifiedWindow(QWidget *win);
264  bool isActiveUnifiedWindow();
269  milxQtUnifiedWindow* activeUnifiedWindow();
274  bool isActiveWebView();
279  QWebView* activeWebView();
284  void setActiveWindow(QWidget *currentWindow);
285 
290  void newTab();
295  bool open();
300  void openCollection();
305  void openSeries();
310  void openRecentFile();
315  void loadFiles(const QStringList &filenames);
320  bool loadFile(const QString &filename);
325  void setCurrentFile(const QString &fileName);
330  void updateRecentFileActions();
335  QActionGroup* updateWindowMenu();
340  QActionGroup* updateWindowListMenu(bool applyMapper = true);
345  QActionGroup* updateImportFromMenu(bool applyMapper = false);
350  void updateWindowsWithValue(int value);
355  void updateWindowsWithAutoLevel();
360  void updateWindowsWithRefresh();
365  void updateWindowsWithCursors();
370  void updateWindowsWithView(int value);
375  void updateWindowsWithViewType(int value);
380  void updateWindowsWithViewOrientation(int value);
387  QActionGroup* windowActionList(QMenu *menuForList, bool groupTogether = true, bool applyMapper = false);
388 
393  void save(QString filename = "");
398  void saveScreen(QString filename = "");
399 
404  void setTabName(QWidget *fromWindow);
409  void setTabName(const QString newName);
414  void closeTab(int index);
419  inline void closeTabActiveWindow()
420  {
421  qobject_cast<QWorkspace *>(workspaces->currentWidget())->closeActiveWindow();
422  }
427  inline void closeTabAllWindows()
428  {
429  qobject_cast<QWorkspace *>(workspaces->currentWidget())->closeAllWindows();
430  }
435  inline void cascadeTab()
436  {
437  qobject_cast<QWorkspace *>(workspaces->currentWidget())->cascade();
438  }
443  inline void tileTab()
444  {
445  qobject_cast<QWorkspace *>(workspaces->currentWidget())->tile();
446  }
451  void tileTabVertically();
456  void tileTabHorizontally();
461  void helpContents();
466  void preferences();
471  void controls();
476  void about();
477 
482  void working(int value);
487  void done(int value);
488 
493  void display(milxQtRenderWindow* rnd);
500  void predisplay(milxQtImage* img);
505  void display(milxQtImage* img);
510  void display(vtkImageData* img, QString nameOfImage);
515  void display(milxQtModel* mdl);
520  void display(vtkPolyData* newModel, QString nameOfModel);
525  void display(milxQtUnifiedWindow* uni);
530  void display(vtkPolyDataCollection *modelCollection, QStringList &filenames);
531 
536  void addRender(milxQtRenderWindow *rnd);
541  void addImage(milxQtImage *img);
546  void addModel(milxQtModel *mdl);
551  void addUnifiedWindow(milxQtUnifiedWindow *uni);
556  inline void addToUnifiedWindow(milxQtImage *img)
557  {
558  currentUnifiedWindow->addToWindow(img);
559  }
564  inline void addToUnifiedWindow(milxQtModel *mdl)
565  {
566  currentUnifiedWindow->addToWindow(mdl);
567  }
572  inline void showUnifiedWindow()
573  {
574  display(currentUnifiedWindow);
575  }
581  {
582  return currentUnifiedWindow;
583  }
588  void cleanUpOnClose(QWidget *win);
589 
590  //Window traversal
595  inline QWidgetList getListOfWindows()
596  {
597  return qobject_cast<QWorkspace *>(workspaces->currentWidget())->windowList();
598  }
603  inline int getNumberOfWindows()
604  {
605  return qobject_cast<QWorkspace *>(workspaces->currentWidget())->windowList().size();
606  }
611  int getNumberOfImageWindows();
616  int getNumberOfModelWindows();
621  inline int getNumberOfTabs()
622  {
623  return workspaces->count();
624  }
630  {
631  windowIterator = 0;
632  }
639  milxQtWindow* currentWindow();
646  milxQtWindow* nextWindow();
653  milxQtRenderWindow* nextRenderWindow();
660  milxQtModel* nextModel();
667  milxQtImage* nextImage();
668 
669  //Image-Model Inter-Members
674  void imageToSurface(vtkSmartPointer<vtkImageData> img, const float value = numeric_limits<float>::max());
679  void imageToPolyData(vtkSmartPointer<vtkImageData> img);
684  void imageToPseudoImage(vectorImageType::Pointer img);
689  void imageToVectorField(vectorImageType::Pointer img, floatImageType::Pointer magImg, int subsampleFactor = 0, float scaling = 0.0);
694  void imageToTensorField(vectorImageType::Pointer img, floatImageType::Pointer magImg, int subsampleFactor = 0, float scaling = 0.0);
699  void imageToStreamLines(vectorImageType::Pointer img, floatImageType::Pointer magImg, size_t subsampleFactor = 0);
704  void imageToVolume(vtkSmartPointer<vtkImageData> img, bool eightbit);
711  void imageToPlot(vtkSmartPointer<vtkImageData> img, int displaceAxis = 2);
716  void tableToPlot(vtkSmartPointer<vtkTable> tbl, QString title);
721  void voxeliseSurface(vtkSmartPointer<vtkPolyData> surface);
722 
723  //Batch
730  void imagesMix();
737  void imagesBlend(QVector<float> opacities);
744  void imagesAdd();
749  void imagesAverage();
756  void imagesSubtract();
763  void imagesMultiply();
770  void imagesConvolve();
777  void imagesMergeLabels();
778 
783  void unify();
788  inline void link()
789  { actionLinkWindows->setChecked(true); }
794  inline void unlink()
795  { actionLinkWindows->setChecked(false); }
800  void update();
805  void writeSettings();
810  void readSettings();
811 
816  bool loadPlugins();
821  inline QList< QPointer<milxQtPluginInterface> > getPlugins()
822  { return plugins; }
823 
824  //Print Members
829  inline void printError(QString msg)
830  { console->printError(msg); }
831 // { cerr << msg.toStdString() << endl; }
836  inline void printWarning(QString msg)
837  { console->printWarning(msg); }
838 // { cerr << msg.toStdString() << endl; }
843  inline void printDebug(QString msg)
844  { console->printDebug(msg); }
845 // { cerr << msg.toStdString() << endl; }
850  inline void printInfo(QString msg)
851  { console->printInfo(msg); }
852 // { cerr << msg.toStdString() << endl; }
853 
854 protected slots:
859  inline void redirectWindowActivated(QWidget *win)
860  {
861  emit windowActivated(win);
862  }
867  void transferViewToWindows(vtkObject *obj, unsigned long, void *client_data, void *, vtkCommand *command);
872  void dataMenu();
876  inline void updateQtEvents()
877  {
878  qApp->processEvents();
879  }
880 
881 signals:
886  void windowActivated(QWidget * win);
891  void displayed(milxQtRenderWindow*);
896  void displayed(milxQtImage*);
901  void displayed(milxQtModel*);
906  void displayed(milxQtUnifiedWindow*);
911  void updatedWindowListMenu(QActionGroup *);
916  void updatedWindowListMenu(QMenu *);
921  void updatedImportFromMenu(QActionGroup *);
926  void updatedImportFromMenu(QMenu *);
927 
928 protected:
929  bool debugMode;
930 
931  //Settings
933  bool humanGlyph;
942 
943  enum { MaxRecentFiles = 10 };
944  //Menus (hierarchical deletion)
945  QMenuBar* menuBar;
946  QMenu* menuFile;
947  QMenu* menuImages;
948  QMenu* menuData;
949  //QMenu* menuNew; //!< File menu
950  QMenu* menuWindows;
951  QMenu* menuHelp;
952 
955 
956  //File dialog attributes
957  QString saveSupport;
958  QString openSupport;
959 
960  //----File---- (hierarchical deletion)
961  QAction* actionOpen;
962  QAction* actionOpenSeries;
963  QAction* actionOpenCollect;
964  QAction* actionSave;
965  QAction* actionSaveScreen;
966  QAction* actionCloseActive;
967  QAction* actionCloseAll;
968  QAction* actionsRecentFile[MaxRecentFiles];
970  QAction* actionExit;
971  //----New---- (hierarchical deletion)
972  QAction* actionNewTab;
973  //----Images---- (hierarchical deletion)
974  QAction* actionBlendImages;
975  QAction* actionAddImages;
980  QAction* actionMergeLabels;
981  //----Windows---- (hierarchical deletion)
982  QAction* actionLinkWindows;
983  QAction* actionCascade;
984  QAction* actionTile;
987  QAction* actionConsole;
988  //----Help---- (hierarchical deletion)
989  QAction* actionContents;
990  QAction* actionPreferences;
991  QAction* actionControls;
992  QAction* actionAbout;
993 
994  //Common actions/menus
995  QAction* actionCompare;
996  QMenu* menuWindowList;
997  QMenu* importFromMenu;
998 
999  //Toolbars
1000  QToolBar* fileToolBar;
1001 // QToolBar* editToolBar; //!< Some actions from edit menu, like copy, paste etc.
1002  QToolBar* windowToolBar;
1003  QToolBar* defaultToolBar;
1004  QToolBar* imageToolBar;
1005 
1006  //Image toolbar actions
1007  QAction* actionImageText;
1008  QSlider* imageLevelSlider;
1009  QPushButton* imageLevelButton;
1010  //QDial* imageLevelDial; //!< adjust window level of image display via a dial
1011  QPushButton* refreshButton;
1012  QPushButton* cursorButton;
1013 
1014  //Workspaces (hierarchical deletion)
1015  QTabWidget* workspaces;
1016  QSignalMapper *windowMapper;
1017  //Plugins (Smart Pointer deletion)
1018  QList< QPointer<milxQtPluginInterface> > plugins;
1019  QList< QAction* > renderExtsActions;
1020  QList< QAction* > modelExtsActions;
1021  QList< QAction* > imageExtsActions;
1022  QList< QAction* > dockActions;
1023  //Bar (hierarchical deletion)
1024  QProgressBar *progressBar;
1025  //Console
1026  QPointer<milxQtConsole> console;
1027 
1028  //Default Comboboxes
1029  QComboBox *defaultViewBox;
1030  QComboBox *defaultViewTypeBox;
1032 
1033  QPointer<milxQtUnifiedWindow> currentUnifiedWindow;
1034  QList< QPointer<milxQtModel> > modelWindows;
1035  QList< QPointer<milxQtImage> > imageWindows;
1036 
1037  vtkSmartPointer<vtkEventQtSlotConnect> Connector;
1038 
1043  void linkProgressEventOf(vtkObject * obj);
1048  void commonChildProperties(QWidget *widget);
1053  void createMenu();
1058  void createComboBoxes();
1063  void createToolBars();
1068  void createConnections();
1073  void createProgressBar();
1078  void setupTooltips();
1083  void contextMenuEvent(QContextMenuEvent *event);
1088  inline QString strippedName(const QString &fullFileName)
1089  {
1090  return QFileInfo(fullFileName).fileName();
1091  }
1096  void dragEnterEvent(QDragEnterEvent *event);
1101  void dropEvent(QDropEvent *event);
1106  void closeEvent(QCloseEvent *event);
1107 
1108 private:
1109 
1110 };
1111 
1112 #endif // MILXQTMAIN_H
QString saveSupport
Save file extension support list, cats all known extensions.
Definition: milxQtMain.h:957
bool humanGlyph
Prefer showing human glyph?
Definition: milxQtMain.h:933
void cascadeTab()
Cascade all the windows in the current tab.
Definition: milxQtMain.h:435
QString strippedName(const QString &fullFileName)
Returns the filename with the path stripped.
Definition: milxQtMain.h:1088
void addToUnifiedWindow(milxQtModel *mdl)
Adds a model to the unified window and links its results.
Definition: milxQtMain.h:564
void preferMaximumProcessors(const int procs)
Sets number of max processors is to be used whenever possible. Default: Half of max available on CPU ...
Definition: milxQtMain.h:141
void showUnifiedWindow()
Shows the unified window.
Definition: milxQtMain.h:572
void preferImageInterpolation(const bool interp)
Sets whether interpolation is to be shown whenever possible for images. Default: true.
Definition: milxQtMain.h:165
QAction * actionSave
save action
Definition: milxQtMain.h:964
void printError(QString msg)
Error message wrapper for console.
Definition: milxQtMain.h:829
QAction * actionSubtractImages
subtract images batch operation action
Definition: milxQtMain.h:977
void link()
Link all windows in the current tab. Changing one window camera updates all others.
Definition: milxQtMain.h:788
QComboBox * defaultViewBox
Box for default view.
Definition: milxQtMain.h:1029
int maxProcessors
Max processors to use.
Definition: milxQtMain.h:935
QAction * actionAbout
Action for showing about information.
Definition: milxQtMain.h:992
bool whiteBackground
Prefer white backgrounds?
Definition: milxQtMain.h:932
bool scalarBarModels
Show scalar bar for models?
Definition: milxQtMain.h:941
QList< QAction *> imageExtsActions
List of image extenstion actions loaded succesfully.
Definition: milxQtMain.h:1021
QAction * actionCascade
Cascade windows in workspace action.
Definition: milxQtMain.h:983
QAction * actionMergeLabels
Merge labelled images batch operation action.
Definition: milxQtMain.h:980
This class represents the MILX Qt Render Window Display object using QVTK.
vtkSmartPointer< vtkEventQtSlotConnect > Connector
VTK Events to slots convertor.
Definition: milxQtMain.h:1037
QList< QAction *> renderExtsActions
List of render window extenstion actions loaded succesfully.
Definition: milxQtMain.h:1019
QAction * actionTile
Tile windows in workspace action.
Definition: milxQtMain.h:984
void updateQtEvents()
Update the Qt events, used to keep UI responsive.
Definition: milxQtMain.h:876
int getNumberOfTabs()
Return the number of tabs in the main window.
Definition: milxQtMain.h:621
QMenu * menuFile
File menu.
Definition: milxQtMain.h:946
QMenu * menuImages
File menu.
Definition: milxQtMain.h:947
QAction * actionControls
Action for showing about information.
Definition: milxQtMain.h:991
void addToUnifiedWindow(milxQtImage *img)
Adds an image to the unified window and links its results.
Definition: milxQtMain.h:556
void preferTimestamps(const bool timestamps)
Sets whether timestamps are to be shown whenever possible. Default: true.
Definition: milxQtMain.h:157
This class represents the MILX Qt Image Display object using VTK.
Definition: milxQtImage.h:118
int subWindowSize
Window size of child windows to use.
Definition: milxQtMain.h:934
bool orientationImages
Prefer applying orientation to images?
Definition: milxQtMain.h:939
QList< QAction *> modelExtsActions
List of model extenstion actions loaded succesfully.
Definition: milxQtMain.h:1020
QAction * actionTileVertically
Tile vertically windows in workspace action.
Definition: milxQtMain.h:985
QToolBar * imageToolBar
Some actions for images, like view etc.
Definition: milxQtMain.h:1004
QToolBar * windowToolBar
Some actions from window menu, like tile, cascade etc.
Definition: milxQtMain.h:1002
QComboBox * defaultViewTypeBox
Box for default view type (1 view or scanner type/4 view)
Definition: milxQtMain.h:1030
QAction * actionPreferences
Action for showing program preferences.
Definition: milxQtMain.h:990
bool interpolationImages
Prefer showing interpolation for images?
Definition: milxQtMain.h:938
QSlider * imageLevelSlider
adjust window level of image display
Definition: milxQtMain.h:1008
This class represents the MILX Qt Window Display object using QVTK.
Definition: milxQtWindow.h:40
int getNumberOfWindows()
Return the number of windows in the current tab.
Definition: milxQtMain.h:603
void printDebug(QString msg)
Debug message wrapper for console.
Definition: milxQtMain.h:843
QPointer< milxQtUnifiedWindow > currentUnifiedWindow
Current window for multi-display.
Definition: milxQtMain.h:1033
QList< QAction *> dockActions
List of dock actions of dock widgets loaded succesfully.
Definition: milxQtMain.h:1022
QMenu * menuWindows
Windows menu.
Definition: milxQtMain.h:950
void tileTab()
Tile all the windows in the current tab.
Definition: milxQtMain.h:443
QAction * actionOpenCollect
open collection action
Definition: milxQtMain.h:963
QAction * actionCompare
Action for comparing data.
Definition: milxQtMain.h:995
QPushButton * refreshButton
window refresh button
Definition: milxQtMain.h:1011
QAction * actionContents
Action for showing contents of help.
Definition: milxQtMain.h:989
QAction * actionImageText
toggle text annotate mode
Definition: milxQtMain.h:1007
QAction * actionTileHorizontally
Tile horizontally windows in workspace action.
Definition: milxQtMain.h:986
QProgressBar * progressBar
Progress bar for computation.
Definition: milxQtMain.h:1024
void preferHumanGlyph(const bool human)
Sets whether human orientation glyph is to be shown whenever possible. Default: true.
Definition: milxQtMain.h:125
This class represents the MILX Qt Model/Mesh Display object using VTK.
Definition: milxQtModel.h:115
QAction * actionOpenSeries
open series action
Definition: milxQtMain.h:962
void printInfo(QString msg)
Info message wrapper for console.
Definition: milxQtMain.h:850
QAction * actionCloseAll
Close all windows in tab action.
Definition: milxQtMain.h:967
void closeTabActiveWindow()
Close active window in the tab.
Definition: milxQtMain.h:419
#define MILXQT_EXPORT
Define Windows DLL importing.
Definition: milxQtAliases.h:80
QSignalMapper * windowMapper
Mapper of mulit-connections.
Definition: milxQtMain.h:1016
QList< QPointer< milxQtModel > > modelWindows
List of model windows opened.
Definition: milxQtMain.h:1034
The class maintains a state and render of multiple display objects (such as a milxQtModel or milxQtIm...
void preferWhiteBackground(const bool whiteBack)
Sets whether white background is to be used whenever possible. Default: false.
Definition: milxQtMain.h:117
QAction * actionConsole
toggle action for console
Definition: milxQtMain.h:987
QMenu * menuWindowList
Menu for list of windows.
Definition: milxQtMain.h:996
void preferScalarBar(const bool bar)
Sets whether scalar bar is to be show whenever possible for models. Default: false.
Definition: milxQtMain.h:189
QAction * actionBlendImages
blend images batch operation action
Definition: milxQtMain.h:974
QList< QPointer< milxQtPluginInterface > > plugins
List of plugins loaded succesfully.
Definition: milxQtMain.h:1018
milxQtUnifiedWindow * getUnifiedWindow()
Returns the unified window.
Definition: milxQtMain.h:580
QMenu * importFromMenu
Menu import from data menu.
Definition: milxQtMain.h:997
void preferOrientation(const bool orient)
Sets whether image orientation is to be applied whenever possible for images. Default: true...
Definition: milxQtMain.h:173
bool interpolationModels
Prefer applying interpolation to models?
Definition: milxQtMain.h:940
QMenuBar * menuBar
Menu bar for the window.
Definition: milxQtMain.h:945
QPushButton * cursorButton
crosshairs button
Definition: milxQtMain.h:1012
QComboBox * defaultOrientationTypeBox
Box for default orientation type (radiological or neurological orientation)
Definition: milxQtMain.h:1031
QPushButton * imageLevelButton
auto level button
Definition: milxQtMain.h:1009
QAction * actionRecentFileSeparator
Pointer to separator so it can be turned on and off.
Definition: milxQtMain.h:969
QAction * actionExit
Exit action.
Definition: milxQtMain.h:970
QMenu * menuData
Data menu.
Definition: milxQtMain.h:948
QWidgetList getListOfWindows()
Get a list of widgets/windows that are in the current tab.
Definition: milxQtMain.h:595
void unlink()
Unlink all windows in the current tab.
Definition: milxQtMain.h:794
QAction * actionConvolveImages
Convolve images batch operation action.
Definition: milxQtMain.h:979
QToolBar * fileToolBar
Some actions from file menu.
Definition: milxQtMain.h:1000
QMenu * menuHelp
Help menu.
Definition: milxQtMain.h:951
int windowIterator
Keep track of current window being traversed.
Definition: milxQtMain.h:954
void preferScreenshotMagnifyFactor(const int factor)
Sets the magnify factor when saving screenshots. Default: 2.
Definition: milxQtMain.h:149
QString openSupport
Load file extension support list, cats all known extensions.
Definition: milxQtMain.h:958
bool timestamping
Prefer showing timestamp?
Definition: milxQtMain.h:937
QList< QPointer< milxQtPluginInterface > > getPlugins()
Returns a list of the loaded plugins (which are assumed to be DLLs) according to the milxQtPluginInte...
Definition: milxQtMain.h:821
bool debugMode
Debug output mode?
Definition: milxQtMain.h:929
void initialiseWindowTraversal()
Initialise the window iterator to the first window opened.
Definition: milxQtMain.h:629
QAction * actionAverageImages
average images batch operation action
Definition: milxQtMain.h:976
QAction * actionCloseActive
Close active window in tab action.
Definition: milxQtMain.h:966
QAction * actionNewTab
New Tab action.
Definition: milxQtMain.h:972
QAction * actionLinkWindows
Using linked cameras for all windows in a tab?
Definition: milxQtMain.h:982
void printWarning(QString msg)
Warning message wrapper for console.
Definition: milxQtMain.h:836
This class represents the MILX Qt Main Window object using Qt.
Definition: milxQtMain.h:85
QToolBar * defaultToolBar
Some actions from default stuff menu, like view etc.
Definition: milxQtMain.h:1003
QAction * actionMultiplyImages
multiply images batch operation action
Definition: milxQtMain.h:978
QAction * actionAddImages
add images batch operation action
Definition: milxQtMain.h:975
QTabWidget * workspaces
Pointer to the Workspace environment for the user.
Definition: milxQtMain.h:1015
void closeTabAllWindows()
Close all the windows in the current tab.
Definition: milxQtMain.h:427
void preferSubWindowSize(const int winSize)
Sets number of sub-window size is to be used whenever possible. Default: double of minWindowSize (aro...
Definition: milxQtMain.h:133
int magnifyFactor
Screenshot magnify factor.
Definition: milxQtMain.h:936
size_t progressCallCount
Takes account of how many calls of working have been made.
Definition: milxQtMain.h:953
void redirectWindowActivated(QWidget *win)
Redirect the workspace signal to milxQtMain object level.
Definition: milxQtMain.h:859
QPointer< milxQtConsole > console
console docked window
Definition: milxQtMain.h:1026
QAction * actionOpen
open action
Definition: milxQtMain.h:961
QList< QPointer< milxQtImage > > imageWindows
List of model windows opened.
Definition: milxQtMain.h:1035
void preferModelInterpolation(const bool interp)
Sets whether interpolation is to be shown whenever possible for models. Default: false.
Definition: milxQtMain.h:181
QAction * actionSaveScreen
save action
Definition: milxQtMain.h:965