aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llui/lltabcontainervertical.h
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:44:46 -0500
committerJacek Antonelli2008-08-15 23:44:46 -0500
commit38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4 (patch)
treeadca584755d22ca041a2dbfc35d4eca01f70b32c /linden/indra/llui/lltabcontainervertical.h
parentREADME.txt (diff)
downloadmeta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.zip
meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.gz
meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.bz2
meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.xz
Second Life viewer sources 1.13.2.12
Diffstat (limited to '')
-rw-r--r--linden/indra/llui/lltabcontainervertical.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/linden/indra/llui/lltabcontainervertical.h b/linden/indra/llui/lltabcontainervertical.h
new file mode 100644
index 0000000..81b2331
--- /dev/null
+++ b/linden/indra/llui/lltabcontainervertical.h
@@ -0,0 +1,93 @@
1/**
2 * @file lltabcontainervertical.h
3 * @brief LLTabContainerVertical base class
4 *
5 * Copyright (c) 2001-2007, Linden Research, Inc.
6 *
7 * The source code in this file ("Source Code") is provided by Linden Lab
8 * to you under the terms of the GNU General Public License, version 2.0
9 * ("GPL"), unless you have obtained a separate licensing agreement
10 * ("Other License"), formally executed by you and Linden Lab. Terms of
11 * the GPL can be found in doc/GPL-license.txt in this distribution, or
12 * online at http://secondlife.com/developers/opensource/gplv2
13 *
14 * There are special exceptions to the terms and conditions of the GPL as
15 * it is applied to this Source Code. View the full text of the exception
16 * in the file doc/FLOSS-exception.txt in this software distribution, or
17 * online at http://secondlife.com/developers/opensource/flossexception
18 *
19 * By copying, modifying or distributing this software, you acknowledge
20 * that you have read and understood your obligations described above,
21 * and agree to abide by those obligations.
22 *
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE.
26 */
27
28// Fear my script-fu!
29
30#ifndef LL_TABCONTAINERVERTICAL_H
31#define LL_TABCONTAINERVERTICAL_H
32
33#include "lltabcontainer.h"
34
35const S32 TABCNTRV_CLOSE_BTN_SIZE = 16;
36const S32 TABCNTRV_HEADER_HEIGHT = LLPANEL_BORDER_WIDTH + TABCNTRV_CLOSE_BTN_SIZE;
37const S32 TABCNTRV_TAB_WIDTH = 100;
38// const S32 TABCNTRV_TAB_HEIGHT = 16; Use BTN_HEIGHT instead, JC.
39const S32 TABCNTRV_ARROW_BTN_SIZE = 16;
40const S32 TABCNTRV_BUTTON_PANEL_OVERLAP = 1; // how many pixels the tab buttons and tab panels overlap.
41const S32 TABCNTRV_PAD = 0;
42
43class LLButton;
44class LLTextBox;
45
46class LLTabContainerVertical : public LLTabContainerCommon
47{
48public:
49 LLTabContainerVertical( const LLString& name, const LLRect& rect,
50 void(*close_callback)(void*), void* callback_userdata,
51 U32 tab_width = TABCNTRV_TAB_WIDTH, BOOL bordered = TRUE);
52
53 LLTabContainerVertical( const LLString& name, const LLString& rect_control,
54 void(*close_callback)(void*), void* callback_userdata,
55 U32 tab_width = TABCNTRV_TAB_WIDTH, BOOL bordered = TRUE);
56
57 /*virtual*/ void initButtons();
58
59 /*virtual*/ ~LLTabContainerVertical();
60
61 virtual LLXMLNodePtr getXML(bool save_children = true) const;
62 /*virtual*/ void draw();
63
64 /*virtual*/ void addTabPanel(LLPanel* child,
65 const LLString& label,
66 BOOL select = FALSE,
67 void (*on_tab_clicked)(void*, bool) = NULL,
68 void* userdata = NULL,
69 S32 indent = 0,
70 BOOL placeholder = FALSE,
71 eInsertionPoint insertion_point = END);
72
73 /*virtual*/ BOOL selectTab(S32 which);
74 /*virtual*/ void removeTabPanel( LLPanel* child );
75
76 /*virtual*/ BOOL handleMouseDown( S32 x, S32 y, MASK mask );
77 /*virtual*/ BOOL handleHover( S32 x, S32 y, MASK mask );
78 /*virtual*/ BOOL handleMouseUp( S32 x, S32 y, MASK mask );
79 /*virtual*/ BOOL handleKeyHere(KEY key, MASK mask, BOOL called_from_parent);
80
81protected:
82 U32 mTabWidth;
83
84 LLButton* mUpArrowBtn;
85 LLButton* mDownArrowBtn;
86
87protected:
88 virtual void updateMaxScrollPos();
89 virtual void commitHoveredButton(S32 x, S32 y);
90};
91
92
93#endif