Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

wkgl::StateButton Class Reference

This class implements a state button. More...

#include <StateButton.h>

Inheritance diagram for wkgl::StateButton:

wkgl::AbstractButton wkgl::Control wkgl::Component wkgl::CheckBox wkgl::RadioButton List of all members.

Public Methods

 StateButton (const char *label, int x, int y, int type, int width=AUTOSIZE, int height=AUTOSIZE)
 Creates a new push-button.

void setState (int state)
 Sets the buttons state.

int getState ()
 Returns the buttons state.

BOOL isChecked ()
 Tells if the button is checked.

ULONG getGroup ()
 Returns the number of the group this button belongs to.

void setGroup (ULONG group_num)
 Sets what group this button belongs to.

virtual void setText (const char *label)
 Sets the buttons label.

virtual void setText (String label)
 Set the components text.

virtual BOOL create (Control *parent)
 Specifies the manner in which a particular control is to be created.

virtual void setStyle (LFLAG style, bool extended=false)
 Alters a control's style.

virtual LFLAG getStyle (bool extended=false)
 Gets a control's style.

virtual LRESULT sendEventToParent (UINT message, WPARAM wParam, LPARAM lParam)
 Transmits the given event to the parent.

virtual LRESULT sendEventToChild (HWND child, UINT message, WPARAM wParam, LPARAM lParam)
 Transmits the given event to the child.

virtual LRESULT sendEventToChild (Component *child, UINT message, WPARAM wParam, LPARAM lParam)
 Transmits the given event to the child.

LRESULT sendMessage (UINT msg, WPARAM wParam, LPARAM lParam)
 Sends a message to the underlying control.

virtual BOOL show ()
 Shows the component.

virtual BOOL hide ()
 Hides the component.

virtual void setSize (int width, int height)
 Sets the size of the component.

virtual void setWidth (int width)
 Sets the width of the component.

virtual void setHeight (int height)
 Sets the height of the component.

virtual int getWidth ()
 Gets the width of the component.

virtual int getHeight ()
 Gets the height of the component.

virtual void getText (char *buf, int buf_len=30)
 Returns the component's text.

virtual void getText (String &buf, int buf_len=30)
 Returns the component's text.

virtual int getX ()
 Returns the component's horizontal position.

virtual int getY ()
 Returns the component's vertical position.

virtual void setX (int x)
 Sets the component's horizontal position.

virtual void setY (int y)
 Sets the component's vertical position.

virtual BOOL autoPositionX ()
 Tells whether x coordinate should be auto positioned by layout manager.

virtual BOOL autoPositionY ()
 Tells whether y coordinate should be auto positioned by layout manager.

virtual void setautoPositionX (BOOL a)
 Sets whether x coordinate should be auto positioned by layout manager.

virtual void setautoPositionY (BOOL a)
 Sets whether y coordinate should be auto positioned by layout manager.

virtual void setPosition (int x, int y)
 Sets the component's position.

virtual void setCursor (Cursor *cur)
 Set the cursor that will be used by this window.

virtual CursorgetCursor ()
 Get the cursor that is be used by this window.

virtual WNDCLASSEX getWndClass ()
 Returns the window class structure that represents this window.

virtual StringgetClassName ()
 Returns the window class name of this control.

virtual void paint ()
 Paints the control to the display.

virtual void registerComponent (HWND *hwnd, Component *com)
 Allows this component to recieve top level events.

virtual void registerChild (HWND *hwnd, Component *com)
 Allows this component to propagate an event to the given child.

virtual LRESULT fireChildEvents (UINT message, WPARAM wParam, LPARAM lParam)
 Propagates the events to the appropriate child/children.

virtual ComponentgetParent ()
 Returns a pointer to the parent component.

virtual void setParent (Component *p)
 Sets the components parent.

virtual HINSTANCE getInstance ()
 Returns the instance of the application.

virtual HWND getHwnd ()
 Returns the window handle.

virtual void setHwnd (HWND h)
 Sets the window handle.

virtual void addCallBack (COMCALLBACK callback)
 Adds a callback function.

virtual void addCallBack (CallBack *callback)
 Adds a callback method.

