summaryrefslogtreecommitdiff
path: root/indra/newview/llscriptfloater.h
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2024-05-15 12:18:31 -0400
committerNat Goodspeed <nat@lindenlab.com>2024-05-15 12:18:31 -0400
commit7ccf02515ad3f9e3bf795d651fe4b3c0d773f353 (patch)
treec4adc897c07f652e617e91fbf41c12b823acc808 /indra/newview/llscriptfloater.h
parent1abf5f18d6afc7ae9e1b1562b92e5c1ce33b722f (diff)
parente7eced3c87310b15ac20cc3cd470d67686104a14 (diff)
Merge commit 'e7eced3' into lua-timers for whitespace fixes.
Diffstat (limited to 'indra/newview/llscriptfloater.h')
-rw-r--r--indra/newview/llscriptfloater.h258
1 files changed, 129 insertions, 129 deletions
diff --git a/indra/newview/llscriptfloater.h b/indra/newview/llscriptfloater.h
index 3695b8a3e1..cf413af2cb 100644
--- a/indra/newview/llscriptfloater.h
+++ b/indra/newview/llscriptfloater.h
@@ -1,25 +1,25 @@
-/**
+/**
* @file llscriptfloater.h
* @brief LLScriptFloater class definition
*
* $LicenseInfo:firstyear=2009&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$
*/
@@ -38,193 +38,193 @@ class LLToastPanel;
*/
class LLScriptFloaterManager : public LLSingleton<LLScriptFloaterManager>
{
- // *TODO
- // LLScriptFloaterManager and LLScriptFloater will need some refactoring after we
- // know how script notifications should look like.
- LLSINGLETON(LLScriptFloaterManager);
+ // *TODO
+ // LLScriptFloaterManager and LLScriptFloater will need some refactoring after we
+ // know how script notifications should look like.
+ LLSINGLETON(LLScriptFloaterManager);
public:
- typedef enum e_object_type
- {
- OBJ_SCRIPT,
- OBJ_GIVE_INVENTORY,
- OBJ_LOAD_URL,
+ typedef enum e_object_type
+ {
+ OBJ_SCRIPT,
+ OBJ_GIVE_INVENTORY,
+ OBJ_LOAD_URL,
- OBJ_UNKNOWN
- }EObjectType;
+ OBJ_UNKNOWN
+ }EObjectType;
- typedef enum e_limitation_type
- {
- SCRIPT_PER_OBJECT = 0,
- SCRIPT_PER_CHANNEL = 1,
- SCRIPT_ATTACHMENT_PER_CHANNEL,
- SCRIPT_HUD_PER_CHANNEL,
- SCRIPT_HUD_UNCONSTRAINED
- }ELimitationType;
+ typedef enum e_limitation_type
+ {
+ SCRIPT_PER_OBJECT = 0,
+ SCRIPT_PER_CHANNEL = 1,
+ SCRIPT_ATTACHMENT_PER_CHANNEL,
+ SCRIPT_HUD_PER_CHANNEL,
+ SCRIPT_HUD_UNCONSTRAINED
+ }ELimitationType;
- /**
- * Handles new notifications.
- * Saves notification and object ids, removes old notification if needed, creates script chiclet
- * Note that one object can spawn one script floater.
- */
- void onAddNotification(const LLUUID& notification_id);
+ /**
+ * Handles new notifications.
+ * Saves notification and object ids, removes old notification if needed, creates script chiclet
+ * Note that one object can spawn one script floater.
+ */
+ void onAddNotification(const LLUUID& notification_id);
- /**
- * Removes notification.
- */
- void removeNotification(const LLUUID& notification_id);
+ /**
+ * Removes notification.
+ */
+ void removeNotification(const LLUUID& notification_id);
- /**
- * Handles notification removal.
- * Removes script notification toast, removes script chiclet, closes script floater
- */
- void onRemoveNotification(const LLUUID& notification_id);
+ /**
+ * Handles notification removal.
+ * Removes script notification toast, removes script chiclet, closes script floater
+ */
+ void onRemoveNotification(const LLUUID& notification_id);
- /**
- * Toggles script floater.
- * Removes "new message" icon from chiclet and removes notification toast.
- */
- void toggleScriptFloater(const LLUUID& object_id, bool set_new_message = false);
+ /**
+ * Toggles script floater.
+ * Removes "new message" icon from chiclet and removes notification toast.
+ */
+ void toggleScriptFloater(const LLUUID& object_id, bool set_new_message = false);
- LLUUID findObjectId(const LLUUID& notification_id);
+ LLUUID findObjectId(const LLUUID& notification_id);
- LLUUID findNotificationId(const LLUUID& object_id);
+ LLUUID findNotificationId(const LLUUID& object_id);
- static EObjectType getObjectType(const LLUUID& notification_id);
+ static EObjectType getObjectType(const LLUUID& notification_id);
- static std::string getObjectName(const LLUUID& notification_id);
+ static std::string getObjectName(const LLUUID& notification_id);
- typedef boost::signals2::signal<void(const LLSD&)> object_signal_t;
+ typedef boost::signals2::signal<void(const LLSD&)> object_signal_t;
- boost::signals2::connection addNewObjectCallback(const object_signal_t::slot_type& cb) { return mNewObjectSignal.connect(cb); }
- boost::signals2::connection addToggleObjectFloaterCallback(const object_signal_t::slot_type& cb) { return mToggleFloaterSignal.connect(cb); }
+ boost::signals2::connection addNewObjectCallback(const object_signal_t::slot_type& cb) { return mNewObjectSignal.connect(cb); }
+ boost::signals2::connection addToggleObjectFloaterCallback(const object_signal_t::slot_type& cb) { return mToggleFloaterSignal.connect(cb); }
- struct FloaterPositionInfo
- {
- LLRect mRect;
- bool mDockState;
- };
+ struct FloaterPositionInfo
+ {
+ LLRect mRect;
+ bool mDockState;
+ };
- void saveFloaterPosition(const LLUUID& object_id, const FloaterPositionInfo& fpi);
+ void saveFloaterPosition(const LLUUID& object_id, const FloaterPositionInfo& fpi);
- bool getFloaterPosition(const LLUUID& object_id, FloaterPositionInfo& fpi);
+ bool getFloaterPosition(const LLUUID& object_id, FloaterPositionInfo& fpi);
- void setFloaterVisible(const LLUUID& notification_id, bool visible);
+ void setFloaterVisible(const LLUUID& notification_id, bool visible);
protected:
- /**
- * Removes all script-dialog notifications
- */
- static void clearScriptNotifications();
+ /**
+ * Removes all script-dialog notifications
+ */
+ static void clearScriptNotifications();
- typedef std::map<std::string, EObjectType> object_type_map;
+ typedef std::map<std::string, EObjectType> object_type_map;
- static object_type_map initObjectTypeMap();
+ static object_type_map initObjectTypeMap();
- // <notification_id, object_id>
- typedef std::map<LLUUID, LLUUID> script_notification_map_t;
+ // <notification_id, object_id>
+ typedef std::map<LLUUID, LLUUID> script_notification_map_t;
- script_notification_map_t::const_iterator findUsingObjectId(const LLUUID& object_id);
- script_notification_map_t::const_iterator findUsingObjectIdAndChannel(const LLUUID& object_id, S32 im_channel);
+ script_notification_map_t::const_iterator findUsingObjectId(const LLUUID& object_id);
+ script_notification_map_t::const_iterator findUsingObjectIdAndChannel(const LLUUID& object_id, S32 im_channel);
private:
- script_notification_map_t mNotifications;
+ script_notification_map_t mNotifications;
- object_signal_t mNewObjectSignal;
- object_signal_t mToggleFloaterSignal;
+ object_signal_t mNewObjectSignal;
+ object_signal_t mToggleFloaterSignal;
- // <object_id, floater position>
- typedef std::map<LLUUID, FloaterPositionInfo> floater_position_map_t;
+ // <object_id, floater position>
+ typedef std::map<LLUUID, FloaterPositionInfo> floater_position_map_t;
- floater_position_map_t mFloaterPositions;
- boost::signals2::connection mDialogLimitationsSlot;
+ floater_position_map_t mFloaterPositions;
+ boost::signals2::connection mDialogLimitationsSlot;
};
/**
* Floater script forms.
- * LLScriptFloater will create script form based on notification data and
+ * LLScriptFloater will create script form based on notification data and
* will auto fit the form.
*/
class LLScriptFloater : public LLDockableFloater
{
public:
- /**
- * key - UUID of scripted Object
- */
- LLScriptFloater(const LLSD& key);
+ /**
+ * key - UUID of scripted Object
+ */
+ LLScriptFloater(const LLSD& key);
- virtual ~LLScriptFloater(){};
+ virtual ~LLScriptFloater(){};
- /**
- * Toggle existing floater or create and show a new one.
- */
- static bool toggle(const LLUUID& object_id);
+ /**
+ * Toggle existing floater or create and show a new one.
+ */
+ static bool toggle(const LLUUID& object_id);
- /**
- * Creates and shows floater
- */
- static LLScriptFloater* show(const LLUUID& object_id);
+ /**
+ * Creates and shows floater
+ */
+ static LLScriptFloater* show(const LLUUID& object_id);
- const LLUUID& getNotificationId() { return mNotificationId; }
+ const LLUUID& getNotificationId() { return mNotificationId; }
- void setNotificationId(const LLUUID& id);
+ void setNotificationId(const LLUUID& id);
- /**
- * Close notification if script floater is closed.
- */
- /*virtual*/ void onClose(bool app_quitting);
+ /**
+ * Close notification if script floater is closed.
+ */
+ /*virtual*/ void onClose(bool app_quitting);
- /**
- * Hide all notification toasts when we show dockable floater
- */
- /*virtual*/ void setDocked(bool docked, bool pop_on_undock = true);
+ /**
+ * Hide all notification toasts when we show dockable floater
+ */
+ /*virtual*/ void setDocked(bool docked, bool pop_on_undock = true);
- /**
- * Hide all notification toasts when we show dockable floater
- */
- /*virtual*/ void setVisible(BOOL visible);
+ /**
+ * Hide all notification toasts when we show dockable floater
+ */
+ /*virtual*/ void setVisible(BOOL visible);
- bool getSavePosition() { return mSaveFloaterPosition; }
+ bool getSavePosition() { return mSaveFloaterPosition; }
- void setSavePosition(bool save) { mSaveFloaterPosition = save; }
+ void setSavePosition(bool save) { mSaveFloaterPosition = save; }
- void savePosition();
+ void savePosition();
- void restorePosition();
+ void restorePosition();
protected:
- /**
- * Creates script form, will delete old form if floater is shown for same object.
- */
- void createForm(const LLUUID& object_id);
+ /**
+ * Creates script form, will delete old form if floater is shown for same object.
+ */
+ void createForm(const LLUUID& object_id);
+
+ /**
+ * Hide all notification toasts.
+ */
+ static void hideToastsIfNeeded();
- /**
- * Hide all notification toasts.
- */
- static void hideToastsIfNeeded();
+ /**
+ * Removes chiclets new messages icon
+ */
+ void onMouseDown();
- /**
- * Removes chiclets new messages icon
- */
- void onMouseDown();
+ /*virtual*/ void onFocusLost();
- /*virtual*/ void onFocusLost();
-
- /*virtual*/ void onFocusReceived();
+ /*virtual*/ void onFocusReceived();
- void dockToChiclet(bool dock);
+ void dockToChiclet(bool dock);
private:
- bool isScriptTextbox(LLNotificationPtr notification);
+ bool isScriptTextbox(LLNotificationPtr notification);
- LLToastPanel* mScriptForm;
- LLUUID mNotificationId;
- LLUUID mObjectId;
- bool mSaveFloaterPosition;
+ LLToastPanel* mScriptForm;
+ LLUUID mNotificationId;
+ LLUUID mObjectId;
+ bool mSaveFloaterPosition;
};
#endif //LL_SCRIPTFLOATER_H