VR-Forces 4.0.4 Class Documentation
include/entityEditorImpl/entityEditorWindow.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: entityEditorWindow.h,v $ $Revision: 1.13 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef DTENTITYEDITORWINDOW_H_
00013 #define DTENTITYEDITORWINDOW_H_
00014 
00015 #include "tmqt/tmWindow.h"
00016 #include <vrfExtProtocol/objType.h>
00017 
00018 #include <QtCore/QMap>
00019 #include <QtCore/QVariant>
00020 
00021 class DtEntityEditorCanvas;
00022 class DtEntityEditorList;
00023 class DtVrfObjectParameters;
00024 class DtBehaviorUi;
00025 class DtFilename;
00026 class DtRwForces;
00027 class DtRwNLengthStringVector;
00028 class DtModelSetEntry;
00029 class DtUiElementEvent;
00030 class DtVrfSubObjectParameterList;
00031 
00032 #include "entityEditorImpl/entityEditorImplDefines.h"
00033 
00034 class DT_DLL_entityeditorimpl DtSelectedModelInfo
00035 {
00036 public:
00037    DtSelectedModelInfo() : mySelectedModel(0) {};
00038    DtSelectedModelInfo(DtModelSetEntry* m, const QMap<QString, QVariant>& state) :
00039       mySelectedModel(m), myUiState(state) {};
00040    DtSelectedModelInfo(const DtSelectedModelInfo& orig) : mySelectedModel(orig.mySelectedModel),
00041       myUiState(orig.myUiState) {};
00042 
00043    DtSelectedModelInfo& operator=(const DtSelectedModelInfo& rhs) { mySelectedModel = rhs.mySelectedModel;
00044       myUiState = rhs.myUiState; return *this; };
00045 
00046    void clear() { mySelectedModel = 0; myUiState.clear(); };
00047 
00048    DtModelSetEntry*  mySelectedModel;
00049    QMap<QString, QVariant> myUiState;
00050 };
00051 
00052 class DT_DLL_entityeditorimpl DtEntityEditorWindow : public DtTMWindow
00053 {
00054    Q_OBJECT
00055    
00056 public:
00057 
00059    DtEntityEditorWindow(QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
00060 
00062    virtual ~DtEntityEditorWindow();
00063 
00064 public:
00065 
00067    static DtBaseWindow* create(QWidget* parent, const Qt::WindowFlags& flags);
00068 
00069    virtual void setEntryModified(DtVrfObjectParameters*, bool b);
00070    virtual void setModelModified(DtModelSetEntry*);
00071 
00072    virtual bool canCreateExisting() const;
00073    virtual bool canRevertExisting() const;
00074    virtual bool canDeleteExisting() const;
00075 
00076    virtual DtObjectType selectedObjectType() const;
00077 
00078    static void setBehaviorUiFile(const QString&);
00079 
00080    DtBehaviorUi* behaviorUi();
00081 
00082    virtual void getCategorySelections(DtRwForces&, DtRwNLengthStringVector&);
00083 
00084    virtual void selectModel(DtModelSetEntry*,
00085       const QMap<QString, QVariant>& uiState);
00086 
00088    virtual void postSelectModel(DtModelSetEntry*,
00089       const QMap<QString, QVariant>& );
00090 
00092    virtual QMap<QString, QVariant> uiState() const;
00093    virtual void setUiState(const QMap<QString, QVariant>&);
00094 
00095    virtual QString selectedCategory() const;
00096 
00097 public slots:
00098    virtual void preSimulationModelSetSave();
00099    virtual void deleteExisting();
00100    virtual void revertExisting();
00101    virtual void opdEntryAdded(DtVrfObjectParameters*, DtModelSetEntry*);
00102    virtual void parameterChanged(const DtVrfObjectParameters*, const DtObjectType&, const DtObjectType&);
00103    virtual void simulationModelSetLoaded();
00104    virtual void selectEntity();
00105 
00106 protected slots:
00107    virtual void simulationModelSetSaved();
00108 
00109 protected:
00111    virtual void createOverlayBar(const DtTMFactory* f);
00112    virtual bool createMiniMap(const DtTMFactory* f);
00113    virtual bool init(const DtTMFactory* f, DtTMMiniMap* m, int mode = DtWindow_NoAction);
00114    virtual bool initToolbars();
00115    virtual void createBehaviorUi(const DtFilename&);
00116    virtual void closeEvent(QCloseEvent* e);
00117    virtual bool initWindowName();
00118    virtual void tick();
00119 
00120    virtual bool changeSubordinate(DtVrfSubObjectParameterList*, const DtObjectType& oldType, const DtObjectType& newType);
00121 
00122 protected slots:
00123    virtual void itemStatusChanged();
00124    virtual void categoriesModified();
00125    virtual void updateUiSaveState(const DtUiElementEvent&);
00126    virtual void uiEvent(const DtUiElementEvent&);
00127 
00128 protected:
00129    DtEntityEditorCanvas*   myEntityEditorCanvas;
00130    DtEntityEditorList*     myTree;
00131    DtBehaviorUi*           myBehaviorUi;
00132    bool                    myFirstTick;
00133    DtSelectedModelInfo     mySelectModel;
00134    bool                    myClosing;
00135 };
00136 
00137 inline DtBehaviorUi* DtEntityEditorWindow::behaviorUi()
00138 {
00139    return myBehaviorUi;
00140 }
00141 
00142 #endif
00143 

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)