Developer Documentation
Loading...
Searching...
No Matches
CoreWidget.hh
Go to the documentation of this file.
1/*===========================================================================*\
2* *
3* OpenFlipper *
4 * Copyright (c) 2001-2015, RWTH-Aachen University *
5 * Department of Computer Graphics and Multimedia *
6 * All rights reserved. *
7 * www.openflipper.org *
8 * *
9 *---------------------------------------------------------------------------*
10 * This file is part of OpenFlipper. *
11 *---------------------------------------------------------------------------*
12 * *
13 * Redistribution and use in source and binary forms, with or without *
14 * modification, are permitted provided that the following conditions *
15 * are met: *
16 * *
17 * 1. Redistributions of source code must retain the above copyright notice, *
18 * this list of conditions and the following disclaimer. *
19 * *
20 * 2. Redistributions in binary form must reproduce the above copyright *
21 * notice, this list of conditions and the following disclaimer in the *
22 * documentation and/or other materials provided with the distribution. *
23 * *
24 * 3. Neither the name of the copyright holder nor the names of its *
25 * contributors may be used to endorse or promote products derived from *
26 * this software without specific prior written permission. *
27 * *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
29 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
30 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
31 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER *
32 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *
33 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
34 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *
35 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
36 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *
37 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
38 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
39* *
40\*===========================================================================*/
41
42
43//=============================================================================
44//
45// CLASS CoreWidget
46//
47//=============================================================================
48
54#ifndef COREWIDGET_HH
55#define COREWIDGET_HH
56
57
58//== INCLUDES =================================================================
59
60#include <set>
61
67#include <OpenFlipper/BasePlugin/ViewInterface.hh>
69
70#include <OpenFlipper/widgets/coreWidget/SideArea.hh>
71#include <OpenFlipper/widgets/coreWidget/ColorStatusBar.hh>
72
73#include <OpenFlipper/widgets/glWidget/QtBaseViewer.hh>
74#include <OpenFlipper/widgets/glWidget/QtGLGraphicsScene.hh>
75#include <OpenFlipper/widgets/glWidget/QtGLGraphicsView.hh>
76#include <OpenFlipper/widgets/glWidget/QtMultiViewLayout.hh>
77#include <OpenFlipper/widgets/glWidget/QtSlideWindow.hh>
78
79// QT INCLUDES
80#include <QMainWindow>
81#include <QStackedWidget>
82#include <QTextEdit>
83#include <QToolBar>
84#include <QStatusBar>
85
86#include <QFuture>
87#include <QFutureWatcher>
88
89#include <QDockWidget>
90
91#include <OpenFlipper/common/OFGLWidget.hh>
92
93
94#include <OpenFlipper/widgets/pythonWidget/pythonWidget.hh>
95#include <OpenFlipper/widgets/aboutWidget/aboutWidget.hh>
96#include <OpenFlipper/widgets/loggerWidget/loggerWidget.hh>
97#include <OpenFlipper/widgets/optionsWidget/optionsWidget.hh>
98#include <OpenFlipper/widgets/helpWidget/helpWidget.hh>
99#include <OpenFlipper/widgets/stereoSettingsWidget/stereoSettingsWidget.hh>
100#include <OpenFlipper/widgets/postProcessorWidget/postProcessorWidget.hh>
101#include <OpenFlipper/widgets/rendererWidget/rendererWidget.hh>
102#include <OpenFlipper/widgets/rendererWidget/rendererObjectWidget.hh>
103
104#include <OpenFlipper/Core/PluginInfo.hh>
105
106#include <ACG/QtWidgets/QtSceneGraphWidget.hh>
107
108#include <ACG/Scenegraph/DrawModes.hh>
109#include <ACG/Scenegraph/CoordsysNode.hh>
110
111#include <OpenFlipper/INIFile/INIFile.hh>
113
114#include "../viewModeWidget/viewModeChangeWidget.hh"
115
125struct ViewMode{
126
128 QString name;
129
132 QString icon;
133
135 bool custom;
136
138 QStringList visibleToolboxes;
139
141 QMap<QString, QIcon> toolboxIconMap;
142
144 QStringList visibleToolbars;
145
148};
149
151 public:
152 StackWidgetInfo(bool _editable, const QString &_name, QWidget* _widget);
153
154 bool editable;
155 QString name;
156 QWidget* widget;
157};
158
161class MenuInfo {
162 public:
163 MenuInfo():
164 action(0),
166 {}
167
169 QAction* action;
170
173
176};
177
184{
185 public:
187 PickMode(const std::string& _n, const bool _t, const bool _v, QCursor _c, QToolBar *_tb = 0 );
188
191
192
197 void visible(const bool _visible);
198
203 bool visible() const;
204
209 std::string name() const;
210
218 void tracking(const bool _tracking);
219
225 bool tracking() const;
226
232 QCursor cursor() const;
233
241 void cursor(const QCursor _cursor);
242
250 void toolbar(QToolBar* _toolbar);
251
257 QToolBar* toolbar() const;
258
259 private:
260
262 std::string name_;
263
267
271
274 QCursor cursor_;
275
278 QToolBar * toolbar_;
279};
280
283class CoreWidget : public QMainWindow
284{
285 Q_OBJECT
286
287public:
288
289 friend class Core;
290
292 CoreWidget( QVector<ViewMode*>& _viewModes, QList< SlotInfo >& _coreSlots );
293
295 ~CoreWidget();
296
297 signals:
298 void clearAll();
299 void loadMenu();
300 void addEmptyObjectMenu();
301 void saveMenu();
302 void saveToMenu();
303 void loadIniMenu();
304 void saveIniMenu();
305 void recentOpen(QAction*);
306 void exit();
307
308 void loadPlugin();
309 void showPlugins();
310
311 private slots:
312
314 void closeEvent ( QCloseEvent * event );
315
316 //===========================================================================
319 //===========================================================================
320
321 signals :
322 void log(Logtype _type, QString _message);
323 void log(QString _message);
324
327 //===========================================================================
330 //===========================================================================
331
332 protected :
333
335 virtual void keyPressEvent (QKeyEvent* _e);
336 virtual void keyReleaseEvent(QKeyEvent* _e);
337
338 // Filter alt key events under windows
339 //bool eventFilter(QObject *obj, QEvent *ev);
340
341 private:
342 //event handling
343 bool event( QEvent *event );
344
345 bool eventFilter(QObject *_obj, QEvent *_event);
346
347 signals :
348
352 void PluginKeyEvent(QKeyEvent* );
353
357 void PluginKeyReleaseEvent(QKeyEvent* );
358
360 void registerKey(int _key, Qt::KeyboardModifiers _modifiers, QString _description,
361 bool _multiUse = false);
362
364 void call( QString _expression , bool& _success );
365
366 private:
368 typedef std::multimap< std::pair< int, Qt::KeyboardModifiers > , std::pair< QObject*, int > > KeyMap;
369
370 typedef std::pair< KeyMap::iterator, KeyMap::iterator > KeyRange;
371
374 void registerCoreKeys();
375
381
383 void coreKeyPressEvent (QKeyEvent* _e);
384 void coreKeyReleaseEvent(QKeyEvent* _e);
385
386 KeyBinding getKeyBinding(QObject* _plugin, int _keyIndex );
387 QString getRPCName(QObject* _plugin );
388
390 std::vector<KeyBinding> coreKeys_;
391
394
396 InverseKeyMap invKeys_;
397
399 QList< SlotInfo >& coreSlots_;
400
401 private slots:
407 void slotRegisterKey(int _key, Qt::KeyboardModifiers _modifiers, const QString &_description,
408 bool _multiUse = false);
409
410 public slots:
415 void slotAddKeyMapping(int _key, Qt::KeyboardModifiers _modifiers, QObject* _plugin, int _keyBindingID);
416
423
424 public:
426 void loadKeyBindings(INIFile& _ini);
427
429 void saveKeyBindings(INIFile& _ini);
430
431 void showReducedMenuBar(bool reduced);
432
433 private:
436
439 //===========================================================================
442 //===========================================================================
443
444 public:
445
447 void setupMenuBar();
448
452 //===========================================================================
455 //===========================================================================
456
457 private:
458
460 std::vector<PluginInfo>& plugins();
461
464 //===========================================================================
467 //===========================================================================
468
469 signals:
470 void startVideoCapture(QString _baseName, int _fps, bool _captureViewers);
471 void stopVideoCapture();
472
473 void resizeViewers(int _width, int _height);
474 void resizeApplication(int _width, int _height);
475
476 private slots:
477 void startVideoCaptureDialog();
478
481 //===========================================================================
484 //===========================================================================
485
486 public:
487
489 void addRecent(QString _filename, DataType _type);
490
492 void updateRecent();
493
496 //===========================================================================
499 //===========================================================================
500
501 public :
502
504 void showLoggerInSplitView(bool _show);
505
508
510 void setForceNativeCursor ( bool _state );
511
512 QSize defaultIconSize();
513
514 QScrollArea* getToolboxScrollArea() { return toolBoxScroll_; }
515 QWidget* getToolboxArea() { return toolBoxArea_; }
517
518 public slots:
519
521 void toggleFullscreen();
522
524 void setFullscreen(bool _state );
525
527 void toggleLogger();
528
531
533 void toggleToolbox();
534
536 void showToolbox( bool _state );
537
539 void toggleStatusBar();
540
542 void showStatusBar( bool _state );
543
545 void showMenuBar( bool _state );
546
548 void toggleMenuBar();
549
551 void toggleToolBar();
552
554 void showToolBar( bool _state );
555 signals:
557 void toolBarVisChanged( bool _state );
558
560 void toolBoxVisChanged( bool _state );
561
563 void statusBarVisChanged( bool _state );
564
566 void menuBarVisChanged( bool _state );
567
569 void fullScreenChanged( bool _state );
570
571 private:
573
575
578 //===========================================================================
581 //===========================================================================
582
583 private:
585 QVector<QWidget*> toolWidgets_;
586
587 public:
589 QVector<ViewMode*>& viewModes_;
590
591 private:
592
594
597
598 public slots:
599
601 void initViewModes( );
602
604 void slotAddViewModeToolboxes(const QString &_mode, const QStringList &_usedWidgets);
605
607 void slotAddViewModeToolboxes(const QString &_mode, bool _custom, const QStringList &_usedWidgets);
608
610 void slotAddViewModeToolbars(const QString &_mode, const QStringList &_usedToolbars);
611
613 void slotAddViewModeToolbars(const QString &_mode, bool _custom, const QStringList &_usedToolbars);
614
616 void slotAddViewModeContextMenus(const QString &_mode, const QStringList &_usedToolbars);
617
619 void slotAddViewModeContextMenus(const QString& _mode, bool _custom, const QStringList& _usedToolbars);
620
622 void slotAddViewModeComplete(const QString &_mode , bool _custom, const QStringList &_toolboxes, const QStringList &_toolbars, const QStringList &_contextmenus);
623
625 void slotSetViewModeIcon(const QString& _mode, const QString& _iconName);
626
628 void slotSetViewModeIcon(const QString& _mode, bool _custom, const QString& _iconName);
629
631 void slotChangeView(QString _mode, QStringList _toolboxWidgets, QStringList _toolbars, QStringList _contextmenus, bool _expandAll = false);
632
634 void slotFilterToolboxes(QString searchBarText);
635
637 void setToolBoxOrientationOnTheRight(bool _toolBoxRight);
638
640 void showViewModeControls(bool _show);
641
643 void slotHideContextMenu();
644
645 private slots:
647 void slotRemoveViewMode(const QString &_name);
648
650 void slotSetViewMode( QAction* action);
651
653 void slotViewModeDialog();
654
657
659 void slotUpdateExaminer(unsigned _id);
660
661 public slots :
662
664 void setViewMode(const QString &_mode, bool _expandAll = false );
665
667 void moveToolBoxToTop(QString _name);
668
670 void moveToolBoxToBottom(QString _name);
671
676 //===========================================================================
679 //===========================================================================
680
681 private:
682
684 std::vector< glViewer* > examiner_widgets_;
685
687 QSplitter* splitter_;
688
691
694
697
700
703
705 QMenu* helpMenu_;
706
709
712
714 OFGLWidget* glWidget_;
715
718
721
723 QGraphicsWidget* centerWidget_;
724
727
730
732 QWidget* toolBoxArea_;
733
735 QToolButton *viewModePopupBtn_;
736
738 QSplitter* toolSplitter_;
739
742
744 QScrollArea* toolBoxScroll_;
745
747 typedef std::map<QToolBar*,QGraphicsProxyWidget*> PickToolBarMap;
749
752
754 std::set<QToolBar*> registeredToolbars_;
755
758
759
760 // widget showing the scenegraph
762
764
766
769 private slots:
770
774
775
778 void slotActivateExaminer ();
779
780
785 void slotLog(Logtype _type, QString _message);
786
789 void sceneRectChanged(const QRectF &rect);
790
791 //===========================================================================
794 //===========================================================================
795 private slots :
796
797 void slotAddMenubarAction( QAction* _action , QString _name );
798 void slotAddMenubarActions( std::vector<QAction*> _actions , QString _name );
799 void slotGetMenubarMenu (QString _name, QMenu *& _menu, bool _create);
800
801 private:
802
804 QMenu *fileMenu_;
805
807 QMenu *viewMenu_;
808
811
814
816 QAction* fileMenuEnd_;
817
819 QMap<QString, QMenu *> menus_;
820
823 //===========================================================================
826 //===========================================================================
827 private:
828 QToolBar* viewerToolbar_;
829
831
832 QToolButton* stereoButton_;
833 QToolButton* moveButton_;
834 QToolButton* pickButton_;
835 QToolButton* questionButton_;
836
838
841 //===========================================================================
844 //===========================================================================
845
846 public slots:
849
852
854 void setViewerLayout(int _idx);
855
856 private slots:
858 void nextViewerLayout();
859
861 void slotGlobalDrawMenu(QAction * _action);
862
865
867 void slotGlobalRendererMenu(QAction * _action);
868
870 void slotGlobalPostProcessorMenu(QAction * _action);
871
872 private:
875
878
879 QActionGroup * drawGroup_;
880
882 QActionGroup * rendererGroup_;
883
885 QActionGroup* viewGroup_;
886
889
892
895
898
901
904
906
908
911 //===========================================================================
914 //===========================================================================
915
916 signals :
919
922
925
926
927 private slots:
929 void slotCustomContextMenu( const QPoint& _point );
930
932 void slotAddContextItem(QAction* _entry, ContextMenuType _type);
933
935 void slotAddContextItem( QAction* _entry , DataType _dataType ,ContextMenuType type_);
936
938 void slotAddContextItemToViewMode( QAction* _entry );
939
941 void slotPasteView( );
942
945
947 void slotSetView( QString view );
948
950 void slotSetViewAndWindowGeometry( QString view );
951
953 void slotCopyView( );
954
956 void slotViewerDrawMenu( QAction * _action );
957
959 void slotPostProcessorMenu( QAction * _action);
960
962 void slotRenderMenu( QAction * _action);
963
966
969
971 void slotSwitchWheels(bool _state);
972
974 void slotSwitchNavigation(bool _egomode);
975
977 void slotSnapshotName();
978
980 void slotCoordSysVisibility(bool _visible);
981
982 private :
987 void updatePopupMenu(const QPoint& _point);
988
989 void updatePopupMenuCoordsysNode(QMenu* _menu , const int _part);
990 void updatePopupMenuObject(QMenu* _menu , BaseObjectData* _object );
991 void updatePopupMenuBackground(QMenu* _menu , const QPoint& _point);
992 void updatePopupMenuNode(QMenu* _menu , ACG::SceneGraph::BaseNode* _node);
993
994 bool addContextMenus( QMenu* _menu , ContextMenuType _type, int _id = -1);
995
996 private :
999
1002
1004 std::vector< MenuInfo > contextMenus_;
1005
1007 QActionGroup* drawGroupViewer_;
1008
1011
1014
1018
1021 //===========================================================================
1024 //===========================================================================
1025
1026 private:
1027
1030
1031 public slots:
1032
1034 void viewerSnapshotDialog();
1035
1037 void viewerSnapshot();
1038
1041
1043 void applicationSnapshot();
1044
1046 void applicationSnapshotName(const QString &_name);
1047
1049 void viewerSnapshot(QString file_name, bool store_comments,
1050 bool comments_visible_only, bool comments_targeted_only,
1051 bool store_material_info, int snapshot_width, int snapshot_height,
1052 bool snapshot_transparent, bool hide_coord_sys,
1053 int snapshot_multisampling, bool store_view);
1054
1057 //===========================================================================
1060 //===========================================================================
1061
1062 public:
1063
1064 void writeImageAsynchronously(QImage* _image, const QString &_name);
1065
1066 private:
1067
1068 // Store pointers to QFuture and QFutureWatcher
1069 std::map<QFutureWatcher<void>*,QFuture<void>*> watcher_garbage_;
1070
1071 // Mutex for operations on map
1072 QMutex map_mutex_;
1073
1074 private slots:
1075
1076 void delete_garbage();
1077
1080 //===========================================================================
1083 //===========================================================================
1084
1085 private slots:
1086 void slotGetStackWidget(const QString &_name, QWidget*& _widget );
1087 void slotAddStackWidget( QString _name, QWidget* _widget );
1088 void slotUpdateStackWidget( QString _name, QWidget* _widget );
1089
1090 void slotViewMenuAction( QAction * _action);
1091
1092 void slotUpdateStackMenu();
1093
1094
1095 private :
1098
1099 std::vector< StackWidgetInfo > stackWidgetList_;
1100
1101 public :
1103 QStackedWidget* stackedWidget_;
1104
1107 //===========================================================================
1110 //===========================================================================
1111
1112 private:
1113 static const QString homePage_;
1114
1115 public slots:
1117 void showHelpBrowser(const QString &page = homePage_);
1118
1119 signals:
1120 void changeHelpSite(QUrl);
1121
1122 private:
1125
1128 //===========================================================================
1131 //===========================================================================
1132
1133
1134 public slots:
1135
1136 void slotShowPostProcessorManager();
1137
1138 private:
1139 PostProcessorDialog* postProcessorDialog_;
1140
1143 //===========================================================================
1146 //===========================================================================
1147
1148
1149 public slots:
1150
1152 void slotShowRenderManager();
1153
1156
1157 private:
1160
1163 //===========================================================================
1166 //===========================================================================
1167
1168 public slots:
1170 void stereoButtonContextMenu(const QPoint& _pos);
1171
1175 void slotApplyStereoSettings(int _tmpParam = 0);
1176
1177
1178 private:
1181
1184 //===========================================================================
1187 //===========================================================================
1188
1189 public slots:
1191 void showAboutWidget();
1192
1198 void addAboutInfo(const QString &_text, const QString &_tabName );
1199
1200 private:
1205 void addCoreLicenseInfo();
1206
1207 private:
1210
1212 QMap<QString,QString> additionalAboutTabs_;
1213
1216 //===========================================================================
1219 //===========================================================================
1220
1221 public slots:
1223 void showOptionsWidget();
1224
1225 signals:
1228
1229 private:
1230
1233
1234
1237 //===========================================================================
1240 //===========================================================================
1241
1242 public slots:
1243
1245
1246 private:
1249
1252 //===========================================================================
1255 //===========================================================================
1256 private slots:
1258 void slotAddToolbar(QToolBar* _toolbar);
1259
1261 void slotRemoveToolbar(QToolBar* _toolbar);
1262
1264 void getToolBar( QString _name, QToolBar*& _toolbar);
1265
1266 private :
1267 QToolBar* mainToolbar_;
1268
1269 std::vector< QToolBar* > toolbars_;
1270
1273 //===========================================================================
1276 //===========================================================================
1277 public slots:
1278 void statusMessage(QString _message, int _timeout = 0);
1279
1280 void clearStatusMessage();
1281
1282 void setStatus( ApplicationStatus::applicationStatus _status);
1283
1284 void addWidgetToStatusbar(QWidget* _widget);
1285
1286 private:
1287 void setupStatusBar();
1288
1289 private :
1290 ColorStatusBar* statusBar_;
1291
1292 QLabel* statusIcon_;
1293
1296 //===========================================================================
1299 //===========================================================================
1300
1301 signals:
1302 void dragOpenFile(QString _filename);
1303
1304 private slots:
1305 void startDrag( QMouseEvent* _event );
1306
1307 void dragEnterEvent(QDragEnterEvent* _event);
1308
1309 void dropEvent( QDropEvent* _event );
1310
1313 //===========================================================================
1316 //===========================================================================
1317
1318 private slots:
1319
1321 void slotToggleStereoMode();
1322
1325
1328
1329
1330
1332 void slotContextHomeView();
1333
1335 void slotGlobalHomeView();
1336
1337
1338
1341
1343 void slotGlobalSetHomeView();
1344
1345
1346
1348 void slotContextViewAll();
1349
1351 void slotGlobalViewAll();
1352
1353
1356
1358 ACG::SceneGraph::CoordsysNode::ProjectionMode getCoordsysProjection();
1359
1362
1365
1368
1369
1371 void slotSetViewingDirection(QAction* _action);
1372
1374 void slotLockRotation(bool _lock);
1375
1376
1377
1380
1382 void slotGlobalChangeAnimation(bool _animation);
1383
1385 void slotLocalChangeAnimation(bool _animation);
1386
1387
1388
1391
1393 void slotGlobalChangeBackFaceCulling(bool _backFaceCulling);
1394
1396 void slotLocalChangeBackFaceCulling(bool _backFaceCulling);
1397
1398
1399
1402
1404 void slotGlobalChangeTwoSidedLighting(bool _lighting);
1405
1407 void slotLocalChangeTwoSidedLighting(bool _lighting);
1408
1409
1410
1413
1415 void slotGlobalChangeMultisampling(bool _multisampling);
1416
1418 void slotLocalChangeMultisampling(bool _multisampling);
1419
1420
1423
1425 void slotGlobalChangeMipmapping(bool _multisampling);
1426
1428 void slotLocalChangeMipmapping(bool _mipmapping);
1429
1430
1432 void moveBack();
1433
1435 void moveForward();
1436
1438 void strafeLeft();
1439
1441 void strafeRight();
1442
1443 signals :
1447 void drawModeChanged(int _viewerId);
1448
1449 private :
1451
1454 //===========================================================================
1457 //===========================================================================
1458
1459 public slots:
1460
1461 bool examineMode() { return(actionMode_ == Viewer::ExamineMode ); };
1462 bool pickingMode() { return(actionMode_ == Viewer::PickingMode ); };
1463 bool lightMode() { return(actionMode_ == Viewer::LightMode ); };
1464 bool questionMode(){ return(actionMode_ == Viewer::QuestionMode ); };
1465
1469 void setExamineMode() { setActionMode(Viewer::ExamineMode ); };
1470 void setPickingMode() { setActionMode(Viewer::PickingMode ); };
1471 void setQuestionMode(){ setActionMode(Viewer::QuestionMode ); };
1472
1473 void setActionMode(const Viewer::ActionMode _am);
1475
1476 public:
1479
1480 private :
1482
1485 //===========================================================================
1488 //===========================================================================
1489
1490 public:
1491
1500 void addPickMode(const std::string& _name,
1501 bool _mouse_tracking = false,
1502 int _pos = -1,
1503 bool _visible = true,
1504 QCursor _cursor = Qt::ArrowCursor );
1505
1508 void clearPickModes();
1509
1512 const std::string& pickMode() const;
1513
1517 void pickMode( int _id );
1518
1519 void expandToolBoxWidget(QWidget *widget, bool expand);
1520
1521 public slots:
1522
1526 void setPickMode(const std::string& _name);
1527
1528
1529 void getPickMode(std::string& _name);
1530
1532 void setActivePickToolBar(QToolBar* _tool);
1533
1535 void hidePickToolBar();
1536
1537 public slots:
1538
1544 void setPickModeCursor(const std::string& _name, QCursor _cursor);
1545
1551 void setPickModeMouseTracking(const std::string& _name, bool _mouseTracking);
1552
1560 void setPickModeToolbar( const std::string& _mode , QToolBar * _toolbar );
1561
1568 void removePickModeToolbar( const std::string& _mode );
1569
1570 void actionPickMenu( QAction * _action );
1571
1572 signals:
1575 void signalPickModeChanged(const std::string&);
1576
1577 private:
1578
1580
1583 std::vector<PickMode> pick_modes_;
1584
1587 std::string pick_mode_name_;
1588
1592
1596 std::vector<QAction*> extended_actions;
1597
1598
1600 void updatePickMenu();
1601
1602 private slots:
1603
1604 void hidePopupMenus();
1606};
1607
1608
1609//=============================================================================
1610#endif // COREWIDGET_HH defined
1611//=============================================================================
1612
@ CONTEXTBACKGROUNDMENU
The Menu will be shown when the background was picked.
LoggerState
State of the logging widget.
Logtype
Log types for Message Window.
ActionMode
Enum listing action modes of the viewers.
void stereoButtonContextMenu(const QPoint &_pos)
Creates custom context menu for stereo viewer settings.
Definition viewMode.cc:497
QAction * fileMenuEnd_
First entry after all relevant parts of the File Menu.
void slotViewMenuAction(QAction *_action)
QMenu containing the recently opened files.
QMenu * contextMenu_
context Menu for the gl area
QWidget * getToolboxArea()
Show logger in splitter or not.
QMenu * windowMenu_
Window Menu.
RendererObjectWidget * rendererObjectWidget_
shows the widget for the rendermanager
void slotContextHomeView()
Set the active viewer to home position.
void slotRemoveToolbar(QToolBar *_toolbar)
Called by Plugins to remove a Toolbar.
QScrollArea * getToolboxScrollArea()
Show logger in splitter or not.
QAction * AC_ShowViewModeControls_
Action for View Mode Widget Conrol in Menu.
QActionGroup * viewGroup_
Group for all menu items.
void toolBoxVisChanged(bool _state)
will be emitted if the visibility of the toolbox is changed
void setActionMode(const Viewer::ActionMode _am)
Definition picking.cc:62
void toggleFullscreen()
Set application to Fullscreen and back.
void slotSnapshotName()
Set the snapShot name for all examiners.
void slotShowSceneGraphDialog()
void updatePopupMenuCoordsysNode(QMenu *_menu, const int _part)
Update context Menu when Coordsys node has been clicked on.
void slotSetContextBackgroundColor()
Set Background Color for one viewer.
void slotLocalChangeBackFaceCulling(bool _backFaceCulling)
Set backface culling for active viewer.
void drawModeChanged(int _viewerId)
The viewer with id _viewerId changed its draw Mode.
std::vector< PickMode > pick_modes_
QtSlideWindow * slidingLogger_
Class that holds the animated log widget.
QGraphicsWidget * centerWidget_
center widged
QString getRPCName(QObject *_plugin)
typedefs
static const QString homePage_
Pointer to the help Browser.
void updateContextMenuNode(int)
tells the plugins to update their context menu when a node is picked
std::vector< MenuInfo > contextMenus_
All real context menu entries.
std::vector< QAction * > extended_actions
void strafeRight()
When using first person mode strafe to the right.
QSize defaultIconSize()
Show logger in splitter or not.
void showPythonScriptInterpreter()
Pointer to the OptionsWidget.
Definition Python.cc:3
void slotSetViewMode(QAction *action)
Slot for setting ViewMode from Menu.
Definition viewMode.cc:313
QMap< QString, QString > additionalAboutTabs_
Additional tab information, that could be provided by plugins.
QActionGroup * drawGroup_
This variable holds the global draw menu.
QMenu * pythonMenu_
Python Menu.
void slotCopyView()
Copy view from the last active examiner.
QMenu * rendererMenu_
This variable holds the global renderer menu.
void removePickModeToolbar(const std::string &_mode)
Removes the additional toolbar of the given PickMode.
Definition picking.cc:466
void statusBarVisChanged(bool _state)
will be emitted if the visibility of the statusbar is changed
QMap< QString, QMenu * > menus_
All available menus.
void slotGlobalChangeAnimation(bool _animation)
Set the animation mode for all viewers.
void slotPasteView()
Paste the view to the last active examiner.
QMenu * pickMenu_
QToolButton * stereoButton_
Called by Plugins to add a Toolbar.
void slotGlobalToggleBackFaceCulling()
If backface culling is disabled in all viewers, enable it in all viewers. Otherwise disable it.
void slotGlobalToggleMultisampling()
If multisampling is disabled in all viewers, enable it in all viewers. Otherwise disable it.
void setPickModeToolbar(const std::string &_mode, QToolBar *_toolbar)
Set the additional toolbar of the given PickMode.
Definition picking.cc:446
std::vector< glViewer * > examiner_widgets_
Examiner Widget.
void slotAddViewModeContextMenus(const QString &_mode, const QStringList &_usedToolbars)
Add or change Toolbars for a ViewMode (non-userdefined viewMode)
Definition viewMode.cc:198
QVector< ViewMode * > & viewModes_
List of currently available viewModes.
void expandToolBoxWidget(QWidget *widget, bool expand)
Definition picking.cc:492
void setPickingMode()
void slotAddContextItem(QAction *_entry, ContextMenuType _type)
called by plugins to add a new context menu item
QToolBar * viewerToolbar_
Called by Plugins to add a Toolbar.
QAction * globalTwosidedLightingAction_
Action to globally set two-sided lighting.
~CoreWidget()
destructor
Viewer::ActionMode lastActionMode_
QMenu * contextSelectionMenu_
Context Menu containing all selection elements.
void slotGlobalChangeBackFaceCulling(bool _backFaceCulling)
Set backface culling for all viewers.
void showToolbox(bool _state)
Show or hide toolbox.
void slotLocalChangeMultisampling(bool _multisampling)
Set multisampling for active viewer.
bool lightMode()
QMenu * coordSysMenu_
void coreKeyPressEvent()
handle key events for the core
void dragEnterEvent(QDragEnterEvent *_event)
void toggleToolbox()
Hide or show toolbox area.
void slotUpdateStackWidget(QString _name, QWidget *_widget)
QMenu containing the recently opened files.
void menuBarVisChanged(bool _state)
will be emitted if the visibility of the menubar is changed
QtGLGraphicsScene * glScene_
graphics scene used to paint gl context and widgets
void slotGetMenubarMenu(QString _name, QMenu *&_menu, bool _create)
File Menu.
Definition MenuBar.cc:108
OFGLWidget * glWidget_
gl widget used as drawing area to paint the graphics scene
void clearPickModes()
Definition picking.cc:481
void slotSetViewingDirection(QAction *_action)
Change the viewing direction from context-menu.
QToolButton * moveButton_
Called by Plugins to add a Toolbar.
SideArea * toolBox_
Toolbox.
void slotPasteViewAndWindow()
Paste the view, the window and toolbox size to the last active examiner.
void dropEvent(QDropEvent *_event)
void addCoreLicenseInfo()
Add license information about core parts.
void showViewModeControls(bool _show)
Hide or show the View Mode controls.
void slotAddKeyMapping(int _key, Qt::KeyboardModifiers _modifiers, QObject *_plugin, int _keyBindingID)
add a new key Mapping
void updateRecent()
Update the recent files menu.
CursorPainter * cursorPainter_
Cursor handling.
virtual void keyPressEvent(QKeyEvent *_e)
Handle key events.
void setViewerLayout(int _idx)
Change viewer layout that was selected in the combo box.
void slotAddStackWidget(QString _name, QWidget *_widget)
QMenu containing the recently opened files.
void toggleLogger()
Hide or show logging area.
bool questionMode()
Viewer::ActionMode actionMode()
void getPickMode(std::string &_name)
Definition picking.cc:173
void slotApplyStereoSettings(int _tmpParam=0)
Definition viewMode.cc:519
viewModeChangeWidget * modeChangeWidget
Handle to picking toolbar.
QActionGroup * rendererGroup_
Group for all renderers.
void addPickMode(const std::string &_name, bool _mouse_tracking=false, int _pos=-1, bool _visible=true, QCursor _cursor=Qt::ArrowCursor)
add pick mode
Definition picking.cc:393
void setQuestionMode()
LoggerWidget * logWidget_
Textedit at the bottom for log messages.
QToolButton * pickButton_
Called by Plugins to add a Toolbar.
void slotViewMenuAboutToShow()
Called before the view Menu is shown.
Definition MenuBar.cc:655
void applicationSnapshotName(const QString &_name)
Set the snapshot name.
bool event(QEvent *event)
typedefs
RendererDialog * rendererDialog_
shows the widget for the rendermanager
void slotGlobalToggleTwoSidedLighting()
If two-sided lighting is disabled in all viewers, enable it in all viewers. Otherwise disable it.
void slotGlobalPerspectiveProjection()
Toggle projection mode of all viewers to perspective projection.
void slotSwitchNavigation(bool _egomode)
Switch navigation mode.
QMenu * recentFilesMenu_
QMenu containing the recently opened files.
void slotContextViewAll()
Change view on active viewer to view complete scene.
void initViewModes()
init ViewModes that were loaded via ini-file
Definition viewMode.cc:54
void slotGlobalRendererMenu(QAction *_action)
Called when the global renderer is selected.
Definition MenuBar.cc:909
void updateContextMenu(int)
tells the plugins to update their context menu when an object is picked
void slotGlobalChangeTwoSidedLighting(bool _lighting)
Set two-sided lighting for all viewers.
void saveOptions()
Pointer to the OptionsWidget.
void PluginKeyEvent(QKeyEvent *)
void slotViewModeDialog()
Show a dialog in which the viewMode can be edited.
Definition viewMode.cc:329
void call(QString _expression, bool &_success)
call a scripting function
void slotChangeView(QString _mode, QStringList _toolboxWidgets, QStringList _toolbars, QStringList _contextmenus, bool _expandAll=false)
Slot for Changing visible toolWidgets.
Definition viewMode.cc:382
QToolButton * viewModePopupBtn_
view mode gear icon at the upper left of the tool box
QMenu * viewMenu_
View Menu.
void slotGlobalDrawMenu(QAction *_action)
Called when the global drawMode is selected.
Definition MenuBar.cc:935
void coreKeyReleaseEvent(QKeyEvent *_e)
if a keyReleaseEvent belongs to the core this functions is called
void showLogger(OpenFlipper::Options::LoggerState _state)
Change visibility of the logger.
bool stereoActive_
The viewer with id _viewerId changed its draw Mode.
QList< SlotInfo > & coreSlots_
list of scripting slots from core
void setPickModeCursor(const std::string &_name, QCursor _cursor)
set a new cursor for the pick mode
Definition picking.cc:414
void toggleToolBar()
Hide or show current toolbar.
void slotGlobalToggleAnimation()
If animation is disabled in all viewers, enable it in all viewers. Otherwise disable it.
void viewerSnapshotDialog()
Create a snapshot of the whole app with fileDialog.
KeyMap keys_
mapping of all keys to registered keys and the corresponding plugins
void slotShowRenderObjectWidget()
Shows the widget containing the current render objects.
virtual void keyReleaseEvent(QKeyEvent *_e)
passes keyReleaseEvents to either the Core or a Plugin depending on who has registered the key
void slotCoordSysVisibility(bool _visible)
Hide coordinate systems in all viewers.
StereoSettingsWidget * stereoSettingsWidget_
Widget to change stereo settings.
void slotGlobalToggleMipmapping()
If mipmapping is disabled in all viewers, enable it in all viewers. Otherwise disable it.
void slotAddToolbar(QToolBar *_toolbar)
Called by Plugins to add a Toolbar.
void fullScreenChanged(bool _state)
will be emitted if the fullscreen state is changed (_state = true => in fullscreen)
bool addContextMenus(QMenu *_menu, ContextMenuType _type, int _id=-1)
void dragOpenFile(QString _filename)
void addRecent(QString _filename, DataType _type)
Add a recent file and update menu.
void moveToolBoxToBottom(QString _name)
Move a specific toolbox widget to the bottom of the side area.
Definition viewMode.cc:492
void applicationSnapshotDialog()
Create a snapshot of the whole app with fileDialog.
void nextViewerLayout()
Switches over to the next view mode.
void slotGlobalPostProcessorMenu(QAction *_action)
Called when the global postprocessor is selected.
Definition MenuBar.cc:925
void signalPickModeChanged(const std::string &)
void slotAddContextItemToViewMode(QAction *_entry)
called by slotAddContextItem to add the item to the view mode
QMenu * viewerDrawMenu_
Draw Menu for per Viewer Draw Modes.
void slotRegisterKey(int _key, Qt::KeyboardModifiers _modifiers, const QString &_description, bool _multiUse=false)
key registration
void showMenuBar(bool _state)
Show or hide menubar.
SideArea * getToolbox()
Show logger in splitter or not.
void showAboutWidget()
Display the about widget.
Definition About.cc:87
std::vector< PluginInfo > & plugins()
Convenient way to access plugin list.
void updatePopupMenuBackground(QMenu *_menu, const QPoint &_point)
Update context Menu when background has been clicked on.
void setActivePickToolBar(QToolBar *_tool)
Set toolbar to be active pick toolbar.
Definition picking.cc:179
std::string pick_mode_name_
HelpWidget * helpWidget_
Pointer to the help Browser.
void slotSetGlobalBackgroundColor()
Set Background Color for all viewers at once.
void setPickModeMouseTracking(const std::string &_name, bool _mouseTracking)
set mouseTracking for the pick mode
Definition picking.cc:429
void closeEvent(QCloseEvent *event)
Called on applications close.
void slotGlobalChangeMultisampling(bool _multisampling)
Set multisampling for all viewers.
int snapshotCounter_
Create a snapshot of the whole app with fileDialog.
QMenu * fileMenu_
File Menu.
void slotUpdateViewerDrawMenu()
Creates a draw Menu for the currently active Viewer.
QMenu * algorithmMenu_
Algorithms Menu.
QtMultiViewLayout * baseLayout_
Base layout that holds gl views.
void updateContextMenuBackground()
tells the plugins to update their context menu when the background is picked
QWidget * viewModeControlBox_
Group box containing Task Switcher Controls.
std::vector< QToolBar * > toolbars_
Called by Plugins to add a Toolbar.
void slotUpdateRendererMenu()
Setup and update the global renderer menu.
Definition MenuBar.cc:774
void slotPostProcessorMenu(QAction *_action)
Called when a different post processor has been chosen.
void slotContextSetHomeView()
Set the active viewers home position.
void slotToggleStereoMode()
Enable or disable Stereo.
QWidget * toolBoxArea_
Widget for toolBox.
void actionPickMenu(QAction *_action)
Definition picking.cc:333
void slotSetView(QString view)
Set the supplied serialized view.
std::multimap< std::pair< int, Qt::KeyboardModifiers >, std::pair< QObject *, int > > KeyMap
typedefs
void slotContextSwitchCoordsysProjection()
Toggle coordsys projection mode of the active viewer.
KeyBinding getKeyBinding(QObject *_plugin, int _keyIndex)
typedefs
QMenu * stackMenu_
QMenu containing the recently opened files.
void slotLocalChangeMipmapping(bool _mipmapping)
Set mipmapping for active viewer.
void slotSetViewModeIcon(const QString &_mode, const QString &_iconName)
Sets the Icon for a given View Mode (non-userdefined viewMode)
Definition viewMode.cc:245
void slotAddViewModeComplete(const QString &_mode, bool _custom, const QStringList &_toolboxes, const QStringList &_toolbars, const QStringList &_contextmenus)
Completly configure a view mode ( set toolbars, toolboxes, context menus, ... )
Definition viewMode.cc:322
QSplitter * splitter_
Spliter between toplevel objects and the textedit at the bottom.
std::map< QToolBar *, QGraphicsProxyWidget * > PickToolBarMap
Handle to picking toolbar.
ACG::QtWidgets::QtSceneGraphDialog * sceneGraphDialog_
Handle to picking toolbar.
void startDrag(QMouseEvent *_event)
ACG::SceneGraph::DrawModes::DrawMode availableGlobalDrawModes_
This variable holds the global draw menu.
void strafeLeft()
When using first person mode strafe to the left.
void moveBack()
When using first person mode move backward.
void slotAddViewModeToolboxes(const QString &_mode, const QStringList &_usedWidgets)
Add or change Toolboxes for a ViewMode (non-userdefined viewMode)
Definition viewMode.cc:93
void slotHideContextMenu()
Hide the context menu.
Viewer::ActionMode actionMode_
QVector< QWidget * > toolWidgets_
a List of all widgets in the toolbar
void setFullscreen(bool _state)
Enable or disable fullscreen mode.
void saveKeyBindings(INIFile &_ini)
Store current key assignments to a given INI file.
void loadKeyBindings(INIFile &_ini)
Load key assignments from a given INI file.
QAction * globalMipmappingAction_
Action to globally set mipmapping.
void showHelpBrowser(const QString &page=homePage_)
Display the help Browser.
Definition Help.cc:65
void PluginKeyReleaseEvent(QKeyEvent *)
QAction * viewModeButton_
a List of all widgets in the toolbar
void setExamineMode()
void setForceNativeCursor(bool _state)
Use native or gl painted cursor.
QScrollArea * toolBoxScroll_
Toolbox scroll area.
void getActionMode(Viewer::ActionMode &_am)
Definition picking.cc:152
QToolButton * questionButton_
Called by Plugins to add a Toolbar.
void sceneRectChanged(const QRectF &rect)
void showLoggerInSplitView(bool _show)
Show logger in splitter or not.
void viewerSnapshot()
Create a snapshot of the whole app.
void slotSwitchWheels(bool _state)
Show / hide wheels.
void slotCustomContextMenu(const QPoint &_point)
This slot is called by the examiner widgets gl area when a context menu is requested.
void updatePopupMenu(const QPoint &_point)
check current context and initialize context menu according to this context.
void registerKey(int _key, Qt::KeyboardModifiers _modifiers, QString _description, bool _multiUse=false)
internal signal to register CoreWidget keys
void slotLog(Logtype _type, QString _message)
Slot writing everything to the Logger widget.
void slotGlobalViewAll()
Change view on all viewers to view complete scene.
bool pickingMode()
void updatePickMenu()
update pick mode menu
Definition picking.cc:291
void getToolBar(QString _name, QToolBar *&_toolbar)
Called by Plugins to get access to specific Toolbars by name.
QToolBar * pickToolBarExternal_
Extra toolbar not in scene for picking.
void slotGetStackWidget(const QString &_name, QWidget *&_widget)
QMenu containing the recently opened files.
std::vector< StackWidgetInfo > stackWidgetList_
QMenu containing the recently opened files.
QAction * globalAnimationAction_
Action to globally set animation.
QAction * globalBackfaceCullingAction_
Action to globally set backface culling.
void setPickMode(const std::string &_name)
Definition picking.cc:158
bool shiftPressed_
Store the state of the shift key.
QWidget * viewerDrawMenuWidget_
owns all the checkboxes of viewerDrawMenu_
void setToolBoxOrientationOnTheRight(bool _toolBoxRight)
Set orientation of tool box (either on the right or the left side of the screen)
int originalLoggerSize_
Size of the logging window ( defaults to 240 )
void slotSetViewAndWindowGeometry(QString view)
Set the supplied serialized view.
QAction * globalMultisamplingAction_
Action to globally set multisampling.
void moveToolBoxToTop(QString _name)
Move a specific toolbox widget to the top of the side area.
Definition viewMode.cc:487
void addAboutInfo(const QString &_text, const QString &_tabName)
Adds an entry to the about dialog.
Definition About.cc:83
std::set< QToolBar * > registeredToolbars_
Store all toolbars that once have been registered.
void closeChangeViewModePopup()
Closes the change view mode popup.
Definition viewMode.cc:342
void registerCoreKeys()
Register all events related to the core.
bool eventFilter(QObject *_obj, QEvent *_event)
typedefs
Definition MenuBar.cc:131
void showToolBar(bool _state)
Show or hide toolbar, emits toolBarToggled( bool _state )
QMenu * viewModeMenu_
Submenu holding all ViewMode actions.
QComboBox * viewerLayoutBox_
Called by Plugins to add a Toolbar.
AboutWidget * aboutWidget_
Pointer to the about widget.
void slotUpdateExaminer(unsigned _id)
update the content of the specified examiner
Definition viewMode.cc:545
void slotLocalChangeTwoSidedLighting(bool _lighting)
Set two-sided lighting for active viewer.
QtGLGraphicsView * glView_
graphics view that holds the gl scene
void slotLocalChangeAnimation(bool _animation)
Set the animation mode for active viewer.
InverseKeyMap invKeys_
mapping of all registered keys and the corresponding plugins to currently assigned keys
void applicationSnapshot()
Create a snapshot of the whole app.
void changeHelpSite(QUrl)
Pointer to the help Browser.
void slotGlobalChangeMipmapping(bool _multisampling)
Set mipmapping for all viewers.
QStackedWidget * stackedWidget_
Container widget for holding multiple views.
void setupMenuBar()
Setup the main menubar.
Definition MenuBar.cc:153
QAction * orthogonalProjectionAction_
This variable holds the global draw menu.
void slotContextSwitchProjection()
Toggle projection mode of the active viewer.
QString snapshotName_
Create a snapshot of the whole app with fileDialog.
std::vector< KeyBinding > coreKeys_
vector of keys registered to the core
void updatePopupMenuNode(QMenu *_menu, ACG::SceneGraph::BaseNode *_node)
Update context Menu when an arbitrary node has been clicked on.
ACG::SceneGraph::DrawModes::DrawMode activeDrawModes_
This variable holds the global draw menu.
bool examineMode()
const std::string & pickMode() const
Definition picking.cc:497
void slotGlobalHomeView()
Set the viewer to home position.
QMenu * toolsMenu_
Tools Menu.
void slotGlobalSetHomeView()
Set the home position for all viewers.
QActionGroup * drawGroupViewer_
DrawGroup for per Viewer Draw Modes.
void slotAddMenubarActions(std::vector< QAction * > _actions, QString _name)
File Menu.
Definition MenuBar.cc:82
void showOptionsWidget()
Display the Options Browser.
void toggleStatusBar()
Change visibility of the Status Bar.
Definition StatusBar.cc:144
void slotUpdateStackMenu()
QMenu containing the recently opened files.
void toolBarVisChanged(bool _state)
will be emitted if the visibility of the toolbar is changed
void updateInSceneLoggerGeometry()
Set in-scene logger geometry right.
void slotAddMenubarAction(QAction *_action, QString _name)
File Menu.
Definition MenuBar.cc:61
QMenu * helpMenu_
Help Menu.
void hidePickToolBar()
Hide picking toolbar.
Definition picking.cc:270
void slotUpdateGlobalDrawMenu()
Setup and update the global draw menu.
Definition MenuBar.cc:850
void updatePopupMenuObject(QMenu *_menu, BaseObjectData *_object)
Update popup Menu when an object has been clicked on.
void toggleMenuBar()
Hide or show menu bar.
void slotFilterToolboxes(QString searchBarText)
Slot for Filtering visible Toolboxes.
Definition viewMode.cc:349
void slotRemoveViewMode(const QString &_name)
Remove viewMode.
Definition viewMode.cc:295
void slotLockRotation(bool _lock)
Lock rotation in current examiner widget.
OptionsWidget * optionsWidget_
Pointer to the OptionsWidget.
void slotRenderMenu(QAction *_action)
Called when a different renderer has been chosen.
QSize defaultIconSize_
Show logger in splitter or not.
OpenFlipper::Options::LoggerState loggerState_
Show logger in splitter or not.
Viewer::ActionMode lastActionMode()
std::pair< KeyMap::iterator, KeyMap::iterator > KeyRange
typedefs
void showStatusBar(bool _state)
Show or hide status bar.
Definition StatusBar.cc:155
PythonWidget * pythonWidget_
Pointer to the about widget.
void slotGlobalOrthographicProjection()
Toggle projection mode of all viewers to orthographic projection.
void showReducedMenuBar(bool reduced)
typedefs
Definition MenuBar.cc:147
void hidePopupMenus()
Definition picking.cc:349
QAction * perspectiveProjectionAction_
This variable holds the global draw menu.
void setViewMode(const QString &_mode, bool _expandAll=false)
Set the view Mode to the given Mode.
Definition viewMode.cc:318
QToolBar * mainToolbar_
Called by Plugins to add a Toolbar.
QWidgetAction * viewModeChangePopupAction_
Handle to picking toolbar.
void applyOptions()
Pointer to the OptionsWidget.
void slotExaminerSnapshot()
Create a snapshot of the last active examiner.
QMenu * globalDrawMenu_
This variable holds the global draw menu.
int toolbarCount_
Called by Plugins to add a Toolbar.
void moveForward()
When using first person mode move forward.
void slotShowRenderManager()
shows the widget for the rendermanager
void slotRegisterSlotKeyBindings()
register scripting slots to allow keyBindings
QSplitter * toolSplitter_
Spliter between toplevel objects and toolbox.
void slotAddViewModeToolbars(const QString &_mode, const QStringList &_usedToolbars)
Add or change Toolbars for a ViewMode (non-userdefined viewMode)
Definition viewMode.cc:141
PickToolBarMap curPickingToolbarItems_
Handle to picking toolbar.
ACG::SceneGraph::CoordsysNode::ProjectionMode getCoordsysProjection()
Toggle coordsys projection mode of the active viewer.
void slotViewerDrawMenu(QAction *_action)
Called when a coordsys drawMode has been changed.
void slotActivateExaminer()
Definition Core.hh:133
Predefined datatypes.
Definition DataTypes.hh:83
Class for the handling of simple configuration files.
Definition INIFile.hh:100
Implementation of the logger Widget.
DataType contextType
Type of objects for which the context Menu should be visible.
QAction * action
The context item.
ContextMenuType type
Type of the context Menu ( Context for what type .. Background,Object,Node)
Struct containing information about pickModes.
bool visible_
QToolBar * toolbar_
bool tracking_
~PickMode()
Destructor.
QToolBar * toolbar() const
PickMode toolbar.
QCursor cursor_
std::string name() const
PickMode Name.
Definition CoreWidget.cc:96
QCursor cursor() const
PickMode cursor.
bool tracking() const
PickMode mouse tracking.
bool visible() const
PickMode visible.
Definition CoreWidget.cc:92
std::string name_
Name of the pickMode.
applicationStatus
Enum for the statusBar Status Icon.
ViewMode struct This struct contains a ViewMode and its status information such as used widgets,...
bool custom
Is this a user defined custom view mode or a plugin generated one.
QString name
Name of the View Mode.
QStringList visibleToolboxes
List of Visible Toolboxes in this view mode.
QStringList visibleContextMenus
List of context Menus in this view mode.
QMap< QString, QIcon > toolboxIconMap
Map of Toolbox Names to Icons.
QStringList visibleToolbars
List of Toolbars in this view mode.
QString icon