llfloaterlandmark.h

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

Generated on Fri May 16 08:33:29 2008 for SecondLife by  doxygen 1.5.5