From 7bc6e626f40a910b4a3e5b88161e96b9967bd24d Mon Sep 17 00:00:00 2001 From: Merov Linden Date: Wed, 21 Sep 2011 14:24:38 -0700 Subject: EXP-1207 : LLToolbarView skeleton, nothing operational yet... --- indra/llui/lltoolbarview.cpp | 74 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 indra/llui/lltoolbarview.cpp (limited to 'indra/llui/lltoolbarview.cpp') 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 r("toolbar_view"); + +LLToolBarView::LLToolBarView(const Params& p) +: LLUICtrl(p) +{ +} + +BOOL LLToolBarView::postBuild() +{ + LLButton* btn = getChild("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("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(); +} -- cgit v1.3 From 65892a01cad5d22403f36a10187af40b37b48383 Mon Sep 17 00:00:00 2001 From: Merov Linden Date: Wed, 21 Sep 2011 19:31:07 -0700 Subject: EXP-1207 : More work on LLToolbarView, still not operational... --- indra/llui/lltoolbarview.cpp | 35 ++++++++------ indra/newview/app_settings/settings.xml | 2 +- indra/newview/llviewerwindow.cpp | 11 ++++- indra/newview/skins/default/xui/en/main_view.xml | 44 ++++------------- .../skins/default/xui/en/panel_toolbar_view.xml | 55 ++++++++++++++++++++++ 5 files changed, 95 insertions(+), 52 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/panel_toolbar_view.xml (limited to 'indra/llui/lltoolbarview.cpp') diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 40d1ac3418..0e54c91cea 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -28,6 +28,7 @@ #include "linden_common.h" #include "lltoolbarview.h" +#include "lltoolbar.h" #include "llbutton.h" LLToolBarView* gToolBarView = NULL; @@ -41,34 +42,40 @@ LLToolBarView::LLToolBarView(const Params& p) BOOL LLToolBarView::postBuild() { - LLButton* btn = getChild("color_pipette"); - btn->setVisible(TRUE); LLRect ctrl_rect = getRect(); + LLButton* btn = getChild("test"); 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; + llinfos << "Merov debug : test rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl; return TRUE; } void LLToolBarView::draw() { - LLButton* btn = getChild("color_pipette"); - btn->setVisible(TRUE); static bool debug_print = true; + + LLToolBar* toolbar_bottom = getChild("toolbar_bottom"); + LLToolBar* toolbar_left = getChild("toolbar_left"); + LLToolBar* toolbar_right = getChild("toolbar_right"); + + LLRect bottom_rect = toolbar_bottom->getRect(); + LLRect left_rect = toolbar_left->getRect(); + LLRect right_rect = toolbar_right->getRect(); + 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; + llinfos << "Merov debug : draw bottom rect = " << bottom_rect.mLeft << ", " << bottom_rect.mTop << ", " << bottom_rect.mRight << ", " << bottom_rect.mBottom << llendl; + llinfos << "Merov debug : draw left rect = " << left_rect.mLeft << ", " << left_rect.mTop << ", " << left_rect.mRight << ", " << left_rect.mBottom << llendl; + llinfos << "Merov debug : draw right rect = " << right_rect.mLeft << ", " << right_rect.mTop << ", " << right_rect.mRight << ", " << right_rect.mBottom << llendl; debug_print = false; } + // Debug draw + gl_rect_2d(getLocalRect(), LLColor4::blue, TRUE); + gl_rect_2d(bottom_rect, LLColor4::red, TRUE); + gl_rect_2d(left_rect, LLColor4::green, TRUE); + gl_rect_2d(right_rect, LLColor4::yellow, TRUE); + LLUICtrl::draw(); } diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index cc9e17409f..148b80e817 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1858,7 +1858,7 @@ Type Boolean Value - 1 + 0 Cursor3D diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 1055fd373b..d197782eed 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1783,10 +1783,17 @@ void LLViewerWindow::initBase() // *TODO: Eventually, suppress the existence of this debug setting and turn toolbar FUI on permanently if (gSavedSettings.getBOOL("DebugToolbarFUI")) { - gToolBarView = main_view->getChild("Toolbar View"); + llinfos << "Merov debug : Creating the toolbar view" << llendl; + // Get a pointer to the toolbar view holder + LLPanel* panel_holder = main_view->getChild("toolbar_view_holder"); + llinfos << "Merov debug : panel_holder = " << panel_holder << llendl; + // Load the toolbar view from file + gToolBarView = LLUICtrlFactory::getInstance()->createFromFile("panel_toolbar_view.xml", NULL, LLPanel::child_registry_t::instance()); + llinfos << "Merov debug : gToolBarView = " << gToolBarView << llendl; + // Attach it to the toolbar view holder + panel_holder->addChild(gToolBarView); } - // Constrain floaters to inside the menu and status bar regions. gFloaterView = main_view->getChild("Floater View"); gFloaterView->setFloaterSnapView(main_view->getChild("floater_snap_region")->getHandle()); diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 54badb1386..a21c988bb8 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -162,41 +162,15 @@ top="0" width="1024"/> - - - -