Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
CoreWidget Class Reference

#include <OpenFlipper/widgets/coreWidget/CoreWidget.hh>

Inheritance diagram for CoreWidget:

Signals

void clearAll ()
 
void loadMenu ()
 
void addEmptyObjectMenu ()
 
void saveMenu ()
 
void saveToMenu ()
 
void loadIniMenu ()
 
void saveIniMenu ()
 
void recentOpen (QAction *)
 
void exit ()
 
void loadPlugin ()
 
void showPlugins ()
 
Logger
void log (Logtype _type, QString _message)
 
void log (QString _message)
 

Public Member Functions

 CoreWidget (QVector< ViewMode * > &_viewModes, std::vector< PluginInfo > &_plugins, QList< SlotInfo > &_coreSlots)
 constructor More...
 
 ~CoreWidget ()
 destructor
 
GUI creation
void setupMenuBar ()
 Setup the main menubar.
 
Recent File Menu handling
void addRecent (QString _filename, DataType _type)
 Add a recent file and update menu.
 
void updateRecent ()
 Update the recent files menu.
 

Private Slots

void closeEvent (QCloseEvent *event)
 Called on applications close.
 
void slotShowSceneGraphDialog ()
 
void slotActivateExaminer ()
 
void slotLog (Logtype _type, QString _message)
 Slot writing everything to the Logger widget. More...
 
void sceneRectChanged (const QRectF &rect)
 

Private Attributes

std::vector< PluginInfo > & plugins_
 

Friends

class Core
 

Keys

typedef std::multimap
< std::pair< int,
Qt::KeyboardModifiers >
, std::pair< QObject *, int > > 
KeyMap
 typedefs
 
typedef std::pair
< KeyMap::iterator,
KeyMap::iterator > 
KeyRange
 typedefs
 
std::vector< KeyBindingcoreKeys_
 vector of keys registered to the core
 
KeyMap keys_
 mapping of all keys to registered keys and the corresponding plugins
 
InverseKeyMap invKeys_
 mapping of all registered keys and the corresponding plugins to currently assigned keys
 
QList< SlotInfo > & coreSlots_
 list of scripting slots from core
 
bool shiftPressed_
 Store the state of the shift key.
 
void loadKeyBindings (INIFile &_ini)
 Load key assignments from a given INI file.
 
void saveKeyBindings (INIFile &_ini)
 Store current key assignments to a given INI file.
 
void showReducedMenuBar (bool reduced)
 typedefs
 
void PluginKeyEvent (QKeyEvent *)
 
void PluginKeyReleaseEvent (QKeyEvent *)
 
void registerKey (int _key, Qt::KeyboardModifiers _modifiers, QString _description, bool _multiUse=false)
 internal signal to register CoreWidget keys
 
void call (QString _expression, bool &_success)
 call a scripting function
 
void slotRegisterKey (int _key, Qt::KeyboardModifiers _modifiers, QString _description, bool _multiUse=false)
 key registration More...
 
virtual void keyPressEvent (QKeyEvent *_e)
 Handle key events. More...
 
virtual void keyReleaseEvent (QKeyEvent *_e)
 passes keyReleaseEvents to either the Core or a Plugin depending on who has registered the key
 
bool event (QEvent *event)
 typedefs
 
bool eventFilter (QObject *_obj, QEvent *_event)
 typedefs
 
void registerCoreKeys ()
 Register all events related to the core. More...
 
void coreKeyPressEvent ()
 handle key events for the core More...
 
void coreKeyPressEvent (QKeyEvent *_e)
 Handle core key events. More...
 
void coreKeyReleaseEvent (QKeyEvent *_e)
 if a keyReleaseEvent belongs to the core this functions is called
 
KeyBinding getKeyBinding (QObject *_plugin, int _keyIndex)
 typedefs
 
QString getRPCName (QObject *_plugin)
 typedefs
 
void slotAddKeyMapping (int _key, Qt::KeyboardModifiers _modifiers, QObject *_plugin, int _keyBindingID)
 add a new key Mapping More...
 
void slotRegisterSlotKeyBindings ()
 register scripting slots to allow keyBindings More...
 

Video Capturing

void startVideoCapture (QString _baseName, int _fps, bool _captureViewers)
 
void stopVideoCapture ()
 
void resizeViewers (int _width, int _height)
 
void resizeApplication (int _width, int _height)
 
void startVideoCaptureDialog ()
 

GUI Controls

OpenFlipper::Options::LoggerState loggerState_
 Show logger in splitter or not.
 
QSize defaultIconSize_
 Show logger in splitter or not.
 
void showLoggerInSplitView (bool _show)
 Show logger in splitter or not.
 
void updateInSceneLoggerGeometry ()
 Set in-scene logger geometry right.
 
void setForceNativeCursor (bool _state)
 Use native or gl painted cursor.
 
QSize defaultIconSize ()
 Show logger in splitter or not.
 
QScrollArea * getToolboxScrollArea ()
 Show logger in splitter or not.
 
QWidget * getToolboxArea ()
 Show logger in splitter or not.
 
SideAreagetToolbox ()
 Show logger in splitter or not.
 
void toolBarVisChanged (bool _state)
 will be emitted if the visibility of the toolbar is changed
 
void toolBoxVisChanged (bool _state)
 will be emitted if the visibility of the toolbox is changed
 
void statusBarVisChanged (bool _state)
 will be emitted if the visibility of the statusbar is changed
 
void menuBarVisChanged (bool _state)
 will be emitted if the visibility of the menubar is changed
 
void fullScreenChanged (bool _state)
 will be emitted if the fullscreen state is changed (_state = true => in fullscreen)
 
void toggleFullscreen ()
 Set application to Fullscreen and back. More...
 
void setFullscreen (bool _state)
 Enable or disable fullscreen mode. More...
 
void toggleLogger ()
 Hide or show logging area. More...
 
void showLogger (OpenFlipper::Options::LoggerState _state)
 Change visibility of the logger. More...
 
void toggleToolbox ()
 Hide or show toolbox area. More...
 
void showToolbox (bool _state)
 Show or hide toolbox. More...
 
