18 #include <QtGui/QMenu>
19 #include <QtGui/QAction>
20 #include <QtCore/QList>
21 #include <QtCore/QHash>
33 DtPopupMenuItem() : myPos(-1), myIsSeparator(false), myAddSeparator(false), myIsToggle(false), myIsOn(false),
38 myToolTip(orig.myToolTip),
39 myAccel(orig.myAccel),
41 myObjectName(orig.myObjectName),
43 myIsSeparator(orig.myIsSeparator),
44 myAddSeparator(orig.myAddSeparator),
45 myIsToggle(orig.myIsToggle),
47 myIsActionItem(orig.myIsActionItem),
49 myGroup(orig.myGroup),
57 return ((myText == orig.
myText) &&
95 myValidatorCall(orig.myValidatorCall), myValidator(orig.myValidator) {}
105 myActionCall(orig.myActionCall),
106 myAction(orig.myAction),
107 myValidators(orig.myValidators)
132 void setTitle(
const QString& t);
133 const QString&
title()
const {
return myTitle; };
136 void setTearOffEnabled(
bool);
145 QAction* addAction(
const QString& text, QString addBefore =
"");
146 QAction* addAction(
const QIcon& icon,
const QString& text, QString addBefore =
"");
149 virtual QMenu* createMenu();
154 void removeAttachment();
163 int numActions()
const;
166 virtual void actionDestroyed();
205 virtual void insertMenu(
DtMenuWidget* menuWidget,
int iPos = -1,
int iID = -1);
210 virtual void preCreateMenuItems();
212 virtual bool createMenuItems();
214 virtual int id()
const;
236 virtual int menuItemPositionOf(
QAction* action);
244 virtual void setOwner(
QWidget* owner);
245 virtual QWidget* owner()
const;
248 virtual void setEnableValidations(
bool b);
255 virtual void updateMenuItems();
258 virtual void seedActionGroups();
265 virtual bool attachMenu(
const QString& title,
DtPopupMenu*,
int iIndex = -1);
267 bool initialized()
const;
273 void setAddFeatures(
bool);
274 bool addFeatures()
const;
277 virtual QString shortcutFor(
const QString& feature)
const;
278 virtual void addShortcut(
const QString& feature,
const QString& shortcut);
279 virtual void replaceShortcut(
const QString& feature,
const QString& shortcut);
280 virtual bool hasShortcutOverride(
const QString& feature)
const;
281 virtual bool hasShortcut(
const QString& feature)
const;
284 virtual QString iconFor(
const QString& feature, QIcon::Mode mode = QIcon::Normal, QIcon::State = QIcon::Off,
285 bool useDefault =
false);
288 virtual QString menuTextForAction(
QAction*);
291 virtual QHash<DtMenuItemType, QAction*>& actions();
306 QString toolTip = QString::null, QString accel = QString::null,
bool addSeparator =
false,
307 bool toggle =
false,
bool isOn =
false,
const QString& objectName =
"");
311 QString toolTip = QString::null, QString accel = QString::null,
bool addSeparator =
false,
312 bool toggle =
false,
bool isOn =
false,
const QString& objectName =
"");
317 QString text, QString toolTip = QString::null, QString accel = QString::null,
bool addSeparator =
false,
318 bool isOn =
false,
const QString& objectName =
"");
322 QString text, QString toolTip = QString::null, QString accel = QString::null,
bool addSeparator =
false,
323 bool isOn =
false,
const QString& objectName =
"");
333 virtual bool removeMenuGroup(
const QString& gr);
336 virtual void removeItemAtPosition(
int iPos);
340 virtual void addIcon(
DtMenuItemType iType, QString icon, QIcon::Mode mode = QIcon::Normal, QIcon::State = QIcon::Off);
343 virtual void removeIcon(
DtMenuItemType iType, QIcon::Mode mode = (QIcon::Mode)-1, QIcon::State = QIcon::Off);
362 virtual void mappingMenu(
DtPopupMenu* menu,
int iFlags = 0);
370 virtual void setPosition(
int iPos);
373 virtual bool matchesName(QString name);
390 const QString& featureName,
const QString& item,
const QString& addToMenu,
391 bool toggle =
false,
QObject* actionReceiver = NULL,
392 const char* action = NULL,
QObject* validationReceiver = NULL,
393 const char* validation = NULL,
const QString& tooltip = QString::null,
394 const QString& accelerator = QString::null,
bool addSep =
false);
398 virtual void appendMenuValidator(
const QString& menu,
QObject* vCall,
const char* validator);
401 virtual bool removeMenuItem(
const QString& item);
410 virtual void renameMenuItem(
DtMenuItemType iType, QString text = QString::null,
411 QString toolTip = QString::null, QString accel = QString::null);
419 virtual QString menuName();
426 QObject* vCall = NULL,
const char* validator = NULL);
431 virtual void addGlobalActionAndValidatorForType(
DtMenuItemType iType,
QObject* aCall,
const char* action,
432 QObject* vCall = NULL,
const char* validator = NULL);
436 virtual DtActionGroup* actionGroupWithName(
const QString&)
const;
437 virtual QAction* actionWithName(
const QString&)
const;
440 virtual void clearMenuItems();
442 virtual void removeFeatureActions();
446 void validateItems();
449 virtual void validate();
450 virtual void menuItemDestroyed(
QAction*);
452 virtual void featureActionManagerDestroyed();
455 virtual void popupRemoved(
QObject*);
456 virtual void menuItemDestroyed();
457 virtual void actionGroupDestroyed();
462 virtual bool initMenuItems();
465 virtual bool initActionGroups();
471 virtual bool removeMenuItemAtPosition(
int iPos);
484 virtual void attachMenuItems();
491 virtual void addCompletedItemsToMenu();
494 virtual void addAttachedMenus();
501 virtual void attachValidators(
bool b);
504 virtual void initConnections();
514 virtual void removeOrderedMenuItem(
int iPos);
524 virtual bool matchesName(QString menu, QString name)
const;