GG
Public Types
GG::Button Class Reference

#include <Button.h>

Inheritance diagram for GG::Button:
GG::TextControl GG::Control GG::Wnd GG::ColorDlg::ColorButton

List of all members.

Public Types

enum  ButtonState {
  BN_PRESSED,
  BN_UNPRESSED,
  BN_ROLLOVER
}
 TextControl (X x, Y y, X w, Y h, const std::string &str, const boost::shared_ptr< Font > &font, Clr color=CLR_BLACK, Flags< TextFormat > format=FORMAT_NONE, Flags< WndFlag > flags=Flags< WndFlag >())
 TextControl (X x, Y y, const std::string &str, const boost::shared_ptr< Font > &font, Clr color=CLR_BLACK, Flags< TextFormat > format=FORMAT_NONE, Flags< WndFlag > flags=Flags< WndFlag >())
virtual Pt MinUsableSize () const
const std::string & Text () const
Flags< TextFormat > GetTextFormat () const
Clr TextColor () const
bool ClipText () const
bool SetMinSize () const
template<class T >
void operator>> (T &t) const
template<class T >
GetValue () const
 operator const std::string & () const
bool Empty () const
CPSize Length () const
Pt TextUpperLeft () const
Pt TextLowerRight () const
virtual void SetText (const std::string &str)
virtual void SizeMove (const Pt &ul, const Pt &lr)
void SetTextFormat (Flags< TextFormat > format)
void SetTextColor (Clr color)
void ClipText (bool b)
void SetMinSize (bool b)
template<class T >
void operator<< (T t)
void operator+= (const std::string &s)
void operator+= (char c)
void Clear ()
void Insert (CPSize pos, char c)
void Insert (CPSize pos, const std::string &s)
void Erase (CPSize pos, CPSize num=CP1)
void Insert (std::size_t line, CPSize pos, char c)
void Insert (std::size_t line, CPSize pos, const std::string &s)
void Erase (std::size_t line, CPSize pos, CPSize num=CP1)
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)
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)
 TextControl ()
const std::vector
< Font::LineData > & 
GetLineData () const
const boost::shared_ptr< Font > & GetFont () const
bool FitToText () const
- 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)
 Wnd ()
 Wnd (X x, Y y, X w, Y h, Flags< WndFlag > flags=INTERACTIVE|DRAGABLE)
DragDropRenderingState GetDragDropRenderingState () const
virtual void LDoubleClick (const Pt &pt, Flags< ModKey > mod_keys)
virtual void MButtonDown (const Pt &pt, Flags< ModKey > mod_keys)
virtual void MDrag (const Pt &pt, const Pt &move, Flags< ModKey > mod_keys)
virtual void MButtonUp (const Pt &pt, Flags< ModKey > mod_keys)
virtual void MClick (const Pt &pt, Flags< ModKey > mod_keys)
virtual void MDoubleClick (const Pt &pt, Flags< ModKey > mod_keys)
virtual void RButtonDown (const Pt &pt, Flags< ModKey > mod_keys)
virtual void RDrag (const Pt &pt, const Pt &move, Flags< ModKey > mod_keys)
virtual void RButtonUp (const Pt &pt, Flags< ModKey > mod_keys)
virtual void RClick (const Pt &pt, Flags< ModKey > mod_keys)
virtual void RDoubleClick (const Pt &pt, Flags< ModKey > mod_keys)
virtual void MouseEnter (const Pt &pt, Flags< ModKey > mod_keys)
virtual void DragDropEnter (const Pt &pt, const std::map< Wnd *, Pt > &drag_drop_wnds, Flags< ModKey > mod_keys)
virtual void DragDropHere (const Pt &pt, const std::map< Wnd *, Pt > &drag_drop_wnds, Flags< ModKey > mod_keys)
virtual void DragDropLeave ()
virtual void GainingFocus ()
virtual void LosingFocus ()
virtual void TimerFiring (unsigned int ticks, Timer *timer)
virtual bool EventFilter (Wnd *w, const WndEvent &event)
void HandleEvent (const WndEvent &event)
void ForwardEventToParent ()
void BeginClipping ()
void EndClipping ()
void BeginNonclientClipping ()
void EndNonclientClipping ()

