ManaPlus
|
#include <basiccontainer.h>
Public Member Functions | |
BasicContainer (const Widget2 *const widget) | |
~BasicContainer () | |
void | showWidgetPart (Widget *const widget, const Rect &area) |
void | moveToTop (Widget *const widget) |
void | moveToBottom (Widget *const widget) |
Rect | getChildrenArea () |
void | focusNext () |
void | focusPrevious () |
void | logic () |
void | setFocusHandler (FocusHandler *const focusHandler) |
void | setInternalFocusHandler (FocusHandler *const focusHandler) |
Widget * | getWidgetAt (int x, int y) |
void | death (const Event &event) |
Widget * | findFirstWidget (const std::set< Widget * > &list) |
void | add (Widget *const widget) |
virtual void | remove (Widget *const widget) |
virtual void | clear () |
Public Member Functions inherited from Widget | |
Widget (const Widget2 *const widget) | |
~Widget () | |
virtual void | draw (Graphics *const graphics)=0 |
virtual void | safeDraw (Graphics *const graphics)=0 |
virtual void | drawFrame (Graphics *graphics) |
virtual void | safeDrawFrame (Graphics *graphics) |
void | setFrameSize (const unsigned int frameSize) |
unsigned int | getFrameSize () const |
Widget * | getParent () const |
void | setWidth (const int width) |
int | getWidth () const |
void | setHeight (const int height) |
int | getHeight () const |
void | setSize (const int width, const int height) |
void | setX (const int x) |
int | getX () const |
void | setY (const int y) |
int | getY () const |
void | setPosition (const int x, const int y) |
void | setDimension (const Rect &dimension) |
const Rect & | getDimension () const |
void | setFocusable (const bool focusable) |
bool | isFocusable () const |
virtual bool | isFocused () const |
void | setEnabled (const bool enabled) |
bool | isEnabled () const |
void | setVisible (Visible visible) |
bool | isVisible () const |
void | setBaseColor (const Color &color) |
const Color & | getBaseColor () const |
void | setForegroundColor (const Color &color) |
const Color & | getForegroundColor () const |
void | setBackgroundColor (const Color &color) |
const Color & | getBackgroundColor () const |
virtual void | requestFocus () |
virtual void | requestMoveToTop () |
virtual void | requestMoveToBottom () |
FocusHandler * | getFocusHandler () |
void | addActionListener (ActionListener *const actionListener) |
void | removeActionListener (ActionListener *const actionListener) |
void | addDeathListener (WidgetDeathListener *const deathListener) |
void | removeDeathListener (WidgetDeathListener *const deathListener) |
void | addMouseListener (MouseListener *const mouseListener) |
void | removeMouseListener (MouseListener *const mouseListener) |
void | addKeyListener (KeyListener *const keyListener) |
void | removeKeyListener (KeyListener *const keyListener) |
void | addFocusListener (FocusListener *const focusListener) |
void | removeFocusListener (FocusListener *const focusListener) |
void | addWidgetListener (WidgetListener *const widgetListener) |
void | removeWidgetListener (WidgetListener *const widgetListener) |
void | setActionEventId (const std::string &actionEventId) |
const std::string & | getActionEventId () const |
virtual void | getAbsolutePosition (int &x, int &y) const |
virtual void | setParent (Widget *parent) |
Font * | getFont () const |
void | setFont (Font *const font) |
virtual void | fontChanged () |
bool | isTabInEnabled () const |
void | setTabInEnabled (const bool enabled) |
bool | isTabOutEnabled () const |
void | setTabOutEnabled (const bool enabled) |
void | requestModalFocus () |
virtual void | requestModalMouseInputFocus () |
virtual void | releaseModalFocus () |
virtual void | releaseModalMouseInputFocus () |
virtual bool | isModalFocused () const |
virtual bool | isModalMouseInputFocused () const |
const std::list< MouseListener * > & | getMouseListeners () const A_CONST |
const std::list< KeyListener * > & | getKeyListeners () const A_CONST |
const std::list< FocusListener * > & | getFocusListeners () const A_CONST |
virtual FocusHandler * | getInternalFocusHandler () |
void | setInternalFocusHandler (FocusHandler *const internalFocusHandler) |
void | setId (const std::string &id) |
const std::string & | getId () const |
virtual void | showPart (const Rect &rectangle) |
bool | isAllowLogic () const |
void | setMouseConsume (const bool b) |
bool | isMouseConsume () const |
void | setRedraw (const bool b) |
virtual bool | isSelectable () const |
void | setSelectable (const bool selectable) |
void | windowResized () |
virtual void | postInit () |
Public Member Functions inherited from Widget2 | |
virtual | ~Widget2 () |
const Color & | getThemeColor (const ThemeColorIdT type, const unsigned int alpha) const A_INLINE |
const Color & | getThemeCharColor (const signed char c, bool &valid) const A_INLINE |
virtual void | setWidget2 (const Widget2 *const widget) |
void | setPalette (int palette) |
void | checkPalette () |
void | setForegroundColor2 (const Color &color) |
Widget * | getWindow () const |
virtual void | setWindow (Widget *const window) |
Public Member Functions inherited from WidgetDeathListener | |
virtual | ~WidgetDeathListener () |
Protected Types | |
typedef std::vector< Widget * > | WidgetList |
typedef WidgetList::iterator | WidgetListIterator |
typedef WidgetList::const_iterator | WidgetListConstIterator |
typedef WidgetList::reverse_iterator | WidgetListReverseIterator |
typedef WidgetList::const_reverse_iterator | WidgetListCReverseIterator |
Protected Types inherited from Widget | |
typedef std::list< MouseListener * > | MouseListenerList |
typedef MouseListenerList::iterator | MouseListenerIterator |
typedef std::list< KeyListener * > | KeyListenerList |
typedef KeyListenerList::iterator | KeyListenerIterator |
typedef std::list< ActionListener * > | ActionListenerList |
typedef ActionListenerList::iterator | ActionListenerIterator |
typedef std::list< WidgetDeathListener * > | WidgetDeathListenerList |
typedef WidgetDeathListenerList::iterator | WidgetDeathListenerIterator |
typedef std::list< FocusListener * > | FocusListenerList |
typedef FocusListenerList::iterator | FocusListenerIterator |
typedef std::list< WidgetListener * > | WidgetListenerList |
typedef WidgetListenerList::iterator | WidgetListenerIterator |
Protected Member Functions | |
virtual void | drawChildren (Graphics *const graphics) |
virtual void | safeDrawChildren (Graphics *const graphics) |
virtual void | logicChildren () |
Protected Member Functions inherited from Widget | |
void | distributeActionEvent () |
void | distributeResizedEvent () |
void | distributeMovedEvent () |
void | distributeHiddenEvent () |
void | distributeShownEvent () |
Protected Member Functions inherited from Widget2 | |
Widget2 (const Widget2 *const widget) | |
Protected Member Functions inherited from WidgetDeathListener | |
WidgetDeathListener () | |
Protected Attributes | |
WidgetList | mWidgets |
WidgetList | mLogicWidgets |
Protected Attributes inherited from Widget | |
MouseListenerList | mMouseListeners |
KeyListenerList | mKeyListeners |
ActionListenerList | mActionListeners |
WidgetDeathListenerList | mDeathListeners |
FocusListenerList | mFocusListeners |
WidgetListenerList | mWidgetListeners |
Color | mForegroundColor |
Color | mBackgroundColor |
Color | mBaseColor |
Rect | mDimension |
std::string | mActionEventId |
std::string | mId |
FocusHandler * | mFocusHandler |
FocusHandler * | mInternalFocusHandler |
Widget * | mParent |
Font * | mCurrentFont |
unsigned int | mFrameSize |
bool | mFocusable |
bool | mTabIn |
bool | mTabOut |
bool | mEnabled |
bool | mAllowLogic |
bool | mMouseConsume |
bool | mRedraw |
bool | mSelectable |
Protected Attributes inherited from Widget2 | |
int | mPaletteOffset |
Widget * | mWindow |
Color | mForegroundColor2 |
Additional Inherited Members | |
Static Public Member Functions inherited from Widget | |
static void | setGlobalFont (Font *const font) |
static Font * | getGloablFont () |
static void | cleanGlobalFont () |
static bool | widgetExists (const Widget *const widget) |
static void | distributeWindowResizeEvent () |
static Widget * | callPostInit (Widget *const widget) |
Data Fields inherited from Widget | |
Visible | mVisible |
Static Protected Attributes inherited from Widget | |
static Font * | mGlobalFont = 0 |
A base class for containers. The class implements the most common things for a container. If you are implementing a container, consider inheriting from this class.
Definition at line 79 of file basiccontainer.h.
|
protected |
Typedef.
Definition at line 184 of file basiccontainer.h.
|
protected |
Typedef.
Definition at line 194 of file basiccontainer.h.
|
protected |
Typedef.
Definition at line 204 of file basiccontainer.h.
|
protected |
Typedef.
Definition at line 189 of file basiccontainer.h.
|
protected |
Typedef.
Definition at line 199 of file basiccontainer.h.
|
inlineexplicit |
Definition at line 83 of file basiccontainer.h.
BasicContainer::~BasicContainer | ( | ) |
void BasicContainer::add | ( | Widget *const | widget | ) |
Adds a widget to the basic container.
widget | The widget to add. |
Definition at line 260 of file basiccontainer.cpp.
Referenced by BasicContainer2::add(), BasicContainer2::addXY(), TabbedArea::enableScrollButtons(), Tab::init(), TabbedArea::postInit(), and ScrollArea::setContent().
|
virtual |
Clears the basic container from all widgets.
Reimplemented in TradeWindow, MailWindow, WidgetGroup, VertContainer, SetupTabScroll, HorizontContainer, and PopupMenu.
Definition at line 303 of file basiccontainer.cpp.
References FOR_EACH, mLogicWidgets, mWidgets, and restrict.
Referenced by HorizontContainer::clear(), VertContainer::clear(), WidgetGroup::clear(), Window::clearLayout(), TabbedArea::removeTab(), ScrollArea::setContent(), and ~BasicContainer().
|
virtual |
Called when a widget dies. It is used to be able to recieve a notification when a death of a widget occurs.
event | The event of the death. |
Implements WidgetDeathListener.
Reimplemented in TabbedArea.
Definition at line 134 of file basiccontainer.cpp.
References AttributesEnum::find().
Referenced by TabbedArea::death().
|
protectedvirtual |
Draws the children widgets of the basic container.
graphics | A graphics object to draw with. |
Reimplemented in WindowMenu.
Definition at line 318 of file basiccontainer.cpp.
References BLOCK_END, BLOCK_START, CAST_S32, FOR_EACH, Rect::height, restrict, Visible_true, Rect::width, Rect::x, and Rect::y.
Referenced by BasicContainer2::draw(), Popup::draw(), ScrollArea::draw(), TabbedArea::draw(), Tab::draw(), Window::draw(), ConnectionDialog::draw(), MiniStatusWindow::draw(), and WindowMenu::drawChildren().
Definition at line 444 of file basiccontainer.cpp.
References FOR_EACHR.
Referenced by InventoryWindow::getFirstVisible().
|
virtual |
Focuses the next widget in the widget.
Reimplemented from Widget.
Definition at line 152 of file basiccontainer.cpp.
References mWidgets.
|
virtual |
Focuses the previous widget in the widget.
Reimplemented from Widget.
Definition at line 182 of file basiccontainer.cpp.
References mWidgets.
|
virtual |
Gets the area of the widget occupied by the widget's children. By default this method returns an empty rectangle as not all widgets are containers. If you want to make a container this method should return the area where the children resides. This method is used when drawing children of a widget when computing clip rectangles for the children.
An example of a widget that overloads this method is ScrollArea. A ScrollArea has a view of its contant and that view is the children area. The size of a ScrollArea's children area might vary depending on if the scroll bars of the ScrollArea is shown or not.
Reimplemented from Widget.
Reimplemented in MiniStatusWindow, Window, ScrollArea, Popup, and DropDown.
Definition at line 147 of file basiccontainer.cpp.
References Rect::height, Widget::mDimension, and Rect::width.
Referenced by LayoutHelper::widgetResized().
|
virtual |
Gets a widget from a certain position in the widget. This function is used to decide which gets mouse input, thus it can be overloaded to change that behaviour.
NOTE: This always returns NULL if the widget is not a container.
x | The x coordinate of the widget to get. |
y | The y coordinate of the widget to get. |
Reimplemented from Widget.
Reimplemented in ScrollArea.
Definition at line 212 of file basiccontainer.cpp.
References Rect::isPointInRect(), restrict, Rect::x, x, Rect::y, and y.
Referenced by TabbedArea::mousePressed().
|
virtual |
Called for all widgets in the gui each time Gui::logic is called. You can do logic stuff here like playing an animation.
Reimplemented from Widget.
Reimplemented in Viewport, Viewport, WhoIsOnline, UpdaterWindow, ServerDialog, NpcDialog, MiniStatusWindow, CutInWindow, CharCreateDialog, TargetDebugTab, StatDebugTab, NetDebugTab, MapDebugTab, DebugTab, TabbedArea, and ScrollArea.
Definition at line 236 of file basiccontainer.cpp.
References BLOCK_END, BLOCK_START, logicChildren(), Widget::mVisible, and Visible_false.
Referenced by ChatWindow::addTab(), MiniStatusWindow::logic(), NpcDialog::logic(), ServerDialog::logic(), and ClanWindow::slowLogic().
|
protectedvirtual |
Calls logic for the children widgets of the basic container.
Definition at line 399 of file basiccontainer.cpp.
References BLOCK_END, BLOCK_START, FOR_EACH, and mLogicWidgets.
Referenced by logic(), and TabbedArea::logic().
|
virtual |
Moves a widget in this widget to the bottom of this widget. The moved widget will be drawn below all other widgets in this widget.
widget | The widget to move to the bottom. |
Reimplemented from Widget.
Definition at line 110 of file basiccontainer.cpp.
References AttributesEnum::find(), and reportAlways.
|
virtual |
Moves a widget to the top of this widget. The moved widget will be drawn above all other widgets in this widget.
widget | The widget to move to the top. |
Reimplemented from Widget.
Definition at line 82 of file basiccontainer.cpp.
References FOR_EACH, and reportAlways.
|
virtual |
Removes a widget from the basic container.
widget | The widget to remove. |
Definition at line 277 of file basiccontainer.cpp.
References FOR_EACH.
Referenced by StatsClanTab::clearLabels(), RelationClanTab::clearLabels(), TabbedArea::enableScrollButtons(), TabbedArea::removeTab(), Container::safeRemove(), CharCreateDialog::setAttributes(), TabbedArea::setSelectedTab(), MiniStatusWindow::updateBars(), and TabbedArea::~TabbedArea().
|
protectedvirtual |
Reimplemented in WindowMenu.
Definition at line 358 of file basiccontainer.cpp.
References BLOCK_END, BLOCK_START, CAST_S32, FOR_EACH, Rect::height, restrict, Visible_true, Rect::width, Rect::x, and Rect::y.
Referenced by BasicContainer2::safeDraw(), Popup::safeDraw(), ScrollArea::safeDraw(), TabbedArea::safeDraw(), Tab::safeDraw(), Window::safeDraw(), ConnectionDialog::safeDraw(), MiniStatusWindow::safeDraw(), and WindowMenu::safeDrawChildren().
|
virtual |
Sets the focus handler to be used.
WARNING: This function is used internally and should not be called or overloaded unless you know what you are doing.
focusHandler | The focus handler to use. |
Reimplemented from Widget.
Definition at line 248 of file basiccontainer.cpp.
References FOR_EACH, and Widget::setFocusHandler().
void BasicContainer::setInternalFocusHandler | ( | FocusHandler *const | focusHandler | ) |
Definition at line 431 of file basiccontainer.cpp.
References FOR_EACH, restrict, and Widget::setInternalFocusHandler().
Shows a certain part of a widget in the basic container. Used when widgets want a specific part to be visible in its parent. An example is a TextArea that wants a specific part of its text to be visible when a TextArea is a child of a ScrollArea.
widget | The widget whom wants a specific part of itself to be visible. |
area | The rectangle to be visible. |
Reimplemented from Widget.
Reimplemented in ScrollArea.
Definition at line 407 of file basiccontainer.cpp.
References Rect::height, Rect::width, x, and y.
Referenced by ScrollArea::showWidgetPart().
|
protected |
Definition at line 211 of file basiccontainer.h.
Referenced by clear(), logicChildren(), and WindowContainer::moveWidgetAfter().
|
protected |
Holds all widgets of the basic container.
Definition at line 209 of file basiccontainer.h.
Referenced by TabStrip::action(), WindowContainer::adjustAfterResize(), clear(), TabStrip::createWidget(), focusNext(), focusPrevious(), ScrollArea::getContent(), ScrollArea::getHorizontalMarkerDimension(), ScrollArea::getVerticalMarkerDimension(), WindowContainer::moveWidgetAfter(), TabStrip::nextTab(), TabStrip::prevTab(), Container::removeControls(), Window::resizeToContent(), Container::safeRemove(), Window::widgetHidden(), FlowContainer::widgetResized(), and Window::~Window().