void toggleStatusBar ()
 Change visibility of the Status Bar. More...
 
void showStatusBar (bool _state)
 Show or hide status bar. More...
 
void showMenuBar (bool _state)
 Show or hide menubar.
 
void toggleMenuBar ()
 Hide or show menu bar. More...
 
void toggleToolBar ()
 Hide or show current toolbar.
 
void showToolBar (bool _state)
 Show or hide toolbar, emits toolBarToggled( bool _state ) More...
 

Tool Widgets / View Modes

QVector< QWidget * > toolWidgets_
 a List of all widgets in the toolbar
 
QAction * viewModeButton_
 a List of all widgets in the toolbar
 
QMenu * viewModeMenu_
 Submenu holding all ViewMode actions.
 
QVector< ViewMode * > & viewModes_
 List of currently available viewModes.
 
void slotRemoveViewMode (QString _name)
 Remove viewMode. More...
 
void slotSetViewMode (QAction *action)
 Slot for setting ViewMode from Menu. More...
 
void slotViewModeDialog ()
 Show a dialog in which the viewMode can be edited. More...
 
void closeChangeViewModePopup ()
 Closes the change view mode popup.
 
void slotUpdateExaminer (unsigned _id)
 update the content of the specified examiner
 
void initViewModes ()
 init ViewModes that were loaded via ini-file
 
void slotAddViewModeToolboxes (QString _mode, QStringList _usedWidgets)
 Add or change Toolboxes for a ViewMode (non-userdefined viewMode)
 
void slotAddViewModeToolboxes (QString _mode, bool _custom, QStringList _usedWidgets)
 Add or change Toolboxes for a ViewMode (_custom == userdefined viewMode)
 
void slotAddViewModeToolbars (QString _mode, QStringList _usedToolbars)
 Add or change Toolbars for a ViewMode (non-userdefined viewMode)
 
void slotAddViewModeToolbars (QString _mode, bool _custom, QStringList _usedToolbars)
 Add or change Toolbars for a ViewMode (_custom == userdefined viewMode)
 
void slotAddViewModeContextMenus (QString _mode, QStringList _usedToolbars)
 Add or change Toolbars for a ViewMode (non-userdefined viewMode)
 
void slotAddViewModeContextMenus (QString _mode, bool _custom, QStringList _usedToolbars)
 Add or change Toolbars for a ViewMode (_custom == userdefined viewMode)
 
void slotAddViewModeComplete (QString _mode, bool _custom, QStringList _toolboxes, QStringList _toolbars, QStringList _contextmenus)
 Completly configure a view mode ( set toolbars, toolboxes, context menus, ... )
 
void slotSetViewModeIcon (QString _mode, QString _iconName)
 Sets the Icon for a given View Mode (non-userdefined viewMode) More...
 
void slotSetViewModeIcon (QString _mode, bool _custom, QString _iconName)
 Sets the Icon for a given View Mode (_custom == userdefined viewMode) More...
 
void slotChangeView (QString _mode, QStringList _toolboxWidgets, QStringList _toolbars, QStringList _contextmenus, bool _expandAll=false)
 Slot for Changing visible toolWidgets.
 
void setToolBoxOrientationOnTheRight (bool _toolBoxRight)
 Set orientation of tool box (either on the right or the left side of the screen)
 
void showViewModeControls (bool _show)
 Hide or show the View Mode controls.
 
void slotHideContextMenu ()
 Hide the context menu.
 
void setViewMode (QString _mode, bool _expandAll=false)
 Set the view Mode to the given Mode. More...
 
void moveToolBoxToTop (QString _name)
 Move a specific toolbox widget to the top of the side area.
 
void moveToolBoxToBottom (QString _name)
 Move a specific toolbox widget to the bottom of the side area.
 

Basic Gui Elements

typedef std::map< QToolBar
*, QGraphicsProxyWidget * > 
PickToolBarMap
 Handle to picking toolbar.
 
std::vector< glViewer * > examiner_widgets_
 Examiner Widget.
 
QSplitter * splitter_
 Spliter between toplevel objects and the textedit at the bottom.
 
QWidget * viewModeControlBox_
 Group box containing Task Switcher Controls.
 
LoggerWidgetlogWidget_
 Textedit at the bottom for log messages.
 
int originalLoggerSize_
 Size of the logging window ( defaults to 240 )
 
QMenu * recentFilesMenu_
 QMenu containing the recently opened files.
 
QMenu * algorithmMenu_
 Algorithms Menu.
 
QMenu * helpMenu_
 Help Menu.
 
QMenu * windowMenu_
 Window Menu.
 
QAction * AC_ShowViewModeControls_
 Action for View Mode Widget Conrol in Menu.
 
QGLWidget * glWidget_
 gl widget used as drawing area to paint the graphics scene
 
QtGLGraphicsSceneglScene_
 graphics scene used to paint gl context and widgets
 
QtGLGraphicsViewglView_
 graphics view that holds the gl scene
 
QGraphicsWidget * centerWidget_
 center widged
 
QtMultiViewLayoutbaseLayout_
 Base layout that holds gl views.
 
QtSlideWindowslidingLogger_
 Class that holds the animated log widget.
 
QWidget * toolBoxArea_
 Widget for toolBox.
 
QToolButton * viewModePopupBtn_
 view mode gear icon at the upper left of the tool box
 
QSplitter * toolSplitter_
 Spliter between toplevel objects and toolbox.
 
SideAreatoolBox_
 Toolbox.
 
QScrollArea * toolBoxScroll_
 Toolbox scroll area.
 
PickToolBarMap curPickingToolbarItems_
 Handle to picking toolbar.
 
QToolBar * pickToolBarExternal_
 Extra toolbar not in scene for picking.
 
std::set< QToolBar * > registeredToolbars_
 Store all toolbars that once have been registered.
 
CursorPaintercursorPainter_
 Cursor handling.
 
ACG::QtWidgets::QtSceneGraphDialogsceneGraphDialog_
 Handle to picking toolbar.
 
QWidgetAction * viewModeChangePopupAction_
 Handle to picking toolbar.
 
viewModeChangeWidgetmodeChangeWidget
 Handle to picking toolbar.
 