virtual LRESULT fireEvents (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
 Propagates events to all the callback functions.


Static Public Methods

UINT getWndProc ()
 Returns the the address of GlobalProc().


Protected Methods

int calculateWidth (String &label)
 Calculates the size of the button based on the given label.

void createControl (Component *parent, String *classname, String *label, int width, int height, int x, int y, int style, int exstyle)
 Method that does the actual control creation.

void getCharSize ()
 Gets the average width of a character and the height of a character.


Protected Attributes

int type
 The type of this is.

ULONG group
 The number of the group this button belongs to.

bool awidth
 Flag saying whether the button's width is AUTOSIZE.

bool aheight
 Flag saying whether the button's height is AUTOSIZE.

Controlparent
 The parent of the component.

int showstate
 The state of the window when hidden.

int width
 The width of the component in pixels.

int height
 The height of the component in pixels.

int x
 The horizontal position of the panel.

int y
 The vertical position of the panel.

BOOL ax
 Flag saying whether the x is auto positioned.

BOOL ay
 Flag saying whether the y is auto positioned.

Cursorcursor
 The cursor.

String className
 The name of this class.

Stringlabel
 The controls label.

WNDCLASSEX wndclass
 The window class.

DWORD style
 The style of the control.

DWORD exstyle
 The extended style of the control.

HINSTANCE hInstance
 The instance of this application.

HWND hwnd
 The handle to the component.

std::vector< CHILDCOMPONENT > clisteners
 A list of the child components that events are to be passed to.

std::vector< COMCALLBACKcomlisteners
 Stores the callbacks for this component that use functions. Stores the functions given to AddCallBack(). It is used by FireEvents() to notify the callbacks.

std::vector< CallBack * > classlisteners
 Stores the callbacks for this component that come from classes. Stores the functions given to AddCallBack(). It is used by FireEvents() to notify the callbacks.


Static Protected Attributes

TEXTMETRIC finfo
 Information about the font used by the system.


Friends

LRESULT CALLBACK globalProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
 Is used to process all the callback functions.


Detailed Description

This class implements a state button.

Author:
Micheal Nooner
State buttons are buttons like checkboxes, radio buttons, and toggle buttons (not implemented).

A state button's state can be one of the following:


Constructor & Destructor Documentation

StateButton::StateButton const char *    label,
int    x,
int    y,
int    type,
int    width = AUTOSIZE,
int    height = AUTOSIZE
 

Creates a new push-button.

Parameters:
label  the text to associate with the button.
x  how far left to place the button at.
y  how far down to place the button at.
type  the type of button it is. See the class description for details.
width  how wide to make the button (calculated by default).
height  how tall to make the button (calculated by default).


Member Function Documentation

void Component::addCallBack CallBack   callback [virtual, inherited]
 

Adds a callback method.

The callback must be a method from a class that inheirits from CallBack.

Parameters:
callback  the function to call when an event occurs
See also:
FireEvents(), classlisteners

void Component::addCallBack COMCALLBACK    callback [virtual, inherited]
 

Adds a callback function.

Parameters:
callback  the function to call when an event occurs
See also:
FireEvents(), comlisteners

BOOL Control::autoPositionX   [virtual, inherited]
 

Tells whether x coordinate should be auto positioned by layout manager.

Returns:
The value of ax.

BOOL Control::autoPositionY   [virtual, inherited]
 

Tells whether y coordinate should be auto positioned by layout manager.

Returns:
The value of ay.

int AbstractButton::calculateWidth String   label [protected, inherited]
 

Calculates the size of the button based on the given label.

Parameters:
label  the string to use in the calculation.

BOOL AbstractButton::create Control   parent [virtual, inherited]
 

Specifies the manner in which a particular control is to be created.

Parameters:
parent  Not used by this control.
Returns:
TRUE if the control was created, FALSE otherwise.

Implements wkgl::Control.

void Control::createControl Component   parent,
String   classname,
String   label,
int    width,
int    height,
int    x,
int    y,
int    style,
int    exstyle
[protected, inherited]
 

Method that does the actual control creation.

Parameters:
parent  the parent of this component.
label  the text to associate with the button.
classname  the name of the registered class to use (see windows docs).
width  how wide to make the button.
height  how tall to make the button.
x  how far left to place the button at.
y  how far down to place the button at.
style  the style of the button (see windows docs).
exstyle  the extended window style (see windows docs).

LRESULT Component::fireChildEvents UINT    message,
WPARAM    wParam,
LPARAM    lParam
[virtual, inherited]
 

Propagates the events to the appropriate child/children.

Parameters:
message  the windows message to pass to the callback
wParam  the submessage (see windows docs).
lParam  the subparameter (see windows docs).
Returns:
0 if the event was handled otherwise what DefWindowProc returns.
See also:
RegisterChild(), clisteners

Reimplemented in wkgl::Dialog.

LRESULT Component::fireEvents HWND    hwnd,
UINT    message,
WPARAM    wParam,
LPARAM    lParam
[virtual, inherited]
 

Propagates events to all the callback functions.

Parameters:
hwnd  the window handle to the window the events go to.
message  the windows message to pass to the callback.
wParam  the submessage (see windows docs).
lParam  the subparameter (see windows docs).
Returns:
0 if the event was handled otherwise what DefWindowProc returns.
See also:
AddCallBack(), comlisteners

Reimplemented in wkgl::Dialog.

void Control::getCharSize   [protected, inherited]
 

Gets the average width of a character and the height of a character.

String * Control::getClassName   [virtual, inherited]
 

Returns the window class name of this control.

Returns:
the window class name of this control.

Cursor * Control::getCursor   [virtual, inherited]
 

Get the cursor that is be used by this window.

Returns:
The cursor that is be used by this window.

ULONG StateButton::getGroup  
 

Returns the number of the group this button belongs to.

Returns:
The number of the group this button belongs to.

int Control::getHeight   [virtual, inherited]
 

Gets the height of the component.

Returns:
The height of the control.

Reimplemented in wkgl::LayoutManager.

HWND Component::getHwnd   [virtual, inherited]
 

Returns the window handle.

Returns:
the window handle.

HINSTANCE Component::getInstance   [virtual, inherited]
 

Returns the instance of the application.

Returns:
the instance of the application.

Component * Component::getParent   [virtual, inherited]
 

Returns a pointer to the parent component.

Returns:
A pointer to the parent component.

int StateButton::getState  
 

Returns the buttons state.

Returns:
The state of the button, see class description for details.

LFLAG Control::getStyle bool    extended = false [virtual, inherited]
 

Gets a control's style.

Parameters:
extended  If true then style is an extended style
Returns:
The window style.

void Control::getText String   buf,
int    buf_len = 30
[virtual, inherited]
 

Returns the component's text.

Parameters:
buf  Where to place the controls text.
buf_len  the length of the buffer.
Returns:
The controls text

void Control::getText char *    buf,
int    buf_len = 30
[virtual, inherited]
 

Returns the component's text.

Parameters:
buf  Where to place the controls text.
buf_len  the length of the buffer.
Returns:
The controls text

int Control::getWidth   [virtual, inherited]
 

Gets the width of the component.

Returns:
The width of the control.

Reimplemented in wkgl::LayoutManager.

WNDCLASSEX Control::getWndClass   [virtual, inherited]
 

Returns the window class structure that represents this window.

Returns:
The window class structure used to create this window.

UINT Component::getWndProc   [static, inherited]
 

Returns the the address of GlobalProc().

Returns:
the the address of GlobalProc().

int Control::getX   [virtual, inherited]
 

Returns the component's horizontal position.

Returns:
The control's horizontal position.

int Control::getY   [virtual, inherited]
 

Returns the component's vertical position.

Returns:
The control's vertical position.

BOOL Control::hide   [virtual, inherited]
 

Hides the component.

It still may not be hidden if Window::BeginMessageLoop() has not been called yet, or some callback negates this methods effect.

Returns:
whether the control was hidden.

Reimplemented in wkgl::Dialog, and wkgl::Window.

BOOL StateButton::isChecked  
 

Tells if the button is checked.

Returns:
TRUE if GetState returns 1 or 2 otherwise it returns FALSE.

void Control::paint   [virtual, inherited]
 

Paints the control to the display.

void Component::registerChild HWND *    hwnd,
Component   com
[virtual, inherited]
 

Allows this component to propagate an event to the given child.

Parameters:
hwnd  the window handle of the control to register.
com  the control to register.
See also:
CHILDCOMPONENT, clisteners

void Component::registerComponent HWND *    hwnd,
Component   com
[virtual, inherited]
 

Allows this component to recieve top level events.

Parameters:
hwnd  the window handle of the control to register.
com  the control to register.
See also:
AddCallBack(), FireEvents(), GlobalProc()

LRESULT Control::sendEventToChild Component   child,
UINT    message,
WPARAM    wParam,
LPARAM    lParam
[virtual, inherited]
 

Transmits the given event to the child.

Parameters:
child  the child control to send the event to.
message  the windows message to pass to the callback
wParam  the submessage (see windows docs).
lParam  the subparameter (see windows docs).
Returns:
what is returned by the childs FireEvent().
See also:
FireEvents()

LRESULT Control::sendEventToChild HWND    child,
UINT    message,
WPARAM    wParam,
LPARAM    lParam
[virtual, inherited]
 

Transmits the given event to the child.

Parameters:
child  the child control to send the event to.
message  the windows message to pass to the callback
wParam  the submessage (see windows docs).
lParam  the subparameter (see windows docs).
Returns:
what is returned by the childs FireEvent().
See also:
FireEvents()

LRESULT Control::sendEventToParent UINT    message,
WPARAM    wParam,
LPARAM    lParam
[virtual, inherited]
 

Transmits the given event to the parent.

Parameters:
message  the windows message to pass to the callback
wParam  the submessage (see windows docs).
lParam  the subparameter (see windows docs).
Returns:
0 if the event was handled otherwise what DefWindowProc returns.

LRESULT Control::sendMessage UINT    msg,
WPARAM    wParam,
LPARAM    lParam
[inherited]
 

Sends a message to the underlying control.

See the components docs.

void Control::setautoPositionX BOOL    a [virtual, inherited]
 

Sets whether x coordinate should be auto positioned by layout manager.

Parameters:
a  TRUE specifies that the x coordinate should be autopositioned.

void Control::setautoPositionY BOOL    a [virtual, inherited]
 

Sets whether y coordinate should be auto positioned by layout manager.

Parameters:
a  TRUE specifies that the y coordinate should be autopositioned.

void Control::setCursor Cursor   cur [virtual, inherited]
 

Set the cursor that will be used by this window.

void StateButton::setGroup ULONG    group_num
 

Sets what group this button belongs to.

Parameters:
group_num  The identifier of the group to add this button to.

void Control::setHeight int    height [virtual, inherited]
 

Sets the height of the component.

Parameters:
height  the new height of the control.

void Component::setHwnd HWND    h [virtual, inherited]
 

Sets the window handle.

Parameters:
h  The new window handle.

void Component::setParent Component   p [virtual, inherited]
 

Sets the components parent.

Parameters:
p  The new parent of this component.

void Control::setPosition int    x,
int    y
[virtual, inherited]
 

Sets the component's position.

This method is most often used by layout managers to set a control's position without affecting wether x or y's value is AUTOPOS.

Parameters:
x  the horizontal position to place the control.
y  the vertical position to place the control.

Reimplemented in wkgl::LayoutManager.

void Control::setSize int    width,
int    height
[virtual, inherited]
 

Sets the size of the component.

Parameters:
width  the new width of the control.
height  the new height of the control.

void StateButton::setState int    state
 

Sets the buttons state.

Parameters:
state  The message to send.

void Control::setStyle LFLAG    style,
bool    extended = false
[virtual, inherited]
 

Alters a control's style.

Parameters:
style  The new window style to use.
extended  If true then style is an extended style

void Control::setText String    label [virtual, inherited]
 

Set the components text.

Parameters:
label  the text to associate with the button.

void AbstractButton::setText const char *    label [virtual, inherited]
 

Sets the buttons label.

Parameters:
label  the text to set the button's label to.

Reimplemented from wkgl::Control.

void Control::setWidth int    width [virtual, inherited]
 

Sets the width of the component.

Parameters:
width  the new width of the control.

void Control::setX int    x [virtual, inherited]
 

Sets the component's horizontal position.

Parameters:
x  what to set the control's horizontal position to.

void Control::setY int    y [virtual, inherited]
 

Sets the component's vertical position.

Parameters:
y  what to set the control's vertical position to.

BOOL Control::show   [virtual, inherited]
 

Shows the component.

It still may not be shown if Window::BeginMessageLoop() has not been called yet, or some callback negates this methods effect.

Returns:
whether the control was shown.

Reimplemented in wkgl::Dialog, and wkgl::Window.


Friends And Related Function Documentation

LRESULT CALLBACK globalProc HWND    hwnd,
UINT    message,
WPARAM    wParam,
LPARAM    lParam
[friend, inherited]
 

Is used to process all the callback functions.

Parameters:
hwnd  the window handle to the window the events go to
message  the windows message to pass to the callback
wParam  the submessage (see windows docs).
lParam  the subparameter (see windows docs).
Returns:
what the appropriate component's FireEvent() method returns otherwise if returns what DefWindowProc() returns.
See also:
Component::FireEvents


Member Data Documentation

bool wkgl::AbstractButton::aheight [protected, inherited]
 

Flag saying whether the button's height is AUTOSIZE.

bool wkgl::AbstractButton::awidth [protected, inherited]
 

Flag saying whether the button's width is AUTOSIZE.

BOOL wkgl::Control::ax [protected, inherited]
 

Flag saying whether the x is auto positioned.

BOOL wkgl::Control::ay [protected, inherited]
 

Flag saying whether the y is auto positioned.

std::vector< CallBack* > wkgl::Component::classlisteners [protected, inherited]
 

Stores the callbacks for this component that come from classes. Stores the functions given to AddCallBack(). It is used by FireEvents() to notify the callbacks.

See also:
AddCallBack(), FireEvents()

String wkgl::Control::className [protected, inherited]
 

The name of this class.

std::vector< CHILDCOMPONENT > wkgl::Component::clisteners [protected, inherited]
 

A list of the child components that events are to be passed to.

Stores the children who wish to recieve events.

See also:
FireChildEvents(), CHILDCOMPONENT

std::vector< COMCALLBACK > wkgl::Component::comlisteners [protected, inherited]
 

Stores the callbacks for this component that use functions. Stores the functions given to AddCallBack(). It is used by FireEvents() to notify the callbacks.

See also:
AddCallBack(), FireEvents()

Cursor* wkgl::Control::cursor [protected, inherited]
 

The cursor.

DWORD wkgl::Control::exstyle [protected, inherited]
 

The extended style of the control.

Reimplemented in wkgl::Window.

TEXTMETRIC Control::finfo [static, protected, inherited]
 

Information about the font used by the system.

ULONG wkgl::StateButton::group [protected]
 

The number of the group this button belongs to.

int wkgl::Control::height [protected, inherited]
 

The height of the component in pixels.

HINSTANCE wkgl::Component::hInstance [protected, inherited]
 

The instance of this application.

HWND wkgl::Component::hwnd [protected, inherited]
 

The handle to the component.

String* wkgl::Control::label [protected, inherited]
 

The controls label.

Control* wkgl::Control::parent [protected, inherited]
 

The parent of the component.

Reimplemented from wkgl::Component.

int wkgl::Control::showstate [protected, inherited]
 

The state of the window when hidden.

DWORD wkgl::Control::style [protected, inherited]
 

The style of the control.

Reimplemented in wkgl::Window.

int wkgl::StateButton::type [protected]
 

The type of this is.

int wkgl::Control::width [protected, inherited]
 

The width of the component in pixels.

WNDCLASSEX wkgl::Control::wndclass [protected, inherited]
 

The window class.

int wkgl::Control::x [protected, inherited]
 

The horizontal position of the panel.

int wkgl::Control::y [protected, inherited]
 

The vertical position of the panel.


The documentation for this class was generated from the following files:
Generated on Tue Apr 29 03:19:00 2003 for GuiLib by doxygen1.2.18