llfloaterproperties.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLFLOATERPROPERTIES_H
00033 #define LL_LLFLOATERPROPERTIES_H
00034 
00035 #include <map>
00036 #include "llfloater.h"
00037 #include "lliconctrl.h"
00038 
00039 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00040 // Class LLFloaterProperties
00041 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00042 
00043 class LLButton;
00044 class LLCheckBoxCtrl;
00045 class LLInventoryItem;
00046 class LLLineEditor;
00047 class LLRadioGroup;
00048 class LLTextBox;
00049 
00050 class LLPropertiesObserver;
00051 
00052 class LLFloaterProperties : public LLFloater
00053 {
00054 public:
00055         static LLFloaterProperties* find(const LLUUID& item_id,
00056                                                                          const LLUUID& object_id);
00057         static LLFloaterProperties* show(const LLUUID& item_id,
00058                                                                          const LLUUID& object_id);
00059         static void dirtyAll();
00060 
00061         static void closeByID(const LLUUID& item_id, const LLUUID& object_id);
00062 
00063         LLFloaterProperties(const std::string& name, const LLRect& rect, const std::string& title, const LLUUID& item_id, const LLUUID& object_id);
00064         virtual ~LLFloaterProperties();
00065 
00066         // do everything necessary
00067         void dirty() { mDirty = TRUE; }
00068         void refresh();
00069 
00070 protected:
00071         // ui callbacks
00072         static void onClickCreator(void* data);
00073         static void onClickOwner(void* data);
00074         static void onCommitName(LLUICtrl* ctrl, void* data);
00075         static void onCommitDescription(LLUICtrl* ctrl, void* data);
00076         static void onCommitPermissions(LLUICtrl* ctrl, void* data);
00077         static void onCommitSaleInfo(LLUICtrl* ctrl, void* data);
00078         static void onCommitSaleType(LLUICtrl* ctrl, void* data);
00079         void updateSaleInfo();
00080 
00081         LLInventoryItem* findItem() const;
00082 
00083         void refreshFromItem(LLInventoryItem* item);
00084         virtual void draw();
00085 
00086 protected:
00087         // The item id of the inventory item in question.
00088         LLUUID mItemID;
00089 
00090         // mObjectID will have a value if it is associated with a task in
00091         // the world, and will be == LLUUID::null if it's in the agent
00092         // inventory.
00093         LLUUID mObjectID;
00094 
00095         BOOL    mDirty;
00096 
00097         typedef std::map<LLUUID, LLFloaterProperties*, lluuid_less> instance_map;
00098         static instance_map sInstances;
00099         static LLPropertiesObserver* sPropertiesObserver;
00100         static S32 sPropertiesObserverCount;
00101 };
00102 
00103 class LLMultiProperties : public LLMultiFloater
00104 {
00105 public:
00106         LLMultiProperties(const LLRect& rect);
00107 };
00108 
00109 #endif // LL_LLFLOATERPROPERTIES_H

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