Menubar controls

QMenu * fileMenu_
 File Menu.
 
QMenu * viewMenu_
 View Menu.
 
QMenu * toolsMenu_
 Tools Menu.
 
QAction * fileMenuEnd_
 First entry after all relevant parts of the File Menu.
 
QMap< QString, QMenu * > menus_
 All available menus.
 
void slotAddMenubarAction (QAction *_action, QString _name)
 File Menu.
 
void slotAddMenubarActions (std::vector< QAction * > _actions, QString _name)
 File Menu.
 
void slotGetMenubarMenu (QString _name, QMenu *&_menu, bool _create)
 File Menu.
 

ToolBar controls

QToolBar * viewerToolbar_
 Called by Plugins to add a Toolbar.
 
int toolbarCount_
 Called by Plugins to add a Toolbar.
 
QToolButton * stereoButton_
 Called by Plugins to add a Toolbar.
 
QToolButton * moveButton_
 Called by Plugins to add a Toolbar.
 
QToolButton * pickButton_
 Called by Plugins to add a Toolbar.
 
QToolButton * questionButton_
 Called by Plugins to add a Toolbar.
 
QComboBox * viewerLayoutBox_
 Called by Plugins to add a Toolbar.
 
QToolBar * mainToolbar_
 Called by Plugins to add a Toolbar.
 
std::vector< QToolBar * > toolbars_
 Called by Plugins to add a Toolbar.
 
void slotAddToolbar (QToolBar *_toolbar)
 Called by Plugins to add a Toolbar.
 
void slotRemoveToolbar (QToolBar *_toolbar)
 Called by Plugins to remove a Toolbar.
 
void getToolBar (QString _name, QToolBar *&_toolbar)
 Called by Plugins to get access to specific Toolbars by name.
 

View Menu

QMenu * globalDrawMenu_
 This variable holds the global draw menu.
 
QMenu * rendererMenu_
 This variable holds the global renderer menu.
 
QActionGroup * drawGroup_
 This variable holds the global draw menu.
 
QActionGroup * rendererGroup_
 Group for all renderers.
 
QActionGroup * viewGroup_
 Group for all menu items.
 
QAction * perspectiveProjectionAction_
 This variable holds the global draw menu.
 
QAction * orthogonalProjectionAction_
 This variable holds the global draw menu.
 
QAction * globalAnimationAction_
 Action to globally set animation.
 
QAction * globalBackfaceCullingAction_
 Action to globally set backface culling.
 
QAction * globalTwosidedLightingAction_
 Action to globally set two-sided lighting.
 
QAction * globalMultisamplingAction_
 Action to globally set multisampling.
 
QAction * globalMipmappingAction_
 Action to globally set mipmapping.
 
ACG::SceneGraph::DrawModes::DrawMode activeDrawModes_
 This variable holds the global draw menu.
 
ACG::SceneGraph::DrawModes::DrawMode availableGlobalDrawModes_
 This variable holds the global draw menu.
 
void nextViewerLayout ()
 Switches over to the next view mode.
 
void slotGlobalDrawMenu (QAction *_action)
 Called when the global drawMode is selected.
 
void slotViewMenuAboutToShow ()
 Called before the view Menu is shown.
 
void slotGlobalRendererMenu (QAction *_action)
 Called when the global renderer is selected.
 
void slotGlobalPostProcessorMenu (QAction *_action)
 Called when the global postprocessor is selected.
 
void slotUpdateGlobalDrawMenu ()
 Setup and update the global draw menu.
 
void slotUpdateRendererMenu ()
 Setup and update the global renderer menu.
 
void setViewerLayout (int _idx)
 Change viewer layout that was selected in the combo box.
 

Context Menu

QMenu * contextMenu_
 context Menu for the gl area
 
QMenu * contextSelectionMenu_
 Context Menu containing all selection elements.
 
std::vector< MenuInfocontextMenus_
 All real context menu entries.
 
QActionGroup * drawGroupViewer_
 DrawGroup for per Viewer Draw Modes.
 
QMenu * viewerDrawMenu_
 Draw Menu for per Viewer Draw Modes.
 
QWidget * viewerDrawMenuWidget_
 owns all the checkboxes of viewerDrawMenu_
 
QMenu * coordSysMenu_
 
void updateContextMenu (int)
 tells the plugins to update their context menu when an object is picked
 
void updateContextMenuNode (int)
 tells the plugins to update their context menu when a node is picked
 
void updateContextMenuBackground ()
 tells the plugins to update their context menu when the background is picked
 
void slotCustomContextMenu (const QPoint &_point)
 This slot is called by the examiner widgets gl area when a context menu is requested.
 
void slotAddContextItem (QAction *_entry, ContextMenuType _type)
 called by plugins to add a new context menu item
 
void slotAddContextItem (QAction *_entry, DataType _dataType, ContextMenuType type_)
 called by plugins to add a real context menu item depending on DataType
 
void slotAddContextItemToViewMode (QAction *_entry)
 called by slotAddContextItem to add the item to the view mode
 
void slotPasteView ()
 Paste the view to the last active examiner.
 
void slotPasteViewAndWindow ()
 Paste the view, the window and toolbox size to the last active examiner.
 
void slotSetView (QString view)
 Set the supplied serialized view.
 
void slotSetViewAndWindowGeometry (QString view)
 Set the supplied serialized view.
 
void slotCopyView ()
 Copy view from the last active examiner.
 
void slotViewerDrawMenu (QAction *_action)
 Called when a coordsys drawMode has been changed.
 
void slotPostProcessorMenu (QAction *_action)
 Called when a different post processor has been chosen.
 
void slotRenderMenu (QAction *_action)
 Called when a different renderer has been chosen.
 
void slotUpdateViewerDrawMenu ()
 Creates a draw Menu for the currently active Viewer.
 
void slotExaminerSnapshot ()
 Create a snapshot of the last active examiner. More...
 
void slotSwitchWheels (bool _state)
 Show / hide wheels. More...
 
void slotSwitchNavigation (bool _egomode)
 Switch navigation mode.
 
void slotSnapshotName ()
 Set the snapShot name for all examiners.
 
