GG
|
#include <Button.h>
Classes | |
struct | ButtonSlot |
Encapsulates all data pertaining ot a single button in a RadioButtonGroup. More... | |
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) |
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 |
Wnd * | Parent () const |
Wnd * | RootParent () const |
Layout * | GetLayout () const |
Layout * | ContainingLayout () 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) |
virtual void | SizeMove (const Pt &ul, const Pt &lr) |
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 () |
Layout * | DetachLayout () |
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) | |
![]() | |
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 | 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 | 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 | MouseHere (const Pt &pt, Flags< ModKey > mod_keys) |
virtual void | MouseLeave () |
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(std::size_t)> | ButtonChangedSignalType |
Structors | |
RadioButtonGroup (X x, Y y, X w, Y h, Orientation orientation) | |
RadioButtonGroup () |
Accessors | |
ButtonChangedSignalType | ButtonChangedSignal |
virtual Pt | MinUsableSize () const |
Orientation | GetOrientation () const |
bool | Empty () const |
std::size_t | NumButtons () const |
std::size_t | CheckedButton () const |
bool | ExpandButtons () const |
bool | ExpandButtonsProportionally () const |
bool | RenderOutline () const |
const std::vector< ButtonSlot > & | ButtonSlots () const |
Mutators | |
static const std::size_t | NO_BUTTON |
virtual void | Render () |
void | SetCheck (std::size_t index) |
void | DisableButton (std::size_t index, bool b=true) |
void | AddButton (StateButton *bn) |
void | AddButton (const std::string &text, const boost::shared_ptr< Font > &font, Flags< TextFormat > format, Clr color, Clr text_color=CLR_BLACK, Clr interior=CLR_ZERO, StateButtonStyle style=SBSTYLE_3D_RADIO) |
void | InsertButton (std::size_t index, StateButton *bn) |
void | InsertButton (std::size_t index, const std::string &text, const boost::shared_ptr< Font > &font, Flags< TextFormat > format, Clr color, Clr text_color=CLR_BLACK, Clr interior=CLR_ZERO, StateButtonStyle style=SBSTYLE_3D_RADIO) |
void | RemoveButton (StateButton *button) |
void | ExpandButtons (bool expand) |
void | ExpandButtonsProportionally (bool proportional) |
void | RenderOutline (bool render_outline) |
void | RaiseCheckedButton () |
Additional Inherited Members | |
![]() | |
Clr | m_color |
bool | m_disabled |
![]() | |
bool | m_done |
This is a class that encapsulates multiple GG::StateButtons into a single radio-button control.
RadioButtonGroup emits a signal whenever its currently-checked button changes. The signal indicates which button has been pressed, by passing the index of the button; the currently-checked button index is NO_BUTTON when no button is checked. Any StateButton-derived controls can be used in a RadioButtonGroup.
|
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.
Orientation GG::RadioButtonGroup::GetOrientation | ( | ) | const |
Returns the orientation of the buttons in the group
bool GG::RadioButtonGroup::Empty | ( | ) | const |
Returns true iff NumButtons() == 0
std::size_t GG::RadioButtonGroup::NumButtons | ( | ) | const |
Returns the number of buttons in this control
std::size_t GG::RadioButtonGroup::CheckedButton | ( | ) | const |
Returns the index of the currently checked button, or NO_BUTTON if none are checked
bool GG::RadioButtonGroup::ExpandButtons | ( | ) | const |
Returns true iff the buttons in the group are to be expanded to fill the group's available space. If false, this indicates that the buttons are to be spaced out evenly, and that they should all be their MinUsableSize()s.
bool GG::RadioButtonGroup::ExpandButtonsProportionally | ( | ) | const |
Returns true iff the buttons in the group are to be expanded in proportion to their initial sizes. If false, this indicates that the buttons are to be expanded evenly. Note that this has no effect if ExpandButtons() is false.
bool GG::RadioButtonGroup::RenderOutline | ( | ) | const |
Returns true iff this button group will render an outline of itself; this is sometimes useful for debugging purposes
|
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.
void GG::RadioButtonGroup::SetCheck | ( | std::size_t | index | ) |
Checks the index-th button, and unchecks all others. If there is no index-th button, they are all unchecked, and the currently-checked button index is set to NO_BUTTON.
void GG::RadioButtonGroup::DisableButton | ( | std::size_t | index, |
bool | b = true |
||
) |
Disables (with b == true) or enables (with b == false) the index-th button, if it exists. If the button exists, is being disabled, and is the one currently checked, the currently-checked button index is set to NO_BUTTON.
void GG::RadioButtonGroup::AddButton | ( | StateButton * | bn | ) |
Adds a button to the end of the group.
void GG::RadioButtonGroup::AddButton | ( | const std::string & | text, |
const boost::shared_ptr< Font > & | font, | ||
Flags< TextFormat > | format, | ||
Clr | color, | ||
Clr | text_color = CLR_BLACK , |
||
Clr | interior = CLR_ZERO , |
||
StateButtonStyle | style = SBSTYLE_3D_RADIO |
||
) |
creates a StateButton from the given parameters and adds it to the end of the group.
void GG::RadioButtonGroup::InsertButton | ( | std::size_t | index, |
StateButton * | bn | ||
) |
Adds a button to the group at position index. index must be in the range [0, NumButtons()].
void GG::RadioButtonGroup::InsertButton | ( | std::size_t | index, |
const std::string & | text, | ||
const boost::shared_ptr< Font > & | font, | ||
Flags< TextFormat > | format, | ||
Clr | color, | ||
Clr | text_color = CLR_BLACK , |
||
Clr | interior = CLR_ZERO , |
||
StateButtonStyle | style = SBSTYLE_3D_RADIO |
||
) |
Creates a StateButton from the given parameters and adds it to the group at position index. index must be in the range [0, NumButtons()].
void GG::RadioButtonGroup::RemoveButton | ( | StateButton * | button | ) |
Removes button from the group. If button is at index i, and is the currently-checked button, the currently-checked button index is set to NO_BUTTON. If the currently-checked button is after i, the currently-checked button index will be decremented. In either case, a ButtonChangedSignal will be emitted. Note that this causes the layout to relinquish responsibility for wnd's memory management.
void GG::RadioButtonGroup::ExpandButtons | ( | bool | expand | ) |
Set this to true if the buttons in the group are to be expanded to fill the group's available space. If set to false, the buttons are to be spaced out evenly, and they will all be at least their MinUsableSize()s.
void GG::RadioButtonGroup::ExpandButtonsProportionally | ( | bool | proportional | ) |
Set this to true if the buttons in the group are to be expanded in proportion to their initial sizes. If set to false, this indicates that the buttons are to be expanded evenly. Note that this has no effect if ExpandButtons() is false.
void GG::RadioButtonGroup::RenderOutline | ( | bool | render_outline | ) |
Set this to true if this button group should render an outline of itself; this is sometimes useful for debugging purposes
void GG::RadioButtonGroup::RaiseCheckedButton | ( | ) |
Raises the currently-selected button to the top of the child z-order. If there is no currently-selected button, no action is taken.
|
static |