![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2000 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: menu.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef MENU_H 00013 #define MENU_H 00014 00015 #include "vrfGuiCommon/menuEntry.h" 00016 #include <QtCore/QString> 00017 00018 class DtObjectType; 00019 class DtEntityMapperKey; 00020 class DtFilename; 00021 00025 00026 #include "vrfGuiCommon/vrfGuiCommonDefines.h" 00027 class DT_DLL_vrfGuiCommon DtMenu : public DtMenuEntry 00028 { 00029 00030 public: 00031 00033 DtMenu 00034 ( 00035 const DtString& name, 00036 DtReaderWriterRegistry* const parentRegistry = NULL 00037 ); 00038 00040 virtual ~DtMenu(); 00041 00043 DtMenu(const DtMenu& orig); 00044 00046 DtMenu& operator=(const DtMenu& orig); 00047 virtual bool operator==(const DtMenuEntry&) const; 00048 00049 virtual const DtList& entries() const; 00050 00051 virtual void getSelf(DtlObjPtr args, const DtFilename& searchPath, 00052 const DtVariableBindingsList& variableBindings); 00053 00054 virtual DtlObjPtr getLocalData(DtlObjPtr args); 00055 00056 virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath, 00057 const DtVariableBindingsList& variableBindings); 00058 00059 virtual void addObject(const QString& item, const DtObjectType& type, int force, const QString& at = QString::null); 00060 virtual void addEntity(const QString& item, const DtObjectType& type, int force, const QString& at = QString::null); 00061 00065 virtual bool creationKeyFor(const QString& name, DtEntityMapperKey& retKey) const; 00066 00068 virtual bool load(const DtFilename&); 00069 00071 virtual bool save(const DtFilename&); 00072 00074 virtual void setComment(const QString&); 00075 virtual const QString& comment() const; 00076 00078 virtual DtMenuEntry* findEntry(DtMenuEntry*) const; 00079 00081 virtual DtMenuEntry* findEntry(const DtString&, bool recurse = false) const; 00082 00084 virtual void merge(DtMenu*); 00085 00086 virtual void add(DtMenuEntry*); 00087 00088 virtual DtMenuEntry* clone() const; 00089 00091 const DtFilename& filename() const; 00092 void setFilename(const DtFilename&); 00093 00094 protected: 00095 virtual void copyMenuEntries(const DtList*); 00096 virtual void merge(DtMenuEntry*); 00097 00098 protected: 00099 virtual void addMenuItem(const QString& item, const DtObjectType& type, int force, const char* name, const QString& at); 00100 virtual void writeSelf(FILE* fp, int i, bool writeUnspecified, 00101 const DtFilename& path); 00102 00103 protected: 00104 DtList myEntries; 00105 QString myComment; 00106 DtFilename myFilename; 00107 }; 00108 00109 inline const DtFilename& DtMenu::filename() const 00110 { 00111 return myFilename; 00112 } 00113 00114 inline void DtMenu::setFilename(const DtFilename& f) 00115 { 00116 myFilename = f; 00117 } 00118 00119 #endif