// headers
// ----------------------------------------------------------------------------
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "toplevel.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#include "wx/radiobut.h"
#include "wx/tglbtn.h"
#include "wx/slider.h"
+#include "wx/datectrl.h"
+
+#include <Window.h>
+#include <Form.h>
// ----------------------------------------------------------------------------
// globals
// Pointer to the currently active frame for the form event handler.
wxTopLevelWindowPalm* ActiveParentFrame;
+static Boolean FrameFormHandleEvent(EventType *event);
+
// ============================================================================
// wxTopLevelWindowPalm implementation
// ============================================================================
if(FrameForm==NULL)
return false;
- FrmSetEventHandler(FrameForm,FrameFormHandleEvent);
+ FrmSetEventHandler((FormType *)FrameForm,FrameFormHandleEvent);
- FrmSetActiveForm(FrameForm);
+ FrmSetActiveForm((FormType *)FrameForm);
ActiveParentFrame=this;
WXWINHANDLE wxTopLevelWindowPalm::GetWinHandle() const
{
- FormType *form = GetForm();
+ FormType *form = (FormType *)GetForm();
if(form)
return FrmGetWindowHandle(form);
- return 0;
+ return NULL;
}
// ----------------------------------------------------------------------------
bool wxTopLevelWindowPalm::Show(bool show)
{
- FrmDrawForm(FrameForm);
+ FrmDrawForm((FormType *)FrameForm);
wxPaintEvent event(m_windowId);
event.SetEventObject(this);
void wxTopLevelWindowPalm::DoGetSize( int *width, int *height ) const
{
RectangleType rect;
- FrmGetFormBounds( GetForm() , &rect );
+ FrmGetFormBounds( (FormType *)GetForm() , &rect );
if(width)
*width = rect.extent.x;
if(height)
// wxTopLevelWindowPalm misc
// ----------------------------------------------------------------------------
+void wxTopLevelWindowPalm::SetTitle( const wxString& WXUNUSED(title))
+{
+}
+
+wxString wxTopLevelWindowPalm::GetTitle() const
+{
+ return wxEmptyString;
+}
+
void wxTopLevelWindowPalm::SetIcon(const wxIcon& icon)
{
}
return false;
}
-FormType *wxTopLevelWindowPalm::GetForm() const
+WXFORMPTR wxTopLevelWindowPalm::GetForm() const
{
return FrmGetActiveForm();
}
// wxTopLevelWindow native event handling
// ----------------------------------------------------------------------------
-bool wxTopLevelWindowPalm::HandleControlSelect(EventType* event)
+bool wxTopLevelWindowPalm::HandleControlSelect(WXEVENTPTR event)
{
- int id = event->data.ctlSelect.controlID;
+ const EventType *palmEvent = (EventType *)event;
+ const int id = palmEvent->data.ctlSelect.controlID;
wxWindow* win = FindWindowById(id,this);
if(win==NULL)
return false;
+#if wxUSE_BUTTON
wxButton* button = wxDynamicCast(win,wxButton);
if(button)
return button->SendClickEvent();
+#endif // wxUSE_BUTTON
+#if wxUSE_CHECKBOX
wxCheckBox* checkbox = wxDynamicCast(win,wxCheckBox);
if(checkbox)
return checkbox->SendClickEvent();
+#endif // wxUSE_CHECKBOX
+#if wxUSE_TOGGLEBTN
wxToggleButton* toggle = wxDynamicCast(win,wxToggleButton);
if(toggle)
return toggle->SendClickEvent();
+#endif // wxUSE_TOGGLEBTN
+#if wxUSE_RADIOBTN
wxRadioButton* radio = wxDynamicCast(win,wxRadioButton);
if(radio)
return radio->SendClickEvent();
+#endif // wxUSE_RADIOBTN
+
+#if wxUSE_DATEPICKCTRL
+ wxDatePickerCtrl* datepicker = wxDynamicCast(win,wxDatePickerCtrl);
+ if(datepicker)
+ return datepicker->SendClickEvent();
+#endif // wxUSE_DATEPICKCTRL
+#if wxUSE_SLIDER
wxSlider* slider = wxDynamicCast(win,wxSlider);
if(slider)
return slider->SendUpdatedEvent();
+#endif // wxUSE_SLIDER
return false;
}
-bool wxTopLevelWindowPalm::HandleControlRepeat(EventType* event)
+bool wxTopLevelWindowPalm::HandleControlRepeat(WXEVENTPTR event)
{
- int id = event->data.ctlRepeat.controlID;
+ const EventType *palmEvent = (EventType *)event;
+ const int id = palmEvent->data.ctlRepeat.controlID;
- wxWindow* win = FindWindowById(id,this);
+ wxWindow* win = FindWindowById(id, this);
if(win==NULL)
return false;
+#if wxUSE_SLIDER
wxSlider* slider = wxDynamicCast(win,wxSlider);
if(slider)
return slider->SendScrollEvent(event);
+#endif // wxUSE_SLIDER
return false;
}
-bool wxTopLevelWindowPalm::HandleSize(EventType* event)
+bool wxTopLevelWindowPalm::HandleSize(WXEVENTPTR event)
{
- wxSize newSize(event->data.winResized.newBounds.extent.x,
- event->data.winResized.newBounds.extent.y);
+ const EventType *palmEvent = (EventType *)event;
+ wxSize newSize(palmEvent->data.winResized.newBounds.extent.x,
+ palmEvent->data.winResized.newBounds.extent.y);
wxSizeEvent eventWx(newSize,GetId());
eventWx.SetEventObject(this);
return GetEventHandler()->ProcessEvent(eventWx);
* finds a better solution, please let me know. My email address is
* wbo@freeshell.org
*/
-static Boolean FrameFormHandleEvent(EventType* event)
+static Boolean FrameFormHandleEvent(EventType *event)
{
// frame and tlw point to the same object but they are for convenience
// of calling proper structure withiout later dynamic typcasting