Automated merge with ssh://hg.lindenlab.com/richard/viewer-experience-fui

master
Richard Nelson 2011-09-26 17:42:25 -07:00
commit 756532ba8a
7 changed files with 128 additions and 85 deletions

View File

@ -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

View File

@ -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();

View File

@ -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();

View File

@ -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;

View File

@ -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);
}

View File

@ -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>

View File

@ -5,6 +5,7 @@
pad_top="5"
pad_bottom="5"
pad_between="5"
mouse_opaque="false"
read_only="false">
<button_panel name="button_panel"