VR-Forces 4.0.4 Class Documentation
include/vrvCoreQt/DtQtDeMainWindow.h
Go to the documentation of this file.
00001 /****************************************************************************** 
00002 ** Copyright (c) 2011 MAK Technologies, Inc. 
00003 ** All rights reserved. 
00004 ******************************************************************************/ 
00005 /****************************************************************************** 
00006 ** $RCSfile: DtQtDeMainWindow.h,v $ $Revision: 1.42 $ $State: Exp $ 
00007 ******************************************************************************/ 
00008  
00012  
00013 #pragma once
00014 #include <vrvCoreQt/vrvCoreQt.h> 
00015 #include <vrvCore/DtDeMainWindow.h> 
00016 #include <vrvCore/DtObserverObject.h>
00017 #include <vrvCore/DtSubjectObserver.h>
00018 #include <QtGui/QMainWindow>
00019 
00020 class QAction;
00021 
00022 namespace makVrv 
00023 { 
00024 
00025    class DtDe;
00026    class DtQtKeyAdapter;
00027    class DtDriverManager;
00028    class DtInputDriver;
00029    class DtDriver;
00030    
00035    class DT_DLL_VRVCOREQT DtQtDeMainWindow : public QMainWindow,
00036       public DtDeMainWindow
00037    { 
00038       Q_OBJECT;
00039 
00040    public:
00041 
00042       static const char* ContainerPlaceHolderString;
00043 
00044       friend class DtQtDeMainWindowProvider;
00045 
00047       virtual ~DtQtDeMainWindow();
00048 
00050       virtual void setApplicationTitle(const std::string& appName);
00051 
00053       virtual std::string applicationTitle() const;
00054 
00056       virtual void setApplicationIcon(const std::string& iconName);
00057 
00059       virtual void setShowQuitDialogOnClose(bool);
00060 
00062       virtual QDockWidget* dockComponent(QWidget* component, 
00063          Qt::DockWidgetArea area = Qt::LeftDockWidgetArea);
00064 
00066       virtual QToolBar* dockComponent(QWidget* component, 
00067          Qt::ToolBarArea area = Qt::LeftToolBarArea);
00068 
00070       virtual void setMainWidget(QWidget* widget, DtQtKeyAdapter* keyAdapter = 0);
00071 
00073       virtual void removeMainWidget();
00074       
00075       virtual QWidget* mainWidget();
00076 
00078       virtual void destroyWindow();
00079 
00081       virtual void quit();
00082 
00084       virtual bool isToggledAsFullScreen();
00085 
00089       virtual void toggleFullScreen();
00090 
00092       virtual void slot_onDisplayEngineConfigurationRealized(
00093          const std::string& igName, const std::string& displayName);
00094 
00096       virtual int screenNumber() const;
00097 
00098    signals:
00099 
00102       void signal_fullScreenToggled();
00103 
00104    protected:
00105 
00107       DtQtDeMainWindow(DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
00108 
00109       virtual bool event(QEvent* event);
00110       
00111       virtual void keyPressEvent( QKeyEvent* event );
00112       virtual void keyReleaseEvent( QKeyEvent* event );
00113 
00116       virtual void closeEvent(QCloseEvent *event);     
00117 
00121       void slot_onWindowToBeDestroyed();
00122 
00125       void displayLabelInCentralWidget();
00126 
00130       void slot_onWindowCreated();         
00131  
00133       void hideAllVisibleDockableWidgets();
00134 
00137       void showAllVisibleDockableWidgets();
00138 
00140       void configureTabbedDockComponents();
00141 
00142    protected:
00143 
00144       DtQtKeyAdapter* myKeyAdapter;
00145       bool myFullScreen;
00146       QObjectList myVisibleButHiddenDockableWidgets;
00147       DtInputDriver* myInputDriver;
00148       bool myShowQuitDialogOnClose;
00149    }; 
00150 
00154    class DT_DLL_VRVCOREQT DtQtDeMainWindowProvider : public DtDeMainWindowProvider
00155    {
00156 
00157    public:
00158 
00160       DtQtDeMainWindowProvider(DtDe& de);
00161 
00163       virtual ~DtQtDeMainWindowProvider();
00164 
00165    protected:
00166 
00169       virtual DtDeMainWindow* createMainWindow(DtDe& de);
00170 
00171    };
00172 } 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)