diff options
| author | Leslie Linden <leslie@lindenlab.com> | 2011-09-21 17:28:27 -0700 | 
|---|---|---|
| committer | Leslie Linden <leslie@lindenlab.com> | 2011-09-21 17:28:27 -0700 | 
| commit | cdedc4ab99444a48dc27d4a8fb48c7af043d377c (patch) | |
| tree | 87182cfca3008075359a89f504775c690395ecba | |
| parent | 412e29ed9d62e975a5290c6008558a739b88065d (diff) | |
| parent | 5ae6bbc848e0146bb4b5ea5dd4a5d26d2c5702ba (diff) | |
Merge with latest
| -rw-r--r-- | indra/llui/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | indra/llui/lltoolbarview.cpp | 74 | ||||
| -rw-r--r-- | indra/llui/lltoolbarview.h | 52 | ||||
| -rw-r--r-- | indra/newview/app_settings/settings.xml | 11 | ||||
| -rw-r--r-- | indra/newview/llviewerwindow.cpp | 10 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/main_view.xml | 35 | 
6 files changed, 184 insertions, 0 deletions
diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt index 0687cf55d8..4212812558 100644 --- a/indra/llui/CMakeLists.txt +++ b/indra/llui/CMakeLists.txt @@ -101,6 +101,7 @@ set(llui_SOURCE_FILES      lltransutil.cpp      lltoggleablemenu.cpp      lltoolbar.cpp +    lltoolbarview.cpp      lltooltip.cpp      llui.cpp      lluicolortable.cpp @@ -204,6 +205,7 @@ set(llui_HEADER_FILES      lltimectrl.h      lltoggleablemenu.h      lltoolbar.h +    lltoolbarview.h      lltooltip.h      lltransutil.h      lluicolortable.h diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp new file mode 100644 index 0000000000..40d1ac3418 --- /dev/null +++ b/indra/llui/lltoolbarview.cpp @@ -0,0 +1,74 @@ +/**  + * @file lltoolbarview.cpp + * @author Merov Linden + * @brief User customizable toolbar class + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, 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$ + */ + +#include "linden_common.h" + +#include "lltoolbarview.h" +#include "llbutton.h" + +LLToolBarView* gToolBarView = NULL; + +static LLDefaultChildRegistry::Register<LLToolBarView> r("toolbar_view"); + +LLToolBarView::LLToolBarView(const Params& p) +:	LLUICtrl(p) +{ +} + +BOOL LLToolBarView::postBuild() +{ +	LLButton* btn = getChild<LLButton>("color_pipette"); +	btn->setVisible(TRUE); +	LLRect ctrl_rect = getRect(); +	LLRect btn_rect = btn->getRect(); +	llinfos << "Merov debug : control rect = " << ctrl_rect.mLeft << ", " << ctrl_rect.mTop << ", " << ctrl_rect.mRight << ", " << ctrl_rect.mBottom << llendl;  +	llinfos << "Merov debug : button rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl;  +	btn_rect.mLeft = 0; +	btn_rect.mTop = ctrl_rect.getHeight(); +	btn_rect.mRight = 28; +	btn_rect.mBottom = btn_rect.mTop - 28; +	btn->setRect(btn_rect); +	btn_rect = btn->getRect(); +	llinfos << "Merov debug : button rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl;  +	return TRUE; +} + +void LLToolBarView::draw() +{ +	LLButton* btn = getChild<LLButton>("color_pipette"); +	btn->setVisible(TRUE); +	static bool debug_print = true; +	if (debug_print) +	{ +		LLRect ctrl_rect = getRect(); +		LLRect btn_rect = btn->getRect(); +		llinfos << "Merov debug : draw control rect = " << ctrl_rect.mLeft << ", " << ctrl_rect.mTop << ", " << ctrl_rect.mRight << ", " << ctrl_rect.mBottom << llendl;  +		llinfos << "Merov debug : draw button rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl;  +		debug_print = false; +	} +	LLUICtrl::draw(); +} diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h new file mode 100644 index 0000000000..0bd0070ab7 --- /dev/null +++ b/indra/llui/lltoolbarview.h @@ -0,0 +1,52 @@ +/**  + * @file lltoolbarview.h + * @author Merov Linden + * @brief User customizable toolbar class + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, 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_LLTOOLBARVIEW_H +#define LL_LLTOOLBARVIEW_H + +#include "lluictrl.h" + +// Parent of all LLToolBar + +class LLToolBarView : public LLUICtrl +{ +public: +	struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> {}; +	void draw(); +	/*virtual*/ BOOL postBuild(); + +protected: +	friend class LLUICtrlFactory; +	LLToolBarView(const Params&); + +private: +	LLHandle<LLView>	mSnapView; +}; + +extern LLToolBarView* gToolBarView; + +#endif  // LL_LLTOOLBARVIEW_H diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 4e48a9e3f7..cc9e17409f 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -2652,6 +2652,17 @@        <key>Value</key>        <integer>-1</integer>      </map> +    <key>DebugToolbarFUI</key> +    <map> +      <key>Comment</key> +      <string>Turn on the FUI Toolbars</string> +      <key>Persist</key> +      <integer>1</integer> +      <key>Type</key> +      <string>Boolean</string> +      <key>Value</key> +      <integer>1</integer> +    </map>      <key>DebugViews</key>      <map>        <key>Comment</key> diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 114a422c1d..1055fd373b 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -76,6 +76,7 @@  #include "lltimer.h"  #include "timing.h"  #include "llviewermenu.h" +#include "lltoolbarview.h"  #include "lltooltip.h"  #include "llmediaentry.h"  #include "llurldispatcher.h" @@ -1778,6 +1779,14 @@ void LLViewerWindow::initBase()  	mHintHolder = main_view->getChild<LLView>("hint_holder")->getHandle();  	mLoginPanelHolder = main_view->getChild<LLView>("login_panel_holder")->getHandle(); +	// Update the toolbar global holder +	// *TODO: Eventually, suppress the existence of this debug setting and turn toolbar FUI on permanently +	if (gSavedSettings.getBOOL("DebugToolbarFUI")) +	{ +		gToolBarView = main_view->getChild<LLToolBarView>("Toolbar View"); +	} + +	  	// Constrain floaters to inside the menu and status bar regions.  	gFloaterView = main_view->getChild<LLFloaterView>("Floater View");  	gFloaterView->setFloaterSnapView(main_view->getChild<LLView>("floater_snap_region")->getHandle()); @@ -1981,6 +1990,7 @@ void LLViewerWindow::shutdownViews()  	gIMMgr = NULL;  	gToolTipView = NULL; +	gToolBarView = NULL;  	gFloaterView = NULL;  	gMorphView = NULL; diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index a7d1aa963c..54badb1386 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -162,6 +162,41 @@                        top="0"                        width="1024"/>        </panel> +	   +      <panel follows="left|top" +			layout="topleft" +                    height="500" +                    left="0" +                    mouse_opaque="false" +                    name="toolbar_view_holder" +                    tab_stop="false" +                    top="0" +					visible="true" +                    width="1024"> +        <toolbar_view follows="left|top" +			layout="topleft" +                      height="100" +                      left="100" +                      mouse_opaque="false" +                      name="Toolbar View" +                      tab_stop="false" +                      top="100" +					  visible="true" +                      width="512"> +    <button +     follows="left|top" +     height="28" +     image_selected="eye_button_active.tga" +     image_unselected="eye_button_inactive.tga" +     layout="topleft" +			top="0" +			left="0" +     name="color_pipette" +     width="28" +	 visible="true" /> +					  </toolbar_view> +      </panel> +      </layout_panel>    </layout_stack>    <panel mouse_opaque="false"  | 
