aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llui/llview.h
diff options
context:
space:
mode:
authorJacek Antonelli2008-09-06 18:24:57 -0500
committerJacek Antonelli2008-09-06 18:25:07 -0500
commit798d367d54a6c6379ad355bd8345fa40e31e7fe9 (patch)
tree1921f1708cd0240648c97bc02df2c2ab5f2fc41e /linden/indra/llui/llview.h
parentSecond Life viewer sources 1.20.15 (diff)
downloadmeta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.zip
meta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.tar.gz
meta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.tar.bz2
meta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.tar.xz
Second Life viewer sources 1.21.0-RC
Diffstat (limited to 'linden/indra/llui/llview.h')
-rw-r--r--linden/indra/llui/llview.h103
1 files changed, 50 insertions, 53 deletions
diff --git a/linden/indra/llui/llview.h b/linden/indra/llui/llview.h
index 9a04ed7..b65edd7 100644
--- a/linden/indra/llui/llview.h
+++ b/linden/indra/llui/llview.h
@@ -89,7 +89,7 @@ virtual void setVisible(BOOL visible);
89 LLFloater, LLAlertDialog, LLMenuItemGL, LLModalDialog 89 LLFloater, LLAlertDialog, LLMenuItemGL, LLModalDialog
90virtual void setEnabled(BOOL enabled) { mEnabled = enabled; } 90virtual void setEnabled(BOOL enabled) { mEnabled = enabled; }
91 LLCheckBoxCtrl, LLComboBox, LLLineEditor, LLMenuGL, LLRadioGroup, etc 91 LLCheckBoxCtrl, LLComboBox, LLLineEditor, LLMenuGL, LLRadioGroup, etc
92virtual BOOL setLabelArg( const LLString& key, const LLStringExplicit& text ) { return FALSE; } 92virtual BOOL setLabelArg( const std::string& key, const LLStringExplicit& text ) { return FALSE; }
93 LLUICtrl, LLButton, LLCheckBoxCtrl, LLLineEditor, LLMenuGL, LLSliderCtrl 93 LLUICtrl, LLButton, LLCheckBoxCtrl, LLLineEditor, LLMenuGL, LLSliderCtrl
94virtual void onVisibilityChange ( BOOL curVisibilityIn ); 94virtual void onVisibilityChange ( BOOL curVisibilityIn );
95 LLMenuGL 95 LLMenuGL
@@ -114,7 +114,7 @@ virtual BOOL handleKey(KEY key, MASK mask, BOOL called_from_parent);
114 * 114 *
115virtual BOOL handleUnicodeChar(llwchar uni_char, BOOL called_from_parent); 115virtual BOOL handleUnicodeChar(llwchar uni_char, BOOL called_from_parent);
116 * 116 *
117virtual BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,EDragAndDropType cargo_type,void* cargo_data,EAcceptance* accept,LLString& tooltip_msg); 117virtual BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,EDragAndDropType cargo_type,void* cargo_data,EAcceptance* accept,std::string& tooltip_msg);
118 * 118 *
119virtual void draw(); 119virtual void draw();
120 * 120 *
@@ -128,11 +128,11 @@ virtual void onFocusLost() {}
128 LLUICtrl, LLScrollListCtrl, LLMenuGL, LLLineEditor, LLComboBox 128 LLUICtrl, LLScrollListCtrl, LLMenuGL, LLLineEditor, LLComboBox
129virtual void onFocusReceived() {} 129virtual void onFocusReceived() {}
130 LLUICtrl, LLTextEditor, LLScrollListVtrl, LLMenuGL, LLLineEditor 130 LLUICtrl, LLTextEditor, LLScrollListVtrl, LLMenuGL, LLLineEditor
131virtual LLView* getChildView(const LLString& name, BOOL recurse = TRUE, BOOL create_if_missing = TRUE) const; 131virtual LLView* getChildView(const std::string& name, BOOL recurse = TRUE, BOOL create_if_missing = TRUE) const;
132 LLTabContainer, LLPanel, LLMenuGL 132 LLTabContainer, LLPanel, LLMenuGL
133virtual void setControlName(const LLString& control, LLView *context); 133virtual void setControlName(const std::string& control, LLView *context);
134 LLSliderCtrl, LLCheckBoxCtrl 134 LLSliderCtrl, LLCheckBoxCtrl
135virtual LLString getControlName() const { return mControlName; } 135virtual std::string getControlName() const { return mControlName; }
136 LLSliderCtrl, LLCheckBoxCtrl 136 LLSliderCtrl, LLCheckBoxCtrl
137virtual bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata); 137virtual bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata);
138 LLMenuItem 138 LLMenuItem
@@ -154,11 +154,11 @@ class LLWidgetClassRegistry : public LLSingleton<LLWidgetClassRegistry>
154 friend class LLSingleton<LLWidgetClassRegistry>; 154 friend class LLSingleton<LLWidgetClassRegistry>;
155public: 155public:
156 typedef LLView* (*factory_func_t)(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory); 156 typedef LLView* (*factory_func_t)(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory);
157 typedef std::map<LLString, factory_func_t> factory_map_t; 157 typedef std::map<std::string, factory_func_t> factory_map_t;
158 158
159 void registerCtrl(const LLString& xml_tag, factory_func_t function); 159 void registerCtrl(const std::string& xml_tag, factory_func_t function);
160 BOOL isTagRegistered(const LLString& xml_tag); 160 BOOL isTagRegistered(const std::string& xml_tag);
161 factory_func_t getCreatorFunc(const LLString& xml_tag); 161 factory_func_t getCreatorFunc(const std::string& xml_tag);
162 162
163 // get (first) xml tag for a given class 163 // get (first) xml tag for a given class
164 template <class T> std::string getTag() 164 template <class T> std::string getTag()
@@ -179,7 +179,7 @@ private:
179 LLWidgetClassRegistry(); 179 LLWidgetClassRegistry();
180 virtual ~LLWidgetClassRegistry() {}; 180 virtual ~LLWidgetClassRegistry() {};
181 181
182 typedef std::set<LLString> ctrl_name_set_t; 182 typedef std::set<std::string> ctrl_name_set_t;
183 ctrl_name_set_t mUICtrlNames; 183 ctrl_name_set_t mUICtrlNames;
184 184
185 // map of xml tags to widget creator functions 185 // map of xml tags to widget creator functions
@@ -252,8 +252,8 @@ public:
252 typedef child_tab_order_t::const_reverse_iterator child_tab_order_const_reverse_iter_t; 252 typedef child_tab_order_t::const_reverse_iterator child_tab_order_const_reverse_iter_t;
253 253
254 LLView(); 254 LLView();
255 LLView(const LLString& name, BOOL mouse_opaque); 255 LLView(const std::string& name, BOOL mouse_opaque);
256 LLView(const LLString& name, const LLRect& rect, BOOL mouse_opaque, U32 follows=FOLLOWS_NONE); 256 LLView(const std::string& name, const LLRect& rect, BOOL mouse_opaque, U32 follows=FOLLOWS_NONE);
257 257
258 virtual ~LLView(); 258 virtual ~LLView();
259 259
@@ -274,7 +274,7 @@ public:
274 BOOL getMouseOpaque() const { return mMouseOpaque; } 274 BOOL getMouseOpaque() const { return mMouseOpaque; }
275 void setToolTip( const LLStringExplicit& msg ); 275 void setToolTip( const LLStringExplicit& msg );
276 BOOL setToolTipArg( const LLStringExplicit& key, const LLStringExplicit& text ); 276 BOOL setToolTipArg( const LLStringExplicit& key, const LLStringExplicit& text );
277 void setToolTipArgs( const LLString::format_map_t& args ); 277 void setToolTipArgs( const LLStringUtil::format_map_t& args );
278 278
279 virtual void setRect(const LLRect &rect); 279 virtual void setRect(const LLRect &rect);
280 void setFollows(U32 flags) { mReshapeFlags = flags; } 280 void setFollows(U32 flags) { mReshapeFlags = flags; }
@@ -288,11 +288,11 @@ public:
288 void setFollowsAll() { mReshapeFlags |= FOLLOWS_ALL; } 288 void setFollowsAll() { mReshapeFlags |= FOLLOWS_ALL; }
289 289
290 void setSoundFlags(U8 flags) { mSoundFlags = flags; } 290 void setSoundFlags(U8 flags) { mSoundFlags = flags; }
291 void setName(LLString name) { mName = name; } 291 void setName(std::string name) { mName = name; }
292 void setUseBoundingRect( BOOL use_bounding_rect ); 292 void setUseBoundingRect( BOOL use_bounding_rect );
293 BOOL getUseBoundingRect(); 293 BOOL getUseBoundingRect();
294 294
295 const LLString& getToolTip() const { return mToolTipMsg.getString(); } 295 const std::string& getToolTip() const { return mToolTipMsg.getString(); }
296 296
297 void sendChildToFront(LLView* child); 297 void sendChildToFront(LLView* child);
298 void sendChildToBack(LLView* child); 298 void sendChildToBack(LLView* child);
@@ -340,7 +340,7 @@ public:
340 BOOL getEnabled() const { return mEnabled; } 340 BOOL getEnabled() const { return mEnabled; }
341 U8 getSoundFlags() const { return mSoundFlags; } 341 U8 getSoundFlags() const { return mSoundFlags; }
342 342
343 virtual BOOL setLabelArg( const LLString& key, const LLStringExplicit& text ); 343 virtual BOOL setLabelArg( const std::string& key, const LLStringExplicit& text );
344 344
345 virtual void onVisibilityChange ( BOOL curVisibilityIn ); 345 virtual void onVisibilityChange ( BOOL curVisibilityIn );
346 346
@@ -374,8 +374,8 @@ public:
374 S32 getChildCount() const { return (S32)mChildList.size(); } 374 S32 getChildCount() const { return (S32)mChildList.size(); }
375 template<class _Pr3> void sortChildren(_Pr3 _Pred) { mChildList.sort(_Pred); } 375 template<class _Pr3> void sortChildren(_Pr3 _Pred) { mChildList.sort(_Pred); }
376 BOOL hasAncestor(const LLView* parentp) const; 376 BOOL hasAncestor(const LLView* parentp) const;
377 BOOL hasChild(const LLString& childname, BOOL recurse = FALSE) const; 377 BOOL hasChild(const std::string& childname, BOOL recurse = FALSE) const;
378 BOOL childHasKeyboardFocus( const LLString& childname ) const; 378 BOOL childHasKeyboardFocus( const std::string& childname ) const;
379 379
380 380
381 // 381 //
@@ -403,9 +403,9 @@ public:
403 EDragAndDropType cargo_type, 403 EDragAndDropType cargo_type,
404 void* cargo_data, 404 void* cargo_data,
405 EAcceptance* accept, 405 EAcceptance* accept,
406 LLString& tooltip_msg); 406 std::string& tooltip_msg);
407 407
408 LLString getShowNamesToolTip(); 408 std::string getShowNamesToolTip();
409 409
410 virtual void draw(); 410 virtual void draw();
411 411
@@ -439,19 +439,19 @@ public:
439 void localRectToScreen( const LLRect& local, LLRect* screen ) const; 439 void localRectToScreen( const LLRect& local, LLRect* screen ) const;
440 440
441 // Listener dispatching functions (Dispatcher deletes pointers to listeners on deregistration or destruction) 441 // Listener dispatching functions (Dispatcher deletes pointers to listeners on deregistration or destruction)
442 LLSimpleListener* getListenerByName(const LLString &callback_name); 442 LLSimpleListener* getListenerByName(const std::string& callback_name);
443 void registerEventListener(LLString name, LLSimpleListener* function); 443 void registerEventListener(std::string name, LLSimpleListener* function);
444 void deregisterEventListener(LLString name); 444 void deregisterEventListener(std::string name);
445 LLString findEventListener(LLSimpleListener *listener) const; 445 std::string findEventListener(LLSimpleListener *listener) const;
446 void addListenerToControl(LLEventDispatcher *observer, const LLString& name, LLSD filter, LLSD userdata); 446 void addListenerToControl(LLEventDispatcher *observer, const std::string& name, LLSD filter, LLSD userdata);
447 447
448 void addBoolControl(LLString name, bool initial_value); 448 void addBoolControl(const std::string& name, bool initial_value);
449 LLControlVariable *getControl(LLString name); 449 LLControlVariable *getControl(const std::string& name);
450 LLControlVariable *findControl(LLString name); 450 LLControlVariable *findControl(const std::string& name);
451 451
452 bool setControlValue(const LLSD& value); 452 bool setControlValue(const LLSD& value);
453 virtual void setControlName(const LLString& control, LLView *context); 453 virtual void setControlName(const std::string& control, LLView *context);
454 virtual LLString getControlName() const { return mControlName; } 454 virtual std::string getControlName() const { return mControlName; }
455// virtual bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata); 455// virtual bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata);
456 virtual void setValue(const LLSD& value); 456 virtual void setValue(const LLSD& value);
457 virtual LLSD getValue() const; 457 virtual LLSD getValue() const;
@@ -467,15 +467,15 @@ public:
467 /*virtual*/ BOOL handleScrollWheel(S32 x, S32 y, S32 clicks); 467 /*virtual*/ BOOL handleScrollWheel(S32 x, S32 y, S32 clicks);
468 /*virtual*/ BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); 468 /*virtual*/ BOOL handleRightMouseDown(S32 x, S32 y, MASK mask);
469 /*virtual*/ BOOL handleRightMouseUp(S32 x, S32 y, MASK mask); 469 /*virtual*/ BOOL handleRightMouseUp(S32 x, S32 y, MASK mask);
470 /*virtual*/ BOOL handleToolTip(S32 x, S32 y, LLString& msg, LLRect* sticky_rect); // Display mToolTipMsg if no child handles it. 470 /*virtual*/ BOOL handleToolTip(S32 x, S32 y, std::string& msg, LLRect* sticky_rect); // Display mToolTipMsg if no child handles it.
471 /*virtual*/ const LLString& getName() const; 471 /*virtual*/ const std::string& getName() const;
472 /*virtual*/ void onMouseCaptureLost(); 472 /*virtual*/ void onMouseCaptureLost();
473 /*virtual*/ BOOL hasMouseCapture(); 473 /*virtual*/ BOOL hasMouseCapture();
474 /*virtual*/ BOOL isView(); // Hack to support LLFocusMgr 474 /*virtual*/ BOOL isView(); // Hack to support LLFocusMgr
475 /*virtual*/ void screenPointToLocal(S32 screen_x, S32 screen_y, S32* local_x, S32* local_y) const; 475 /*virtual*/ void screenPointToLocal(S32 screen_x, S32 screen_y, S32* local_x, S32* local_y) const;
476 /*virtual*/ void localPointToScreen(S32 local_x, S32 local_y, S32* screen_x, S32* screen_y) const; 476 /*virtual*/ void localPointToScreen(S32 local_x, S32 local_y, S32* screen_x, S32* screen_y) const;
477 477
478 template <class T> T* getChild(const LLString& name, BOOL recurse = TRUE, BOOL create_if_missing = TRUE) const 478 template <class T> T* getChild(const std::string& name, BOOL recurse = TRUE, BOOL create_if_missing = TRUE) const
479 { 479 {
480 LLView* child = getChildView(name, recurse, FALSE); 480 LLView* child = getChildView(name, recurse, FALSE);
481 T* result = dynamic_cast<T*>(child); 481 T* result = dynamic_cast<T*>(child);
@@ -495,22 +495,22 @@ public:
495 return result; 495 return result;
496 } 496 }
497 497
498 virtual LLView* getChildView(const LLString& name, BOOL recurse = TRUE, BOOL create_if_missing = TRUE) const; 498 virtual LLView* getChildView(const std::string& name, BOOL recurse = TRUE, BOOL create_if_missing = TRUE) const;
499 499
500 template <class T> T* createDummyWidget(const LLString& name) const 500 template <class T> T* createDummyWidget(const std::string& name) const
501 { 501 {
502 T* widget = getDummyWidget<T>(name); 502 T* widget = getDummyWidget<T>(name);
503 if (!widget) 503 if (!widget)
504 { 504 {
505 // get xml tag name corresponding to requested widget type (e.g. "button") 505 // get xml tag name corresponding to requested widget type (e.g. "button")
506 LLString xml_tag = LLWidgetClassRegistry::getInstance()->getTag<T>(); 506 std::string xml_tag = LLWidgetClassRegistry::getInstance()->getTag<T>();
507 if (xml_tag.empty()) 507 if (xml_tag.empty())
508 { 508 {
509 llwarns << "No xml tag registered for this class " << llendl; 509 llwarns << "No xml tag registered for this class " << llendl;
510 return NULL; 510 return NULL;
511 } 511 }
512 // create dummy xml node (<button name="foo"/>) 512 // create dummy xml node (<button name="foo"/>)
513 LLXMLNodePtr new_node_ptr = new LLXMLNode(xml_tag, FALSE); 513 LLXMLNodePtr new_node_ptr = new LLXMLNode(xml_tag.c_str(), FALSE);
514 new_node_ptr->createChild("name", TRUE)->setStringValue(name); 514 new_node_ptr->createChild("name", TRUE)->setStringValue(name);
515 515
516 widget = dynamic_cast<T*>(createWidget(new_node_ptr)); 516 widget = dynamic_cast<T*>(createWidget(new_node_ptr));
@@ -518,7 +518,7 @@ public:
518 { 518 {
519 // need non-const to update private dummy widget cache 519 // need non-const to update private dummy widget cache
520 llwarns << "Making dummy " << xml_tag << " named " << name << " in " << getName() << llendl; 520 llwarns << "Making dummy " << xml_tag << " named " << name << " in " << getName() << llendl;
521 const_cast<LLView*>(this)->mDummyWidgets.insert(std::make_pair(name, widget)); 521 mDummyWidgets.insert(std::make_pair(name, widget));
522 } 522 }
523 else 523 else
524 { 524 {
@@ -530,7 +530,7 @@ public:
530 return widget; 530 return widget;
531 } 531 }
532 532
533 template <class T> T* getDummyWidget(const LLString& name) const 533 template <class T> T* getDummyWidget(const std::string& name) const
534 { 534 {
535 dummy_widget_map_t::const_iterator found_it = mDummyWidgets.find(name); 535 dummy_widget_map_t::const_iterator found_it = mDummyWidgets.find(name);
536 if (found_it == mDummyWidgets.end()) 536 if (found_it == mDummyWidgets.end())
@@ -554,17 +554,14 @@ public:
554 554
555 // Only saves color if different from default setting. 555 // Only saves color if different from default setting.
556 static void addColorXML(LLXMLNodePtr node, const LLColor4& color, 556 static void addColorXML(LLXMLNodePtr node, const LLColor4& color,
557 const LLString& xml_name, const LLString& control_name); 557 const char* xml_name, const char* control_name);
558 static void saveColorToXML(std::ostream& out, const LLColor4& color,
559 const LLString& xml_name, const LLString& control_name,
560 const LLString& indent); // DEPRECATED
561 // Escapes " (quot) ' (apos) & (amp) < (lt) > (gt) 558 // Escapes " (quot) ' (apos) & (amp) < (lt) > (gt)
562 //static LLString escapeXML(const LLString& xml); 559 //static std::string escapeXML(const std::string& xml);
563 static LLWString escapeXML(const LLWString& xml); 560 static LLWString escapeXML(const LLWString& xml);
564 561
565 //same as above, but wraps multiple lines in quotes and prepends 562 //same as above, but wraps multiple lines in quotes and prepends
566 //indent as leading white space on each line 563 //indent as leading white space on each line
567 static LLString escapeXML(const LLString& xml, LLString& indent); 564 static std::string escapeXML(const std::string& xml, std::string& indent);
568 565
569 // focuses the item in the list after the currently-focused item, wrapping if necessary 566 // focuses the item in the list after the currently-focused item, wrapping if necessary
570 static BOOL focusNext(LLView::child_list_t & result); 567 static BOOL focusNext(LLView::child_list_t & result);
@@ -594,7 +591,7 @@ protected:
594 EDragAndDropType type, 591 EDragAndDropType type,
595 void* data, 592 void* data,
596 EAcceptance* accept, 593 EAcceptance* accept,
597 LLString& tooltip_msg); 594 std::string& tooltip_msg);
598 595
599 LLView* childrenHandleHover(S32 x, S32 y, MASK mask); 596 LLView* childrenHandleHover(S32 x, S32 y, MASK mask);
600 LLView* childrenHandleMouseUp(S32 x, S32 y, MASK mask); 597 LLView* childrenHandleMouseUp(S32 x, S32 y, MASK mask);
@@ -606,14 +603,14 @@ protected:
606 603
607 static bool controlListener(const LLSD& newvalue, LLHandle<LLView> handle, std::string type); 604 static bool controlListener(const LLSD& newvalue, LLHandle<LLView> handle, std::string type);
608 605
609 typedef std::map<LLString, LLControlVariable*> control_map_t; 606 typedef std::map<std::string, LLControlVariable*> control_map_t;
610 control_map_t mFloaterControls; 607 control_map_t mFloaterControls;
611 608
612private: 609private:
613 LLView* mParentView; 610 LLView* mParentView;
614 child_list_t mChildList; 611 child_list_t mChildList;
615 612
616 LLString mName; 613 std::string mName;
617 // location in pixels, relative to surrounding structure, bottom,left=0,0 614 // location in pixels, relative to surrounding structure, bottom,left=0,0
618 LLRect mRect; 615 LLRect mRect;
619 LLRect mBoundingRect; 616 LLRect mBoundingRect;
@@ -643,13 +640,13 @@ private:
643 640
644 static LLWindow* sWindow; // All root views must know about their window. 641 static LLWindow* sWindow; // All root views must know about their window.
645 642
646 typedef std::map<LLString, LLPointer<LLSimpleListener> > dispatch_list_t; 643 typedef std::map<std::string, LLPointer<LLSimpleListener> > dispatch_list_t;
647 dispatch_list_t mDispatchList; 644 dispatch_list_t mDispatchList;
648 645
649 LLString mControlName; 646 std::string mControlName;
650 647
651 typedef std::map<LLString, LLView*> dummy_widget_map_t; 648 typedef std::map<std::string, LLView*> dummy_widget_map_t;
652 dummy_widget_map_t mDummyWidgets; 649 mutable dummy_widget_map_t mDummyWidgets;
653 650
654 boost::signals::connection mControlConnection; 651 boost::signals::connection mControlConnection;
655 652
@@ -658,7 +655,7 @@ public:
658 static BOOL sDebugKeys; 655 static BOOL sDebugKeys;
659 static S32 sDepth; 656 static S32 sDepth;
660 static BOOL sDebugMouseHandling; 657 static BOOL sDebugMouseHandling;
661 static LLString sMouseHandlerMessage; 658 static std::string sMouseHandlerMessage;
662 static S32 sSelectID; 659 static S32 sSelectID;
663 static BOOL sEditingUI; 660 static BOOL sEditingUI;
664 static LLView* sEditingUIView; 661 static LLView* sEditingUIView;