aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llui/llpanel.h
diff options
context:
space:
mode:
authorJacek Antonelli2009-04-30 13:04:20 -0500
committerJacek Antonelli2009-04-30 13:07:16 -0500
commitca8149ca6d157eb4b5fc8ba0e5ba3a6e56f72e7e (patch)
tree8348301d0ac44a524f1819b777686bf086907d76 /linden/indra/llui/llpanel.h
parentSecond Life viewer sources 1.22.11 (diff)
downloadmeta-impy-ca8149ca6d157eb4b5fc8ba0e5ba3a6e56f72e7e.zip
meta-impy-ca8149ca6d157eb4b5fc8ba0e5ba3a6e56f72e7e.tar.gz
meta-impy-ca8149ca6d157eb4b5fc8ba0e5ba3a6e56f72e7e.tar.bz2
meta-impy-ca8149ca6d157eb4b5fc8ba0e5ba3a6e56f72e7e.tar.xz
Second Life viewer sources 1.23.0-RC
Diffstat (limited to '')
-rw-r--r--linden/indra/llui/llpanel.h33
1 files changed, 14 insertions, 19 deletions
diff --git a/linden/indra/llui/llpanel.h b/linden/indra/llui/llpanel.h
index 46022e5..756d02e 100644
--- a/linden/indra/llui/llpanel.h
+++ b/linden/indra/llui/llpanel.h
@@ -18,7 +18,8 @@
18 * There are special exceptions to the terms and conditions of the GPL as 18 * There are special exceptions to the terms and conditions of the GPL as
19 * it is applied to this Source Code. View the full text of the exception 19 * it is applied to this Source Code. View the full text of the exception
20 * in the file doc/FLOSS-exception.txt in this software distribution, or 20 * in the file doc/FLOSS-exception.txt in this software distribution, or
21 * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception 21 * online at
22 * http://secondlifegrid.net/programs/open_source/licensing/flossexception
22 * 23 *
23 * By copying, modifying or distributing this software, you acknowledge 24 * By copying, modifying or distributing this software, you acknowledge
24 * that you have read and understood your obligations described above, 25 * that you have read and understood your obligations described above,
@@ -49,23 +50,13 @@ const BOOL BORDER_YES = TRUE;
49const BOOL BORDER_NO = FALSE; 50const BOOL BORDER_NO = FALSE;
50 51
51 52
52struct LLAlertInfo
53{
54 std::string mLabel;
55 LLStringUtil::format_map_t mArgs;
56
57 LLAlertInfo(std::string label, LLStringUtil::format_map_t args) : mLabel(label), mArgs(args) { }
58 LLAlertInfo(){}
59};
60
61
62/* 53/*
63 * General purpose concrete view base class. 54 * General purpose concrete view base class.
64 * Transparent or opaque, 55 * Transparent or opaque,
65 * With or without border, 56 * With or without border,
66 * Can contain LLUICtrls. 57 * Can contain LLUICtrls.
67 */ 58 */
68class LLPanel : public LLUICtrl 59class LLPanel : public LLUICtrl, public boost::signals::trackable
69{ 60{
70public: 61public:
71 62
@@ -205,7 +196,7 @@ public:
205 // LLTabContainer 196 // LLTabContainer
206 void childShowTab(const std::string& id, const std::string& tabname, bool visible = true); 197 void childShowTab(const std::string& id, const std::string& tabname, bool visible = true);
207 LLPanel *childGetVisibleTab(const std::string& id) const; 198 LLPanel *childGetVisibleTab(const std::string& id) const;
208 void childSetTabChangeCallback(const std::string& id, const std::string& tabname, void (*on_tab_clicked)(void*, bool), void *userdata); 199 void childSetTabChangeCallback(const std::string& id, const std::string& tabname, void (*on_tab_clicked)(void*, bool), void *userdata, void (*on_precommit)(void*,bool) = NULL);
209 200
210 // LLTextBox 201 // LLTextBox
211 void childSetWrappedText(const std::string& id, const std::string& text, bool visible = true); 202 void childSetWrappedText(const std::string& id, const std::string& text, bool visible = true);
@@ -220,15 +211,13 @@ public:
220 211
221 // LLButton 212 // LLButton
222 void childSetAction(const std::string& id, void(*function)(void*), void* value); 213 void childSetAction(const std::string& id, void(*function)(void*), void* value);
223 void childSetActionTextbox(const std::string& id, void(*function)(void*)); 214 void childSetActionTextbox(const std::string& id, void(*function)(void*), void* value = NULL);
224 void childSetControlName(const std::string& id, const std::string& control_name); 215 void childSetControlName(const std::string& id, const std::string& control_name);
225 216
226 // Error reporting 217 // Error reporting
227 void childNotFound(const std::string& id) const; 218 void childNotFound(const std::string& id) const;
228 void childDisplayNotFound(); 219 void childDisplayNotFound();
229 220
230 static void alertXml(const std::string& label, LLStringUtil::format_map_t args = LLStringUtil::format_map_t());
231 static BOOL nextAlert(LLAlertInfo &alert);
232 static LLView* fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory); 221 static LLView* fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory);
233 222
234protected: 223protected:
@@ -266,8 +255,6 @@ private:
266 255
267 std::string mRequirementsError; 256 std::string mRequirementsError;
268 257
269 typedef std::queue<LLAlertInfo> alert_queue_t;
270 static alert_queue_t sAlertQueue;
271}; // end class LLPanel 258}; // end class LLPanel
272 259
273 260
@@ -292,8 +279,16 @@ public:
292 S32 getMinWidth() const { return mMinWidth; } 279 S32 getMinWidth() const { return mMinWidth; }
293 S32 getMinHeight() const { return mMinHeight; } 280 S32 getMinHeight() const { return mMinHeight; }
294 281
295 void addPanel(LLPanel* panel, S32 min_width, S32 min_height, BOOL auto_resize, BOOL user_resize, S32 index = S32_MAX); 282 typedef enum e_animate
283 {
284 NO_ANIMATE,
285 ANIMATE
286 } EAnimate;
287
288 void addPanel(LLPanel* panel, S32 min_width, S32 min_height, BOOL auto_resize, BOOL user_resize, EAnimate animate = NO_ANIMATE, S32 index = S32_MAX);
296 void removePanel(LLPanel* panel); 289 void removePanel(LLPanel* panel);
290 void collapsePanel(LLPanel* panel, BOOL collapsed = TRUE);
291 S32 getNumPanels() { return mPanels.size(); }
297 292
298private: 293private:
299 struct LLEmbeddedPanel; 294 struct LLEmbeddedPanel;