VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
createMenuBuilder.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrfGuiCore/vrfGuiCore.h>
16 #include <vrvUtil/DtUnicode.h>
18 #include <vector>
19 #include <map>
20 
21 class DtModelSet;
22 class DtModelSetEntry;
23 
24 namespace makVrv
25 {
26  class DtDe;
27 }
28 
29 namespace makVrf
30 {
31  class DtVrfMenu;
33  {
34  private:
37 
38  public:
39  enum Flags
40  {
41  CategoryFolderOnly = 0x00000001,
45  AddAllEnvironmentals = 0x00000002,
50 
51  AddAllForces = 0x00000004,
52  PlaceOnPaletteSubmenu = 0x00000010,
54  CategoryTopLevelTagsOnly = 0x00000020,
56  AddAll = (AddAllEnvironmentals | AddAllForces),
57  DefaultCreationFlags = (CategoryTopLevelTagsOnly | PlaceOnPaletteSubmenu)
58  };
59 
60  public:
61  typedef std::map<std::string, makVrv::DtUnicode> MenuPalettes;
62 
65 
67  virtual ~DtCreateMenuBuilder() override;
68 
72  virtual void setIndividualMenuItems(const std::vector<DtEntityMapperKey>&);
73 
77  virtual DtVrfMenu* createMenu(const DtModelSet* modelSet, Flags) const;
78 
80  const MenuPalettes& menuPalettes() const
81  {
82  return myMenuPalettes;
83  }
84 
86  virtual makVrv::DtUnicode paletteTitle(const std::string&) const;
87 
90  virtual void addPalette(const std::string& key, const makVrv::DtUnicode& title);
91 
93  virtual void removePalette(const std::string&);
94 
96  static DtCreateMenuBuilder& instance(makVrv::DtDe& de);
97 
99  static void registerInstance(makVrv::DtDe&, DtCreateMenuBuilder*);
100 
103  virtual void setTags(const DtSimulationObjectCategoryInformation&);
104 
105  protected:
106  virtual bool isIndividualMenuItem(const DtModelSetEntry*) const;
107 
110  virtual std::map<DtString, int> categoriesWithOnlyOneForce(const DtModelSet*) const;
111 
112  protected:
114  std::vector<DtEntityMapperKey> myIndividualMenuItems;
115 
118  };
119 }
Definition: createMenuBuilder.h:32
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
The DtSimulationObjectCategoryInformation class is a class that will read the comma delimited categor...
Definition: simulationObjectCategoryInformation.h:24
Definition: vrfMenu.h:18
makVrv::DtDe & myDe
Definition: createMenuBuilder.h:113
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
MenuPalettes myMenuPalettes
Definition: createMenuBuilder.h:116
Definition: modelSetEntry.h:34
Contains makVrv::DtVirtualBaseClass class.
std::vector< DtEntityMapperKey > myIndividualMenuItems
Definition: createMenuBuilder.h:114
DtSimulationObjectCategoryInformation myTags
Definition: createMenuBuilder.h:117
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
std::map< std::string, makVrv::DtUnicode > MenuPalettes
Definition: createMenuBuilder.h:61
const MenuPalettes & menuPalettes() const
Returns currently mapped palettes and titles.
Definition: createMenuBuilder.h:80
Definition: modelSet.h:35
Flags
Definition: createMenuBuilder.h:39

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)