GG::TabWnd Class Reference

Contains several Wnds and a TabBar, and only displays the Wnd currently selected in the TabBar. More...

#include <TabWnd.h>

Inheritance diagram for GG::TabWnd:

GG::Wnd

List of all members.

Public Attributes

WndChangedSignalType WndChangedSignal

Static Public Attributes

static const std::size_t NO_WND

Signal Types



typedef boost::signal< void(std::size_t)> WndChangedSignalType

Structors



 TabWnd (X x, Y y, X w, Y h, const boost::shared_ptr< Font > &font, Clr color, Clr text_color=CLR_BLACK, TabBarStyle style=TAB_BAR_ATTACHED, Flags< WndFlag > flags=INTERACTIVE)
 ~TabWnd ()

Accessors



virtual Pt MinUsableSize () const
bool Empty () const
std::size_t NumWnds () const
WndCurrentWnd () const
std::size_t CurrentWndIndex () const

Mutators



virtual void Render ()
std::size_t AddWnd (Wnd *wnd, const std::string &name)
void InsertWnd (std::size_t index, Wnd *wnd, const std::string &name)
WndRemoveWnd (const std::string &name)
void SetCurrentWnd (std::size_t index)

Structors



 TabWnd ()

Accessors



const TabBarGetTabBar () const
const std::vector< std::pair
< Wnd *, std::string > > & 
Wnds () const


Detailed Description

Contains several Wnds and a TabBar, and only displays the Wnd currently selected in the TabBar.

Definition at line 42 of file TabWnd.h.


Member Typedef Documentation

typedef boost::signal<void (std::size_t)> GG::TabWnd::WndChangedSignalType

Emitted when the currently-selected Wnd has changed; the new selected Wnd's index in the group is provided (this may be NO_WND if no Wnd is currently selected).

Definition at line 49 of file TabWnd.h.


Constructor & Destructor Documentation

GG::TabWnd::TabWnd ( X  x,
Y  y,
X  w,
Y  h,
const boost::shared_ptr< Font > &  font,
Clr  color,
Clr  text_color = CLR_BLACK,
TabBarStyle  style = TAB_BAR_ATTACHED,
Flags< WndFlag >  flags = INTERACTIVE 
)

Basic ctor.

GG::TabWnd::TabWnd (  )  [protected]

default ctor


Member Function Documentation

virtual Pt GG::TabWnd::MinUsableSize (  )  const [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.

bool GG::TabWnd::Empty (  )  const

Returns true iff NumWnds() == 0.

std::size_t GG::TabWnd::NumWnds (  )  const

Returns the number of tabs currently in this TabWnd.

Wnd* GG::TabWnd::CurrentWnd (  )  const

Returns the Wnd currently visible in the TabWnd, or 0 if there is none.

std::size_t GG::TabWnd::CurrentWndIndex (  )  const

Returns the index into the sequence of Wnds in this TabWnd of the Wnd currently shown. NO_WND is returned if there is no Wnd currently visible.

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

Reimplemented from GG::Wnd.

std::size_t GG::TabWnd::AddWnd ( Wnd wnd,
const std::string &  name 
)

Adds wnd to the sequence of Wnds in this TabWnd, with name name. name can be used later to remove the Wnd (name is not checked for uniqueness). Returns the index at which wnd is placed.

void GG::TabWnd::InsertWnd ( std::size_t  index,
Wnd wnd,
const std::string &  name 
)

Adds wnd to the sequence of Wnds in this TabWnd, inserting it at the index location within the sequence. name can be used later to remove the Wnd (name is not checked for uniqueness). Not range checked.

Wnd* GG::TabWnd::RemoveWnd ( const std::string &  name  ) 

Removes and returns the first Wnd previously added witht he name name from the sequence of Wnds in this TabWnd.

void GG::TabWnd::SetCurrentWnd ( std::size_t  index  ) 

Sets the currently visible Wnd in the sequence to the Wnd in the index position within the sequence. Not range checked.


Member Data Documentation

The Wnd change signal object for this Button.

Definition at line 100 of file TabWnd.h.

const std::size_t GG::TabWnd::NO_WND [static]

The invalid Wnd position index that there is no currently-selected Wnd.

Definition at line 104 of file TabWnd.h.


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

Generated on Sat Mar 26 07:08:38 2011 for GG by  doxygen 1.5.9