+bool wxTopLevelWindowPalm::HandleControlSelect(WXEVENTPTR event)
+{
+ 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(WXEVENTPTR event)
+{
+ const EventType *palmEvent = (EventType *)event;
+ const int id = palmEvent->data.ctlRepeat.controlID;
+
+ 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(WXEVENTPTR event)
+{
+ 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);
+}
+