]> git.saurik.com Git - wxWidgets.git/blame - src/palmos/spinctrl.cpp
Fix for listbox problem, when created on invisible
[wxWidgets.git] / src / palmos / spinctrl.cpp
CommitLineData
ffecfa5a 1/////////////////////////////////////////////////////////////////////////////
e2731512 2// Name: src/palmos/spinctrl.cpp
ffecfa5a 3// Purpose: wxSpinCtrl class implementation for Palm OS
e2731512 4// Author: William Osborne - minimal working wxPalmOS port
ffecfa5a
JS
5// Modified by:
6// Created: 10/13/04
e2731512 7// RCS-ID: $Id$
ffecfa5a
JS
8// Copyright: (c) William Osborne
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12// ============================================================================
13// declarations
14// ============================================================================
15
16#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
17 #pragma implementation "spinctrlbase.h"
18 #pragma implementation "spinctrl.h"
19#endif
20
21// ----------------------------------------------------------------------------
22// headers
23// ----------------------------------------------------------------------------
24
25// for compilers that support precompilation, includes "wx.h".
26#include "wx/wxprec.h"
27
28#ifdef __BORLANDC__
29 #pragma hdrstop
30#endif
31
32#ifndef WX_PRECOMP
33 #include "wx/wx.h"
34#endif
35
36#if wxUSE_SPINCTRL
37
38#if defined(__WIN95__)
39
40#include "wx/spinctrl.h"
41#include "wx/palmos/private.h"
42
43// ----------------------------------------------------------------------------
44// macros
45// ----------------------------------------------------------------------------
46
47#if wxUSE_EXTENDED_RTTI
48WX_DEFINE_FLAGS( wxSpinCtrlStyle )
49
50wxBEGIN_FLAGS( wxSpinCtrlStyle )
51 // new style border flags, we put them first to
52 // use them for streaming out
53 wxFLAGS_MEMBER(wxBORDER_SIMPLE)
54 wxFLAGS_MEMBER(wxBORDER_SUNKEN)
55 wxFLAGS_MEMBER(wxBORDER_DOUBLE)
56 wxFLAGS_MEMBER(wxBORDER_RAISED)
57 wxFLAGS_MEMBER(wxBORDER_STATIC)
58 wxFLAGS_MEMBER(wxBORDER_NONE)
e2731512 59
ffecfa5a
JS
60 // old style border flags
61 wxFLAGS_MEMBER(wxSIMPLE_BORDER)
62 wxFLAGS_MEMBER(wxSUNKEN_BORDER)
63 wxFLAGS_MEMBER(wxDOUBLE_BORDER)
64 wxFLAGS_MEMBER(wxRAISED_BORDER)
65 wxFLAGS_MEMBER(wxSTATIC_BORDER)
66 wxFLAGS_MEMBER(wxBORDER)
67
68 // standard window styles
69 wxFLAGS_MEMBER(wxTAB_TRAVERSAL)
70 wxFLAGS_MEMBER(wxCLIP_CHILDREN)
71 wxFLAGS_MEMBER(wxTRANSPARENT_WINDOW)
72 wxFLAGS_MEMBER(wxWANTS_CHARS)
73 wxFLAGS_MEMBER(wxFULL_REPAINT_ON_RESIZE)
74 wxFLAGS_MEMBER(wxALWAYS_SHOW_SB )
75 wxFLAGS_MEMBER(wxVSCROLL)
76 wxFLAGS_MEMBER(wxHSCROLL)
77
78 wxFLAGS_MEMBER(wxSP_HORIZONTAL)
79 wxFLAGS_MEMBER(wxSP_VERTICAL)
80 wxFLAGS_MEMBER(wxSP_ARROW_KEYS)
81 wxFLAGS_MEMBER(wxSP_WRAP)
82
83wxEND_FLAGS( wxSpinCtrlStyle )
84
85IMPLEMENT_DYNAMIC_CLASS_XTI(wxSpinCtrl, wxControl,"wx/spinbut.h")
86
87wxBEGIN_PROPERTIES_TABLE(wxSpinCtrl)
88 wxEVENT_RANGE_PROPERTY( Spin , wxEVT_SCROLL_TOP , wxEVT_SCROLL_ENDSCROLL , wxSpinEvent )
89 wxEVENT_PROPERTY( Updated , wxEVT_COMMAND_SPINCTRL_UPDATED , wxCommandEvent )
e2731512 90 wxEVENT_PROPERTY( TextUpdated , wxEVT_COMMAND_TEXT_UPDATED , wxCommandEvent )
ffecfa5a
JS
91 wxEVENT_PROPERTY( TextEnter , wxEVT_COMMAND_TEXT_ENTER , wxCommandEvent )
92
93 wxPROPERTY( ValueString , wxString , SetValue , GetValue , EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) ;
94 wxPROPERTY( Value , int , SetValue, GetValue, 0 , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
95 wxPROPERTY( Min , int , SetMin, GetMin, 0, 0 /*flags*/ , wxT("Helpstring") , wxT("group") )
96 wxPROPERTY( Max , int , SetMax, GetMax, 0 , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
97 wxPROPERTY_FLAGS( WindowStyle , wxSpinCtrlStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
98/*
99 TODO PROPERTIES
100 style wxSP_ARROW_KEYS
101*/
102wxEND_PROPERTIES_TABLE()
103
104wxBEGIN_HANDLERS_TABLE(wxSpinCtrl)
105wxEND_HANDLERS_TABLE()
106
e2731512 107wxCONSTRUCTOR_6( wxSpinCtrl , wxWindow* , Parent , wxWindowID , Id , wxString , ValueString , wxPoint , Position , wxSize , Size , long , WindowStyle )
ffecfa5a
JS
108#else
109IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl, wxControl)
110#endif
111
112BEGIN_EVENT_TABLE(wxSpinCtrl, wxSpinButton)
113 EVT_CHAR(wxSpinCtrl::OnChar)
114
115 EVT_SET_FOCUS(wxSpinCtrl::OnSetFocus)
116
117 EVT_SPIN(-1, wxSpinCtrl::OnSpinChange)
118END_EVENT_TABLE()
119
120#define GetBuddyHwnd() (HWND)(m_hwndBuddy)
121
122// ----------------------------------------------------------------------------
123// constants
124// ----------------------------------------------------------------------------
125
126// the margin between the up-down control and its buddy (can be arbitrary,
127// choose what you like - or may be decide during run-time depending on the
128// font size?)
129static const int MARGIN_BETWEEN = 1;
130
131// ============================================================================
132// implementation
133// ============================================================================
134
135wxArraySpins wxSpinCtrl::ms_allSpins;
136
137/* static */
138wxSpinCtrl *wxSpinCtrl::GetSpinForTextCtrl(WXHWND hwndBuddy)
139{
140 return NULL;
141}
142
143// process a WM_COMMAND generated by the buddy text control
144bool wxSpinCtrl::ProcessTextCommand(WXWORD cmd, WXWORD WXUNUSED(id))
145{
146 return false;
147}
148
149void wxSpinCtrl::OnChar(wxKeyEvent& event)
150{
151}
152
153void wxSpinCtrl::OnSetFocus(wxFocusEvent& event)
154{
155}
156
157// ----------------------------------------------------------------------------
158// construction
159// ----------------------------------------------------------------------------
160
161bool wxSpinCtrl::Create(wxWindow *parent,
162 wxWindowID id,
163 const wxString& value,
164 const wxPoint& pos,
165 const wxSize& size,
166 long style,
167 int min, int max, int initial,
168 const wxString& name)
169{
170 return false;
171}
172
173wxSpinCtrl::~wxSpinCtrl()
174{
175}
176
177// ----------------------------------------------------------------------------
178// wxTextCtrl-like methods
179// ----------------------------------------------------------------------------
180
181void wxSpinCtrl::SetValue(const wxString& text)
182{
183}
184
185int wxSpinCtrl::GetValue() const
186{
187 return 0;
188}
189
190void wxSpinCtrl::SetSelection(long from, long to)
191{
192}
193
194// ----------------------------------------------------------------------------
195// forward some methods to subcontrols
196// ----------------------------------------------------------------------------
197
198bool wxSpinCtrl::SetFont(const wxFont& font)
199{
200 return false;
201}
202
203bool wxSpinCtrl::Show(bool show)
204{
205 return false;
206}
207
208bool wxSpinCtrl::Enable(bool enable)
209{
210 return false;
211}
212
213void wxSpinCtrl::SetFocus()
214{
215}
216
217// ----------------------------------------------------------------------------
218// event processing
219// ----------------------------------------------------------------------------
220
221void wxSpinCtrl::OnSpinChange(wxSpinEvent& eventSpin)
222{
223}
224
225// ----------------------------------------------------------------------------
226// size calculations
227// ----------------------------------------------------------------------------
228
229wxSize wxSpinCtrl::DoGetBestSize() const
230{
231 return wxSize(0,0);
232}
233
234void wxSpinCtrl::DoMoveWindow(int x, int y, int width, int height)
235{
236}
237
238// get total size of the control
239void wxSpinCtrl::DoGetSize(int *x, int *y) const
240{
241}
242
243void wxSpinCtrl::DoGetPosition(int *x, int *y) const
244{
245}
246
247#endif // __WIN95__
248
249#endif
250 // wxUSE_SPINCTRL
251