diff options
Diffstat (limited to 'indra/newview/llviewermenu.h')
-rw-r--r-- | indra/newview/llviewermenu.h | 174 |
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 |