VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtMenuConfiguration.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtMenuConfiguration.h,v $ $Revision: 1.9 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #ifndef DtMenuConfiguration_H_
14 #define DtMenuConfiguration_H_
15 
16 #include <vrvCore/vrvCore.h>
17 #include <vrvCore/DtMenuPath.h>
19 
20 #include <list>
21 #include <set>
22 
23 namespace makVrv
24 {
28  {
29  public:
30 
31  //Ordered vector of paths.
32  typedef std::list<DtMenuPath> MenuPathList;
33 
34  typedef std::set<DtMenuPath> MenuPathSet;
35 
36  public:
39 
41  virtual ~DtMenuConfiguration();
42 
44  void addMenuPath(const DtMenuPath&, int weight = -1);
45 
49  void addMenuPathAfter(const DtMenuPath& newPath, const DtMenuPath& relativeTo);
50 
52  void addMenuPathBefore(const DtMenuPath& newPath, const DtMenuPath& relativeTo);
53 
55  void addConfiguration(const DtMenuConfiguration& subConfiguration);
56 
58  void removeMenuPath(const DtMenuPath&);
59 
61  void getRootPaths(MenuPathList& children) const;
62 
72  void getChildren(const DtMenuPath& path, MenuPathList& children) const;
73 
75  void sortChildren(MenuPathList& children) const;
76 
78  int getNewWeight();
79 
81  {
82  if (this != &rhs)
83  {
84  myMenuPaths = rhs.myMenuPaths;
85  myMenuOrder = rhs.myMenuOrder;
86  myCurrentWeight = rhs.myCurrentWeight;
87  }
88 
89  return *this;
90  }
91 
94  void merge(const DtMenuConfiguration& rhs);
95 
97  bool hasMenuPath(const DtMenuPath& p) const;
98 
99  protected:
100 
101  bool sortAbsolute(const DtMenuPath& a, const DtMenuPath& b) const;
102 
104  {
106  : orderWeight(0)
107  , relative(DtMenuPath::empty())
108  , beforeRelative(false)
109  {
110  }
111 
115  };
116 
118 
119  typedef std::map<DtMenuPath,OrderParameters> MenuPathOrderMap;
121 
123  };
124 }
125 
126 #endif
127 
std::list< DtMenuPath > MenuPathList
Definition: DtMenuConfiguration.h:32
MenuPathSet myMenuPaths
Definition: DtMenuConfiguration.h:117
MenuPathOrderMap myMenuOrder
Definition: DtMenuConfiguration.h:120
DtMenuConfiguration & operator=(const DtMenuConfiguration &rhs)
Definition: DtMenuConfiguration.h:80
Contains makVrv::DtMenuPath class.
DtMenuPath relative
Definition: DtMenuConfiguration.h:113
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Definition: DtMenuConfiguration.h:103
a Class which represents a menu path.
Definition: DtMenuPath.h:30
OrderParameters()
Definition: DtMenuConfiguration.h:105
Contains makVrv::DtConfiguration class.
std::set< DtMenuPath > MenuPathSet
Definition: DtMenuConfiguration.h:34
int orderWeight
Definition: DtMenuConfiguration.h:112
The base implementation of a configuration.
Definition: DtConfiguration.h:27
int myCurrentWeight
Definition: DtMenuConfiguration.h:122
A configuration of the menu layout.
Definition: DtMenuConfiguration.h:27
bool beforeRelative
Definition: DtMenuConfiguration.h:114
std::map< DtMenuPath, OrderParameters > MenuPathOrderMap
Definition: DtMenuConfiguration.h:119
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)