VR-Forces 4.0.4 Class Documentation
include/vrfGuiCommon/menu.h
Go to the documentation of this file.
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

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)