void slotCoordSysVisibility (bool _visible)
 Hide coordinate systems in all viewers.
 
void updatePopupMenu (const QPoint &_point)
 check current context and initialize context menu according to this context. More...
 
void updatePopupMenuCoordsysNode (QMenu *_menu, const int _part)
 Update context Menu when Coordsys node has been clicked on. More...
 
void updatePopupMenuObject (QMenu *_menu, BaseObjectData *_object)
 Update popup Menu when an object has been clicked on. More...
 
void updatePopupMenuBackground (QMenu *_menu, const QPoint &_point)
 Update context Menu when background has been clicked on. More...
 
void updatePopupMenuNode (QMenu *_menu, ACG::SceneGraph::BaseNode *_node)
 Update context Menu when an arbitrary node has been clicked on. More...
 
bool addContextMenus (QMenu *_menu, ContextMenuType _type, int _id=-1)
 

Snapshots

QString snapshotName_
 Create a snapshot of the whole app with fileDialog. More...
 
int snapshotCounter_
 Create a snapshot of the whole app with fileDialog. More...
 
void viewerSnapshotDialog ()
 Create a snapshot of the whole app with fileDialog. More...
 
void viewerSnapshot ()
 Create a snapshot of the whole app. More...
 
void applicationSnapshotDialog ()
 Create a snapshot of the whole app with fileDialog. More...
 
void applicationSnapshot ()
 Create a snapshot of the whole app. More...
 
void applicationSnapshotName (QString _name)
 Set the snapshot name.
 
void viewerSnapshot (QString file_name, bool store_comments, bool comments_visible_only, bool comments_targeted_only, bool store_material_info, int snapshot_width, int snapshot_height, bool snapshot_transparent, bool hide_coord_sys, int snapshot_multisampling, bool store_view)
 Scriptable snapshot method offering full control.
 

Thread-safe functions using QFuture

std::map< QFutureWatcher< void >
*, QFuture< void > * > 
watcher_garbage_
 
QMutex map_mutex_
 
void writeImageAsynchronously (QImage *_image, const QString _name)
 
void delete_garbage ()
 

StackWidget controls

QMenu * stackMenu_
 QMenu containing the recently opened files.
 
std::vector< StackWidgetInfostackWidgetList_
 QMenu containing the recently opened files.
 
QStackedWidget * stackedWidget_
 Container widget for holding multiple views.
 
void slotGetStackWidget (QString _name, QWidget *&_widget)
 QMenu containing the recently opened files.
 
void slotAddStackWidget (QString _name, QWidget *_widget)
 QMenu containing the recently opened files.
 
void slotUpdateStackWidget (QString _name, QWidget *_widget)
 QMenu containing the recently opened files.
 
void slotViewMenuAction (QAction *_action)
 QMenu containing the recently opened files.
 
void slotUpdateStackMenu ()
 QMenu containing the recently opened files.
 

Help System

HelpWidgethelpWidget_
 Pointer to the help Browser.
 
static const QString homePage_ = "qthelp://org.openflipper.user/user/index.html"
 Pointer to the help Browser.
 
void changeHelpSite (QUrl)
 Pointer to the help Browser.
 
void showHelpBrowser (const QString &page=homePage_)
 Display the help Browser.
 

PostProcessor dialog

PostProcessorDialogpostProcessorDialog_
 
void slotShowPostProcessorManager ()
 

Renderer dialog

RendererDialogrendererDialog_
 shows the widget for the rendermanager
 
RendererObjectWidgetrendererObjectWidget_
 shows the widget for the rendermanager
 
void slotShowRenderManager ()
 shows the widget for the rendermanager
 
void slotShowRenderObjectWidget ()
 Shows the widget containing the current render objects.
 

Stereo View Mode

StereoSettingsWidgetstereoSettingsWidget_
 Widget to change stereo settings.
 
void stereoButtonContextMenu (const QPoint &_pos)
 Creates custom context menu for stereo viewer settings.
 
void slotApplyStereoSettings (int _tmpParam=0)
 

About System

AboutWidgetaboutWidget_
 Pointer to the about widget.
 
QMap< QString, QString > additionalAboutTabs_
 Additional tab information, that could be provided by plugins.
 
void addCoreLicenseInfo ()
 Add license information about core parts. More...
 
void showAboutWidget ()
 Display the about widget.
 
void addAboutInfo (QString _text, QString _tabName)
 Adds an entry to the about dialog. More...
 

Options System

OptionsWidgetoptionsWidget_
 Pointer to the OptionsWidget.
 
void applyOptions ()
 Pointer to the OptionsWidget.
 
void saveOptions ()
 Pointer to the OptionsWidget.
 
void showOptionsWidget ()
 Display the Options Browser.
 

StatusBar controls

ColorStatusBarstatusBar_
 
QLabel * statusIcon_
 
void setupStatusBar ()
 
void statusMessage (QString _message, int _timeout=0)
 
void clearStatusMessage ()
 
void setStatus (ApplicationStatus::applicationStatus _status)
 
void addWidgetToStatusbar (QWidget *_widget)
 

Drag and Drop

void dragOpenFile (QString _filename)
 
void startDrag (QMouseEvent *_event)
 
void dragEnterEvent (QDragEnterEvent *_event)
 
void dropEvent (QDropEvent *_event)
 

Viewer Controls

bool stereoActive_
 The viewer with id _viewerId changed its draw Mode. More...
 
void drawModeChanged (int _viewerId)
 The viewer with id _viewerId changed its draw Mode. More...
 
void slotToggleStereoMode ()
 Enable or disable Stereo.
 
void slotSetGlobalBackgroundColor ()
 Set Background Color for all viewers at once.
 
void slotSetContextBackgroundColor ()
 Set Background Color for one viewer.
 
void slotContextHomeView ()
 Set the active viewer to home position. More...
 
void slotGlobalHomeView ()
 Set the viewer to home position.
 
void slotContextSetHomeView ()
 Set the active viewers home position. More...
 
void slotGlobalSetHomeView ()
 Set the home position for all viewers.
 
void slotContextViewAll ()
 Change view on active viewer to view complete scene.
 
