Developer Documentation
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
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.
Definition: CoreWidget.hh:816
void slotViewMenuAction(QAction *_action)
QMenu containing the recently opened files.
Definition: StackWidget.cc:122
QMenu * contextMenu_
context Menu for the gl area
Definition: CoreWidget.hh:998
QWidget * getToolboxArea()
Show logger in splitter or not.
Definition: CoreWidget.hh:515
QMenu * windowMenu_
Window Menu.
Definition: CoreWidget.hh:708
RendererObjectWidget * rendererObjectWidget_
shows the widget for the rendermanager
Definition: CoreWidget.hh:1159
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.
Definition: CoreWidget.hh:514
QAction * AC_ShowViewModeControls_
Action for View Mode Widget Conrol in Menu.
Definition: CoreWidget.hh:711
QActionGroup * viewGroup_
Group for all menu items.
Definition: CoreWidget.hh:885
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.
Definition: CoreWidget.cc:688
void slotSnapshotName()
Set the snapShot name for all examiners.
Definition: ContextMenu.cc:720
void slotShowSceneGraphDialog()
Definition: CoreWidget.cc:1027
void updatePopupMenuCoordsysNode(QMenu *_menu, const int _part)
Update context Menu when Coordsys node has been clicked on.
Definition: ContextMenu.cc:111
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_
Definition: CoreWidget.hh:1583
QtSlideWindow * slidingLogger_
Class that holds the animated log widget.
Definition: CoreWidget.hh:729
QGraphicsWidget * centerWidget_
center widged
Definition: CoreWidget.hh:723
QString getRPCName(QObject *_plugin)
typedefs
Definition: keyHandling.cc:63
static const QString homePage_
Pointer to the help Browser.
Definition: CoreWidget.hh:1113
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.
Definition: CoreWidget.hh:1004
std::vector< QAction * > extended_actions
Definition: CoreWidget.hh:1596
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.
Definition: CoreWidget.hh:1212
QActionGroup * drawGroup_
This variable holds the global draw menu.
Definition: CoreWidget.hh:879
QMenu * pythonMenu_
Python Menu.
Definition: CoreWidget.hh:810
void slotCopyView()
Copy view from the last active examiner.
QMenu * rendererMenu_
This variable holds the global renderer menu.
Definition: CoreWidget.hh:877
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.
Definition: CoreWidget.hh:819
void slotGlobalChangeAnimation(bool _animation)
Set the animation mode for all viewers.
void slotPasteView()
Paste the view to the last active examiner.
QMenu * pickMenu_
Definition: CoreWidget.hh:1579
QToolButton * stereoButton_
Called by Plugins to add a Toolbar.
Definition: CoreWidget.hh:832
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.
Definition: CoreWidget.hh:684
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.
Definition: CoreWidget.hh:589
void expandToolBoxWidget(QWidget *widget, bool expand)
Definition: picking.cc:492
void setPickingMode()
Definition: CoreWidget.hh:1470
void slotAddContextItem(QAction *_entry, ContextMenuType _type)
called by plugins to add a new context menu item
Definition: ContextMenu.cc:746
QToolBar * viewerToolbar_
Called by Plugins to add a Toolbar.
Definition: CoreWidget.hh:828
QAction * globalTwosidedLightingAction_
Action to globally set two-sided lighting.
Definition: CoreWidget.hh:897
~CoreWidget()
destructor
Definition: CoreWidget.cc:672
Viewer::ActionMode lastActionMode_
Definition: CoreWidget.hh:1481
QMenu * contextSelectionMenu_
Context Menu containing all selection elements.
Definition: CoreWidget.hh:1001
void slotGlobalChangeBackFaceCulling(bool _backFaceCulling)
Set backface culling for all viewers.
void showToolbox(bool _state)
Show or hide toolbox.
Definition: CoreWidget.cc:759
void slotLocalChangeMultisampling(bool _multisampling)
Set multisampling for active viewer.
bool lightMode()
Definition: CoreWidget.hh:1463
QMenu * coordSysMenu_
Definition: CoreWidget.hh:1017
void coreKeyPressEvent()
handle key events for the core
void dragEnterEvent(QDragEnterEvent *_event)
Definition: dragAndDrop.cc:128
void toggleToolbox()
Hide or show toolbox area.
Definition: CoreWidget.cc:747
void slotUpdateStackWidget(QString _name, QWidget *_widget)
QMenu containing the recently opened files.
Definition: StackWidget.cc:96
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
Definition: CoreWidget.hh:717
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
Definition: CoreWidget.hh:714
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.
Definition: CoreWidget.hh:833
SideArea * toolBox_
Toolbox.
Definition: CoreWidget.hh:741
void slotPasteViewAndWindow()
Paste the view, the window and toolbox size to the last active examiner.
void dropEvent(QDropEvent *_event)
Definition: dragAndDrop.cc:142
void addCoreLicenseInfo()
Add license information about core parts.
void showViewModeControls(bool _show)
Hide or show the View Mode controls.
Definition: CoreWidget.cc:718
void slotAddKeyMapping(int _key, Qt::KeyboardModifiers _modifiers, QObject *_plugin, int _keyBindingID)
add a new key Mapping
Definition: keyHandling.cc:348
void updateRecent()
Update the recent files menu.
Definition: CoreWidget.cc:892
CursorPainter * cursorPainter_
Cursor handling.
Definition: CoreWidget.hh:757
virtual void keyPressEvent(QKeyEvent *_e)
Handle key events.
Definition: keyHandling.cc:77
void setViewerLayout(int _idx)
Change viewer layout that was selected in the combo box.
Definition: CoreWidget.cc:995
void slotAddStackWidget(QString _name, QWidget *_widget)
QMenu containing the recently opened files.
Definition: StackWidget.cc:79
void toggleLogger()
Hide or show logging area.
bool questionMode()
Definition: CoreWidget.hh:1464
Viewer::ActionMode actionMode()
Definition: CoreWidget.hh:1477
void getPickMode(std::string &_name)
Definition: picking.cc:173
void slotApplyStereoSettings(int _tmpParam=0)
Definition: viewMode.cc:519
viewModeChangeWidget * modeChangeWidget
Handle to picking toolbar.
Definition: CoreWidget.hh:765
QActionGroup * rendererGroup_
Group for all renderers.
Definition: CoreWidget.hh:882
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()
Definition: CoreWidget.hh:1471
LoggerWidget * logWidget_
Textedit at the bottom for log messages.
Definition: CoreWidget.hh:693
QToolButton * pickButton_
Called by Plugins to add a Toolbar.
Definition: CoreWidget.hh:834
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
Definition: CoreWidget.cc:1105
RendererDialog * rendererDialog_
shows the widget for the rendermanager
Definition: CoreWidget.hh:1158
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.
Definition: CoreWidget.hh:699
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
Definition: CoreWidget.hh:735
QMenu * viewMenu_
View Menu.
Definition: CoreWidget.hh:807
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
Definition: keyHandling.cc:671
void showLogger(OpenFlipper::Options::LoggerState _state)
Change visibility of the logger.
bool stereoActive_
The viewer with id _viewerId changed its draw Mode.
Definition: CoreWidget.hh:1450
QList< SlotInfo > & coreSlots_
list of scripting slots from core
Definition: CoreWidget.hh:399
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.
Definition: CoreWidget.cc:829
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
Definition: CoreWidget.hh:393
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
Definition: keyHandling.cc:149
void slotCoordSysVisibility(bool _visible)
Hide coordinate systems in all viewers.
StereoSettingsWidget * stereoSettingsWidget_
Widget to change stereo settings.
Definition: CoreWidget.hh:1180
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)
Definition: ContextMenu.cc:521
void dragOpenFile(QString _filename)
void addRecent(QString _filename, DataType _type)
Add a recent file and update menu.
Definition: CoreWidget.cc:878
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.
Definition: CoreWidget.cc:956
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
Definition: ContextMenu.cc:765
QMenu * viewerDrawMenu_
Draw Menu for per Viewer Draw Modes.
Definition: CoreWidget.hh:1010
void slotRegisterKey(int _key, Qt::KeyboardModifiers _modifiers, const QString &_description, bool _multiUse=false)
key registration
Definition: keyHandling.cc:206
void showMenuBar(bool _state)
Show or hide menubar.
Definition: CoreWidget.cc:776
SideArea * getToolbox()
Show logger in splitter or not.
Definition: CoreWidget.hh:516
void showAboutWidget()
Display the about widget.
Definition: About.cc:87
std::vector< PluginInfo > & plugins()
Convenient way to access plugin list.
Definition: CoreWidget.cc:679
void updatePopupMenuBackground(QMenu *_menu, const QPoint &_point)
Update context Menu when background has been clicked on.
Definition: ContextMenu.cc:449
void setActivePickToolBar(QToolBar *_tool)
Set toolbar to be active pick toolbar.
Definition: picking.cc:179
std::string pick_mode_name_
Definition: CoreWidget.hh:1587
HelpWidget * helpWidget_
Pointer to the help Browser.
Definition: CoreWidget.hh:1124
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.
Definition: CoreWidget.cc:925
void slotGlobalChangeMultisampling(bool _multisampling)
Set multisampling for all viewers.
int snapshotCounter_
Create a snapshot of the whole app with fileDialog.
Definition: CoreWidget.hh:1029
QMenu * fileMenu_
File Menu.
Definition: CoreWidget.hh:804
void slotUpdateViewerDrawMenu()
Creates a draw Menu for the currently active Viewer.
Definition: ContextMenu.cc:802
QMenu * algorithmMenu_
Algorithms Menu.
Definition: CoreWidget.hh:702
QtMultiViewLayout * baseLayout_
Base layout that holds gl views.
Definition: CoreWidget.hh:726
void updateContextMenuBackground()
tells the plugins to update their context menu when the background is picked
QWidget * viewModeControlBox_
Group box containing Task Switcher Controls.
Definition: CoreWidget.hh:690
std::vector< QToolBar * > toolbars_
Called by Plugins to add a Toolbar.
Definition: CoreWidget.hh:1269
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.
Definition: ContextMenu.cc:896
void slotContextSetHomeView()
Set the active viewers home position.
void slotToggleStereoMode()
Enable or disable Stereo.
QWidget * toolBoxArea_
Widget for toolBox.
Definition: CoreWidget.hh:732
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
Definition: CoreWidget.hh:368
void slotContextSwitchCoordsysProjection()
Toggle coordsys projection mode of the active viewer.
KeyBinding getKeyBinding(QObject *_plugin, int _keyIndex)
typedefs
Definition: keyHandling.cc:50
QMenu * stackMenu_
QMenu containing the recently opened files.
Definition: CoreWidget.hh:1097
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.
Definition: CoreWidget.hh:687
std::map< QToolBar *, QGraphicsProxyWidget * > PickToolBarMap
Handle to picking toolbar.
Definition: CoreWidget.hh:747
ACG::QtWidgets::QtSceneGraphDialog * sceneGraphDialog_
Handle to picking toolbar.
Definition: CoreWidget.hh:761
void startDrag(QMouseEvent *_event)
Definition: dragAndDrop.cc:67
ACG::SceneGraph::DrawModes::DrawMode availableGlobalDrawModes_
This variable holds the global draw menu.
Definition: CoreWidget.hh:907
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.
Definition: ContextMenu.cc:77
Viewer::ActionMode actionMode_
Definition: CoreWidget.hh:1481
QVector< QWidget * > toolWidgets_
a List of all widgets in the toolbar
Definition: CoreWidget.hh:585
void setFullscreen(bool _state)
Enable or disable fullscreen mode.
Definition: CoreWidget.cc:700
void saveKeyBindings(INIFile &_ini)
Store current key assignments to a given INI file.
Definition: keyHandling.cc:471
void loadKeyBindings(INIFile &_ini)
Load key assignments from a given INI file.
Definition: keyHandling.cc:414
QAction * globalMipmappingAction_
Action to globally set mipmapping.
Definition: CoreWidget.hh:903
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
Definition: CoreWidget.hh:593
void setExamineMode()
Definition: CoreWidget.hh:1469
void setForceNativeCursor(bool _state)
Use native or gl painted cursor.
Definition: CoreWidget.cc:1098
QScrollArea * toolBoxScroll_
Toolbox scroll area.
Definition: CoreWidget.hh:744
void getActionMode(Viewer::ActionMode &_am)
Definition: picking.cc:152
QToolButton * questionButton_
Called by Plugins to add a Toolbar.
Definition: CoreWidget.hh:835
void sceneRectChanged(const QRectF &rect)
Definition: CoreWidget.cc:1053
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.
Definition: ContextMenu.cc:60
void updatePopupMenu(const QPoint &_point)
check current context and initialize context menu according to this context.
Definition: ContextMenu.cc:657
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()
Definition: CoreWidget.hh:1462
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.
Definition: CoreWidget.hh:751
void slotGetStackWidget(const QString &_name, QWidget *&_widget)
QMenu containing the recently opened files.
Definition: StackWidget.cc:67
std::vector< StackWidgetInfo > stackWidgetList_
QMenu containing the recently opened files.
Definition: CoreWidget.hh:1099
QAction * globalAnimationAction_
Action to globally set animation.
Definition: CoreWidget.hh:891
QAction * globalBackfaceCullingAction_
Action to globally set backface culling.
Definition: CoreWidget.hh:894
void setPickMode(const std::string &_name)
Definition: picking.cc:158
bool shiftPressed_
Store the state of the shift key.
Definition: CoreWidget.hh:435
QWidget * viewerDrawMenuWidget_
owns all the checkboxes of viewerDrawMenu_
Definition: CoreWidget.hh:1013
void setToolBoxOrientationOnTheRight(bool _toolBoxRight)
Set orientation of tool box (either on the right or the left side of the screen)
Definition: CoreWidget.cc:838
int originalLoggerSize_
Size of the logging window ( defaults to 240 )
Definition: CoreWidget.hh:696
void slotSetViewAndWindowGeometry(QString view)
Set the supplied serialized view.
QAction * globalMultisamplingAction_
Action to globally set multisampling.
Definition: CoreWidget.hh:900
void moveToolBoxToTop(QString _name)
Move a specific toolbox widget to the top of the side area.
Definition: viewMode.cc:487
CoreWidget(QVector< ViewMode * > &_viewModes, QList< SlotInfo > &_coreSlots)
constructor
Definition: CoreWidget.cc:135
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.
Definition: CoreWidget.hh:754
void closeChangeViewModePopup()
Closes the change view mode popup.
Definition: viewMode.cc:342
void registerCoreKeys()
Register all events related to the core.
Definition: keyHandling.cc:520
bool eventFilter(QObject *_obj, QEvent *_event)
typedefs
Definition: MenuBar.cc:131
void showToolBar(bool _state)
Show or hide toolbar, emits toolBarToggled( bool _state )
Definition: CoreWidget.cc:793
QMenu * viewModeMenu_
Submenu holding all ViewMode actions.
Definition: CoreWidget.hh:596
QComboBox * viewerLayoutBox_
Called by Plugins to add a Toolbar.
Definition: CoreWidget.hh:837
AboutWidget * aboutWidget_
Pointer to the about widget.
Definition: CoreWidget.hh:1209
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
Definition: CoreWidget.hh:720
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
Definition: CoreWidget.hh:396
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.
Definition: CoreWidget.hh:1103
void setupMenuBar()
Setup the main menubar.
Definition: MenuBar.cc:153
QAction * orthogonalProjectionAction_
This variable holds the global draw menu.
Definition: CoreWidget.hh:888
void slotContextSwitchProjection()
Toggle projection mode of the active viewer.
QString snapshotName_
Create a snapshot of the whole app with fileDialog.
Definition: CoreWidget.hh:1028
std::vector< KeyBinding > coreKeys_
vector of keys registered to the core
Definition: CoreWidget.hh:390
void updatePopupMenuNode(QMenu *_menu, ACG::SceneGraph::BaseNode *_node)
Update context Menu when an arbitrary node has been clicked on.
Definition: ContextMenu.cc:89
ACG::SceneGraph::DrawModes::DrawMode activeDrawModes_
This variable holds the global draw menu.
Definition: CoreWidget.hh:905
bool examineMode()
Definition: CoreWidget.hh:1461
const std::string & pickMode() const
Definition: picking.cc:497
void slotGlobalHomeView()
Set the viewer to home position.
QMenu * toolsMenu_
Tools Menu.
Definition: CoreWidget.hh:813
void slotGlobalSetHomeView()
Set the home position for all viewers.
QActionGroup * drawGroupViewer_
DrawGroup for per Viewer Draw Modes.
Definition: CoreWidget.hh:1007
void slotAddMenubarActions(std::vector< QAction * > _actions, QString _name)
File Menu.
Definition: MenuBar.cc:82
void showOptionsWidget()
Display the Options Browser.
Definition: CoreWidget.cc:929
void toggleStatusBar()
Change visibility of the Status Bar.
Definition: StatusBar.cc:144
void slotUpdateStackMenu()
QMenu containing the recently opened files.
Definition: StackWidget.cc:143
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.
Definition: CoreWidget.hh:705
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.
Definition: ContextMenu.cc:499
void toggleMenuBar()
Hide or show menu bar.
Definition: CoreWidget.cc:821
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.
Definition: CoreWidget.hh:1232
void slotRenderMenu(QAction *_action)
Called when a different renderer has been chosen.
Definition: ContextMenu.cc:901
QSize defaultIconSize_
Show logger in splitter or not.
Definition: CoreWidget.hh:574
OpenFlipper::Options::LoggerState loggerState_
Show logger in splitter or not.
Definition: CoreWidget.hh:572
Viewer::ActionMode lastActionMode()
Definition: CoreWidget.hh:1478
std::pair< KeyMap::iterator, KeyMap::iterator > KeyRange
typedefs
Definition: CoreWidget.hh:370
void showStatusBar(bool _state)
Show or hide status bar.
Definition: StatusBar.cc:155
PythonWidget * pythonWidget_
Pointer to the about widget.
Definition: CoreWidget.hh:1248
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.
Definition: CoreWidget.hh:887
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.
Definition: CoreWidget.hh:1267
QWidgetAction * viewModeChangePopupAction_
Handle to picking toolbar.
Definition: CoreWidget.hh:763
void applyOptions()
Pointer to the OptionsWidget.
int pick_mode_idx_
Definition: CoreWidget.hh:1591
void slotExaminerSnapshot()
Create a snapshot of the last active examiner.
QMenu * globalDrawMenu_
This variable holds the global draw menu.
Definition: CoreWidget.hh:874
int toolbarCount_
Called by Plugins to add a Toolbar.
Definition: CoreWidget.hh:830
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
Definition: keyHandling.cc:283
QSplitter * toolSplitter_
Spliter between toplevel objects and toolbox.
Definition: CoreWidget.hh:738
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.
Definition: CoreWidget.hh:748
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.
Definition: ContextMenu.cc:868
void slotActivateExaminer()
Definition: CoreWidget.cc:1076
Definition: Core.hh:133
void clearAll()
Clear all data objects.
Definition: Core.cc:1066
void resizeApplication(int _width, int _height)
resize the whole Application
Definition: Core.cc:1582
void resizeViewers(int _width, int _height)
resize the examinerViewer
Definition: Core.cc:1571
void loadPlugin(const QString &_filename, const bool _silent, QString &_licenseErrors, QObject *_plugin=0)
Function for loading Plugins.
void startVideoCapture(const QString &_baseName, int _fps, bool _captureViewers)
Start video capturing.
Definition: Video.cc:63
void log(Logtype _type, QString _message)
Logg with OUT,WARN or ERR as type.
void stopVideoCapture()
Stop video capturing.
Definition: Video.cc:109
Predefined datatypes.
Definition: DataTypes.hh:83
Class for the handling of simple configuration files.
Definition: INIFile.hh:100
Implementation of the logger Widget.
Definition: loggerWidget.hh:62
DataType contextType
Type of objects for which the context Menu should be visible.
Definition: CoreWidget.hh:172
QAction * action
The context item.
Definition: CoreWidget.hh:169
ContextMenuType type
Type of the context Menu ( Context for what type .. Background,Object,Node)
Definition: CoreWidget.hh:175
Struct containing information about pickModes.
Definition: CoreWidget.hh:184
bool visible_
Definition: CoreWidget.hh:270
QToolBar * toolbar_
Definition: CoreWidget.hh:278
bool tracking_
Definition: CoreWidget.hh:266
~PickMode()
Destructor.
Definition: CoreWidget.hh:190
QToolBar * toolbar() const
PickMode toolbar.
Definition: CoreWidget.cc:120
QCursor cursor_
Definition: CoreWidget.hh:274
PickMode(const std::string &_n, const bool _t, const bool _v, QCursor _c, QToolBar *_tb=0)
Constructor.
Definition: CoreWidget.cc:78
std::string name() const
PickMode Name.
Definition: CoreWidget.cc:96
QCursor cursor() const
PickMode cursor.
Definition: CoreWidget.cc:112
bool tracking() const
PickMode mouse tracking.
Definition: CoreWidget.cc:104
bool visible() const
PickMode visible.
Definition: CoreWidget.cc:92
std::string name_
Name of the pickMode.
Definition: CoreWidget.hh:262
applicationStatus
Enum for the statusBar Status Icon.
ViewMode struct This struct contains a ViewMode and its status information such as used widgets,...
Definition: CoreWidget.hh:125
bool custom
Is this a user defined custom view mode or a plugin generated one.
Definition: CoreWidget.hh:135
QString name
Name of the View Mode.
Definition: CoreWidget.hh:128
QStringList visibleToolboxes
List of Visible Toolboxes in this view mode.
Definition: CoreWidget.hh:138
QStringList visibleContextMenus
List of context Menus in this view mode.
Definition: CoreWidget.hh:147
QMap< QString, QIcon > toolboxIconMap
Map of Toolbox Names to Icons.
Definition: CoreWidget.hh:141
QStringList visibleToolbars
List of Toolbars in this view mode.
Definition: CoreWidget.hh:144
QString icon
Definition: CoreWidget.hh:132