GG
Public Attributes | Static Public Attributes | List of all members
GG::TabBar Class Reference

#include <TabWnd.h>

Inheritance diagram for GG::TabBar:
GG::Control GG::Wnd

Public Attributes

TabChangedSignalType TabChangedSignal
 

Static Public Attributes

static const std::size_t NO_TAB
 
static const X BUTTON_WIDTH
 

Signal Types

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

Structors

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

Accessors

virtual Pt MinUsableSize () const
 
bool Empty () const
 
std::size_t NumTabs () const
 
std::size_t CurrentTabIndex () const
 
Clr TextColor () const
 
const ButtonLeftButton () const
 
const ButtonRightButton () const
 

Mutators

virtual void SizeMove (const Pt &ul, const Pt &lr)
 
virtual void Render ()
 
std::size_t AddTab (const std::string &name)
 
void InsertTab (std::size_t index, const std::string &name)
 
void RemoveTab (const std::string &name)
 
void SetCurrentTab (std::size_t index)
 
virtual bool EventFilter (Wnd *w, const WndEvent &event)
 
void RaiseCurrentTabButton ()
 

Additional Inherited Members

- Public Types inherited from GG::Wnd
enum  ChildClippingMode {
  DontClip,
  ClipToClient,
  ClipToWindow,
  ClipToClientAndWindowSeparately
}
 
typedef std::map< const Wnd
*, bool >::iterator 
DropsAcceptableIter
 
- 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 SetColor (Clr c)
 
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 ClientUpperLeft () const
 
virtual Pt ClientLowerRight () 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 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)
 
- Protected Attributes inherited from GG::Control
Clr m_color
 
bool m_disabled
 

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 214 of file TabWnd.h.

Member Typedef Documentation

typedef boost::signal<void (std::size_t)> 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 221 of file TabWnd.h.

Constructor & Destructor Documentation

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

Basic 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 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::TabBar::Empty ( ) const

Returns true iff NumWnds() == 0.

std::size_t GG::TabBar::NumTabs ( ) const

Returns the number of tabs currently in this TabWnd.

std::size_t 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.

Clr GG::TabBar::TextColor ( ) const

Returns the color used to render the text in this TabBar.

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.

std::size_t 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 ( std::size_t  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 ( std::size_t  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 
)
protectedvirtual

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.

void GG::TabBar::RaiseCurrentTabButton ( )
protected

Brings the currently-selected tab button to the top within the tab button group.

Member Data Documentation

const std::size_t GG::TabBar::NO_TAB
static

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

Definition at line 276 of file TabWnd.h.

const X GG::TabBar::BUTTON_WIDTH
static

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

Definition at line 279 of file TabWnd.h.


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