diff options
author | Richard Nelson <richard@lindenlab.com> | 2011-09-26 17:42:25 -0700 |
---|---|---|
committer | Richard Nelson <richard@lindenlab.com> | 2011-09-26 17:42:25 -0700 |
commit | 756532ba8a0a29ca7e5991d8a4f48ddac3bf06ac (patch) | |
tree | 50e815635d579aa203f9b8dfb8414f2483bf568e | |
parent | 53a486649381af53d21de28aced388bc2aacac0f (diff) | |
parent | a465f816b8e7674aa3f22023d7708106ca35b350 (diff) |
Automated merge with ssh://hg.lindenlab.com/richard/viewer-experience-fui
-rw-r--r-- | indra/llui/llcommandmanager.cpp | 2 | ||||
-rw-r--r-- | indra/llui/lldockcontrol.cpp | 3 | ||||
-rw-r--r-- | indra/llui/lltoolbar.cpp | 54 | ||||
-rw-r--r-- | indra/llui/lltoolbarview.cpp | 4 | ||||
-rw-r--r-- | indra/newview/llviewerwindow.cpp | 1 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_toolbar_view.xml | 148 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/widgets/toolbar.xml | 1 |
7 files changed, 128 insertions, 85 deletions
diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index 62e1d186f5..783990780b 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -117,7 +117,7 @@ void LLCommandManager::addCommand(LLCommand * command) mCommandIndices[command->id()] = mCommands.size(); mCommands.push_back(command); - llinfos << "Successfully added command: " << command->id().name() << llendl; + lldebugs << "Successfully added command: " << command->id().name() << llendl; } //static diff --git a/indra/llui/lldockcontrol.cpp b/indra/llui/lldockcontrol.cpp index b1c27126d9..6e39fcd714 100644 --- a/indra/llui/lldockcontrol.cpp +++ b/indra/llui/lldockcontrol.cpp @@ -97,6 +97,7 @@ void LLDockControl::getAllowedRect(LLRect& rect) void LLDockControl::repositionDockable() { + if (!mDockWidget) return; LLRect dockRect = mDockWidget->calcScreenRect(); LLRect rootRect; mGetAllowedRectCallback(rootRect); @@ -160,7 +161,7 @@ bool LLDockControl::isDockVisible() case TOP: { // check is dock inside parent rect - // assume that parent for all dockable flaoters + // assume that parent for all dockable floaters // is the root view LLRect dockParentRect = mDockWidget->getRootView()->calcScreenRect(); diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 1e1cb16fbb..278c04aef8 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -162,6 +162,7 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) centering_stack_p.rect = getLocalRect(); centering_stack_p.follows.flags = FOLLOWS_ALL; centering_stack_p.orientation = orientation; + centering_stack_p.mouse_opaque = false; mCenteringStack = LLUICtrlFactory::create<LLLayoutStack>(centering_stack_p); addChild(mCenteringStack); @@ -171,6 +172,7 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) border_panel_p.rect = getLocalRect(); border_panel_p.auto_resize = true; border_panel_p.user_resize = false; + border_panel_p.mouse_opaque = false; mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); @@ -185,21 +187,7 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) LLPanel::Params button_panel_p(p.button_panel); button_panel_p.rect = center_panel->getLocalRect(); - switch(p.side()) - { - case SIDE_LEFT: - button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_LEFT; - break; - case SIDE_RIGHT: - button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_RIGHT; - break; - case SIDE_TOP: - button_panel_p.follows.flags = FOLLOWS_TOP|FOLLOWS_LEFT; - break; - case SIDE_BOTTOM: button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_LEFT; - break; - } mButtonPanel = LLUICtrlFactory::create<LLPanel>(button_panel_p); center_panel->addChild(mButtonPanel); @@ -229,20 +217,20 @@ bool LLToolBar::addCommand(const LLCommandId& commandId) // if (add_command) { - LLToolBarButton::Params button_p(mButtonParams[mButtonType]); + LLToolBarButton::Params button_p(mButtonParams[mButtonType]); button_p.name = commandId.name(); - button_p.label = LLTrans::getString(command->labelRef()); - button_p.tool_tip = LLTrans::getString(command->tooltipRef()); + button_p.label = LLTrans::getString(command->labelRef()); + button_p.tool_tip = LLTrans::getString(command->tooltipRef()); - // - // Add it to the list of buttons - // - LLToolBarButton * toolbar_button = LLUICtrlFactory::create<LLToolBarButton>(button_p); - mButtons.push_back(toolbar_button); + // + // Add it to the list of buttons + // + LLToolBarButton * toolbar_button = LLUICtrlFactory::create<LLToolBarButton>(button_p); + mButtons.push_back(toolbar_button); mButtonCommands.push_back(commandId); - mButtonPanel->addChild(toolbar_button); + mButtonPanel->addChild(toolbar_button); - mNeedsLayout = true; + mNeedsLayout = true; } return add_command; @@ -403,8 +391,8 @@ void LLToolBar::updateLayoutAsNeeded() std::vector<LLToolBarButton*> buttons_in_row; - BOOST_FOREACH(LLToolBarButton* button, mButtons) - { + BOOST_FOREACH(LLToolBarButton* button, mButtons) + { button->reshape(mMinButtonWidth, mButtonHeight); button->autoResize(); @@ -435,11 +423,11 @@ void LLToolBar::updateLayoutAsNeeded() cur_start = row_pad_start; cur_row += max_row_girth + mPadBetween; max_row_girth = 0; - } + } LLRect button_rect; if (orientation == LLLayoutStack::HORIZONTAL) - { + { button_rect.setLeftTopAndSize(cur_start, panel_rect.mTop - cur_row, button_clamped_width, button->getRect().getHeight()); } else // VERTICAL @@ -468,20 +456,22 @@ void LLToolBar::updateLayoutAsNeeded() { if (mSideType == SIDE_TOP) { // shift down to maintain top edge - mButtonPanel->translate(0, mButtonPanel->getRect().getHeight() - total_girth); + translate(0, getRect().getHeight() - total_girth); } + reshape(getRect().getWidth(), total_girth); mButtonPanel->reshape(max_row_length, total_girth); } else // VERTICAL { if (mSideType == SIDE_RIGHT) { // shift left to maintain right edge - mButtonPanel->translate(mButtonPanel->getRect().getWidth() - total_girth, 0); + translate(getRect().getWidth() - total_girth, 0); } - + + reshape(total_girth, getRect().getHeight()); mButtonPanel->reshape(total_girth, max_row_length); - } + } // re-center toolbar buttons mCenteringStack->updateLayout(); diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 6c29e566b8..21d3785c82 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -93,8 +93,7 @@ void LLToolBarView::draw() if (mToolbarBottom) bottom_rect = mToolbarBottom->getRect(); if (mToolbarLeft) left_rect = mToolbarLeft->getRect(); if (mToolbarRight) right_rect = mToolbarRight->getRect(); - - LLRect sizer_left_rect = sizer_left->getRect(); + if ((old_width != getRect().getWidth()) || (old_height != getRect().getHeight())) debug_print = true; @@ -105,7 +104,6 @@ void LLToolBarView::draw() 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; - llinfos << "Merov debug : draw s left rect = " << sizer_left_rect.mLeft << ", " << sizer_left_rect.mTop << ", " << sizer_left_rect.mRight << ", " << sizer_left_rect.mBottom << llendl; old_width = ctrl_rect.getWidth(); old_height = ctrl_rect.getHeight(); debug_print = false; diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 34ee893594..6d69932e93 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1787,6 +1787,7 @@ void LLViewerWindow::initBase() LLPanel* panel_holder = main_view->getChild<LLPanel>("toolbar_view_holder"); // Load the toolbar view from file gToolBarView = LLUICtrlFactory::getInstance()->createFromFile<LLToolBarView>("panel_toolbar_view.xml", panel_holder, LLDefaultChildRegistry::instance()); + gToolBarView->setShape(panel_holder->getLocalRect()); // Hide the toolbars for the moment: we'll make them visible after logging in world (see LLViewerWindow::initWorldUI()) gToolBarView->setVisible(FALSE); } diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 7503da1d36..b24f5c3347 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -3,58 +3,110 @@ follows="all" layout="topleft" name="toolbar view" - height="716" + height="500" width="1024" left="0" top="0" mouse_opaque="false" tab_stop="false" visible="true"> - <panel - follows="top|bottom|left" - layout="topleft" - name="sizer_left" - height="686" - width="30" - left="0" - top="0" - background_opaque="false" - border_visible="false" - background_visible="true" - bg_opaque_image="Toast_Over" - bg_alpha_image="Toast_Background" - visible="true" /> - <toolbar - follows="top|bottom|left" - layout="topleft" - name="toolbar_left" - height="686" - width="30" - left="0" - top="0" - side="left" - button_display_mode="icons_only" - visible="true" /> - <toolbar - follows="right|bottom|left" - layout="topleft" - name="toolbar_bottom" - height="30" - width="1024" - left="0" - top="686" - side="bottom" - button_display_mode="icons_with_text" - visible="true" /> - <toolbar - follows="top|bottom|right" - layout="topleft" - name="toolbar_right" - height="686" - width="30" - left="994" - top="0" - side="right" - button_display_mode="icons_only" - visible="true" /> + <layout_stack name="bottom_toolbar_stack" + orientation="vertical" + left="0" + top="0" + width="1024" + height="500" + follows="all" + mouse_opaque="false"> + <layout_panel name="vertical_toolbar_panel" + auto_resize="true" + user_resize="false" + width="1024" + height="500" + mouse_opaque="false"> + <layout_stack name="vertical_toolbar_stack" + orientation="horizontal" + left="0" + top="0" + width="1024" + height="500" + follows="all" + mouse_opaque="false"> + <layout_panel name="left_toolbar_panel" + fit_content="true" + auto_resize="false" + user_resize="false" + height="500" + width="30" + mouse_opaque="false"> + <toolbar follows="left|top|bottom" + name="toolbar_left" + height="500" + width="30" + left="0" + top="0" + side="left" + button_display_mode="icons_only"> + <button name="button1" label="Left Toolbar"/> + <button name="button2" label="Left Toolbar"/> + <button name="button3" label="Left Toolbar"/> + <button name="button4" label="Left Toolbar"/> + <button name="button5" label="Left Toolbar"/> + </toolbar> + </layout_panel> + <layout_panel name="non_toolbar_panel" + auto_resize="true" + user_resize="false" + mouse_opaque="false"/> + <layout_panel name="right_toolbar_panel" + fit_content="true" + auto_resize="false" + user_resize="false" + height="500" + width="30" + mouse_opaque="false"> + <toolbar + follows="right|top|bottom" + name="toolbar_right" + height="500" + width="30" + left="0" + top="0" + side="right" + button_display_mode="icons_only"> + <button name="button1" label="Right Toolbar"/> + <button name="button2" label="Right Toolbar"/> + <button name="button3" label="Right Toolbar"/> + <button name="button4" label="Right Toolbar"/> + <button name="button5" label="Right Toolbar"/> + </toolbar> + </layout_panel> + </layout_stack> + </layout_panel> + <layout_panel name="bottom_toolbar_panel" + fit_content="true" + auto_resize="false" + user_resize="false" + height="30" + width="1024" + mouse_opaque="false"> + <toolbar layout="topleft" + name="toolbar_bottom" + height="30" + width="1024" + left="0" + top="0" + side="bottom" + follows="left|right|bottom" + button_display_mode="icons_with_text" + visible="true"> + <button name="button1" label="Bottom toolbar"/> + <button name="button2" label="Bottom toolbar"/> + <button name="button3" label="Bottom toolbar"/> + <button name="button4" label="Bottom toolbar"/> + <button name="button5" label="Bottom toolbar"/> + <button name="button6" label="Bottom toolbar"/> + </toolbar> + </layout_panel> + </layout_stack> </toolbar_view> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 7346e5ce2d..95ccc6e92c 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -5,6 +5,7 @@ pad_top="5" pad_bottom="5" pad_between="5" + mouse_opaque="false" read_only="false"> <button_panel name="button_panel" |