VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
menu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2017 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
8 
11 
12 #pragma once
13 
14 #include <vrfGuiCore/vrfGuiCore.h>
15 #include <vrfGuiCore/menuEntry.h>
16 #include <set>
17 
18 class DtObjectType;
19 class DtFilename;
20 
21 namespace makVrf
22 {
23  class DtEntityMapperKey;
25  {
26 
27  public:
28 
30  DtMenu
31  (
32  const DtString& name,
33  DtReaderWriterRegistry* const parentRegistry = NULL
34  );
35 
37  virtual ~DtMenu();
38 
40  DtMenu(const DtMenu& orig);
41 
43  DtMenu& operator=(const DtMenu& orig);
44  virtual bool operator==(const DtMenuEntry&) const;
45 
46  virtual const DtList& entries() const;
47 
48  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
49  const DtVariableBindingsList& variableBindings);
50 
51  virtual DtlObjPtr getLocalData(DtlObjPtr args);
52 
53  virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
54  const DtVariableBindingsList& variableBindings);
55 
56  virtual void addObject(const DtString& item, const DtObjectType& type, int force, const DtString& at = "");
57  virtual void addEntity(const DtString& item, const DtObjectType& type, int force, const DtString& at = "");
58 
62  virtual bool creationKeyFor(const DtString& name, DtEntityMapperKey& retKey) const;
63 
65  virtual bool load(const DtFilename&);
66 
68  virtual bool save(const DtFilename&);
69 
71  virtual void setComment(const DtString&);
72  virtual const DtString& comment() const;
73 
75  virtual DtMenuEntry* findEntry(DtMenuEntry*) const;
76 
78  virtual DtMenuEntry* findEntry(const DtString&, bool recurse = false) const;
79 
81  virtual void merge(DtMenu*);
82 
83  virtual void add(DtMenuEntry*);
84 
85  virtual DtMenuEntry* clone() const;
86 
88  const DtFilename& filename() const;
89  void setFilename(const DtFilename&);
90 
91  protected:
92  virtual void copyMenuEntries(const DtList*);
93  virtual void merge(DtMenuEntry*);
94 
95  protected:
96  virtual void addMenuItem(const DtString& item, const DtObjectType& type, int force, const char* name, const DtString& at);
97  virtual void writeSelf(std::string& fp, int i, bool writeUnspecified,
98  const DtFilename& path);
99 
100  protected:
101  DtList myEntries;
103  DtFilename myFilename;
104  std::set<DtMenuEntry*> mySetEntries;
105  };
106 
107  inline const DtFilename& DtMenu::filename() const
108  {
109  return myFilename;
110  }
111 
112  inline void DtMenu::setFilename(const DtFilename& f)
113  {
114  myFilename = f;
115  }
116 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)