diff options
Diffstat (limited to 'indra/newview/lltoolmgr.h')
-rw-r--r-- | indra/newview/lltoolmgr.h | 262 |
1 files changed, 131 insertions, 131 deletions
diff --git a/indra/newview/lltoolmgr.h b/indra/newview/lltoolmgr.h index 1bcc8c50e2..35edc2377f 100644 --- a/indra/newview/lltoolmgr.h +++ b/indra/newview/lltoolmgr.h @@ -1,131 +1,131 @@ -/** - * @file lltoolmgr.h - * @brief LLToolMgr class header file - * - * $LicenseInfo:firstyear=2001&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#ifndef LL_TOOLMGR_H -#define LL_TOOLMGR_H - -#include "llkeyboard.h" - -class LLTool; -class LLToolset; - -// Key bindings for common operations -const MASK MASK_VERTICAL = MASK_CONTROL; -const MASK MASK_SPIN = MASK_CONTROL | MASK_SHIFT; -const MASK MASK_ZOOM = MASK_NONE; -const MASK MASK_ORBIT = MASK_CONTROL; -const MASK MASK_PAN = MASK_CONTROL | MASK_SHIFT; -const MASK MASK_COPY = MASK_SHIFT; - -class LLToolMgr : public LLSingleton<LLToolMgr> -{ - LLSINGLETON(LLToolMgr); - ~LLToolMgr(); -public: - - // Must be called after gSavedSettings set up. - void initTools(); - - LLTool* getCurrentTool(); // returns active tool, taking into account keyboard state - LLTool* getBaseTool(); // returns active tool when overrides are deactivated - - bool inEdit(); - bool canEdit(); - bool buildEnabledOrActive(); - bool canAccessMarketplace(); - void toggleBuildMode(const LLSD& sdname); - void toggleMarketplace(const LLSD& sdname); - - /* Determines if we are in Build mode or not. */ - bool inBuildMode(); - - void setTransientTool(LLTool* tool); - void clearTransientTool(); - bool usingTransientTool(); - - void setCurrentToolset(LLToolset* current); - LLToolset* getCurrentToolset(); - - void onAppFocusGained(); - void onAppFocusLost(); - - void clearSavedTool(); - -protected: - friend class LLToolset; // to allow access to setCurrentTool(); - void setCurrentTool(LLTool* tool); - void updateToolStatus(); - -protected: - LLTool* mBaseTool; - LLTool* mSavedTool; // The current tool at the time application focus was lost. - LLTool* mTransientTool; - LLTool* mOverrideTool; // Tool triggered by keyboard override - LLTool* mSelectedTool; // last known active tool - LLToolset* mCurrentToolset; -}; - -// Sets of tools for various modes -class LLToolset -{ -public: - LLToolset() : mSelectedTool(NULL), mIsShowFloaterTools(true) {} - - LLTool* getSelectedTool() { return mSelectedTool; } - - void addTool(LLTool* tool); - - void selectTool( LLTool* tool ); - void selectToolByIndex( S32 index ); - void selectFirstTool(); - void selectNextTool(); - void selectPrevTool(); - - void handleScrollWheel(S32 clicks); - - bool isToolSelected( S32 index ); - - void setShowFloaterTools(bool pShowFloaterTools) {mIsShowFloaterTools = pShowFloaterTools;}; - bool isShowFloaterTools() const {return mIsShowFloaterTools;}; - -protected: - LLTool* mSelectedTool; - typedef std::vector<LLTool*> tool_list_t; - tool_list_t mToolList; - bool mIsShowFloaterTools; -}; - -// Globals - -extern LLToolset* gBasicToolset; -extern LLToolset *gCameraToolset; -//extern LLToolset *gLandToolset; -extern LLToolset* gMouselookToolset; -extern LLToolset* gFaceEditToolset; - -extern LLTool* gToolNull; - -#endif +/**
+ * @file lltoolmgr.h
+ * @brief LLToolMgr class header file
+ *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+#ifndef LL_TOOLMGR_H
+#define LL_TOOLMGR_H
+
+#include "llkeyboard.h"
+
+class LLTool;
+class LLToolset;
+
+// Key bindings for common operations
+const MASK MASK_VERTICAL = MASK_CONTROL;
+const MASK MASK_SPIN = MASK_CONTROL | MASK_SHIFT;
+const MASK MASK_ZOOM = MASK_NONE;
+const MASK MASK_ORBIT = MASK_CONTROL;
+const MASK MASK_PAN = MASK_CONTROL | MASK_SHIFT;
+const MASK MASK_COPY = MASK_SHIFT;
+
+class LLToolMgr : public LLSingleton<LLToolMgr>
+{
+ LLSINGLETON(LLToolMgr);
+ ~LLToolMgr();
+public:
+
+ // Must be called after gSavedSettings set up.
+ void initTools();
+
+ LLTool* getCurrentTool(); // returns active tool, taking into account keyboard state
+ LLTool* getBaseTool(); // returns active tool when overrides are deactivated
+
+ bool inEdit();
+ bool canEdit();
+ bool buildEnabledOrActive();
+ bool canAccessMarketplace();
+ void toggleBuildMode(const LLSD& sdname);
+ void toggleMarketplace(const LLSD& sdname);
+
+ /* Determines if we are in Build mode or not. */
+ bool inBuildMode();
+
+ void setTransientTool(LLTool* tool);
+ void clearTransientTool();
+ bool usingTransientTool();
+
+ void setCurrentToolset(LLToolset* current);
+ LLToolset* getCurrentToolset();
+
+ void onAppFocusGained();
+ void onAppFocusLost();
+
+ void clearSavedTool();
+
+protected:
+ friend class LLToolset; // to allow access to setCurrentTool();
+ void setCurrentTool(LLTool* tool);
+ void updateToolStatus();
+
+protected:
+ LLTool* mBaseTool;
+ LLTool* mSavedTool; // The current tool at the time application focus was lost.
+ LLTool* mTransientTool;
+ LLTool* mOverrideTool; // Tool triggered by keyboard override
+ LLTool* mSelectedTool; // last known active tool
+ LLToolset* mCurrentToolset;
+};
+
+// Sets of tools for various modes
+class LLToolset
+{
+public:
+ LLToolset() : mSelectedTool(NULL), mIsShowFloaterTools(true) {}
+
+ LLTool* getSelectedTool() { return mSelectedTool; }
+
+ void addTool(LLTool* tool);
+
+ void selectTool( LLTool* tool );
+ void selectToolByIndex( S32 index );
+ void selectFirstTool();
+ void selectNextTool();
+ void selectPrevTool();
+
+ void handleScrollWheel(S32 clicks);
+
+ bool isToolSelected( S32 index );
+
+ void setShowFloaterTools(bool pShowFloaterTools) {mIsShowFloaterTools = pShowFloaterTools;};
+ bool isShowFloaterTools() const {return mIsShowFloaterTools;};
+
+protected:
+ LLTool* mSelectedTool;
+ typedef std::vector<LLTool*> tool_list_t;
+ tool_list_t mToolList;
+ bool mIsShowFloaterTools;
+};
+
+// Globals
+
+extern LLToolset* gBasicToolset;
+extern LLToolset *gCameraToolset;
+//extern LLToolset *gLandToolset;
+extern LLToolset* gMouselookToolset;
+extern LLToolset* gFaceEditToolset;
+
+extern LLTool* gToolNull;
+
+#endif
|