void slotGlobalViewAll ()
 Change view on all viewers to view complete scene.
 
void slotContextSwitchProjection ()
 Toggle projection mode of the active viewer.
 
ACG::SceneGraph::CoordsysNode::ProjectionMode getCoordsysProjection ()
 Toggle coordsys projection mode of the active viewer.
 
void slotContextSwitchCoordsysProjection ()
 Toggle coordsys projection mode of the active viewer.
 
void slotGlobalPerspectiveProjection ()
 Toggle projection mode of all viewers to perspective projection.
 
void slotGlobalOrthographicProjection ()
 Toggle projection mode of all viewers to orthographic projection. More...
 
void slotSetViewingDirection (QAction *_action)
 Change the viewing direction from context-menu.
 
void slotLockRotation (bool _lock)
 Lock rotation in current examiner widget.
 
void slotGlobalToggleAnimation ()
 If animation is disabled in all viewers, enable it in all viewers. Otherwise disable it.
 
void slotGlobalChangeAnimation (bool _animation)
 Set the animation mode for all viewers.
 
void slotLocalChangeAnimation (bool _animation)
 Set the animation mode for active viewer.
 
void slotGlobalToggleBackFaceCulling ()
 If backface culling is disabled in all viewers, enable it in all viewers. Otherwise disable it.
 
void slotGlobalChangeBackFaceCulling (bool _backFaceCulling)
 Set backface culling for all viewers.
 
void slotLocalChangeBackFaceCulling (bool _backFaceCulling)
 Set backface culling for active viewer.
 
void slotGlobalToggleTwoSidedLighting ()
 If two-sided lighting is disabled in all viewers, enable it in all viewers. Otherwise disable it.
 
void slotGlobalChangeTwoSidedLighting (bool _lighting)
 Set two-sided lighting for all viewers.
 
void slotLocalChangeTwoSidedLighting (bool _lighting)
 Set two-sided lighting for active viewer.
 
void slotGlobalToggleMultisampling ()
 If multisampling is disabled in all viewers, enable it in all viewers. Otherwise disable it.
 
void slotGlobalChangeMultisampling (bool _multisampling)
 Set multisampling for all viewers.
 
void slotLocalChangeMultisampling (bool _multisampling)
 Set multisampling for active viewer.
 
void slotGlobalToggleMipmapping ()
 If mipmapping is disabled in all viewers, enable it in all viewers. Otherwise disable it.
 
void slotGlobalChangeMipmapping (bool _multisampling)
 Set mipmapping for all viewers.
 
void slotLocalChangeMipmapping (bool _mipmapping)
 Set mipmapping for active viewer.
 
void moveBack ()
 When using first person mode move backward.
 
void moveForward ()
 When using first person mode move forward.
 
void strafeLeft ()
 When using first person mode strafe to the left.
 
void strafeRight ()
 When using first person mode strafe to the right.
 

Action Mode States

Viewer::ActionMode actionMode_
 
Viewer::ActionMode lastActionMode_
 
bool pickingMode ()
 
bool lightMode ()
 
bool questionMode ()
 
void setExamineMode ()
 
void setPickingMode ()
 
void setQuestionMode ()
 
void setActionMode (const Viewer::ActionMode _am)
 
void getActionMode (Viewer::ActionMode &_am)
 
Viewer::ActionMode actionMode ()
 
Viewer::ActionMode lastActionMode ()
 
bool examineMode ()
 

PickModes

QMenu * pickMenu_
 
std::vector< PickModepick_modes_
 
std::string pick_mode_name_
 
int pick_mode_idx_
 
std::vector< QAction * > extended_actions
 
void addPickMode (const std::string &_name, bool _mouse_tracking=false, int _pos=-1, bool _visible=true, QCursor _cursor=Qt::ArrowCursor)
 add pick mode More...
 
void clearPickModes ()
 
const std::string & pickMode () const
 
void pickMode (int _id)
 
void expandToolBoxWidget (QWidget *widget, bool expand)
 
void signalPickModeChanged (const std::string &)
 
void hidePopupMenus ()
 
void updatePickMenu ()
 update pick mode menu
 
void setPickMode (const std::string &_name)
 
void getPickMode (std::string &_name)
 
void setActivePickToolBar (QToolBar *_tool)
 Set toolbar to be active pick toolbar.
 
void hidePickToolBar ()
 Hide picking toolbar.
 
void setPickModeCursor (const std::string &_name, QCursor _cursor)
 set a new cursor for the pick mode More...
 
void setPickModeMouseTracking (const std::string &_name, bool _mouseTracking)
 set mouseTracking for the pick mode More...
 
void setPickModeToolbar (const std::string &_mode, QToolBar *_toolbar)
 Set the additional toolbar of the given PickMode. More...
 
void removePickModeToolbar (const std::string &_mode)
 Removes the additional toolbar of the given PickMode. More...
 
void actionPickMenu (QAction *_action)
 

Detailed Description

Core Widget of the Application

Definition at line 284 of file CoreWidget.hh.

Constructor & Destructor Documentation

CoreWidget::CoreWidget ( QVector< ViewMode * > &  _viewModes,
std::vector< PluginInfo > &  _plugins,
QList< SlotInfo > &  _coreSlots 
)

constructor

Constructor for the Core Widget.

Definition at line 138 of file CoreWidget.cc.

Member Function Documentation

Viewer::ActionMode CoreWidget::actionMode ( )
inline

Set action mode. The ActionMode determines the type of reaction on mouse events.

Definition at line 1448 of file CoreWidget.hh.

void CoreWidget::actionPickMenu ( QAction *  _action)
slot

Vector of all Picking modes

Definition at line 329 of file picking.cc.

void CoreWidget::addAboutInfo ( QString  _text,
QString  _tabName 
)
slot

Adds an entry to the about dialog.

Parameters
_textContent of the tab
_tabNameHeader of the tab

Definition at line 87 of file About.cc.

bool CoreWidget::addContextMenus ( QMenu *  _menu,
ContextMenuType  _type,
int  _id = -1 
)
private
Todo:
Sort the menu entries by the order given in visibleContextMenus

Definition at line 529 of file ContextMenu.cc.

