#include <llpanel.h>
Public Types | |
enum | e_layout_orientation { HORIZONTAL, VERTICAL } |
typedef enum LLLayoutStack::e_layout_orientation | eLayoutOrientation |
Public Member Functions | |
LLLayoutStack (eLayoutOrientation orientation) | |
virtual | ~LLLayoutStack () |
void | draw () |
LLXMLNodePtr | getXML (bool save_children=true) const |
void | removeCtrl (LLUICtrl *ctrl) |
S32 | getMinWidth () const |
S32 | getMinHeight () const |
void | addPanel (LLPanel *panel, S32 min_width, S32 min_height, BOOL auto_resize, BOOL user_resize, S32 index=S32_MAX) |
void | removePanel (LLPanel *panel) |
Static Public Member Functions | |
static LLView * | fromXML (LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory) |
Private Types | |
typedef std::vector < LLEmbeddedPanel * > | e_panel_list_t |
Private Member Functions | |
void | updateLayout (BOOL force_resize=FALSE) |
void | calcMinExtents () |
S32 | getDefaultHeight (S32 cur_height) |
S32 | getDefaultWidth (S32 cur_width) |
LLEmbeddedPanel * | findEmbeddedPanel (LLPanel *panelp) const |
Private Attributes | |
const eLayoutOrientation | mOrientation |
e_panel_list_t | mPanels |
S32 | mMinWidth |
S32 | mMinHeight |
S32 | mPanelSpacing |
Classes | |
struct | LLEmbeddedPanel |
Definition at line 274 of file llpanel.h.
typedef std::vector<LLEmbeddedPanel*> LLLayoutStack::e_panel_list_t [private] |
LLLayoutStack::LLLayoutStack | ( | eLayoutOrientation | orientation | ) |
Definition at line 1104 of file llpanel.cpp.
Referenced by fromXML().
LLLayoutStack::~LLLayoutStack | ( | ) | [virtual] |
void LLLayoutStack::draw | ( | void | ) | [virtual] |
Reimplemented from LLView.
Definition at line 1117 of file llpanel.cpp.
References LLView::drawChild(), LLRectBase< Type >::getHeight(), LLRectBase< Type >::getWidth(), HORIZONTAL, LLRectBase< Type >::isNull(), llround(), LLRectBase< Type >::mBottom, LLRectBase< Type >::mLeft, mOrientation, mPanels, LLRectBase< Type >::mRight, LLRectBase< Type >::mTop, and updateLayout().
LLXMLNodePtr LLLayoutStack::getXML | ( | bool | save_children = true |
) | const [virtual] |
Reimplemented from LLView.
Definition at line 1162 of file llpanel.cpp.
References LLView::getXML().
void LLLayoutStack::removeCtrl | ( | LLUICtrl * | ctrl | ) | [virtual] |
Reimplemented from LLView.
Definition at line 1145 of file llpanel.cpp.
References calcMinExtents(), findEmbeddedPanel(), mPanels, and LLView::removeCtrl().
LLView * LLLayoutStack::fromXML | ( | LLXMLNodePtr | node, | |
LLView * | parent, | |||
LLUICtrlFactory * | factory | |||
) | [static] |
Reimplemented from LLView.
Definition at line 1169 of file llpanel.cpp.
References addPanel(), LLUICtrlFactory::createWidget(), LLMortician::die(), FALSE, LLPanel::fromXML(), LLView::getRect(), HORIZONTAL, LLView::initFromXML(), llendl, LLLayoutStack(), llmax(), llwarns, mPanelSpacing, LLPointer< Type >::notNull(), S32, LLView::setFollowsNone(), LLView::setName(), LLView::setOrigin(), LLView::setRect(), TRUE, updateLayout(), and VERTICAL.
S32 LLLayoutStack::getMinWidth | ( | ) | const [inline] |
S32 LLLayoutStack::getMinHeight | ( | ) | const [inline] |
void LLLayoutStack::addPanel | ( | LLPanel * | panel, | |
S32 | min_width, | |||
S32 | min_height, | |||
BOOL | auto_resize, | |||
BOOL | user_resize, | |||
S32 | index = S32_MAX | |||
) |
Definition at line 1273 of file llpanel.cpp.
References LLView::addChild(), llclamp(), mOrientation, mPanels, LLLayoutStack::LLEmbeddedPanel::mResizeBar, S32, and LLView::sendChildToFront().
Referenced by fromXML().
void LLLayoutStack::removePanel | ( | LLPanel * | panel | ) |
Definition at line 1292 of file llpanel.cpp.
References LLView::removeChild().
void LLLayoutStack::updateLayout | ( | BOOL | force_resize = FALSE |
) | [private] |
Definition at line 1297 of file llpanel.cpp.
References calcMinExtents(), FALSE, getDefaultHeight(), getDefaultWidth(), LLRectBase< Type >::getHeight(), LLCriticalDamp::getInterpolant(), LLView::getRect(), LLView::getVisible(), LLRectBase< Type >::getWidth(), HORIZONTAL, lerp(), llassert_always, llmax(), llround(), LLRectBase< Type >::mBottom, LLRectBase< Type >::mLeft, mOrientation, mPanels, mPanelSpacing, LLRectBase< Type >::mRight, LLRectBase< Type >::mTop, NULL, LLView::reshape(), RESIZE_BAR_OVERLAP, S32, LLView::setOrigin(), LLView::setVisible(), TRUE, and VERTICAL.
Referenced by draw(), and fromXML().
void LLLayoutStack::calcMinExtents | ( | ) | [private] |
Definition at line 1583 of file llpanel.cpp.
References HORIZONTAL, llmax(), mMinHeight, mMinWidth, mOrientation, mPanels, and mPanelSpacing.
Referenced by removeCtrl(), and updateLayout().
Definition at line 1249 of file llpanel.cpp.
References LLView::getRect(), HORIZONTAL, llmax(), mMinHeight, and mOrientation.
Referenced by updateLayout().
Definition at line 1261 of file llpanel.cpp.
References LLView::getRect(), llmax(), mMinWidth, mOrientation, and VERTICAL.
Referenced by updateLayout().
LLLayoutStack::LLEmbeddedPanel * LLLayoutStack::findEmbeddedPanel | ( | LLPanel * | panelp | ) | const [private] |
Definition at line 1570 of file llpanel.cpp.
Referenced by removeCtrl().
const eLayoutOrientation LLLayoutStack::mOrientation [private] |
Definition at line 306 of file llpanel.h.
Referenced by addPanel(), calcMinExtents(), draw(), getDefaultHeight(), getDefaultWidth(), and updateLayout().
e_panel_list_t LLLayoutStack::mPanels [private] |
Definition at line 309 of file llpanel.h.
Referenced by addPanel(), calcMinExtents(), draw(), findEmbeddedPanel(), removeCtrl(), updateLayout(), and ~LLLayoutStack().
S32 LLLayoutStack::mMinWidth [private] |
Definition at line 312 of file llpanel.h.
Referenced by calcMinExtents(), getDefaultWidth(), and getMinWidth().
S32 LLLayoutStack::mMinHeight [private] |
Definition at line 313 of file llpanel.h.
Referenced by calcMinExtents(), getDefaultHeight(), and getMinHeight().
S32 LLLayoutStack::mPanelSpacing [private] |
Definition at line 314 of file llpanel.h.
Referenced by calcMinExtents(), fromXML(), and updateLayout().