GG: GG::DropDownList Class Reference

GG

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | List of all members
GG::DropDownList Class Reference

`#include <DropDownList.h>`

Inheritance diagram for GG::DropDownList:

## Public Types
typedef ListBox::Row | Row

## Signal Types
typedef boost::signal< void(iterator)> | SelChangedSignalType

## Structors
| DropDownList (X x, Y y, X w, Y h, Y drop_ht, Clr color, Flags< WndFlag > flags=INTERACTIVE)
| ~DropDownList ()
| DropDownList ()

## Accessors
SelChangedSignalType | SelChangedSignal
iterator | CurrentItem () const
std::size_t | CurrentItemIndex () const
std::size_t | IteratorToIndex (iterator it) const
iterator | IndexToIterator (std::size_t n) const
bool | Empty () const
const_iterator | begin () const
const_iterator | end () const
const_reverse_iterator | rbegin () const
const_reverse_iterator | rend () const
const Row & | GetRow (std::size_t n) const
bool | Selected (iterator it) const
bool | Selected (std::size_t n) const
Clr | InteriorColor () const
Y | DropHeight () const
Flags< ListBoxStyle > | Style () const
std::size_t | NumRows () const
std::size_t | NumCols () const
std::size_t | SortCol () const
X | ColWidth (std::size_t n) const
Alignment | ColAlignment (std::size_t n) const
Alignment | RowAlignment (iterator it) const
virtual Pt | ClientUpperLeft () const
virtual Pt | ClientLowerRight () const

## Mutators
virtual void | Render ()
virtual void | SizeMove (const Pt &ul, const Pt &lr)
virtual void | SetColor (Clr c)
iterator | Insert (Row *row, iterator it)
iterator | Insert (Row *row)
Row * | Erase (iterator it)
void | Clear ()
iterator | begin ()
iterator | end ()
reverse_iterator | rbegin ()
reverse_iterator | rend ()
Row & | GetRow (std::size_t n)
void | Select (iterator it)
void | Select (std::size_t n)
void | SetInteriorColor (Clr c)
void | SetDropHeight (Y h)
void | SetStyle (Flags< ListBoxStyle > s)
void | SetNumCols (std::size_t n)
void | SetSortCol (std::size_t n)
void | SetColWidth (std::size_t n, X w)
void | LockColWidths ()
void | UnLockColWidths ()
void | SetColAlignment (std::size_t n, Alignment align)
void | SetRowAlignment (iterator it, Alignment align)
virtual void | LClick (const Pt &pt, Flags< ModKey > mod_keys)
virtual void | KeyPress (Key key, boost::uint32_t key_code_point, Flags< ModKey > mod_keys)
ListBox * | LB ()

