MWidgets::Widget Class Reference

Base class for all widgets. More...

#include <widget.h>

Inheritance diagram for MWidgets::Widget:

MWidgets::Button MWidgets::CheckBox MWidgets::ComboBox MWidgets::Dialog MWidgets::DockWindow MWidgets::Grid MWidgets::GroupBox MWidgets::Label MWidgets::RadioButton MWidgets::StatusBar MWidgets::TextBox MWidgets::Window List of all members.

Public Member Functions

 Widget ()
 Constructor.
void Create (int x, int y, int w, int h, string caption, string classname, DWORD styles, HWND parent, DWORD stylesex=0)
 Create widgets window.
virtual ~Widget ()
 Destructor.
HWND GetHwnd ()
 Return widgets HWND.
HINSTANCE GetHinstance ()
 Return widgets HINSTANCE.
void Show ()
 Show widget.
void Hide ()
 Hide widget.
void SetText (string text)
 Replace text in widget.
string GetText ()
 Return wigets text.
void DestroyChildWindows ()
 Kill all child widgets.
void SetMenuBar (Menu *pMenu)
 Sets widget menu bar.
void RemoveMenuBar ()
 Removes widgets menu bar.
template<class T>
void SetOnCreateHandler (T *pProcessor, void(T::*EventCallBack)(Widget *sender))
 Create event handler object for OnCreate event;.
virtual void OnCreate ()
 Callback function for create window event.
template<class T>
void SetLeftButtonDownHandler (T *pProcessor, void(T::*EventCallBack)(Widget *sender, int x, int y, DWORD buttonMask))
 Create event handler object for LeftButtonDown event;.
virtual void OnLeftButtonDown (int x, int y, DWORD buttonMask)
 Callback function for left mouse button down event.
template<class T>
void SetRightButtonDownHandler (T *pProcessor, void(T::*EventCallBack)(Widget *sender, int x, int y, DWORD buttonMask))
 Create event handler object for RightButtonDown event;.
virtual void OnRightButtonDown (int x, int y, DWORD buttonMask)
 Callback function for right mouse button down event.
template<class T>
void SetOnSizeHandler (T *pProcessor, void(T::*EventCallBack)(Widget *sender))
 Create event handler object for OnSize event;.
virtual void OnSize (int left, int top, int right, int bottom)
 Virtual callback function for size event.
void Enable (BOOL bEnable)
 Enable/Disable widget.
bool IsDestroyed ()
 Return true if widgets window is destroyed.
void Destroy ()
 Destroy widgets window.
void SetHotKey (UINT fsModifiers, UINT vk, BaseEventHandler *pEventHandler)
 Create event handler for hot key event;.
template<class T>
void SetHotKey (UINT fsModifiers, UINT vk, T *pProcessor, void(T::*EventCallBack)(Widget *sender))
 Create event handler for hot key event;.
virtual WIDGET_TYPE GetType ()=0
 Return class's identifier like WINDOW or BUTTON.
HWND GetParent ()
 Return widgets parent.
void Move (int x, int y)
 Move widget.
void Size (int w, int h)
 Resize window.

Static Public Member Functions

static LRESULT CALLBACK WindowProcedure (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
 Controls window procedure.

Protected Member Functions

virtual LRESULT OnMessage (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
 Message processing procedure for control.
virtual void OnCommand (WORD code, WORD id)
 Process WM_COMMAND codes from controls.
void ProcessMenu (WORD id)
 Process menu messages.
void ProcessAccelerators (WORD id)
 Process accelerators messages.
void ProcessHotKey (WORD id)
 Process hotkeys messages.

Static Protected Member Functions

static WidgetGetObjectFromHwnd (HWND hWnd)
 Convert userdata associated with specifiend window to Widget object.
static BOOL CALLBACK DestroyChildProc (HWND hwnd, LPARAM lParam)
 Callback function for EnumChildProc from DestroyChildWindows.

Protected Attributes

HWND m_hWnd
 Table's window HWND.
HINSTANCE m_hInstance
 Application's Instance.
WNDPROC m_prevWndProc
 Real windows procedure for subclassing.
HMENU m_hContextMenu
 Handle to current context menu.
std::map< std::string, UINT > m_mapHotKeyIds
 Map of hotkeys keys and ids.
std::map< UINT, BaseEventHandler * > m_mapHotKeyHendles
 Map of hotkeys id and event handler.
BaseEventHandlerm_pOnCreateHandler
 Create window event handler.
BaseEventHandlerm_pOnLButtonDownHandler
 Left mouse button down handler.
BaseEventHandlerm_pOnRButtonDownHandler
 Right mouse button down handler.
BaseEventHandlerm_pOnSizeHandler
 OnSize event handler.

Friends

class ContextMenu

Detailed Description

Base class for all widgets.

Definition at line 30 of file widget.h.


Constructor & Destructor Documentation

MWidgets::Widget::Widget (  ) 

Constructor.

Definition at line 133 of file widget.cpp.

References m_hContextMenu, m_hInstance, m_hWnd, m_pOnCreateHandler, m_pOnLButtonDownHandler, m_pOnRButtonDownHandler, m_pOnSizeHandler, and m_prevWndProc.

MWidgets::Widget::~Widget (  )  [virtual]

Destructor.

Definition at line 18 of file widget.cpp.

References MWidgets::Widgets::DelWidget(), MWidgets::Widgets::Instance(), m_hWnd, m_mapHotKeyHendles, m_pOnCreateHandler, m_pOnLButtonDownHandler, and m_pOnRButtonDownHandler.


Member Function Documentation

void MWidgets::Widget::Create ( int  x,
int  y,
int  w,
int  h,
string  caption,
string  classname,
DWORD  styles,
HWND  parent,
DWORD  stylesex = 0 
)

Create widgets window.

Parameters:
w new widget's width.
h new widget's height.
caption new widget's caption.
styles widget's(Window Styles) styles.

Definition at line 153 of file widget.cpp.

References MWidgets::Widgets::AddWidget(), CATCHEXCEPT, EXCEPT, MWidgets::Widgets::Instance(), m_hContextMenu, m_hInstance, m_hWnd, m_prevWndProc, and WindowProcedure().

Referenced by MWidgets::Window::Create(), MWidgets::TextBox::Create(), MWidgets::StatusBar::Create(), MWidgets::RadioButton::Create(), MWidgets::Label::Create(), MWidgets::GroupBox::Create(), MWidgets::Grid::Create(), MWidgets::DockWindow::Create(), MWidgets::Dialog::Create(), MWidgets::ComboBox::Create(), MWidgets::CheckBox::Create(), and MWidgets::Button::Create().

void MWidgets::Widget::Destroy (  ) 

Destroy widgets window.

Definition at line 146 of file widget.cpp.

References m_hWnd.

BOOL CALLBACK MWidgets::Widget::DestroyChildProc ( HWND  hwnd,
LPARAM  lParam 
) [static, protected]

Callback function for EnumChildProc from DestroyChildWindows.

Parameters:
hwnd [in] Handle to a child window of the parent window specified in EnumChildWindows.
lParam [in] Specifies the application-defined value given in EnumChildWindows.

Definition at line 236 of file widget.cpp.

Referenced by DestroyChildWindows().

void MWidgets::Widget::DestroyChildWindows (  ) 

Kill all child widgets.

Definition at line 243 of file widget.cpp.

References DestroyChildProc(), and m_hWnd.

void MWidgets::Widget::Enable ( BOOL  bEnable  ) 

Enable/Disable widget.

Parameters:
bEnable if equals "true" enable widget.

Definition at line 308 of file widget.cpp.

References m_hWnd.

HINSTANCE MWidgets::Widget::GetHinstance (  ) 

Return widgets HINSTANCE.

Definition at line 194 of file widget.cpp.

References m_hInstance.

HWND MWidgets::Widget::GetHwnd (  ) 

Return widgets HWND.

Definition at line 188 of file widget.cpp.

References m_hWnd.

Referenced by MWidgets::DockWindow::CheckDockPos(), MWidgets::TextBox::Create(), MWidgets::StatusBar::Create(), MWidgets::RadioButton::Create(), MWidgets::Label::Create(), MWidgets::GroupBox::Create(), MWidgets::Grid::Create(), MWidgets::DockWindow::Create(), MWidgets::ComboBox::Create(), MWidgets::CheckBox::Create(), MWidgets::Button::Create(), MWidgets::Window::DockToBottom(), MWidgets::Window::DockToLeft(), MWidgets::Window::DockToRight(), MWidgets::Window::DockToTop(), MWidgets::Dialog::DoModal(), MWidgets::DockWindow::OnMessage(), MWidgets::ContextMenu::TrackMenu(), and MWidgets::Window::UpdateLayout().

Widget * MWidgets::Widget::GetObjectFromHwnd ( HWND  hWnd  )  [static, protected]

Convert userdata associated with specifiend window to Widget object.

Parameters:
hWnd window HWND.

Definition at line 41 of file widget.cpp.

Referenced by MWidgets::Grid::EditWindowProcedure(), OnMessage(), and WindowProcedure().

HWND MWidgets::Widget::GetParent (  ) 

Return widgets parent.

Definition at line 375 of file widget.cpp.

References m_hWnd.

Referenced by MWidgets::RadioButton::SetCheked(), and MWidgets::Grid::TestColRowResizing().

string MWidgets::Widget::GetText (  ) 

Return wigets text.

Definition at line 219 of file widget.cpp.

References m_hWnd.

Referenced by MWidgets::ComboBox::OnMessage().

virtual WIDGET_TYPE MWidgets::Widget::GetType (  )  [pure virtual]

Return class's identifier like WINDOW or BUTTON.

Implemented in MWidgets::Button, MWidgets::CheckBox, MWidgets::ComboBox, MWidgets::Dialog, MWidgets::DockWindow, MWidgets::Grid, MWidgets::GroupBox, MWidgets::Label, MWidgets::RadioButton, MWidgets::StatusBar, MWidgets::TextBox, and MWidgets::Window.

Referenced by MWidgets::DockWindow::Create().

void MWidgets::Widget::Hide (  ) 

Hide widget.

Definition at line 207 of file widget.cpp.

References m_hWnd.

Referenced by MWidgets::Dialog::DoModal().

bool MWidgets::Widget::IsDestroyed (  ) 

Return true if widgets window is destroyed.

Definition at line 313 of file widget.cpp.

References m_hWnd.

void MWidgets::Widget::Move ( int  x,
int  y 
)

Move widget.

Parameters:
x position of the left side of the window, in client coordinates.
y position of the top side of the window, in client coordinates.

Definition at line 388 of file widget.cpp.

References m_hWnd.

void MWidgets::Widget::OnCommand ( WORD  code,
WORD  id 
) [protected, virtual]

Process WM_COMMAND codes from controls.

Parameters:
code notification code.

Reimplemented in MWidgets::Button, MWidgets::CheckBox, MWidgets::ComboBox, MWidgets::RadioButton, and MWidgets::TextBox.

Definition at line 129 of file widget.cpp.

Referenced by OnMessage().

void MWidgets::Widget::OnCreate (  )  [virtual]

Callback function for create window event.

Definition at line 319 of file widget.cpp.

References MWidgets::BaseEventHandler::Call(), and m_pOnCreateHandler.

Referenced by OnMessage().

void MWidgets::Widget::OnLeftButtonDown ( int  x,
int  y,
DWORD  buttonMask 
) [virtual]

Callback function for left mouse button down event.

Parameters:
x coordiate x of mouse.
y coordiate y of mouse.

Definition at line 285 of file widget.cpp.

References MWidgets::BaseEventHandler::Call(), and m_pOnLButtonDownHandler.

Referenced by OnMessage().

LRESULT MWidgets::Widget::OnMessage ( HWND  hWnd,
UINT  message,
WPARAM  wParam,
LPARAM  lParam 
) [protected, virtual]

Message processing procedure for control.

Common procedures for all widgets.

Reimplemented in MWidgets::Button, MWidgets::ComboBox, MWidgets::Dialog, MWidgets::DockWindow, MWidgets::Grid, MWidgets::GroupBox, and MWidgets::Window.

Definition at line 59 of file widget.cpp.

References MWidgets::Widgets::DelWidget(), GetObjectFromHwnd(), MWidgets::Widgets::Instance(), m_hWnd, m_prevWndProc, OnCommand(), OnCreate(), OnLeftButtonDown(), OnRightButtonDown(), OnSize(), ProcessAccelerators(), ProcessHotKey(), and ProcessMenu().

Referenced by MWidgets::Window::OnMessage(), MWidgets::GroupBox::OnMessage(), MWidgets::Grid::OnMessage(), MWidgets::DockWindow::OnMessage(), MWidgets::Dialog::OnMessage(), MWidgets::ComboBox::OnMessage(), MWidgets::Button::OnMessage(), and WindowProcedure().

void MWidgets::Widget::OnRightButtonDown ( int  x,
int  y,
DWORD  buttonMask 
) [virtual]

Callback function for right mouse button down event.

Parameters:
x coordiate x of mouse.
y coordiate y of mouse.

Definition at line 294 of file widget.cpp.

References MWidgets::BaseEventHandler::Call(), and m_pOnRButtonDownHandler.

Referenced by OnMessage().

void MWidgets::Widget::OnSize ( int  left,
int  top,
int  right,
int  bottom 
) [virtual]

Virtual callback function for size event.

Parameters:
left left coordinate of client area.
top top coordinate of client area.
right rightcoordinate of client area.
bottom bottom coordinate of client area.

Reimplemented in MWidgets::Grid.

Definition at line 380 of file widget.cpp.

References MWidgets::BaseEventHandler::Call(), and m_pOnSizeHandler.

Referenced by MWidgets::Window::OnMessage(), and OnMessage().

void MWidgets::Widget::ProcessAccelerators ( WORD  id  )  [protected]

Process accelerators messages.

Parameters:
id accelerators id.

Definition at line 302 of file widget.cpp.

Referenced by OnMessage().

void MWidgets::Widget::ProcessHotKey ( WORD  id  )  [protected]

Process hotkeys messages.

Parameters:
id hotkeys id.

Definition at line 364 of file widget.cpp.

References m_mapHotKeyHendles.

Referenced by OnMessage().

void MWidgets::Widget::ProcessMenu ( WORD  id  )  [protected]

Process menu messages.

Parameters:
id menu item id.

Definition at line 248 of file widget.cpp.

References EXCEPT, m_hContextMenu, and m_hWnd.

Referenced by OnMessage().

void MWidgets::Widget::RemoveMenuBar (  ) 

Removes widgets menu bar.

Definition at line 278 of file widget.cpp.

References m_hWnd.

template<class T>
void MWidgets::Widget::SetHotKey ( UINT  fsModifiers,
UINT  vk,
T *  pProcessor,
void(T::*)(Widget *sender)  EventCallBack 
) [inline]

Create event handler for hot key event;.

Parameters:
fsModifiers Specifies keys that must be pressed in combination with the key specified by the vk parameter;
vk Specifies the virtual-key code of the hot key.
pProcessor object that own EventCallBack; method that realize event handler.

Definition at line 181 of file widget.h.

References SetHotKey().

void MWidgets::Widget::SetHotKey ( UINT  fsModifiers,
UINT  vk,
BaseEventHandler pEventHandler 
)

Create event handler for hot key event;.

Parameters:
fsModifiers Specifies keys that must be pressed in combination with the key specified by the vk parameter;
vk Specifies the virtual-key code of the hot key.
pEventHandler pointer to event handler object.

Definition at line 327 of file widget.cpp.

References MWidgets::Widgets::GetNewId(), MWidgets::Widgets::Instance(), m_hWnd, m_mapHotKeyHendles, and m_mapHotKeyIds.

Referenced by SetHotKey().

template<class T>
void MWidgets::Widget::SetLeftButtonDownHandler ( T *  pProcessor,
void(T::*)(Widget *sender, int x, int y, DWORD buttonMask)  EventCallBack 
) [inline]

Create event handler object for LeftButtonDown event;.

Parameters:
pProcessor object that own EventCallBack; method that realize event handler.

Definition at line 123 of file widget.h.

References m_pOnLButtonDownHandler.

void MWidgets::Widget::SetMenuBar ( Menu pMenu  ) 

Sets widget menu bar.

Parameters:
pMenu pointer to menu object.

Definition at line 271 of file widget.cpp.

References MWidgets::Menu::GetHMENU(), and m_hWnd.

template<class T>
void MWidgets::Widget::SetOnCreateHandler ( T *  pProcessor,
void(T::*)(Widget *sender)  EventCallBack 
) [inline]

Create event handler object for OnCreate event;.

Parameters:
pProcessor object that own EventCallBack; method that realize event handler.

Definition at line 111 of file widget.h.

References m_pOnCreateHandler.

template<class T>
void MWidgets::Widget::SetOnSizeHandler ( T *  pProcessor,
void(T::*)(Widget *sender)  EventCallBack 
) [inline]

Create event handler object for OnSize event;.

Parameters:
pProcessor object that own EventCallBack; method that realize event handler.

Definition at line 151 of file widget.h.

References m_pOnSizeHandler.

template<class T>
void MWidgets::Widget::SetRightButtonDownHandler ( T *  pProcessor,
void(T::*)(Widget *sender, int x, int y, DWORD buttonMask)  EventCallBack 
) [inline]

Create event handler object for RightButtonDown event;.

Parameters:
pProcessor object that own EventCallBack; method that realize event handler.

Definition at line 137 of file widget.h.

References m_pOnRButtonDownHandler.

void MWidgets::Widget::SetText ( string  text  ) 

Replace text in widget.

Parameters:
text new text.

Definition at line 213 of file widget.cpp.

References m_hWnd.

void MWidgets::Widget::Show (  ) 

Show widget.

Definition at line 200 of file widget.cpp.

References m_hWnd.

Referenced by MWidgets::Dialog::DoModal().

void MWidgets::Widget::Size ( int  w,
int  h 
)

Resize window.

Parameters:
w new width of the window, in pixels.
h new height of the window, in pixels.

Definition at line 393 of file widget.cpp.

References m_hWnd.

LRESULT CALLBACK MWidgets::Widget::WindowProcedure ( HWND  hWnd,
UINT  message,
WPARAM  wParam,
LPARAM  lParam 
) [static]

Controls window procedure.

Definition at line 47 of file widget.cpp.

References GetObjectFromHwnd(), and OnMessage().

Referenced by Create(), and MWidgets::Widgets::Init().


Friends And Related Function Documentation

friend class ContextMenu [friend]

Definition at line 50 of file widget.h.


Member Data Documentation

HMENU MWidgets::Widget::m_hContextMenu [protected]

Handle to current context menu.

Definition at line 36 of file widget.h.

Referenced by Create(), ProcessMenu(), MWidgets::ContextMenu::TrackMenu(), and Widget().

HINSTANCE MWidgets::Widget::m_hInstance [protected]

Application's Instance.

Definition at line 34 of file widget.h.

Referenced by Create(), MWidgets::Grid::Create(), MWidgets::Button::Create(), GetHinstance(), and Widget().

HWND MWidgets::Widget::m_hWnd [protected]

Table's window HWND.

Definition at line 33 of file widget.h.

Referenced by MWidgets::StatusBar::AddPart(), MWidgets::ComboBox::AddString(), MWidgets::ComboBox::Clear(), Create(), MWidgets::StatusBar::Create(), MWidgets::Grid::Create(), MWidgets::DockWindow::Create(), MWidgets::Button::Create(), MWidgets::ComboBox::DelString(), Destroy(), DestroyChildWindows(), MWidgets::Window::DockToBottom(), MWidgets::Window::DockToLeft(), MWidgets::Window::DockToRight(), MWidgets::Window::DockToTop(), MWidgets::Dialog::DoModal(), MWidgets::Grid::Draw(), MWidgets::DockWindow::DrawGripper(), Enable(), MWidgets::Grid::EnsureVisible(), MWidgets::Window::GetBottomWidth(), MWidgets::RadioButton::GetCheked(), MWidgets::CheckBox::GetCheked(), GetHwnd(), MWidgets::ComboBox::GetItemsCount(), MWidgets::Window::GetLeftHeight(), GetParent(), MWidgets::Window::GetRightHeight(), GetText(), MWidgets::Window::GetTopWidth(), Hide(), IsDestroyed(), Move(), OnMessage(), MWidgets::GroupBox::OnMessage(), MWidgets::Grid::OnMessage(), MWidgets::DockWindow::OnMessage(), MWidgets::Button::OnMessage(), ProcessMenu(), MWidgets::Grid::RecalculateVisibles(), MWidgets::Grid::Refresh(), RemoveMenuBar(), MWidgets::Grid::ResizeToAlignCol(), MWidgets::Grid::ResizeToMaxSize(), MWidgets::Grid::ResizeToMinSize(), MWidgets::RadioButton::SetCheked(), MWidgets::CheckBox::SetCheked(), SetHotKey(), MWidgets::Button::SetImage(), SetMenuBar(), MWidgets::StatusBar::SetPartText(), MWidgets::Button::SetPressed(), SetText(), Show(), Size(), MWidgets::Window::UpdateLayout(), Widget(), and ~Widget().

std::map<UINT,BaseEventHandler*> MWidgets::Widget::m_mapHotKeyHendles [protected]

Map of hotkeys id and event handler.

Definition at line 38 of file widget.h.

Referenced by ProcessHotKey(), SetHotKey(), and ~Widget().

std::map<std::string,UINT> MWidgets::Widget::m_mapHotKeyIds [protected]

Map of hotkeys keys and ids.

Definition at line 37 of file widget.h.

Referenced by SetHotKey().

BaseEventHandler* MWidgets::Widget::m_pOnCreateHandler [protected]

Create window event handler.

Definition at line 42 of file widget.h.

Referenced by OnCreate(), SetOnCreateHandler(), Widget(), and ~Widget().

BaseEventHandler* MWidgets::Widget::m_pOnLButtonDownHandler [protected]

Left mouse button down handler.

Definition at line 44 of file widget.h.

Referenced by OnLeftButtonDown(), SetLeftButtonDownHandler(), Widget(), and ~Widget().

BaseEventHandler* MWidgets::Widget::m_pOnRButtonDownHandler [protected]

Right mouse button down handler.

Definition at line 46 of file widget.h.

Referenced by OnRightButtonDown(), SetRightButtonDownHandler(), Widget(), and ~Widget().

BaseEventHandler* MWidgets::Widget::m_pOnSizeHandler [protected]

OnSize event handler.

Definition at line 48 of file widget.h.

Referenced by OnSize(), SetOnSizeHandler(), Widget(), and MWidgets::Window::~Window().

WNDPROC MWidgets::Widget::m_prevWndProc [protected]

Real windows procedure for subclassing.

Definition at line 35 of file widget.h.

Referenced by Create(), OnMessage(), and Widget().


The documentation for this class was generated from the following files:
Generated on Thu Oct 26 13:47:46 2006 for MWidgets by  doxygen 1.4.7