llfloaterlandmark.h

Go to the documentation of this file.
00001 
00023 #ifndef LL_LLFLOATERLANDMARK_H
00024 #define LL_LLFLOATERLANDMARK_H
00025 
00026 #include "llcoord.h"
00027 #include "llfloater.h"
00028 #include "llstring.h"
00029 #include "lluictrl.h"
00030 #include "llpermissionsflags.h"
00031 
00032 class LLButton;
00033 class LLFloaterTexturePicker;
00034 class LLInventoryItem;
00035 class LLTextBox;
00036 class LLViewBorder;
00037 class LLFolderViewItem;
00038 class LLSearchEditor;
00039 class LLInventoryPanel;
00040 class LLSaveFolderState;
00041 
00042 // used for setting drag & drop callbacks.
00043 typedef BOOL (*drag_n_drop_callback)(LLUICtrl*, LLInventoryItem*, void*);
00044 
00045 
00047 // LLFloaterLandmark
00048 
00049 class LLFloaterLandmark: public LLFloater, public LLUISingleton<LLFloaterLandmark>
00050 {
00051 public:
00052         LLFloaterLandmark(const LLSD& data);
00053         virtual ~LLFloaterLandmark();
00054 
00055         // LLView overrides
00056         virtual BOOL    handleDragAndDrop(S32 x, S32 y, MASK mask,
00057                 BOOL drop, EDragAndDropType cargo_type, void *cargo_data, 
00058                 EAcceptance *accept,
00059                 LLString& tooltip_msg);
00060         virtual BOOL    handleKeyHere(KEY key, MASK mask, BOOL called_from_parent);
00061 
00062         // LLFloater overrides
00063         virtual void    onClose(bool app_quitting);
00064 
00065         const LLUUID& getAssetID() { return mImageAssetID; }
00066         const LLUUID& findItemID(const LLUUID& asset_id, BOOL copyable_only);
00067 
00068         void                    setDirty( BOOL b ) { mIsDirty = b; }
00069         BOOL                    isDirty() { return mIsDirty; }
00070         void                    setActive( BOOL active );
00071 
00072         static void             onBtnClose( void* userdata );
00073         static void             onBtnNew( void* userdata );
00074         static void             onBtnEdit( void* userdata );
00075         static void             onBtnDelete( void* userdata );
00076         static void             onBtnNewFolder( void* userdata );
00077         static void             onBtnRename( void* userdata );
00078         static void             onSelectionChange(const std::deque<LLFolderViewItem*> &items, BOOL user_action, void* data);
00079         static void             onShowFolders(LLUICtrl* ctrl, void* userdata);
00080         static void             onSearchEdit(const LLString& search_string, void* user_data );
00081 
00082 protected:
00083         LLPointer<LLViewerImage> mLandmarkp;
00084 
00085         LLUUID                          mImageAssetID; // Currently selected texture
00086 
00087         LLUUID                          mWhiteImageAssetID;
00088         LLUUID                          mSpecialCurrentImageAssetID;  // Used when the asset id has no corresponding texture in the user's inventory.
00089         LLUUID                          mOriginalImageAssetID;
00090 
00091         LLTextBox*                      mTentativeLabel;
00092         LLTextBox*                      mResolutionLabel;
00093 
00094         LLString                        mPendingName;
00095         BOOL                            mIsDirty;
00096         BOOL                            mActive;
00097 
00098         LLSearchEditor*         mSearchEdit;
00099         LLInventoryPanel*       mInventoryPanel;
00100         PermissionMask          mImmediateFilterPermMask;
00101         PermissionMask          mNonImmediateFilterPermMask;
00102         BOOL                            mNoCopyLandmarkSelected;
00103         F32                                     mContextConeOpacity;
00104         LLSaveFolderState*      mSavedFolderState;
00105 };
00106 
00107 #endif  // LL_FLOATERLANDMARK_H

Generated on Thu Jul 1 06:08:34 2010 for Second Life Viewer by  doxygen 1.4.7