VR-Forces 4.6.1 Class Documentation
 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 DtMenu;
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();
68 
72  virtual void setIndividualMenuItems(const std::vector<DtEntityMapperKey>&);
73 
77  virtual DtMenu* 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 }

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)