VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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>
15 #include <vrvUtil/DtUnicode.h>
17 #include <vector>
18 #include <map>
19 
20 class DtModelSet;
21 class DtModelSetEntry;
22 
23 namespace makVrv
24 {
25  class DtDe;
26 }
27 
28 namespace makVrf
29 {
30  class DtMenu;
32  {
33  private:
36 
37  public:
38  enum Flags
39  {
40  CategoryFolderOnly = 0x00000001,
44  AddAllEnvironmentals = 0x00000002,
49 
50  AddAllForces = 0x00000004,
51  PlaceOnPaletteSubmenu = 0x00000010,
53  AddAll = (AddAllEnvironmentals | AddAllForces),
54  DefaultCreationFlags = (CategoryFolderOnly | PlaceOnPaletteSubmenu)
55  };
56 
57  public:
58  typedef std::map<std::string, makVrv::DtUnicode> MenuPalettes;
59 
62 
64  virtual ~DtCreateMenuBuilder();
65 
69  virtual void setIndividualMenuItems(const std::vector<DtEntityMapperKey>&);
70 
74  virtual DtMenu* createMenu(const DtModelSet* modelSet, Flags) const;
75 
77  const MenuPalettes& menuPalettes() const
78  {
79  return myMenuPalettes;
80  }
81 
83  virtual makVrv::DtUnicode paletteTitle(const std::string&) const;
84 
87  virtual void addPalette(const std::string& key, const makVrv::DtUnicode& title);
88 
90  virtual void removePalette(const std::string&);
91 
93  static DtCreateMenuBuilder& instance(makVrv::DtDe& de);
94 
96  static void registerInstance(makVrv::DtDe&, DtCreateMenuBuilder*);
97 
98  protected:
99  virtual bool isIndividualMenuItem(const DtModelSetEntry*) const;
100 
103  virtual std::map<DtString, int> categoriesWithOnlyOneForce(const DtModelSet*) const;
104 
105  protected:
107  std::vector<DtEntityMapperKey> myIndividualMenuItems;
108 
110  };
111 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)