VR-Forces 4.1 Class Documentation
contextMenu.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2009 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: contextMenu.h,v $ $Revision: 1.13 $ $State: Exp $
7 *******************************************************************************/
8 
11 
12 #ifndef CONTEXTMENU_H_
13 #define CONTEXTMENU_H_
14 
15 #include <QtGui/QMenu>
16 #include <QtGui/QAction>
17 
18 #include "vrfGuiCore/menuItems.h"
19 #include "tmqt/eventSignaller.h"
20 
21 class DtBaseWindow;
22 class DtMenuWidget;
23 const int DtItemIsMenu = 0x80000000;
24 
30 #include "tmqt/tmqtDefines.h"
32 {
33 public:
34  DtContextItems() : myInternalId(-1) {};
36  myMenuName(orig.myMenuName), myAccel(orig.myAccel), myMenuType(orig.myMenuType),
37  myMenuItem(orig.myMenuItem), myActionGroupType(orig.myActionGroupType),
38  myAddSeparator(orig.myAddSeparator), myCreateMenu(orig.myCreateMenu),
39  myCreateItem(orig.myCreateItem), myItem(orig.myItem), mySlot(orig.mySlot), myInternalId(orig.myInternalId)
40  {};
41 
42  QString myMenuName;
43  QString myAccel;
51  const char *mySlot;
53 };
54 
57 {
58  Q_OBJECT
59 
60 public:
62  DtContextMenu(QWidget* parent);
63 
65  virtual ~DtContextMenu();
66 
67  virtual void setOwner(DtBaseWindow*);
68  virtual DtBaseWindow* owner() const;
69 
70  virtual void setMenuWidget(DtMenuWidget* menuWidget);
71 
72 public:
75  virtual void addMenuActionGroup(DtMainMenuType iType, DtMenuItemType iActionGroup,
76  bool addSeparator = false, DtMenuItemType iBeforeType = DtNoMenuItem, DtMenuItemType iAfterType = DtNoMenuItem);
77 
78  virtual void addMenu(QString menuName, DtMainMenuType iType, bool addSeparator = false,
79  DtMenuItemType iBeforeType = DtNoMenuItem, DtMenuItemType iAfterType = DtNoMenuItem);
80 
81  virtual void addMenuItem(DtMenuItemType iType, bool addSeparator = false,
82  DtMenuItemType iBeforeType = DtNoMenuItem, DtMenuItemType iAfterType = DtNoMenuItem);
83 
84  virtual void addMenuForGroup(QString menuName, DtMainMenuType iType, DtMenuItemType iGroup, bool addSeparator,
85  DtMenuItemType iBeforeType = DtNoMenuItem, DtMenuItemType iAfterType = DtNoMenuItem);
86 
88  virtual void addSeparator(DtMenuItemType iBeforeType = DtNoMenuItem, DtMenuItemType iAfterType = DtNoMenuItem);
89 
92  virtual void removeOccurancesOf(DtMenuItemType iType, DtMenuItemType iActionGroup = DtNoMenuItem);
93 
95  virtual void removeItem(const QString& name);
96 
99  virtual int addMenuItem(QString itemName, QObject* slotObj, const char* slot,
100  QString accel = QString::null, bool addSeparator = false,
101  DtMenuItemType iBeforeType = DtNoMenuItem,
102  DtMenuItemType iAfterType = DtNoMenuItem);
103 
105  virtual void cleanup();
106 
107 public slots:
109  virtual bool createMenu();
110 
111 protected:
113  virtual void addMenuItems();
114 
116  virtual bool exists(const DtContextItems& item);
117 
119  virtual void addContextItem(DtContextItems& item, DtMenuItemType iBeforeType = DtNoMenuItem,
120  DtMenuItemType iAfterType = DtNoMenuItem);
121 
123  virtual void insertBefore(DtContextItems& item, DtMenuItemType iType);
124 
126  virtual void insertAfter(DtContextItems& item, DtMenuItemType iType);
127 
129  virtual const char* eventMenuContext() const { return DtContextMenuEvent; };
130 
131  virtual DtMenuItemType uniqueId() const;
133  virtual bool matchesName(QString lhs, QString rhs) const;
134 
136  virtual void addedMenuItem(QObject*, const DtContextItems&);
137 
138 public:
139  static DtContextMenu* create(QWidget* parent);
140 
141 protected:
147 };
148 
149 #endif //CONTEXTMENU_H_

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)