GG
|
#include <Scroll.h>
Public Types | |
enum | ScrollRegion |
Signal Types | |
typedef boost::signal< void(int, int, int, int)> | ScrolledSignalType |
typedef boost::signal< void(int, int, int, int)> | ScrolledAndStoppedSignalType |
Structors | |
Scroll (X x, Y y, X w, Y h, Orientation orientation, Clr color, Clr interior, Flags< WndFlag > flags=INTERACTIVE|REPEAT_BUTTON_DOWN) | |
Scroll () |
Accessors | |
ScrolledSignalType | ScrolledSignal |
ScrolledAndStoppedSignalType | ScrolledAndStoppedSignal |
virtual Pt | MinUsableSize () const |
std::pair< int, int > | PosnRange () const |
std::pair< int, int > | ScrollRange () const |
unsigned int | LineSize () const |
unsigned int | PageSize () const |
Clr | InteriorColor () const |
Orientation | ScrollOrientation () const |
unsigned int | TabSpace () const |
unsigned int | TabWidth () const |
ScrollRegion | RegionUnder (const Pt &pt) |
Button * | TabButton () const |
Button * | IncrButton () const |
Button * | DecrButton () const |
Mutators | |
virtual void | Render () |
virtual void | SizeMove (const Pt &ul, const Pt &lr) |
virtual void | Disable (bool b=true) |
virtual void | SetColor (Clr c) |
void | SetInteriorColor (Clr c) |
void | SizeScroll (int min, int max, unsigned int line, unsigned int page) |
void | SetMax (int max) |
void | SetMin (int min) |
void | SetLineSize (unsigned int line) |
void | SetPageSize (unsigned int page) |
void | ScrollTo (int p) |
void | ScrollLineIncr () |
void | ScrollLineDecr () |
void | ScrollPageIncr () |
void | ScrollPageDecr () |
virtual void | LButtonDown (const Pt &pt, Flags< ModKey > mod_keys) |
virtual void | LButtonUp (const Pt &pt, Flags< ModKey > mod_keys) |
virtual void | LClick (const Pt &pt, Flags< ModKey > mod_keys) |
virtual void | MouseHere (const Pt &pt, Flags< ModKey > mod_keys) |
virtual bool | EventFilter (Wnd *w, const WndEvent &event) |
Additional Inherited Members | |
![]() | |
virtual void | DropsAcceptable (DropsAcceptableIter first, DropsAcceptableIter last, const Pt &pt) const |
Clr | Color () const |
bool | Disabled () const |
virtual void | AcceptDrops (const std::vector< Wnd * > &wnds, const Pt &pt) |
![]() | |
virtual void | MouseWheel (const Pt &pt, int move, Flags< ModKey > mod_keys) |
virtual void | KeyPress (Key key, boost::uint32_t key_code_point, Flags< ModKey > mod_keys) |
virtual void | KeyRelease (Key key, boost::uint32_t key_code_point, Flags< ModKey > mod_keys) |
Control () | |
Control (X x, Y y, X w, Y h, Flags< WndFlag > flags=INTERACTIVE) | |
![]() | |
Wnd () | |
Wnd (X x, Y y, X w, Y h, Flags< WndFlag > flags=INTERACTIVE|DRAGABLE) | |
DragDropRenderingState | GetDragDropRenderingState () const |
virtual void | LDrag (const Pt &pt, const Pt &move, Flags< ModKey > mod_keys) |
virtual void | LDoubleClick (const Pt &pt, Flags< ModKey > mod_keys) |
virtual void | MButtonDown (const Pt &pt, Flags< ModKey > mod_keys) |
virtual void | MDrag (const Pt &pt, const Pt &move, Flags< ModKey > mod_keys) |
virtual void | MButtonUp (const Pt &pt, Flags< ModKey > mod_keys) |
virtual void | MClick (const Pt &pt, Flags< ModKey > mod_keys) |
virtual void | MDoubleClick (const Pt &pt, Flags< ModKey > mod_keys) |
virtual void | RButtonDown (const Pt &pt, Flags< ModKey > mod_keys) |
virtual void | RDrag (const Pt &pt, const Pt &move, Flags< ModKey > mod_keys) |
virtual void | RButtonUp (const Pt &pt, Flags< ModKey > mod_keys) |
virtual void | RClick (const Pt &pt, Flags< ModKey > mod_keys) |
virtual void | RDoubleClick (const Pt &pt, Flags< ModKey > mod_keys) |
virtual void | MouseEnter (const Pt &pt, Flags< ModKey > mod_keys) |
virtual void | MouseLeave () |
virtual void | DragDropEnter (const Pt &pt, const std::map< Wnd *, Pt > &drag_drop_wnds, Flags< ModKey > mod_keys) |
virtual void | DragDropHere (const Pt &pt, const std::map< Wnd *, Pt > &drag_drop_wnds, Flags< ModKey > mod_keys) |
virtual void | DragDropLeave () |
virtual void | GainingFocus () |
virtual void | LosingFocus () |
virtual void | TimerFiring (unsigned int ticks, Timer *timer) |
void | HandleEvent (const WndEvent &event) |
void | ForwardEventToParent () |
void | BeginClipping () |
void | EndClipping () |
void | BeginNonclientClipping () |
void | EndNonclientClipping () |
![]() | |
Clr | m_color |
bool | m_disabled |
![]() | |
bool | m_done |
This is a basic scrollbar control.
The range of the values the scrollbar represents is [m_range_min, m_range_max]. However, m_posn can only range over [m_range_min, m_range_max - m_page_sz], because the tab has a logical width of m_page_sz. So the region of the scrollbar's range being viewed at any one time is [m_posn, m_posn + m_page_sz]. (m_posn + m_page_sz is actually the last + 1 element of the range.) The parent of the control is notified of a scroll via ScrolledSignalType signals; these are emitted from the Scroll*() functions and the UpdatePosn() function. This should cover every instance in which m_posn is altered. The parent can poll the control to get its current view area with a call to GetPosnRange(). An increase in a vertical scroll is down, and a decrease is up; since GG assumes the y-coordinates are downwardly increasing. The rather plain default buttons and tab can be replaced by any Button-derived controls desired.
GG::Scroll::Scroll | ( | X | x, |
Y | y, | ||
X | w, | ||
Y | h, | ||
Orientation | orientation, | ||
Clr | color, | ||
Clr | interior, | ||
Flags< WndFlag > | flags = INTERACTIVE|REPEAT_BUTTON_DOWN |
||
) |
Ctor.
|
virtual |
Returns the size of the minimum bounding box that can enclose the Wnd and still show all of its elements, plus enough room for interaction with those elements (if applicable). For example, a TextControl's MinUsableSize() is just the area of its text, and a Scroll's MinUsableSize() is the combined sizes of its up-button, down-button, and tab (plus a bit of room in which to drag the tab).
Reimplemented from GG::Wnd.
|
virtual |
Draws this Wnd. Note that Wnds being dragged for a drag-and-drop operation are rendered twice – once in-place as normal, once in the location of the drag operation, attached to the cursor. Such Wnds may wish to render themselves differently in those two cases. To determine which render is being performed, they can call GUI::GetGUI()->RenderingDragDropWnds().
Implements GG::Control.
Resizes and/or moves window to new upper-left and lower right boundaries.
Reimplemented from GG::Wnd.
Respond to left button down msg. A window receives this whenever any input device button changes from up to down while over the window.
Reimplemented from GG::Wnd.
Respond to release of left mouse button outside this Wnd, if it was originally depressed over this Wnd. A Wnd will receive an LButtonUp() message whenever a drag that started over its area ends, even if the cursor is not currently over the window when this happens.
Reimplemented from GG::Wnd.
Respond to release of left mouse button over this Wnd, if it was also originally depressed over this Wnd. A Wnd will receive an LButtonUp() message whenever a drag that started over its area ends over its area as well.
Reimplemented from GG::Wnd.
Respond to cursor moving about within the Wnd, or to cursor lingering within the Wnd for a long period of time. A MouseHere() message will not be generated the first time the cursor enters the window's area. In that case, a MouseEnter() message is generated.
Reimplemented from GG::Wnd.