summaryrefslogtreecommitdiff
path: root/indra/newview/llviewermenu.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llviewermenu.h')
-rw-r--r--indra/newview/llviewermenu.h103
1 files changed, 58 insertions, 45 deletions
diff --git a/indra/newview/llviewermenu.h b/indra/newview/llviewermenu.h
index e9fedf37d8..d3c34f0de4 100644
--- a/indra/newview/llviewermenu.h
+++ b/indra/newview/llviewermenu.h
@@ -34,23 +34,24 @@
#define LL_LLVIEWERMENU_H
#include "llmenugl.h"
+#include "llsafehandle.h"
-//newview includes
-#include "llfilepicker.h"
-
+class LLMessageSystem;
+class LLSD;
class LLUICtrl;
class LLView;
class LLParcelSelection;
class LLObjectSelection;
+class LLSelectNode;
-
-void pre_init_menus();
void init_menus();
void cleanup_menus();
void show_debug_menus(); // checks for if menus should be shown first.
+void toggle_debug_menus(void*);
void show_context_menu( S32 x, S32 y, MASK mask );
void show_build_mode_context_menu(S32 x, S32 y, MASK mask);
+void show_navbar_context_menu(LLView* ctrl, S32 x, S32 y);
BOOL enable_save_into_inventory(void*);
void handle_reset_view();
void handle_cut(void*);
@@ -75,51 +76,70 @@ BOOL enable_deselect(void*);
BOOL enable_undo(void*);
BOOL enable_redo(void*);
-// returns TRUE if we have a friend relationship with agent_id
-BOOL is_agent_friend(const LLUUID& agent_id);
BOOL is_agent_mappable(const LLUUID& agent_id);
-void menu_toggle_control( void* user_data );
void confirm_replace_attachment(S32 option, void* user_data);
-void handle_detach_from_avatar(void* user_data);
-void attach_label(std::string& label, void* user_data);
-void detach_label(std::string& label, void* user_data);
-BOOL object_selected_and_point_valid(void* user_data);
-BOOL object_attached(void* user_data);
+void handle_detach_from_avatar(const LLSD& user_data);
+void attach_label(std::string& label, const LLSD&);
+void detach_label(std::string& label, const LLSD&);
void handle_detach(void*);
BOOL enable_god_full(void* user_data);
BOOL enable_god_liaison(void* user_data);
-BOOL enable_god_customer_service(void* user_data);
BOOL enable_god_basic(void* user_data);
-void handle_show_newest_map(void*);
void set_underclothes_menu_options();
void exchange_callingcard(const LLUUID& dest_id);
void handle_gestures(void*);
void handle_sit_down(void*);
-bool toggle_build_mode();
void handle_object_build(void*);
+void handle_object_touch();
+bool enable_object_open();
+void handle_object_open();
+
+// Buy either contents or object itself
+void handle_buy();
+void handle_take_copy();
+void handle_look_at_selection(const LLSD& param);
+void handle_zoom_to_object(LLUUID object_id);
+
+void handle_buy_land();
+
+// Takes avatar UUID, or if no UUID passed, uses last selected object
+void handle_avatar_freeze(const LLSD& avatar_id);
+
+// Takes avatar UUID, or if no UUID passed, uses last selected object
+void handle_avatar_eject(const LLSD& avatar_id);
+
+bool enable_freeze_eject(const LLSD& avatar_id);
+
+// Can anyone take a free copy of the object?
+// *TODO: Move to separate file
+bool anyone_copy_selection(LLSelectNode* nodep);
+
+// Is this selected object for sale?
+// *TODO: Move to separate file
+bool for_sale_selection(LLSelectNode* nodep);
+
void handle_save_snapshot(void *);
void handle_toggle_flycam();
-bool handle_sit_or_stand();
-bool handle_give_money_dialog();
-bool handle_object_open();
+void handle_object_sit_or_stand();
+void handle_give_money_dialog();
+bool enable_pay_object();
+bool enable_buy_object();
bool handle_go_to();
// Export to XML or Collada
void handle_export_selected( void * );
-// Pass in an empty string and this function will build a string that
-// describes buyer permissions.
-class LLSaleInfo;
-class LLPermissions;
-
class LLViewerMenuHolderGL : public LLMenuHolderGL
{
public:
- LLViewerMenuHolderGL();
+ struct Params : public LLInitParam::Block<Params, LLMenuHolderGL::Params>
+ {};
+
+ LLViewerMenuHolderGL(const Params& p);
virtual BOOL hideMenus();
@@ -141,31 +161,24 @@ extern LLMenuGL* gPopupMenuView;
extern LLViewerMenuHolderGL* gMenuHolder;
extern LLMenuBarGL* gLoginMenuBarView;
-// Pie menus
-extern LLPieMenu *gPieSelf;
-extern LLPieMenu *gPieAvatar;
-extern LLPieMenu *gPieObject;
-extern LLPieMenu *gPieAttachment;
-extern LLPieMenu *gPieLand;
-extern LLPieMenu* gPieRate;
-
-// Pie menus
-extern LLPieMenu *gPieSelfSimple;
-extern LLPieMenu *gPieAvatarSimple;
-extern LLPieMenu *gPieObjectSimple;
-extern LLPieMenu *gPieAttachmentSimple;
-extern LLPieMenu *gPieLandSimple;
+// Context menus in 3D scene
+extern LLContextMenu *gMenuAvatarSelf;
+extern LLContextMenu *gMenuAvatarOther;
+extern LLContextMenu *gMenuObject;
+extern LLContextMenu *gMenuAttachmentSelf;
+extern LLContextMenu *gMenuAttachmentOther;
+extern LLContextMenu *gMenuLand;
// Needed to build menus when attachment site list available
extern LLMenuGL* gAttachSubMenu;
extern LLMenuGL* gDetachSubMenu;
extern LLMenuGL* gTakeOffClothes;
-extern LLPieMenu* gAttachScreenPieMenu;
-extern LLPieMenu* gDetachScreenPieMenu;
-extern LLPieMenu* gAttachPieMenu;
-extern LLPieMenu* gDetachPieMenu;
-extern LLPieMenu* gAttachBodyPartPieMenus[8];
-extern LLPieMenu* gDetachBodyPartPieMenus[8];
+extern LLContextMenu* gAttachScreenPieMenu;
+extern LLContextMenu* gDetachScreenPieMenu;
+extern LLContextMenu* gAttachPieMenu;
+extern LLContextMenu* gDetachPieMenu;
+extern LLContextMenu* gAttachBodyPartPieMenus[8];
+extern LLContextMenu* gDetachBodyPartPieMenus[8];
extern LLMenuItemCallGL* gAFKMenu;
extern LLMenuItemCallGL* gBusyMenu;