## Additional Inherited Members
Public Member Functions inherited from GG::Control
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 | Disable (bool b=true)
Public Member Functions inherited from GG::Wnd
virtual | ~Wnd ()
bool | Interactive () const
bool | RepeatButtonDown () const
bool | Dragable () const
bool | Resizable () const
bool | OnTop () const
bool | Modal () const
ChildClippingMode | GetChildClippingMode () const
bool | NonClientChild () const
bool | Visible () const
const std::string & | Name () const
const std::string & | DragDropDataType () const
Pt | UpperLeft () const
Pt | LowerRight () const
Pt | RelativeUpperLeft () const
Pt | RelativeLowerRight () const
X | Width () const
Y | Height () const
int | ZOrder () const
Pt | Size () const
Pt | MinSize () const
Pt | MaxSize () const
virtual Pt | MinUsableSize () const
Pt | ClientSize () const
X | ClientWidth () const
Y | ClientHeight () const
Pt | ScreenToWindow (const Pt &pt) const
Pt | ScreenToClient (const Pt &pt) const
virtual bool | InWindow (const Pt &pt) const
virtual bool | InClient (const Pt &pt) const
const std::list< Wnd * > & | Children () const
Wnd * | Parent () const
Wnd * | RootParent () const
Layout * | GetLayout () const
Layout * | ContainingLayout () const
const std::vector < BrowseInfoMode > & | BrowseModes () const
const std::string & | BrowseInfoText (std::size_t mode) const
const boost::shared_ptr < StyleFactory > & | GetStyleFactory () const
virtual WndRegion | WindowRegion (const Pt &pt) const
void | SetDragDropDataType (const std::string &data_type)
virtual void | StartingChildDragDrop (const Wnd *wnd, const Pt &offset)
virtual void | CancellingChildDragDrop (const std::vector< const Wnd * > &wnds)
virtual void | ChildrenDraggedAway (const std::vector< Wnd * > &wnds, const Wnd *destination)
void | SetName (const std::string &name)
void | Hide (bool children=true)
void | Show (bool children=true)
virtual void | ModalInit ()
void | SetChildClippingMode (ChildClippingMode mode)
void | NonClientChild (bool b)
void | MoveTo (const Pt &pt)
void | OffsetMove (const Pt &pt)
void | Resize (const Pt &sz)
void | SetMinSize (const Pt &sz)
void | SetMaxSize (const Pt &sz)
void | AttachChild (Wnd *wnd)
void | MoveChildUp (Wnd *wnd)
void | MoveChildDown (Wnd *wnd)
void | DetachChild (Wnd *wnd)
void | DetachChildren ()
void | DeleteChild (Wnd *wnd)
void | DeleteChildren ()
void | InstallEventFilter (Wnd *wnd)
void | RemoveEventFilter (Wnd *wnd)
void | HorizontalLayout ()
void | VerticalLayout ()
void | GridLayout ()
void | SetLayout (Layout *layout)
void | RemoveLayout ()
Layout * | DetachLayout ()
void | SetLayoutBorderMargin (unsigned int margin)
void | SetLayoutCellMargin (unsigned int margin)
virtual bool | Run ()
void | EndRun ()
void | SetBrowseModeTime (unsigned int time, std::size_t mode=0)
void | SetBrowseInfoWnd (const boost::shared_ptr< BrowseInfoWnd > &wnd, std::size_t mode=0)
void | ClearBrowseInfoWnd (std::size_t mode=0)
void | SetBrowseText (const std::string &text, std::size_t mode=0)
void | SetBrowseModes (const std::vector< BrowseInfoMode > &modes)
void | SetStyleFactory (const boost::shared_ptr< StyleFactory > &factory)
| GG_ABSTRACT_EXCEPTION (Exception)
| GG_CONCRETE_EXCEPTION (BadLayout, GG::Wnd, Exception)
Static Public Member Functions inherited from GG::Wnd
static unsigned int | DefaultBrowseTime ()
static void | SetDefaultBrowseTime (unsigned int time)
static const boost::shared_ptr < BrowseInfoWnd > & | DefaultBrowseInfoWnd ()
static void | SetDefaultBrowseInfoWnd (const boost::shared_ptr< BrowseInfoWnd > &browse_info_wnd)
Protected Types inherited from GG::Wnd
enum | DragDropRenderingState { NOT_DRAGGED, IN_PLACE_COPY, DRAGGED_OVER_UNACCEPTING_DROP_TARGET, DRAGGED_OVER_ACCEPTING_DROP_TARGET }
Protected Member Functions inherited from GG::Control
virtual void | MouseWheel (const Pt &pt, int move, 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)
Protected Attributes inherited from GG::Control
Clr | m_color
bool | m_disabled

## Detailed Description

Displays a single choice, and allows the user to select items from a drop-down list.

DropDownList is similar to GG::ListBox, but has significant restrictions over the functionality of GG::ListBox. Specifically, all list items must have the same height, and there is no dragging or dropping. Though any Control-derived object may be placed in an item cell, the items are only interactive in the drop-down list; the currently selected item is displayed only. Most of the ListBox interface is duplicated in DropDownList. Though you can still set the alignment, etc. of individual rows, as in ListBox, the currently-selected row will have the same alignment, etc. when displayed in the control in its unopened state. Note that this may look quite ugly.

Definition at line 52 of file DropDownList.h.

## Member Typedef Documentation

