diff options
author | James Cook <james@lindenlab.com> | 2007-01-02 08:33:20 +0000 |
---|---|---|
committer | James Cook <james@lindenlab.com> | 2007-01-02 08:33:20 +0000 |
commit | 420b91db29485df39fd6e724e782c449158811cb (patch) | |
tree | b471a94563af914d3ed3edd3e856d21cb1b69945 /indra/newview/lltoolplacer.h |
Print done when done.
Diffstat (limited to 'indra/newview/lltoolplacer.h')
-rw-r--r-- | indra/newview/lltoolplacer.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/indra/newview/lltoolplacer.h b/indra/newview/lltoolplacer.h new file mode 100644 index 0000000000..650fc03b01 --- /dev/null +++ b/indra/newview/lltoolplacer.h @@ -0,0 +1,79 @@ +/** + * @file lltoolplacer.h + * @brief Tool for placing new objects into the world + * + * Copyright (c) 2001-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#ifndef LL_TOOLPLACER_H +#define LL_TOOLPLACER_H + +#include "llprimitive.h" +#include "llpanel.h" +#include "lltool.h" + +class LLButton; + +//////////////////////////////////////////////////// +// LLToolPlacer + +class LLToolPlacer + : public LLTool +{ +public: + LLToolPlacer(); + + virtual BOOL placeObject(S32 x, S32 y, MASK mask); + virtual BOOL handleHover(S32 x, S32 y, MASK mask); + virtual void handleSelect(); // do stuff when your tool is selected + virtual void handleDeselect(); // clean up when your tool is deselected + + static void setObjectType( LLPCode type ) { sObjectType = type; } + static LLPCode getObjectType() { return sObjectType; } + +protected: + static LLPCode sObjectType; +}; + +//////////////////////////////////////////////////// +// LLToolPlacerPanel + + +const S32 TOOL_PLACER_NUM_BUTTONS = 14; + + +class LLToolPlacerPanel : public LLPanel +{ +public: + + LLToolPlacerPanel(const std::string& name, const LLRect& rect); + + static void setObjectType( void* data ); + + static LLPCode sCube; + static LLPCode sPrism; + static LLPCode sPyramid; + static LLPCode sTetrahedron; + static LLPCode sCylinder; + static LLPCode sCylinderHemi; + static LLPCode sCone; + static LLPCode sConeHemi; + static LLPCode sTorus; + static LLPCode sSquareTorus; + static LLPCode sTriangleTorus; + static LLPCode sSphere; + static LLPCode sSphereHemi; + static LLPCode sTree; + static LLPCode sGrass; + static LLPCode sTreeNew; + +private: + void addButton( const LLString& up_state, const LLString& down_state, LLPCode* pcode ); + +private: + static S32 sButtonsAdded; + static LLButton* sButtons[ TOOL_PLACER_NUM_BUTTONS ]; +}; + +#endif |