VR-Forces 4.0.4 Class Documentation
include/entityEditorImpl/menuEditor.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2007 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: menuEditor.h,v $ $Revision: 1.1 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef DTMENUEDITOR_H_
00013 #define DTMENUEDITOR_H_
00014 
00015 #include <QtGui/QDialog>
00016 #include <QtCore/QDir>
00017 #include <QtGui/QTreeWidget>
00018 #include <QtGui/QHeaderView>
00019 #include "entityEditorImpl/entityEditorImplDefines.h"
00020 
00021 class DtMenu;
00022 class DtEditMenuTreeWidget;
00023 class QPushButton;
00024 class QTreeWidgetItem;
00025 class DtEnumerationWidget;
00026 class QLineEdit;
00027 class QRadioButton;
00028 class DtFilename;
00029 class DtList;
00030 
00031 class DT_DLL_entityeditorimpl DtEditMenuTreeWidget : public QTreeWidget
00032 {
00033 public:
00034    DtEditMenuTreeWidget(QWidget* parent) : QTreeWidget(parent) { header()->hide(); setIconSize(QSize(20, 20)); };
00035 
00036    void init(const DtMenu*);
00037 
00038 protected:
00039    void build(const DtList& list, QTreeWidgetItem* parent = NULL);
00040    QMimeData* mimeData(const QList<QTreeWidgetItem*> list) const;
00041    QStringList mimeTypes() const;
00042    void dragMoveEvent(QDragMoveEvent* d);
00043 };
00044 
00045 class DT_DLL_entityeditorimpl DtMenuEditor : public QDialog
00046 {
00047    Q_OBJECT
00048 
00049 public:
00050    DtMenuEditor(QWidget* parent, const Qt::WindowFlags& flags = 0);
00051    virtual ~DtMenuEditor();
00052 
00053    virtual void init(const DtMenu*);
00054 
00057    virtual DtMenu* menu() const;
00058 
00059    static DtMenuEditor* create(QWidget* p = NULL);
00060 
00061 protected slots:
00062    virtual void itemSelectionChanged();
00063    virtual void addGroup();
00064    virtual void remove();
00065    virtual void addObject();
00066    virtual void selectEntity();
00067    virtual void menuChoiceChanged();
00068    virtual DtEditMenuTreeWidget* createEditMenuTree(QWidget* p);
00069 
00070 protected:
00071    virtual int addWhere(QTreeWidgetItem*);
00072    virtual void buildMenu(DtMenu*, QTreeWidgetItem* parent) const;
00073    virtual bool setupEntityMenu();
00074    virtual QFileInfoList findMenuFiles(const DtFilename& startPath, const QFileInfoList& subPaths) const;
00075 
00076 protected:
00077    DtEditMenuTreeWidget*   myMenuView;
00078    QPushButton* myAddGroup;
00079    QPushButton* myAddObject;
00080    QPushButton* myRemove;
00081    DtEnumerationWidget* myEnumerationSelectionWidget;
00082    QLineEdit*           myLabel;
00083    QPushButton*         myOKButton;
00084    QRadioButton*        myAutoMenu;
00085    QRadioButton*        myEntMenu;
00086    QWidget*             myMenuFrame;
00087 };
00088 
00089 #endif
00090 

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)