VR-Forces 4.0.4 Class Documentation
include/tmqt/tmWindow.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2000 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: tmWindow.h,v $ $Revision: 1.84 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef TMWINDOW_H
00013 #define TMWINDOW_H
00014 
00015 #include "tmqt/tmqtDefines.h"
00016 #include "tmqt/baseWindow.h"
00017 #include "drawerNative/convUtils.h"
00018 
00019 #include <QtCore/QDateTime>
00020 
00021 class QBoxLayout;
00022 class DtMenuWidget;
00023 class DtNavigationWidget;
00024 class DtTMMapArea;
00025 class DtTMMiniMap;
00026 class DtTMRubberBand;
00027 class QContextMenuEvent;
00028 class DtTMFactory;
00029 class DtTMDisplayOptions;
00030 class QPushButton;
00031 class DtModelData;
00032 class QColor;
00033 class DtUtilityBar;
00034 class DtFilter;
00035 class QAction;
00036 class DtTMWatermark;
00037 class QVBoxLayout;
00038 class QHBoxLayout;
00039 class DtToolbarFactoryManager;
00040 class DtOutputAreaWidget;
00041 class DtMsgGuiPrinter;
00042 
00043 class DT_DLL_tmqt DtTMWindow : public DtBaseWindow
00044 {
00045 
00046    friend class DtFactory;
00047    
00048    Q_OBJECT
00049 
00050 public:
00051 
00053    DtTMWindow(QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
00054 
00056    virtual ~DtTMWindow();
00057 
00059    virtual bool init(const DtTMFactory* f, DtTMMiniMap* m = 0, int mode = DtWindow_NoAction);
00060 
00061    virtual void setMouseOverActive(bool b);
00062 
00065    virtual void setObjectSelectionMode(const DtFilter* f = NULL);
00066 
00067 public:
00068 
00070    static DtBaseWindow* create(QWidget* parent, const Qt::WindowFlags& f);
00071 
00072 signals:
00073 
00075 
00076    void isActive();
00077 
00078    void navigationAction(int);
00079 
00082    void selectionModeChanged(DtBaseWindow*);
00083 
00084 public:
00086 
00094    virtual QDockWidget* addUtilityToolbar(QWidget* w, const QString& tab);
00095    virtual QDockWidget* addToolbar(QWidget* w, const Qt::DockWidgetArea&);
00096 
00098    virtual void setWindowName(const QString&);
00099 
00104    virtual QAction* addViewToolbar(QWidget*, const QString& itemName, const QString& addToMenu, DtMenuItemType& retId);
00105 
00106    virtual QAction* addMenuItem(const QString& itemName, 
00107       const QString& addToMenu, DtMenuItemType& retId,
00108       bool isToggle = false, QObject* actionReceiver = NULL, 
00109       const char* slot = NULL,
00110       QObject* validatorReceiver = NULL, const char* validator = NULL,
00111       const QString& tooltip = QString::null, 
00112       const QString& accelerator = QString::null, bool addSep = false);
00113 
00115    virtual void appendMenuValidator(const QString& menuName, const QString& itemName,
00116       QObject* validatorReceiver, char* validator);
00117 
00120    virtual void addViewToolbarMapping(int, QWidget*);
00121 
00122    virtual DtOutputAreaWidget* outputArea();
00123 
00124    DtToolbarFactoryManager* toolbarFactoryManager();
00125    DtToolbarFactoryManager* backupToolbarFactoryManager();
00126 
00128    virtual void mergeToolbarManager(const DtToolbarFactoryManager&, bool removeMissingToolbars = true);
00129 
00132    virtual void revertToolbars();
00133 
00134 public slots:
00135    virtual void setRubberBandColor();
00136    virtual void setActiveRubberBandColor();
00137    virtual void setInactiveRubberBandColor();
00138    virtual void setGlobalActiveRubberBandColor();
00139    virtual void setGlobalInactiveRubberBandColor();
00140 
00142    virtual void updateFilenameInUse(const QString& s);
00143 
00144    virtual void setZoomToExtentsNavigationConnection();
00145 
00146 protected slots:
00147    virtual void navWidgetDestroyed();
00148    virtual void toolbarDestroyed();
00149    virtual void toolbarContextMenu(QWidget* bar, QContextMenuEvent*);
00150 
00151 protected:
00152 
00154    virtual bool initCaption();
00155 
00157    virtual bool initStatusBar();
00158 
00160    virtual bool initWindowName();
00161 
00163    virtual bool initFromFactory(const DtTMFactory* f);
00164 
00166    virtual bool initMiniMap(const DtTMFactory* f, QDockWidget* parent = 0);
00167 
00168    virtual void initOutputBar();
00169 
00171    virtual bool createFromFactory(const DtTMFactory* f);
00172 
00174    virtual unsigned createMapArea(const DtTMFactory* f);
00175 
00177    virtual bool initToolbars();
00178 
00180    virtual bool initConnections();
00181 
00182    virtual bool event( QEvent * e);
00183    
00184    virtual void enterEvent( QEvent * e);
00185    
00186    virtual void initViewMenuToolbarMap();
00187 
00189    virtual void setFullScreenMode(bool b);
00190 
00192    virtual QTextStream& read(QTextStream& ts);
00193 
00195    virtual void setRubberBandColor(DtTMMiniMap* mini);
00196    virtual void setRubberBandColor(DtTMRubberBand* band);
00197    virtual void setRubberBandColor(const QColor& color);
00198 
00199    virtual DtNavigationWidget* navigationWidget();
00200 
00207    virtual bool createUtilityToolBar();
00208 
00210    virtual QTextStream& write(QTextStream& ts);
00211 
00213    virtual void processSelectionChanged(const QVector<DtModelKey>& list);
00214    virtual void updateValidActions();
00215 
00217    bool eventFilter(QObject *o, QEvent *e);
00218 
00220    virtual void installWatermark();
00221 
00223    virtual void postProcessOptions();
00224 
00225    virtual void hideAllToolbars();
00226 
00229    virtual bool passKeyEventToMapArea(QKeyEvent*) const;
00230 
00233    virtual void createCentralWidgetArea(QWidget* parent, const DtTMFactory* f);
00234 
00236    virtual QBoxLayout* createMasterLayout();
00237 
00239    virtual QWidget* createCentralWidget(QWidget* parent);
00240 
00244    virtual void createAndInitializeToolbarFactory(const DtTMFactory*);
00245 
00247    virtual void initToolbarFactory();
00248    virtual void initializeMinimapColorToolbar();
00249 
00250    virtual void addDefaultShortcutsAndIcons(const DtTMFactory* f);
00251 
00252    virtual void initFromAppSettings();
00253 
00255    virtual void createUserDefinedToolbars();
00256 
00257 private:
00259    DtTMWindow(const DtTMWindow& orig);
00260    
00262    DtTMWindow& operator=(const DtTMWindow& rhs);
00263 
00264 protected:
00265    DtUtilityBar*   myUtilityBar;
00266 
00267    DtToolbarFactoryManager* myToolbarFactoryManager;
00268    DtToolbarFactoryManager* myBackupToolbarFactoryManager;
00269 
00270    QDockWidget* myTMMiniMapToolBar;
00271    QDockWidget* myOutputToolBar;         
00272    DtOutputAreaWidget* myOutputArea;     
00273    QToolBar* myRubberBandColorToolBar;
00274    QDockWidget* myNavigationToolBar;
00275 
00278    bool myMouseOverActive;
00279 
00280    QString myWindowName;
00281 
00282    QBoxLayout* myMasterLayout;
00283    QWidget* myCanvas;
00284    DtNavigationWidget* myNavigationWidget;
00285 
00286    DtTMWatermark* myWatermark;
00287    DtMsgGuiPrinter* myGuiPrinter;
00288 };
00289 
00290 inline DtToolbarFactoryManager* DtTMWindow::toolbarFactoryManager()
00291 {
00292    return myToolbarFactoryManager;
00293 }
00294 
00295 inline DtToolbarFactoryManager* DtTMWindow::backupToolbarFactoryManager()
00296 {
00297    return myBackupToolbarFactoryManager;
00298 }
00299 
00300 #endif
00301 

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)