summaryrefslogtreecommitdiff
path: root/indra/llui/llmenugl.h
diff options
context:
space:
mode:
authorJosh Bell <josh@lindenlab.com>2007-02-20 22:02:36 +0000
committerJosh Bell <josh@lindenlab.com>2007-02-20 22:02:36 +0000
commit7dada07dbaae3dfb9b1319453e51019bfff2717f (patch)
treea7f2b84ea65c39cee31474640dd5f265c0b2f432 /indra/llui/llmenugl.h
parent73bc0fb42b5bcd80030d9f30d5cb57ec2397ba08 (diff)
svn merge -r 57620:58007 svn+ssh://svn.lindenlab.com/svn/linden/branches/maintenance
Diffstat (limited to 'indra/llui/llmenugl.h')
-rw-r--r--indra/llui/llmenugl.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/indra/llui/llmenugl.h b/indra/llui/llmenugl.h
index d43b4553c3..1b0b844bdc 100644
--- a/indra/llui/llmenugl.h
+++ b/indra/llui/llmenugl.h
@@ -542,6 +542,75 @@ protected:
KEY mJumpKey;
};
+
+
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+// Class LLMenuItemBranchGL
+//
+// The LLMenuItemBranchGL represents a menu item that has a
+// sub-menu. This is used to make cascading menus.
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+class LLMenuItemBranchGL : public LLMenuItemGL
+{
+protected:
+ LLMenuGL* mBranch;
+
+public:
+ LLMenuItemBranchGL( const LLString& name, const LLString& label, LLMenuGL* branch,
+ KEY key = KEY_NONE, MASK mask = MASK_NONE );
+ virtual LLXMLNodePtr getXML(bool save_children = true) const;
+
+ virtual LLView* getChildByName(const LLString& name, BOOL recurse) const;
+
+ virtual LLString getType() const { return "menu"; }
+
+ virtual EWidgetType getWidgetType() const;
+ virtual LLString getWidgetTag() const;
+
+ virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask);
+
+ virtual BOOL handleAcceleratorKey(KEY key, MASK mask);
+
+ // check if we've used these accelerators already
+ virtual BOOL addToAcceleratorList(std::list <LLKeyBinding*> *listp);
+
+ // called to rebuild the draw label
+ virtual void buildDrawLabel( void );
+
+ // doIt() - do the primary funcationality of the menu item.
+ virtual void doIt( void );
+
+ virtual BOOL handleKey(KEY key, MASK mask, BOOL called_from_parent);
+ virtual BOOL handleUnicodeChar(llwchar uni_char, BOOL called_from_parent);
+
+ // set the hover status (called by it's menu) and if the object is
+ // active. This is used for behavior transfer.
+ virtual void setHighlight( BOOL highlight );
+
+ virtual BOOL handleKeyHere(KEY key, MASK mask, BOOL called_from_parent);
+
+ virtual BOOL isActive() const;
+
+ virtual BOOL isOpen() const;
+
+ LLMenuGL *getBranch() const { return mBranch; }
+
+ virtual void updateBranchParent( LLView* parentp );
+
+ // LLView Functionality
+ virtual void onVisibilityChange( BOOL curVisibilityIn );
+
+ virtual void draw();
+
+ virtual void setEnabledSubMenus(BOOL enabled);
+
+ virtual void openMenu();
+};
+
+
+
+
//-----------------------------------------------------------------------------
// class LLPieMenu
// A circular menu of items, icons, etc.