GG::TabBar Class Reference

Contains a sequence of buttons (hereafter "tabs") that act together in a RadioButtonGroup. More...

#include <TabWnd.h>

Inheritance diagram for GG::TabBar:

GG::Control GG::Wnd List of all members.

Signal Types

typedef boost::signal< void(int)> TabChangedSignalType

Slot Types

typedef TabChangedSignalType::slot_type TabChangedSlotType

Structors

 TabBar (int x, int y, int w, const boost::shared_ptr< Font > &font, Clr color, Clr text_color=CLR_BLACK, TabBarStyle style=TAB_BAR_ATTACHED, Flags< WndFlag > flags=CLICKABLE)

Accessors

virtual Pt MinUsableSize () const
int CurrentTabIndex () const

Mutators

virtual void SizeMove (const Pt &ul, const Pt &lr)
virtual void Render ()
int AddTab (const std::string &name)
void InsertTab (int index, const std::string &name)
void RemoveTab (const std::string &name)
void SetCurrentTab (int index)

Structors

 TabBar ()

Mutators

virtual bool EventFilter (Wnd *w, const WndEvent &event)

Public Attributes

TabChangedSignalType TabChangedSignal

Static Public Attributes

static const int NO_TAB
static const int BUTTON_WIDTH

Detailed Description

Contains a sequence of buttons (hereafter "tabs") that act together in a RadioButtonGroup.

This class is intended to be used to select the current Wnd in a TabWnd.

Definition at line 128 of file TabWnd.h.


Member Typedef Documentation

typedef boost::signal<void (int)> GG::TabBar::TabChangedSignalType

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

Definition at line 134 of file TabWnd.h.

typedef TabChangedSignalType::slot_type GG::TabBar::TabChangedSlotType

Type of functor(s) invoked on a TabChangedSignalType.

Definition at line 138 of file TabWnd.h.


Constructor & Destructor Documentation

GG::TabBar::TabBar ( int  x,
int  y,
int  w,
const boost::shared_ptr< Font > &  font,
Clr  color,
Clr  text_color = CLR_BLACK,
TabBarStyle  style = TAB_BAR_ATTACHED,
Flags< WndFlag >  flags = CLICKABLE 
)

Basic ctor.

GG::TabBar::TabBar (  )  [protected]

default ctor


Member Function Documentation

virtual Pt GG::TabBar::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 RenderableMinSize() 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.

int GG::TabBar::CurrentTabIndex (  )  const

Returns the index into the sequence of tabs in this TabBar of the tab currently selected.

NO_TAB is returned if there is no tab currently selected.

virtual void GG::TabBar::SizeMove ( const Pt ul,
const Pt lr 
) [virtual]

resizes and/or moves window to new upper-left and lower right boundaries

Reimplemented from GG::Wnd.

virtual void GG::TabBar::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.

int GG::TabBar::AddTab ( const std::string &  name  ) 

Adds a tab called name to the sequence of tabs in this TabBar.

name can be used later to remove the tab (name is not checked for uniqueness). Returns the index at which the tab is placed.

void GG::TabBar::InsertTab ( int  index,
const std::string &  name 
)

Adds tab to the sequence of tabs in this TabBar, inserting it at the index location within the sequence.

name can be used later to remove the tab (name is not checked for uniqueness). Not range checked.

void GG::TabBar::RemoveTab ( const std::string &  name  ) 

Removes the first tab previously added witht he name name from the sequence of tab in this TabBar.

void GG::TabBar::SetCurrentTab ( int  index  ) 

Sets the current tab in the sequence to the tab in the index position within the sequence.

Not range checked.

virtual bool GG::TabBar::EventFilter ( Wnd w,
const WndEvent event 
) [protected, virtual]

handles an WndEvent destined for Wnd w, but which this Wnd is allowed to handle first.

Returns true if this filter processed the message.

Reimplemented from GG::Wnd.


Member Data Documentation

TabChangedSignalType GG::TabBar::TabChangedSignal [mutable]

The tab change signal object for this Button.

Definition at line 179 of file TabWnd.h.

const int GG::TabBar::NO_TAB [static]

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

Definition at line 182 of file TabWnd.h.

const int GG::TabBar::BUTTON_WIDTH [static]

The default width to use for the left and right buttons.

Definition at line 185 of file TabWnd.h.


The documentation for this class was generated from the following file:
Generated on Wed Mar 26 14:35:42 2008 for GG by  doxygen 1.5.2