typedef ListBox::Row GG::DropDownList::Row

This is a single item in a dropdown list.

See Also
  See GG::ListBox for details.

Definition at line 56 of file DropDownList.h.

## Constructor & Destructor Documentation

GG::DropDownList::DropDownList | ( | X | x,
|  | Y | y,
|  | X | w,
|  | Y | h,
|  | Y | drop_ht,
|  | Clr | color,
|  | Flags< WndFlag > | flags = `INTERACTIVE`
| ) |  |

basic ctor. DropDownList retains ownership of lb, if it is non-null.

## Member Function Documentation

const Row& GG::DropDownList::GetRow | ( | std::size_t | n | ) | const

returns a const reference to the row at index n; not range-checked.

Note
  This function is O(n).

Flags<ListBoxStyle> GG::DropDownList::Style | ( |  | ) | const

Returns the style flags of the list

See Also
  GG::ListBoxStyle

std::size_t GG::DropDownList::SortCol | ( |  | ) | const

Returns the index of the column used to sort items, when sorting is enabled.

Note
  The sort column is not range checked when it is set by the user; it may be >= NumCols().

virtual Pt GG::DropDownList::ClientUpperLeft | ( |  | ) | const
| virtual

Returns upper-left corner of window's client area in screen coordinates (or of the entire area, if no client area is specified). Virtual because different windows have different shapes (and so ways of calculating client area).

Reimplemented from GG::Wnd.

virtual Pt GG::DropDownList::ClientLowerRight | ( |  | ) | const
| virtual

Returns (one pixel past) lower-right corner of window's client area in screen coordinates (or of the entire area, if no client area is specified). Virtual because different windows have different shapes (and so ways of calculating client area).

Reimplemented from GG::Wnd.

virtual void GG::DropDownList::Render | ( |  | ) |
| 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.

iterator GG::DropDownList::Insert | ( | Row * | row,
|  | iterator | it
| ) |  |

Insertion sorts row into a sorted list, or inserts into an unsorted list before it; returns index of insertion point. This Row becomes the property of the DropDownList and should not be deleted or inserted into any other DropDownLists

iterator GG::DropDownList::Insert | ( | Row * | row | ) |

Insertion sorts row into a sorted list, or inserts into an unsorted list at the end of the list; returns index of insertion point. This Row becomes the property of the DropDownList and should not be deleted or inserted into any other DropDownLists

Row& GG::DropDownList::GetRow | ( | std::size_t | n | ) |

returns a reference to the Row at row index n; not range-checked.

Note
  This function is O(n).

void GG::DropDownList::SetStyle | ( | Flags< ListBoxStyle > | s | ) |

sets the style flags for the list to s (invalidates currently selected item).

See Also
  GG::ListBoxStyle

void GG::DropDownList::LockColWidths | ( |  | ) |

Fixes the column widths; by default, an empty list will take on the number of columns of its first added row.

Note
  The number of columns and their widths may still be set via SetNumCols() and SetColWidth() after this function has been called.

void GG::DropDownList::UnLockColWidths | ( |  | ) |

Allows the number of columns to be determined by the first row added to an empty ListBox

virtual void GG::DropDownList::LClick | ( | const Pt & | pt,
|  | Flags< ModKey > | mod_keys
| ) |  |
| protectedvirtual

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.

virtual void GG::DropDownList::KeyPress | ( | Key | key,
|  | boost::uint32_t | key_code_point,
|  | Flags< ModKey > | mod_keys
| ) |  |
| protectedvirtual

Respond to down-keystrokes (focus window only). A window may receive KeyPress() messages passed up to it from its children. For instance, Control-derived classes pass KeyPress() messages to their Parent() windows by default.

Note
  Though mouse clicks consist of a press and a release, all Control classes by default respond immediately to KeyPress(), not KeyRelease(); in fact, by default no Wnd class does anything at all on a KeyRelease event.
  key_code_point will be zero if Unicode support is unavailable.

Reimplemented from GG::Control.

The documentation for this class was generated from the following file:

- DropDownList.h