void CoreWidget::addCoreLicenseInfo ( )
private

Add license information about core parts.

Adds the license information to the about dialog for used libraries.

Definition at line 53 of file CoreLicenseInfos.cc.

void CoreWidget::addPickMode ( const std::string &  _name,
bool  _mouse_tracking = false,
int  _pos = -1,
bool  _visible = true,
QCursor  _cursor = Qt::ArrowCursor 
)

add pick mode

Parameters
_nameName of the Pick Mode or "Separator" to insert a separator
_mouse_trackingtrue: every mouse movement will emit mouse events not only when mousebutton is pressed
_posposition to insert the mode in the popup menu.
_visibleIf true, the ode will be visible in the ui, otherwise it is a hidden pick mode
_cursorThe cursor that should be used when the given pickmode is active

Definition at line 389 of file picking.cc.

void CoreWidget::applicationSnapshot ( )
slot

Create a snapshot of the whole app.

Take a snapshot of the whole application.

Definition at line 544 of file viewerControl.cc.

void CoreWidget::applicationSnapshotDialog ( )
slot

Create a snapshot of the whole app with fileDialog.

Take a snapshot of the whole application.

Definition at line 499 of file viewerControl.cc.

void CoreWidget::clearPickModes ( )

clear all pick modes

Definition at line 476 of file picking.cc.

void CoreWidget::coreKeyPressEvent ( )
private

handle key events for the core

This function is called to handle key events which are registered to the core

void CoreWidget::coreKeyPressEvent ( QKeyEvent *  _e)
private

Handle core key events.

if a keyPressEvent belongs to the core this functions is called

Definition at line 552 of file keyHandling.cc.

void CoreWidget::dragEnterEvent ( QDragEnterEvent *  _event)
privateslot
Todo:
This is deprecated as its now handled by the url code above which should be used. Normally this code is not reached at all now. Remove it soon!

Definition at line 134 of file dragAndDrop.cc.

void CoreWidget::dragOpenFile ( QString  _filename)
signal
Todo:
This is deprecated as its now handled by the url code above which should be used. Normally this code is not reached at all now. Remove it soon!
void CoreWidget::drawModeChanged ( int  _viewerId)
signal

The viewer with id _viewerId changed its draw Mode.

void CoreWidget::dropEvent ( QDropEvent *  _event)
privateslot
Todo:
This is deprecated as its now handled by the url code above which should be used. Normally this code is not reached at all now. Remove it soon!

Definition at line 148 of file dragAndDrop.cc.

bool CoreWidget::examineMode ( )
inlineslot

Set action mode. The ActionMode determines the type of reaction on mouse events.

Definition at line 1432 of file CoreWidget.hh.

void CoreWidget::expandToolBoxWidget ( QWidget *  widget,
bool  expand 
)

Vector of all Picking modes

Definition at line 487 of file picking.cc.

void CoreWidget::getActionMode ( Viewer::ActionMode &  _am)

Set action mode. The ActionMode determines the type of reaction on mouse events.

Definition at line 158 of file picking.cc.

void CoreWidget::getPickMode ( std::string &  _name)
slot

Vector of all Picking modes

Definition at line 179 of file picking.cc.

void CoreWidget::hidePopupMenus ( )
privateslot

Vector of all Picking modes

Definition at line 345 of file picking.cc.

void CoreWidget::keyPressEvent ( QKeyEvent *  _e)
protectedvirtual

Handle key events.

passes keyPressEvents to either the Core or a Plugin depending on who has registered the key

Definition at line 83 of file keyHandling.cc.

Viewer::ActionMode CoreWidget::lastActionMode ( )
inline

Set action mode. The ActionMode determines the type of reaction on mouse events.

Definition at line 1449 of file CoreWidget.hh.

bool CoreWidget::lightMode ( )
inline

Set action mode. The ActionMode determines the type of reaction on mouse events.

Definition at line 1434 of file CoreWidget.hh.

bool CoreWidget::pickingMode ( )
inline

Set action mode. The ActionMode determines the type of reaction on mouse events.

Definition at line 1433 of file CoreWidget.hh.

const std::string & CoreWidget::pickMode ( ) const

return the currently active pick mode

Definition at line 492 of file picking.cc.

void CoreWidget::pickMode ( int  _id)

Switch to given picking mode

Parameters
_idId of the picking Mode

Definition at line 359 of file picking.cc.

void CoreWidget::PluginKeyEvent ( QKeyEvent *  )
signal

When this Signal is emitted when a Keyevent Event occures The signal is connected to all Plugins implementing KeyInterface by the pluginLoader

void CoreWidget::PluginKeyReleaseEvent ( QKeyEvent *  )
signal

When this Signal is emitted when a Keyevent Release occures The signal is connected to all Plugins implementing KeyInterface by the pluginLoader

bool CoreWidget::questionMode ( )
inline

Set action mode. The ActionMode determines the type of reaction on mouse events.

Definition at line 1435 of file CoreWidget.hh.

void CoreWidget::registerCoreKeys ( )
private

Register all events related to the core.

if a keyPressEvent belongs to the core this functions is called

Definition at line 508 of file keyHandling.cc.

void CoreWidget::removePickModeToolbar ( const std::string &  _mode)
slot

Removes the additional toolbar of the given PickMode.

Set the additional toolbar that should be shown in the pickMode

Parameters
_modeIdentifier of Picking mode

Definition at line 461 of file picking.cc.

void CoreWidget::sceneRectChanged ( const QRectF &  rect)
privateslot

Updates the size of the main graphics widget in the scene

Definition at line 1064 of file CoreWidget.cc.

void CoreWidget::setActionMode ( const Viewer::ActionMode  _am)

Set action mode. The ActionMode determines the type of reaction on mouse events.

Definition at line 68 of file picking.cc.

void CoreWidget::setExamineMode ( )
inline

Set action mode. The ActionMode determines the type of reaction on mouse events.

Definition at line 1440 of file CoreWidget.hh.

void CoreWidget::setFullscreen ( bool  _state)
slot

Enable or disable fullscreen mode.

Enable or disable Fullscreen Mode

Definition at line 715 of file CoreWidget.cc.

