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

#include <DropDownList.h>

Inheritance diagram for GG::DropDownList:
GG::Control GG::Wnd

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 RowGetRow (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)
 
RowErase (iterator it)
 
void Clear ()
 
iterator begin ()
 
iterator end ()
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
RowGetRow (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)
 
ListBoxLB ()
 

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
 
WndParent () const
 
WndRootParent () const
 
LayoutGetLayout () const
 
LayoutContainingLayout () 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 ()
 
LayoutDetachLayout ()
 
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

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: