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.h174
1 files changed, 174 insertions, 0 deletions
diff --git a/indra/newview/llviewermenu.h b/indra/newview/llviewermenu.h
new file mode 100644
index 0000000000..37a7f0fa13
--- /dev/null
+++ b/indra/newview/llviewermenu.h
@@ -0,0 +1,174 @@
+/**
+ * @file llviewermenu.h
+ * @brief Builds menus out of objects
+ *
+ * Copyright (c) 2002-$CurrentYear$, Linden Research, Inc.
+ * $License$
+ */
+
+#ifndef LL_LLVIEWERMENU_H
+#define LL_LLVIEWERMENU_H
+
+#include "llassetstorage.h"
+#include "llinventory.h"
+#include "llmenugl.h"
+
+//newview includes
+#include "llfilepicker.h"
+
+class LLUICtrl;
+class LLView;
+
+struct LLResourceData
+{
+ LLAssetInfo mAssetInfo;
+ LLAssetType::EType mPreferredLocation;
+ LLInventoryType::EType mInventoryType;
+ U32 mNextOwnerPerm;
+ void *mUserData;
+};
+
+void pre_init_menus();
+void init_menus();
+void cleanup_menus();
+
+void show_debug_menus(); // checks for if menus should be shown first.
+void show_context_menu( S32 x, S32 y, MASK mask );
+void show_build_mode_context_menu(S32 x, S32 y, MASK mask);
+void load_url_local_file(const char *file_name);
+BOOL enable_save_into_inventory(void*);
+void handle_reset_view();
+void handle_cut(void*);
+void handle_copy(void*);
+void handle_paste(void*);
+void handle_delete(void*);
+void handle_redo(void*);
+void handle_undo(void*);
+void handle_select_all(void*);
+void handle_deselect(void*);
+void handle_delete_object();
+void handle_duplicate(void*);
+void handle_duplicate_in_place(void*);
+BOOL enable_not_have_card(void *userdata);
+void process_grant_godlike_powers(LLMessageSystem* msg, void**);
+
+BOOL enable_cut(void*);
+BOOL enable_copy(void*);
+BOOL enable_paste(void*);
+BOOL enable_select_all(void*);
+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 check_toggle_control( LLUICtrl *, void* user_data );
+void handle_attach_to_avatar(void* user_data);
+void confirm_replace_attachment(S32 option, void* user_data);
+void handle_detach_from_avatar(void* user_data);
+void attach_label(LLString& label, void* user_data);
+void detach_label(LLString& label, void* user_data);
+BOOL object_selected_and_point_valid(void* user_data);
+BOOL object_attached(void* user_data);
+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 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_save_snapshot(void *);
+
+bool handle_sit_or_stand();
+bool handle_give_money_dialog();
+bool handle_object_open();
+bool handle_go_to();
+
+void upload_new_resource(const LLString& src_filename, std::string name,
+ std::string desc, S32 compression_info,
+ LLAssetType::EType destination_folder_type,
+ LLInventoryType::EType inv_type,
+ U32 next_owner_perm = PERM_NONE,
+ const LLString& display_name = LLString::null,
+ LLAssetStorage::LLStoreAssetCallback callback = NULL,
+ void *userdata = NULL);
+
+void upload_new_resource(const LLTransactionID &tid, LLAssetType::EType type,
+ std::string name,
+ std::string desc, S32 compression_info,
+ LLAssetType::EType destination_folder_type,
+ LLInventoryType::EType inv_type,
+ U32 next_owner_perm = PERM_NONE,
+ const LLString& display_name = LLString::null,
+ LLAssetStorage::LLStoreAssetCallback callback = NULL,
+ void *userdata = NULL);
+
+// Export to XML or Collada
+void handle_export_selected( void * );
+
+//Retrieve a list of valid extensions for a given file "type"
+const char* build_extensions_string(LLFilePicker::ELoadFilter filter);
+
+// 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() : LLMenuHolderGL() {};
+
+ virtual BOOL hideMenus();
+ //virtual BOOL handleKey(KEY key, MASK mask, BOOL called_from_parent);
+};
+
+extern const LLString SAVE_INTO_INVENTORY;
+
+extern LLMenuBarGL* gMenuBarView;
+//extern LLView* gMenuBarHolder;
+extern LLMenuGL* gPopupMenuView;
+extern LLViewerMenuHolderGL* gMenuHolder;
+
+// 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;
+
+// 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 LLMenuItemCallGL* gAFKMenu;
+extern LLMenuItemCallGL* gBusyMenu;
+extern LLMenuItemCallGL* gMutePieMenu;
+extern LLMenuItemCallGL* gMuteObjectPieMenu;
+extern LLMenuItemCallGL* gBuyPassPieMenu;
+
+#endif