void CoreWidget::setPickingMode ( )
inline

Set action mode. The ActionMode determines the type of reaction on mouse events.

Definition at line 1441 of file CoreWidget.hh.

void CoreWidget::setPickMode ( const std::string &  _name)
slot

Switch to given picking mode

Parameters
_nameName of the picking mode

Definition at line 164 of file picking.cc.

void CoreWidget::setPickModeCursor ( const std::string &  _name,
QCursor  _cursor 
)
slot

set a new cursor for the pick mode

Parameters
_nameName of the Pick Mode
_cursorthe new cursor

Definition at line 410 of file picking.cc.

void CoreWidget::setPickModeMouseTracking ( const std::string &  _name,
bool  _mouseTracking 
)
slot

set mouseTracking for the pick mode

Parameters
_nameName of the Pick Mode
_mouseTrackingtrue: every mouse movement will emit mouse events not only when mousebutton is pressed

Definition at line 425 of file picking.cc.

void CoreWidget::setPickModeToolbar ( const std::string &  _mode,
QToolBar *  _toolbar 
)
slot

Set the additional toolbar of the given PickMode.

Set the additional toolbar that should be shown in the pickMode

Parameters
_modeIdentifier of Picking mode
_toolbarthe toolbar

Definition at line 442 of file picking.cc.

void CoreWidget::setQuestionMode ( )
inline

Set action mode. The ActionMode determines the type of reaction on mouse events.

Definition at line 1442 of file CoreWidget.hh.

void CoreWidget::setViewMode ( QString  _mode,
bool  _expandAll = false 
)
slot

Set the view Mode to the given Mode.

Slot for setting the viewMode from menu.

Definition at line 316 of file viewMode.cc.

void CoreWidget::showLogger ( OpenFlipper::Options::LoggerState  _state)
slot

Change visibility of the logger.

Hide or show logger

Definition at line 76 of file LoggerHandling.cc.

void CoreWidget::showStatusBar ( bool  _state)
slot

Show or hide status bar.

Hide or show Status bar

Definition at line 161 of file StatusBar.cc.

void CoreWidget::showToolBar ( bool  _state)
slot

Show or hide toolbar, emits toolBarToggled( bool _state )

Show or hide toolbar.

Definition at line 808 of file CoreWidget.cc.

void CoreWidget::showToolbox ( bool  _state)
slot

Show or hide toolbox.

Hide or show toolbox

Definition at line 774 of file CoreWidget.cc.

void CoreWidget::signalPickModeChanged ( const std::string &  )
signal

This signal is emitted when the pickMode is changed and contains the new PickMode

void CoreWidget::slotActivateExaminer ( )
privateslot

Makes the sender examiner active

Definition at line 1087 of file CoreWidget.cc.

void CoreWidget::slotAddKeyMapping ( int  _key,
Qt::KeyboardModifiers  _modifiers,
QObject *  _plugin,
int  _keyBindingID 
)
slot

add a new key Mapping

add a new keyMapping (keyBindingID is the id of the keyBinding in the pluginInfo of _plugin :)

internal function that stores a new keyCombination assignment for an existing keyBinding

Definition at line 336 of file keyHandling.cc.

void CoreWidget::slotApplyStereoSettings ( int  _tmpParam = 0)
slot

Is called if the user has changed stereo settings Note: The parameter just makes sure, we can connect all necessary signals to this slot. It has no use for now.

Definition at line 484 of file viewMode.cc.

void CoreWidget::slotContextHomeView ( )
privateslot

Set the active viewer to home position.

Set the viewer to home position.

Definition at line 132 of file viewerControl.cc.

void CoreWidget::slotContextSetHomeView ( )
privateslot

Set the active viewers home position.

Set the viewers home position.

Definition at line 161 of file viewerControl.cc.

void CoreWidget::slotExaminerSnapshot ( )
privateslot

Create a snapshot of the last active examiner.

Take a snapshot of the current Viewer.

Definition at line 357 of file viewerControl.cc.

void CoreWidget::slotGlobalOrthographicProjection ( )
privateslot

Toggle projection mode of all viewers to orthographic projection.

Toggle projection mode of all viewers to orthogonal projection.

Definition at line 230 of file viewerControl.cc.

void CoreWidget::slotLog ( Logtype  _type,
QString  _message 
)
privateslot

Slot writing everything to the Logger widget.

Display a log message in the Mainwidget

Parameters
_typeType of Message (OUT,WARN,ERR)
_messageThe message to be displayed

This slot has to be called by all loggers. It is used to serialize and color the Output.

Parameters
_typeLogtype (defines the color of the output)
_messageThe message for output

Definition at line 78 of file CoreWidgetLogging.cc.

void CoreWidget::slotRegisterKey ( int  _key,
Qt::KeyboardModifiers  _modifiers,
QString  _description,
bool  _multiUse = false 
)
privateslot

key registration

Register a key to the core or a plugin.

internal slot that registers a keyCombination to the sender() who emitted the registerKey() signal only after registering keyCombinations plugins receive keyEvents to the corresponding keyCombinations via KeyInterface.

Definition at line 212 of file keyHandling.cc.

void CoreWidget::slotRegisterSlotKeyBindings ( )
slot

register scripting slots to allow keyBindings

scripting slots will automatically registered to be assigned to an invalid key(-1)

internal function that registers all public slots without parameters of each plugin (or core) to the key management system. This allows the assignment of keyBindings for each of these slots.

Definition at line 289 of file keyHandling.cc.

void CoreWidget::slotRemoveViewMode ( QString  _name)
privateslot

Remove viewMode.

Remove a viewMode.

Definition at line 293 of file viewMode.cc.

void CoreWidget::slotSetViewMode ( QAction *  action)
privateslot

Slot for setting ViewMode from Menu.

Slot for setting the viewMode from menu.

Definition at line 311 of file viewMode.cc.

void CoreWidget::slotSetViewModeIcon ( QString  _mode,
QString  _iconName 
)
slot

Sets the Icon for a given View Mode (non-userdefined viewMode)

Sets the Icon for a given View Mode.

Definition at line 247 of file viewMode.cc.

