]> git.saurik.com Git - wxWidgets.git/blob - src/qt/control.cpp
Removed default parameter setting for wxHtmlHelpControler::AddBook causing
[wxWidgets.git] / src / qt / control.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name:        control.cpp
3 // Purpose:     wxControl class
4 // Author:      AUTHOR
5 // Modified by:
6 // Created:     ??/??/98
7 // RCS-ID:      $Id$
8 // Copyright:   (c) AUTHOR
9 // Licence:     wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifdef __GNUG__
13 #pragma implementation "control.h"
14 #endif
15
16 #include "wx/control.h"
17
18 #if !USE_SHARED_LIBRARY
19 IMPLEMENT_ABSTRACT_CLASS(wxControl, wxWindow)
20
21 BEGIN_EVENT_TABLE(wxControl, wxWindow)
22 END_EVENT_TABLE()
23 #endif
24
25 // Item members
26 wxControl::wxControl()
27 {
28     m_backgroundColour = *wxWHITE;
29     m_foregroundColour = *wxBLACK;
30     m_callback = 0;
31 }
32
33 wxControl::~wxControl()
34 {
35     // If we delete an item, we should initialize the parent panel,
36     // because it could now be invalid.
37     wxWindow *parent = (wxWindow *)GetParent();
38     if (parent)
39     {
40         if (parent->GetDefaultItem() == this)
41             parent->SetDefaultItem(NULL);
42     }
43 }
44
45 void wxControl::SetLabel(const wxString& label)
46 {
47     // TODO
48 }
49
50 wxString wxControl::GetLabel() const
51 {
52     // TODO
53     return wxString("");
54 }
55
56 /*
57  * Allocates control IDs within the appropriate range
58  */
59
60 int NewControlId()
61 {
62     static int s_controlId = 0;
63     s_controlId ++;
64     return s_controlId;
65 }
66
67 void wxControl::ProcessCommand (wxCommandEvent & event)
68 {
69   // Tries:
70   // 1) A callback function (to become obsolete)
71   // 2) OnCommand, starting at this window and working up parent hierarchy
72   // 3) OnCommand then calls ProcessEvent to search the event tables.
73   if (m_callback)
74     {
75       (void) (*(m_callback)) (*this, event);
76     }
77     else
78     {
79       GetEventHandler()->OnCommand(*this, event);
80     }
81 }
82
83 void wxControl::SetClientSize (int width, int height)
84 {
85   SetSize (-1, -1, width, height);
86 }
87
88 void wxControl::Centre (int direction)
89 {
90   int x, y, width, height, panel_width, panel_height, new_x, new_y;
91
92   wxWindow *parent = (wxWindow *) GetParent ();
93   if (!parent)
94     return;
95
96   parent->GetClientSize (&panel_width, &panel_height);
97   GetSize (&width, &height);
98   GetPosition (&x, &y);
99
100   new_x = x;
101   new_y = y;
102
103   if (direction & wxHORIZONTAL)
104     new_x = (int) ((panel_width - width) / 2);
105
106   if (direction & wxVERTICAL)
107     new_y = (int) ((panel_height - height) / 2);
108
109   SetSize (new_x, new_y, width, height);
110 }
111