ManaPlus
|
#include <popup.h>
Public Member Functions | |
Popup (const std::string &name, std::string skin) | |
~Popup () | |
void | draw (Graphics *const graphics) |
void | safeDraw (Graphics *const graphics) |
void | setContentSize (int width, int height) |
void | setLocationRelativeTo (const Widget *const widget) |
void | mouseMoved (MouseEvent &event) |
void | setMinWidth (const int width) |
int | getMinWidth () const |
void | setMinHeight (const int height) |
int | getMinHeight () const |
void | setMaxWidth (const int width) |
int | getMaxWidth () const |
void | setMaxHeight (const int height) |
int | getMaxHeight () const |
int | getPadding () const |
void | setPadding (int padding) |
void | setPopupName (const std::string &name) |
const std::string & | getPopupName () const |
void | scheduleDelete () |
Rect | getChildrenArea () |
void | position (const int x, const int y) |
void | hide () |
void | widgetResized (const Event &event) |
void | widgetMoved (const Event &event) |
bool | isPopupVisible () const |
void | postInit () |
Public Member Functions inherited from Container | |
Container (const Widget2 *const widget) | |
~Container () | |
bool | safeRemove (Widget *const widget) |
void | removeControls () |
Public Member Functions inherited from BasicContainer2 | |
BasicContainer2 (const Widget2 *const widget) | |
~BasicContainer2 () | |
void | setOpaque (Opaque opaque) |
bool | isOpaque () const |
virtual void | add (Widget *const widget) |
void | addXY (Widget *const widget, const int x, const int y) |
Public Member Functions inherited from BasicContainer | |
BasicContainer (const Widget2 *const widget) | |
~BasicContainer () | |
void | showWidgetPart (Widget *const widget, const Rect &area) |
void | moveToTop (Widget *const widget) |
void | moveToBottom (Widget *const widget) |
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 | 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 () |
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 () |
Public Member Functions inherited from MouseListener | |
virtual | ~MouseListener () |
virtual void | mouseEntered (MouseEvent &event) |
virtual void | mouseExited (MouseEvent &event) |
virtual void | mousePressed (MouseEvent &event) |
virtual void | mouseReleased (MouseEvent &event) |
virtual void | mouseClicked (MouseEvent &event) |
virtual void | mouseWheelMovedUp (MouseEvent &event) |
virtual void | mouseWheelMovedDown (MouseEvent &event) |
virtual void | mouseDragged (MouseEvent &event) |
Public Member Functions inherited from WidgetListener | |
virtual | ~WidgetListener () |
virtual void | widgetHidden (const Event &event) |
virtual void | widgetShown (const Event &event) |
Static Public Member Functions | |
static void | setWindowContainer (WindowContainer *const windowContainer) |
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) |
Protected Attributes | |
int | mPadding |
Skin * | mSkin |
Protected Attributes inherited from BasicContainer2 | |
Opaque | mOpaque |
Protected Attributes inherited from BasicContainer | |
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 |
Private Attributes | |
std::string | mPopupName |
ImageCollection * | mVertexes |
int | mMinWidth |
int | mMinHeight |
int | mMaxWidth |
int | mMaxHeight |
bool | mInit |
Additional Inherited Members | |
Data Fields inherited from Widget | |
Visible | mVisible |
Protected Types inherited from BasicContainer | |
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 inherited from BasicContainer | |
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 Member Functions inherited from MouseListener | |
MouseListener () | |
Protected Member Functions inherited from WidgetListener | |
WidgetListener () | |
Static Protected Attributes inherited from Widget | |
static Font * | mGlobalFont = 0 |
A light version of the Window class. Particularly suited for popup type functionality that doesn't need to be resized or moved around by the mouse once created, but only needs to display some simple content, like a static message.
Popups, in general, shouldn't also need to update their content once created, although this is not an explicit requirement to use the popup class.
Popup::Popup | ( | const std::string & | name, |
std::string | skin | ||
) |
Constructor. Initializes the title to the given text and hooks itself into the popup container.
name | A human readable name for the popup. Only useful for debugging purposes. |
skin | The location where the Popup's skin XML can be found. |
Definition at line 40 of file popup.cpp.
References BasicContainer2::add(), Widget::addWidgetListener(), Skin::getOption(), Skin::getPadding(), Theme::getThemePath(), Theme::load(), Logger::log(), logger, mSkin, Widget2::mWindow, setPadding(), Widget2::setPalette(), Widget::setVisible(), theme, Visible_false, and windowContainer.
Popup::~Popup | ( | ) |
Destructor. Deletes all the added widgets.
Definition at line 84 of file popup.cpp.
References delete2, Logger::log(), logger, mInit, mPopupName, mSkin, mVertexes, theme, and Theme::unload().
|
virtual |
Draws the popup.
Reimplemented from BasicContainer2.
Definition at line 109 of file popup.cpp.
References BLOCK_END, BLOCK_START, Graphics::calcWindow(), ImageCollection::clear(), BasicContainer::drawChildren(), Graphics::drawTileCollection(), Graphics::finalize(), Skin::getBorder(), Rect::height, Widget::mDimension, Widget::mRedraw, mSkin, mVertexes, and Rect::width.
|
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 BasicContainer.
Definition at line 148 of file popup.cpp.
References Rect::height, Widget::mDimension, mPadding, and Rect::width.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Gets the padding of the popup. The padding is the distance between the popup border and the content.
Definition at line 135 of file popup.h.
References mPadding.
Referenced by DropDown::dropDown().
|
inline |
void Popup::hide | ( | ) |
Definition at line 265 of file popup.cpp.
References Widget::mRedraw, Widget::setVisible(), and Visible_false.
Referenced by PopupManager::hideItemPopup(), ShopListBox::mouseExited(), SkillListBox::mouseExited(), SkillRectangleListBox::mouseExited(), WindowMenu::mouseExited(), InventoryWindow::mouseExited(), Minimap::mouseExited(), MiniStatusWindow::mouseExited(), ToolTipListener::mouseExited(), ShopListBox::mouseMoved(), WindowMenu::mouseMoved(), InventoryWindow::mouseMoved(), MiniStatusWindow::mouseMoved(), SkillListBox::mousePressed(), and SkillRectangleListBox::mousePressed().
|
inline |
Definition at line 174 of file popup.h.
References Widget::mVisible, and Visible_true.
Referenced by ItemLinkHandler::handleItemLink(), Game::handleMove(), PopupManager::isBeingPopupVisible(), PopupManager::isPopupMenuVisible(), PopupManager::isTextPopupVisible(), and MiniStatusWindow::updateStatus().
|
virtual |
Called when the mouse has moved in the widget area and no mouse button has been pressed (i.e no widget is being dragged).
event | Describes the event. |
Reimplemented from MouseListener.
Definition at line 255 of file popup.cpp.
References PopupManager::hideBeingPopup(), PopupManager::hideTextPopup(), Widget::mRedraw, and popupManager.
Referenced by ItemPopup::mouseMoved(), SkillPopup::mouseMoved(), SpellPopup::mouseMoved(), TextBoxPopup::mouseMoved(), and TextPopup::mouseMoved().
void Popup::position | ( | const int | x, |
const int | y | ||
) |
Sets the location to display the popup. Tries to horizontally center the popup and provide a vertical buffer between the given point and the popup. Prevents the popup from extending off-screen, if possible.
Definition at line 235 of file popup.cpp.
References Rect::height, mainGraphics, Widget::mDimension, Graphics::mHeight, Widget::mRedraw, Graphics::mWidth, Widget::requestMoveToTop(), Widget::setPosition(), Widget::setVisible(), Visible_true, Rect::width, x, and y.
Referenced by ItemLinkHandler::handleItemLink(), ItemContainer::mouseMoved(), ItemShortcutContainer::mouseMoved(), ShopListBox::mouseMoved(), SkillListBox::mouseMoved(), SkillRectangleListBox::mouseMoved(), VirtShortcutContainer::mouseMoved(), EquipmentWindow::mouseMoved(), ItemAmountWindow::mouseMoved(), and BeingPopup::show().
|
inlinevirtual |
Reimplemented from Widget.
Reimplemented in PopupList.
Definition at line 177 of file popup.h.
References mInit.
Referenced by BeingPopup::postInit(), ItemPopup::postInit(), PopupMenu::postInit(), SkillPopup::postInit(), SpeechBubble::postInit(), SpellPopup::postInit(), StatusPopup::postInit(), TextBoxPopup::postInit(), TextPopup::postInit(), and PopupList::postInit().
|
virtual |
Reimplemented from BasicContainer2.
Definition at line 133 of file popup.cpp.
References BLOCK_END, BLOCK_START, Graphics::drawImageRect(), Skin::getBorder(), Rect::height, Widget::mDimension, mSkin, BasicContainer::safeDrawChildren(), and Rect::width.
void Popup::scheduleDelete | ( | ) |
Schedule this popup for deletion. It will be deleted at the start of the next logic update.
Definition at line 230 of file popup.cpp.
References WindowContainer::scheduleDelete(), and windowContainer.
void Popup::setContentSize | ( | int | width, |
int | height | ||
) |
Sets the size of this popup.
Definition at line 155 of file popup.cpp.
References mMaxHeight, mMaxWidth, mMinHeight, mMinWidth, mPadding, Widget::mRedraw, and Widget::setSize().
Referenced by ItemPopup::setItem(), SpellPopup::setItem(), SpeechBubble::setText(), BeingPopup::show(), TextBoxPopup::show(), SkillPopup::show(), PopupList::show(), PopupMenu::showPopup(), and SpeechBubble::SpeechBubble().
void Popup::setLocationRelativeTo | ( | const Widget *const | widget | ) |
Sets the location relative to the given widget.
Definition at line 174 of file popup.cpp.
References Widget::getAbsolutePosition(), Widget::getHeight(), Widget::getWidth(), Rect::height, Widget::mDimension, Widget::mRedraw, Widget::setPosition(), Rect::width, Rect::x, x, Rect::y, and y.
void Popup::setMaxHeight | ( | const int | height | ) |
Sets the minimum height of the popup.
Definition at line 225 of file popup.cpp.
References mMaxHeight.
void Popup::setMaxWidth | ( | const int | width | ) |
void Popup::setMinHeight | ( | const int | height | ) |
Sets the minimum height of the popup.
Definition at line 207 of file popup.cpp.
References Skin::getMinHeight(), mMinHeight, and mSkin.
Referenced by BeingPopup::BeingPopup(), TextBoxPopup::postInit(), and SpeechBubble::SpeechBubble().
void Popup::setMinWidth | ( | const int | width | ) |
Sets the minimum width of the popup.
Definition at line 194 of file popup.cpp.
References Skin::getMinWidth(), mMinWidth, and mSkin.
Referenced by SpeechBubble::SpeechBubble().
|
inline |
|
inline |
Sets the name of the popup. This is only useful for debug purposes.
Definition at line 144 of file popup.h.
References mPopupName.
|
static |
Sets the window container to be used by new popups.
Definition at line 104 of file popup.cpp.
References windowContainer.
|
virtual |
Invoked when a widget is moved.
event | Describes the event. |
Reimplemented from WidgetListener.
Definition at line 276 of file popup.cpp.
References Widget::mRedraw.
|
virtual |
Invoked when a widget changes its size.
event | Describes the event. |
Reimplemented from WidgetListener.
Reimplemented in PopupList.
Definition at line 271 of file popup.cpp.
References Widget::mRedraw.
Referenced by PopupList::widgetResized().
|
private |
Definition at line 191 of file popup.h.
Referenced by postInit(), and ~Popup().
|
private |
Maximum popup height
Definition at line 190 of file popup.h.
Referenced by getMaxHeight(), setContentSize(), and setMaxHeight().
|
private |
Maximum popup width
Definition at line 189 of file popup.h.
Referenced by getMaxWidth(), setContentSize(), and setMaxWidth().
|
private |
Minimum popup height
Definition at line 188 of file popup.h.
Referenced by getMinHeight(), setContentSize(), and setMinHeight().
|
private |
Minimum popup width
Definition at line 187 of file popup.h.
Referenced by getMinWidth(), setContentSize(), and setMinWidth().
|
protected |
Holds the padding of the popup.
Definition at line 181 of file popup.h.
Referenced by PopupList::adjustSize(), getChildrenArea(), getPadding(), PopupList::mousePressed(), PopupList::mouseReleased(), PopupList::PopupList(), setContentSize(), setPadding(), TextPopup::show(), PopupMenu::showPopup(), and StatusPopup::update().
|
private |
Name of the popup
Definition at line 185 of file popup.h.
Referenced by getPopupName(), setPopupName(), and ~Popup().
|
protected |
Skin in use by this popup
Definition at line 182 of file popup.h.
Referenced by draw(), Popup(), safeDraw(), setMinHeight(), setMinWidth(), and ~Popup().
|
private |