Signal Types

typedef boost::signal< void()> ClickedSignalType

Structors

 Button (X x, Y y, X w, Y h, const std::string &str, const boost::shared_ptr< Font > &font, Clr color, Clr text_color=CLR_BLACK, Flags< WndFlag > flags=INTERACTIVE)
 Button ()

Accessors

ClickedSignalType ClickedSignal
ButtonState State () const
const SubTextureUnpressedGraphic () const
const SubTexturePressedGraphic () const
const SubTextureRolloverGraphic () const

Mutators

virtual void Render ()
virtual void SetColor (Clr c)
void SetState (ButtonState state)
void SetUnpressedGraphic (const SubTexture &st)
void SetPressedGraphic (const SubTexture &st)
void SetRolloverGraphic (const SubTexture &st)
virtual void LButtonDown (const Pt &pt, Flags< ModKey > mod_keys)
virtual void LDrag (const Pt &pt, const Pt &move, Flags< ModKey > mod_keys)
virtual void LButtonUp (const Pt &pt, Flags< ModKey > mod_keys)
virtual void LClick (const Pt &pt, Flags< ModKey > mod_keys)
virtual void MouseHere (const Pt &pt, Flags< ModKey > mod_keys)
virtual void MouseLeave ()
virtual void RenderUnpressed ()
virtual void RenderPressed ()
virtual void RenderRollover ()

Additional Inherited Members


Detailed Description

This is a basic button control.

Has three states: BN_UNPRESSED, BN_PRESSED, and BN_ROLLOVER. BN_ROLLOVER is when the cursor "rolls over" the button, without depressing it, allowing rollover effects on the button. To create a bitmap button, simply set the unpressed, pressed, and/or rollover graphics to the desired SubTextures.

See also:
GG::SubTexture

Definition at line 47 of file Button.h.


Member Enumeration Documentation

the states of being for a GG::Button

Enumerator:
BN_PRESSED 

The button is being pressed by the user, and the cursor is over the button.

BN_UNPRESSED 

The button is unpressed.

BN_ROLLOVER 

The button has the cursor over it, but is unpressed.

Definition at line 51 of file Button.h.


Member Function Documentation

ButtonState GG::Button::State ( ) const

Returns button state

See also:
ButtonState
virtual void GG::Button::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::TextControl.

void GG::Button::SetState ( ButtonState  state)

Sets button state programmatically

See also:
ButtonState
virtual void GG::Button::LButtonDown ( const Pt pt,
Flags< ModKey >  mod_keys 
)
protectedvirtual

Respond to left button down msg. A window receives this whenever any input device button changes from up to down while over the window.

Note:
If this Wnd was created with the REPEAT_BUTTON_DOWN flag, this method may be called multiple times during a single button press-release cycle.
See also:
GG::GUI

Reimplemented from GG::Wnd.

virtual void GG::Button::LDrag ( const Pt pt,
const Pt move,
Flags< ModKey >  mod_keys 
)
protectedvirtual

Respond to left button drag msg (even if this Wnd is not dragable). Drag messages are only sent to the window over which the button was pressed at the beginning of the drag. A window receives this whenever any input device button is down and the cursor is moving while over the window. The window will also receive drag messages when the mouse is being dragged outside the window's area.

Reimplemented from GG::Wnd.

virtual void GG::Button::LButtonUp ( const Pt pt,
Flags< ModKey >  mod_keys 
)
protectedvirtual

Respond to release of left mouse button outside this Wnd, if it was originally depressed over this Wnd. A Wnd will receive an LButtonUp() message whenever a drag that started over its area ends, even if the cursor is not currently over the window when this happens.

Reimplemented from GG::Wnd.

virtual void GG::Button::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::Button::MouseHere ( const Pt pt,
Flags< ModKey >  mod_keys 
)
protectedvirtual

Respond to cursor moving about within the Wnd, or to cursor lingering within the Wnd for a long period of time. A MouseHere() message will not be generated the first time the cursor enters the window's area. In that case, a MouseEnter() message is generated.

Reimplemented from GG::Wnd.

virtual void GG::Button::MouseLeave ( )
protectedvirtual

Respond to cursor leaving window's coords.

Reimplemented from GG::Wnd.


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