VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfMenu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2017 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #pragma once
7 
10 #include <set>
11 
12 class DtEntityType;
13 class DtFilename;
14 
15 namespace makVrf
16 {
17  class DtEntityMapperKey;
19  {
20 
21  public:
22 
24  DtVrfMenu
25  (
26  const DtString& name,
27  DtReaderWriterRegistry* const parentRegistry = NULL
28  );
29 
31  virtual ~DtVrfMenu() override;
32 
34  DtVrfMenu(const DtVrfMenu& orig);
35 
37  DtVrfMenu& operator=(const DtVrfMenu& orig);
38  virtual bool operator==(const DtVrfMenuEntry&) const override;
39 
40  virtual const DtList& entries() const;
41 
42  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
43  const DtVariableBindingsList& variableBindings) override;
44 
45  virtual DtlObjPtr getLocalData(DtlObjPtr args);
46 
47  virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
48  const DtVariableBindingsList& variableBindings) override;
49 
50  virtual void addEntity(const DtString& item, const DtEntityType& type, int force, const DtString& at = "");
51  void addObject(const DtString& item, const DtEntityType& type, int force, const DtString& at = "")
52  {
53  addEntity(item, type, force, at);
54  }
55 
59  virtual bool creationKeyFor(const DtString& name, DtEntityMapperKey& retKey) const;
60 
62  virtual bool load(const DtFilename&);
63 
65  virtual bool save(const DtFilename&);
66 
68  virtual void setComment(const DtString&);
69  virtual const DtString& comment() const;
70 
72  virtual DtVrfMenuEntry* findEntry(DtVrfMenuEntry*) const;
73 
75  virtual DtVrfMenuEntry* findEntry(const DtString&, bool recurse = false) const;
76 
78  virtual void merge(DtVrfMenu*);
79 
80  virtual void add(DtVrfMenuEntry*);
81 
82  virtual DtVrfMenuEntry* clone() const override;
83 
85  const DtFilename& filename() const;
86  void setFilename(const DtFilename&);
87 
88  protected:
89  virtual void copyMenuEntries(const DtList*);
90  virtual void merge(DtVrfMenuEntry*);
91 
92  protected:
93  virtual void addMenuItem(const DtString& item, const DtEntityType& type, int force, const char* name, const DtString& at);
94  virtual void writeSelf(std::string& fp, int i, bool writeUnspecified, const DtFilename& path) override;
95 
96  protected:
97  DtList myEntries;
99  DtFilename myFilename;
100  std::set<DtVrfMenuEntry*> mySetEntries;
101  };
102 
103  inline const DtFilename& DtVrfMenu::filename() const
104  {
105  return myFilename;
106  }
107 
108  inline void DtVrfMenu::setFilename(const DtFilename& f)
109  {
110  myFilename = f;
111  }
112 }
Definition: entityMapperKey.h:19
DtList myEntries
Definition: vrfMenu.h:97
const DtFilename & filename() const
Filename read in.
Definition: vrfMenu.h:103
Definition: vrfMenu.h:18
Definition: vrfMenuEntry.h:15
const char * filename
Definition: ioapi.h:38
DT_DLL_VRFGUICORE bool operator==(const std::vector< makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord > &lhs, const std::vector< makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord > &rhs)
Definition: readerWriterRegistry.h:39
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtString myComment
Definition: vrfMenu.h:98
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
void setFilename(const DtFilename &)
Definition: vrfMenu.h:108
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
void addObject(const DtString &item, const DtEntityType &type, int force, const DtString &at="")
Definition: vrfMenu.h:51
DtFilename myFilename
Definition: vrfMenu.h:99
std::set< DtVrfMenuEntry * > mySetEntries
Definition: vrfMenu.h:100

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)