VR-Forces 4.0.4 Class Documentation
include/entityEditorImpl/uiAggregateCompositionEditor.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2008 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: uiAggregateCompositionEditor.h,v $ $Revision: 1.15 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DTUIAGGREGATECOMPOSITIONEDITOR_H_
00013 #define DTUIAGGREGATECOMPOSITIONEDITOR_H_
00014 
00015 #include "entityEditorImpl/uiElement.h"
00016 #include "entityEditorImpl/entityEditorImplDefines.h"
00017 #include "entityEditorImpl/entityEditorList.h"
00018 
00019 class QPushButton;
00020 class QTreeWidgetItem;
00021 class DtObjectType;
00022 class DtVrfSubObjectParameterList;
00023 class DtUiAggregateCompositionEditor;
00024 class QGroupBox;
00025 class DtVrfSubObjectParameterEntry;
00026 class DtFormationHierarchyView;
00027 class DtModelSetEntry;
00028 class DtAddObjectToHierarchy;
00029 
00030 class DT_DLL_entityeditorimpl DtUiAggregateCompositionSignalHandler : public QObject
00031 {
00032    Q_OBJECT
00033 
00034 public:
00035    DtUiAggregateCompositionSignalHandler();
00036 
00037    void setUiElement(DtUiAggregateCompositionEditor* parent);
00038 
00039 protected slots:
00040    virtual void hierarchySelectionChanged();
00041    virtual void editSelectedItem();
00042    virtual void addToHierarchy();
00043    virtual void replaceInHierarchy();
00044    virtual void removeFromHierarchy();
00045    virtual void moveUp();
00046    virtual void moveDown();
00047    virtual void expandItem(QTreeWidgetItem*);
00048    virtual void collapseItem(QTreeWidgetItem*);
00049    virtual void addObjectToHierarchy(const DtObjectType&);
00050 
00051 protected:
00052    DtUiAggregateCompositionEditor* myParent;
00053 };
00054 
00055 class DT_DLL_entityeditorimpl DtUiAggregateCompositionEditor : public DtUiElement
00056 {
00057 public:
00058 
00060    DtUiAggregateCompositionEditor
00061    (
00062       const DtString& name,
00063       DtReaderWriterRegistry* const parentRegistry = NULL
00064    );
00065 
00067    virtual ~DtUiAggregateCompositionEditor();
00068 
00070    DtUiAggregateCompositionEditor(const DtUiAggregateCompositionEditor& orig);
00071 
00073    DtUiAggregateCompositionEditor& operator=(const DtUiAggregateCompositionEditor& orig);
00074 
00075    typedef std::list<DtObjectType> DtObjectTypeList;
00076 
00077 public:
00078    virtual QWidget* createLabelWidget(QWidget* parent) {return 0;};
00079    virtual QWidget* createControls(QWidget*);
00080 
00081    virtual bool canMoveUp() const;
00082    virtual bool canMoveDown() const;
00083 
00084 protected:
00085    virtual DtUiElement* clone();
00086    virtual void decorateElement();
00087    virtual void setFromParameters(DtReaderWriter* parentRw);
00088    virtual void elementChanged();
00089    virtual void setModelModified(DtModelSetEntry*);
00091    virtual bool createHierarchy(DtVrfSubObjectParameterList*, QTreeWidgetItem* parent,
00092       DtObjectTypeList ancestorList = DtObjectTypeList());
00094    virtual bool createHierarchy(DtVrfSubObjectParameterEntry*, QTreeWidgetItem* parent,
00095       DtObjectTypeList ancestorList = DtObjectTypeList());
00096 
00098    virtual DtFormationHierarchyView* createHierarchy(QWidget* parent) const;
00099 
00103    virtual QTreeWidgetItem* addHierarchyItem(const DtObjectType&) const;
00104 
00106    virtual void hierarchySelectionChanged();
00107 
00110    virtual void addToHierarchy();
00111 
00113    virtual void replaceInHierarchy();
00114 
00116    virtual void removeFromHierarchy();
00118    virtual void removeFromHierarchy(DtVrfSubObjectParameterEntry* entry);
00119 
00121    virtual void moveUp();
00122 
00124    virtual void moveDown();
00125 
00127    virtual void moveInHierarchy(int iFrom, int iTo);
00128 
00130    virtual void resetHierarchyFromList();
00131 
00133    virtual void editSelectedItem();
00134 
00135    virtual void expandItem(QTreeWidgetItem*);
00136    virtual void collapseItem(QTreeWidgetItem*);
00137    
00138    virtual void sendEvent(DtUiElementEvent::DtUiElementEventTypes type, QTreeWidgetItem* i);
00139    virtual void sendEvent(DtUiElementEvent::DtUiElementEventTypes type, const QList<QTreeWidgetItem*>& i);
00140    virtual void processUiEvent(const DtUiElementEvent& e);
00141 
00142    virtual void updateButtons();
00143    virtual void addObjectToHierarchy(const DtObjectType&);
00144    virtual void replaceObjectInHierarchy(const DtObjectType&);
00145 
00146 protected:
00147    QPushButton*         myAddToHierarchy;
00148    QPushButton*         myRemoveFromHierarchy;
00149    QPushButton*         myReplaceInHierarchy;
00150    DtFormationHierarchyView*         myHierarchy;
00151    QPushButton*         myMoveUp;
00152    QPushButton*         myMoveDown;
00153    QGroupBox*           myGroupBox;
00154    DtUiAggregateCompositionSignalHandler  myAggregateSignalHandler;
00155    DtModelSetEntry*     mySelectedModel;
00156    DtAddObjectToHierarchy* myAddToHierarchyDialog;
00157    DtObjectType         myObjectType;
00158 
00159    friend class DtUiAggregateCompositionSignalHandler;
00160 };
00161 
00162 #endif

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)