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 LLFloaterProperties : public LLFloater
00051 {
00052 public:
00053         static LLFloaterProperties* find(const LLUUID& item_id,
00054                                                                          const LLUUID& object_id);
00055         static LLFloaterProperties* show(const LLUUID& item_id,
00056                                                                          const LLUUID& object_id);
00057         static void dirtyAll();
00058 
00059         static void closeByID(const LLUUID& item_id, const LLUUID& object_id);
00060 
00061         LLFloaterProperties(const std::string& name, const LLRect& rect, const std::string& title, const LLUUID& item_id, const LLUUID& object_id);
00062         virtual ~LLFloaterProperties();
00063 
00064         // do everything necessary
00065         void dirty() { mDirty = TRUE; }
00066         void refresh();
00067 
00068 protected:
00069         // ui callbacks
00070         static void onClickCreator(void* data);
00071         static void onClickOwner(void* data);
00072         static void onCommitName(LLUICtrl* ctrl, void* data);
00073         static void onCommitDescription(LLUICtrl* ctrl, void* data);
00074         static void onCommitPermissions(LLUICtrl* ctrl, void* data);
00075         static void onCommitSaleInfo(LLUICtrl* ctrl, void* data);
00076         static void onCommitSaleType(LLUICtrl* ctrl, void* data);
00077         void updateSaleInfo();
00078 
00079         LLInventoryItem* findItem() const;
00080 
00081         void refreshFromItem(LLInventoryItem* item);
00082         virtual void draw();
00083 
00084 protected:
00085         // The item id of the inventory item in question.
00086         LLUUID mItemID;
00087 
00088         // mObjectID will have a value if it is associated with a task in
00089         // the world, and will be == LLUUID::null if it's in the agent
00090         // inventory.
00091         LLUUID mObjectID;
00092 
00093         BOOL    mDirty;
00094 
00095         typedef std::map<LLUUID, LLFloaterProperties*, lluuid_less> instance_map;
00096         static instance_map sInstances;
00097 };
00098 
00099 class LLMultiProperties : public LLMultiFloater
00100 {
00101 public:
00102         LLMultiProperties(const LLRect& rect);
00103 };
00104 
00105 #endif // LL_LLFLOATERPROPERTIES_H

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