void CoreWidget::slotSetViewModeIcon ( QString  _mode,
bool  _custom,
QString  _iconName 
)
slot

Sets the Icon for a given View Mode (_custom == userdefined viewMode)

Sets the Icon for a given View Mode.

Definition at line 252 of file viewMode.cc.

void CoreWidget::slotShowSceneGraphDialog ( )
privateslot

Creates and shows the Scenegraph Dialog

Definition at line 1038 of file CoreWidget.cc.

void CoreWidget::slotSwitchWheels ( bool  _state)
privateslot

Show / hide wheels.

Show / hide wheels in examiner windows.

Definition at line 137 of file viewerControl.cc.

void CoreWidget::slotViewModeDialog ( )
privateslot

Show a dialog in which the viewMode can be edited.

show dialog for changing ViewMode

Definition at line 327 of file viewMode.cc.

void CoreWidget::startDrag ( QMouseEvent *  _event)
privateslot
Todo:
This is deprecated as its now handled by the url code above which should be used. Normally this code is not reached at all now. Remove it soon!

Definition at line 73 of file dragAndDrop.cc.

void CoreWidget::toggleFullscreen ( )
slot

Set application to Fullscreen and back.

Set viewer to Fullscreen Mode and back

Definition at line 703 of file CoreWidget.cc.

void CoreWidget::toggleLogger ( )
slot

Hide or show logging area.

Hide or show logger

Definition at line 54 of file LoggerHandling.cc.

void CoreWidget::toggleMenuBar ( )
slot

Hide or show menu bar.

Hide or show menubar.

Definition at line 836 of file CoreWidget.cc.

void CoreWidget::toggleStatusBar ( )
slot

Change visibility of the Status Bar.

Hide or show Status bar

Definition at line 150 of file StatusBar.cc.

void CoreWidget::toggleToolbox ( )
slot

Hide or show toolbox area.

Hide or show toolbox

Definition at line 762 of file CoreWidget.cc.

void CoreWidget::updatePopupMenu ( const QPoint &  _point)
private

check current context and initialize context menu according to this context.

Update the contextmenu for the given position inside an examiner widget

Parameters
_pointPicking position in coordinates of the viewer

This function is called whenever a context menu for the corewidget is requested. It will decide about the current context, collect all menus for plugins and construct the final context menu.

Definition at line 665 of file ContextMenu.cc.

void CoreWidget::updatePopupMenuBackground ( QMenu *  _menu,
const QPoint &  _point 
)
private

Update context Menu when background has been clicked on.

This function is called when the background in a viewer has been clicked on. This context menu will show functions which are related to the background of the viewer.

Parameters
_menuPointer to the context Menu
_pointposition in the viewer where the user clicked.

Definition at line 457 of file ContextMenu.cc.

void CoreWidget::updatePopupMenuCoordsysNode ( QMenu *  _menu,
const int  _part 
)
private

Update context Menu when Coordsys node has been clicked on.

This function is called when the coordinate system in a viewer has been clicked on. This context menu will show all function relevant for the current view like the projection/viewing direction...

Parameters
_menuPointer to the context Menu
_partid of the coordsys part which has been clicked on.

Definition at line 119 of file ContextMenu.cc.

void CoreWidget::updatePopupMenuNode ( QMenu *  _menu,
ACG::SceneGraph::BaseNode _node 
)
private

Update context Menu when an arbitrary node has been clicked on.

This function is called when a node has been clicked on not belonging to an object. This context menu will show all function relevant for the Node.

Parameters
_menuPointer to the context Menu
_nodenode which has been clicked on.

Definition at line 97 of file ContextMenu.cc.

void CoreWidget::updatePopupMenuObject ( QMenu *  _menu,
BaseObjectData _object 
)
private

Update popup Menu when an object has been clicked on.

This function is called when an object has been clicked on. This context menu will show all properties for the given object.

Parameters
_menuPointer to the context Menu
_objectObject that has been clicked on.

Definition at line 507 of file ContextMenu.cc.

void CoreWidget::viewerSnapshot ( )
slot

Create a snapshot of the whole app.

Take a snapshot of all viewers.

Definition at line 797 of file viewerControl.cc.

void CoreWidget::viewerSnapshotDialog ( )
slot

Create a snapshot of the whole app with fileDialog.

Take a snapshot of all viewers.

Definition at line 754 of file viewerControl.cc.

Member Data Documentation

Viewer::ActionMode CoreWidget::actionMode_
private

Set action mode. The ActionMode determines the type of reaction on mouse events.

Definition at line 1449 of file CoreWidget.hh.

QMenu* CoreWidget::coordSysMenu_
private

Menu which holds the context menu entries for the coordsys node if invisible

Definition at line 999 of file CoreWidget.hh.

std::vector<QAction*> CoreWidget::extended_actions
private

Actions that are hidden in reduced mode.

Definition at line 1567 of file CoreWidget.hh.

Viewer::ActionMode CoreWidget::lastActionMode_
private

Set action mode. The ActionMode determines the type of reaction on mouse events.

Definition at line 1449 of file CoreWidget.hh.

int CoreWidget::pick_mode_idx_
private

Index of current pickMode

Definition at line 1562 of file CoreWidget.hh.

std::string CoreWidget::pick_mode_name_
private

Name of current pickMode

Definition at line 1558 of file CoreWidget.hh.

std::vector<PickMode> CoreWidget::pick_modes_
private

Vector of all Picking modes

Definition at line 1554 of file CoreWidget.hh.

QMenu* CoreWidget::pickMenu_
private

Vector of all Picking modes

Definition at line 1550 of file CoreWidget.hh.

int CoreWidget::snapshotCounter_
private

Create a snapshot of the whole app with fileDialog.

Take a snapshot of all viewers.

Definition at line 1011 of file CoreWidget.hh.

QString CoreWidget::snapshotName_
private

Create a snapshot of the whole app with fileDialog.

Take a snapshot of all viewers.

Definition at line 1010 of file CoreWidget.hh.

bool CoreWidget::stereoActive_
private

The viewer with id _viewerId changed its draw Mode.

Definition at line 1421 of file CoreWidget.hh.


The documentation for this class was generated from the following files: