Add Selected Avatars submenu to minimap menu
Minimap refactor, make it an LFIDBearer! Moves listeners to cpp file, no need for header exposure Removes duplicate ToggleControl listener just for minimap Removes excess code from ToggleOverlay, we can use two on_clicks instead Caches direction labels instead of looking them up each frame Removes weird userdata look up on camera center menu item, fixing it Respect RLVa by hiding the submenu, shortcutting lookups per child
This commit is contained in:
@@ -33,33 +33,20 @@
|
||||
#ifndef LL_LLNETMAP_H
|
||||
#define LL_LLNETMAP_H
|
||||
|
||||
#include "llmath.h"
|
||||
#include "lfidbearer.h"
|
||||
#include "llpanel.h"
|
||||
#include "llmemberlistener.h"
|
||||
#include "v3math.h"
|
||||
#include "v3dmath.h"
|
||||
#include "v4color.h"
|
||||
#include "llpointer.h"
|
||||
#include "llcoord.h"
|
||||
|
||||
|
||||
class LLTextBox;
|
||||
class LLImageRaw;
|
||||
class LLViewerTexture;
|
||||
class LLFloaterMap;
|
||||
class LLMenuGL;
|
||||
// [SL:KB] - Patch: World-MinimapOverlay | Checked: 2012-06-20 (Catznip-3.3.0)
|
||||
class LLViewerRegion;
|
||||
class LLAvatarName;
|
||||
// [/SL:KB]
|
||||
|
||||
enum EMiniMapCenter
|
||||
{
|
||||
MAP_CENTER_NONE = 0,
|
||||
MAP_CENTER_CAMERA = 1
|
||||
};
|
||||
|
||||
class LLNetMap : public LLPanel
|
||||
class LLNetMap : public LLPanel, public LFIDBearer
|
||||
{
|
||||
public:
|
||||
LLNetMap(const std::string& name);
|
||||
@@ -81,6 +68,10 @@ public:
|
||||
/*virtual*/ BOOL handleRightMouseDown( S32 x, S32 y, MASK mask );
|
||||
/*virtual*/ BOOL handleDoubleClick( S32 x, S32 y, MASK mask );
|
||||
|
||||
LLUUID getStringUUIDSelectedItem() const override { return mClosestAgentAtLastRightClick; }
|
||||
uuid_vec_t getSelectedIDs() const override { return mClosestAgentsAtLastClick; }
|
||||
S32 getNumSelected() const override { return mClosestAgentsAtLastClick.size(); }
|
||||
|
||||
static void mm_setcolor(LLUUID key,LLColor4 col); //moymod
|
||||
|
||||
|
||||
@@ -127,6 +118,15 @@ protected:
|
||||
private:
|
||||
// [/SL:KB]
|
||||
|
||||
LLTextBox *mELabel = nullptr,
|
||||
*mNLabel = nullptr,
|
||||
*mWLabel = nullptr,
|
||||
*mSLabel = nullptr,
|
||||
*mNELabel = nullptr,
|
||||
*mNWLabel = nullptr,
|
||||
*mSWLabel = nullptr,
|
||||
*mSELabel = nullptr;
|
||||
|
||||
F32 mScale; // Size of a region in pixels
|
||||
F32 mPixelsPerMeter; // world meters to map pixels
|
||||
F32 mObjectMapTPM; // texels per meter on map
|
||||
@@ -152,125 +152,12 @@ private:
|
||||
// [/SL:KB]
|
||||
|
||||
static std::map<LLUUID, LLVector3d> mClosestAgentsToCursor; // <exodus/>
|
||||
static uuid_vec_t mClosestAgentsAtLastClick; // <exodus/>
|
||||
|
||||
LLUUID mClosestAgentToCursor;
|
||||
LLUUID mClosestAgentAtLastRightClick;
|
||||
|
||||
static void showAgentProfile(void*);
|
||||
BOOL isAgentUnderCursor() { return mClosestAgentToCursor.notNull(); }
|
||||
|
||||
class LLScaleMap : public LLMemberListener<LLNetMap>
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
|
||||
class LLCenterMap : public LLMemberListener<LLNetMap>
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
|
||||
class LLCheckCenterMap : public LLMemberListener<LLNetMap>
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
|
||||
class LLChatRings : public LLMemberListener<LLNetMap>
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
|
||||
class LLCheckChatRings : public LLMemberListener<LLNetMap>
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
|
||||
class LLStopTracking : public LLMemberListener<LLNetMap>
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
|
||||
class LLEnableTracking : public LLMemberListener<LLNetMap>
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
|
||||
class LLShowAgentProfile : public LLMemberListener<LLNetMap>
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
|
||||
class LLCamFollow : public LLMemberListener<LLNetMap> //moymod
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
|
||||
//moymod - Custom minimap markers :o
|
||||
class mmsetred : public LLMemberListener<LLNetMap> //moymod
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
class mmsetgreen : public LLMemberListener<LLNetMap> //moymod
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
class mmsetblue : public LLMemberListener<LLNetMap> //moymod
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
class mmsetyellow : public LLMemberListener<LLNetMap> //moymod
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
class mmsetcustom : public LLMemberListener<LLNetMap> //moymod
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
class mmsetunmark : public LLMemberListener<LLNetMap> //moymod
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
class mmenableunmark : public LLMemberListener<LLNetMap> //moymod
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
|
||||
|
||||
class LLEnableProfile : public LLMemberListener<LLNetMap>
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
|
||||
class LLToggleControl : public LLMemberListener<LLNetMap>
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
|
||||
// [SL:KB] - Patch: World-MiniMap | Checked: 2012-07-08 (Catznip-3.3.0)
|
||||
class OverlayToggle : public LLMemberListener<LLNetMap>
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||
};
|
||||
// [/SL:KB]
|
||||
|
||||
LLMenuGL* mPopupMenu;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user