Native PalmOS wxControl and wxButton implementation. wxTLW without fixed size. Unused MSW code cleaning.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Włodzimierz Skiba 2005-01-24 07:38:52 +00:00
parent 5125ea1f83
commit db101bd352
15 changed files with 139 additions and 202 deletions

View File

@ -113,6 +113,7 @@ wxPalmOS:
- native wxProgressDialog implementation - native wxProgressDialog implementation
- native wxColourDialog implementation - native wxColourDialog implementation
- native wxSystemSettings colours - native wxSystemSettings colours
- native wxButton implementation
2.5.3 2.5.3

View File

@ -94,6 +94,8 @@ protected:
#include "wx/cocoa/button.h" #include "wx/cocoa/button.h"
#elif defined(__WXPM__) #elif defined(__WXPM__)
#include "wx/os2/button.h" #include "wx/os2/button.h"
#elif defined(__WXPALMOS__)
#include "wx/palmos/button.h"
#endif #endif
#endif // wxUSE_BUTTON #endif // wxUSE_BUTTON

View File

@ -2,10 +2,10 @@
// Name: wx/palmos/button.h // Name: wx/palmos/button.h
// Purpose: wxButton class // Purpose: wxButton class
// Author: William Osborne - minimal working wxPalmOS port // Author: William Osborne - minimal working wxPalmOS port
// Modified by: // Modified by: Wlodzimierz ABX Skiba - native wxButton implementation
// Created: 10/13/04 // Created: 10/13/04
// RCS-ID: $Id$ // RCS-ID: $Id$
// Copyright: (c) William Osborne // Copyright: (c) William Osborne, Wlodzimierz Skiba
// Licence: wxWindows licence // Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
@ -26,7 +26,7 @@ public:
wxButton() { } wxButton() { }
wxButton(wxWindow *parent, wxButton(wxWindow *parent,
wxWindowID id, wxWindowID id,
const wxString& label, const wxString& label = wxEmptyString,
const wxPoint& pos = wxDefaultPosition, const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, const wxSize& size = wxDefaultSize,
long style = 0, long style = 0,
@ -51,7 +51,6 @@ public:
// implementation from now on // implementation from now on
virtual void Command(wxCommandEvent& event); virtual void Command(wxCommandEvent& event);
virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
virtual bool MSWCommand(WXUINT param, WXWORD id); virtual bool MSWCommand(WXUINT param, WXWORD id);
virtual void ApplyParentThemeBackground(const wxColour& bg) virtual void ApplyParentThemeBackground(const wxColour& bg)

View File

@ -44,6 +44,11 @@ public:
// Simulates an event // Simulates an event
virtual void Command(wxCommandEvent& event) { ProcessCommand(event); } virtual void Command(wxCommandEvent& event) { ProcessCommand(event); }
virtual bool Enable( bool enable = true );
virtual bool IsEnabled() const;
virtual bool Show( bool show = true );
virtual bool IsShown() const;
// implementation from now on // implementation from now on
// -------------------------- // --------------------------
@ -59,15 +64,6 @@ public:
// Calls the callback and appropriate event handlers // Calls the callback and appropriate event handlers
bool ProcessCommand(wxCommandEvent& event); bool ProcessCommand(wxCommandEvent& event);
// MSW-specific
#ifdef __WIN95__
virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
#endif // Win95
// For ownerdraw items
virtual bool MSWOnDraw(WXDRAWITEMSTRUCT *WXUNUSED(item)) { return FALSE; };
virtual bool MSWOnMeasure(WXMEASUREITEMSTRUCT *WXUNUSED(item)) { return FALSE; };
const wxArrayLong& GetSubcontrols() const { return m_subControls; } const wxArrayLong& GetSubcontrols() const { return m_subControls; }
void OnEraseBackground(wxEraseEvent& event); void OnEraseBackground(wxEraseEvent& event);
@ -82,38 +78,17 @@ protected:
// return default best size (doesn't really make any sense, override this) // return default best size (doesn't really make any sense, override this)
virtual wxSize DoGetBestSize() const; virtual wxSize DoGetBestSize() const;
// create the control of the given Windows class: this is typically called // create the control of the given ControlStyleType: this is typically called
// from Create() method of the derived class passing its label, pos and // from Create() method of the derived class passing its label, pos and
// size parameter (style parameter is not needed because m_windowStyle is // size parameter (style parameter is not needed because m_windowStyle is
// supposed to had been already set and so is used instead when this // supposed to had been already set and so is used instead when this
// function is called) // function is called)
bool MSWCreateControl(const wxChar *classname, bool PalmCreateControl(ControlStyleType style,
const wxString& label, wxWindow *parent,
const wxPoint& pos, wxWindowID id,
const wxSize& size); const wxString& label,
const wxPoint& pos,
// NB: the method below is deprecated now, with MSWGetStyle() the method const wxSize& size);
// above should be used instead! Once all the controls are updated to
// implement MSWGetStyle() this version will disappear.
//
// create the control of the given class with the given style (combination
// of WS_XXX flags, i.e. Windows style, not wxWidgets one), returns
// FALSE if creation failed
//
// All parameters except classname and style are optional, if the
// size/position are not given, they should be set later with SetSize()
// and, label (the title of the window), of course, is left empty. The
// extended style is determined from the style and the app 3D settings
// automatically if it's not specified explicitly.
bool MSWCreateControl(const wxChar *classname,
WXDWORD style,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
const wxString& label = wxEmptyString,
WXDWORD exstyle = (WXDWORD)-1);
// default style for the control include WS_TABSTOP if it AcceptsFocus()
virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
// this is a helper for the derived class GetClassDefaultAttributes() // this is a helper for the derived class GetClassDefaultAttributes()
// implementation: it returns the right colours for the classes which // implementation: it returns the right colours for the classes which
@ -127,6 +102,9 @@ protected:
// holds the ids (not HWNDs!) of the sub controls // holds the ids (not HWNDs!) of the sub controls
wxArrayLong m_subControls; wxArrayLong m_subControls;
ControlType *m_control;
uint16_t m_objectIndex;
private: private:
DECLARE_DYNAMIC_CLASS_NO_COPY(wxControl) DECLARE_DYNAMIC_CLASS_NO_COPY(wxControl)
DECLARE_EVENT_TABLE() DECLARE_EVENT_TABLE()

View File

@ -509,13 +509,14 @@
// Default is 1 // Default is 1
// //
// Recommended setting: 1 // Recommended setting: 1
#define wxUSE_BUTTON 0 // wxButton #define wxUSE_BUTTON 1 // wxButton
#define wxUSE_BMPBUTTON 0 // wxBitmapButton #define wxUSE_BMPBUTTON 0 // wxBitmapButton
#define wxUSE_CALENDARCTRL 0 // wxCalendarCtrl #define wxUSE_CALENDARCTRL 0 // wxCalendarCtrl
#define wxUSE_CHECKBOX 0 // wxCheckBox #define wxUSE_CHECKBOX 0 // wxCheckBox
#define wxUSE_CHECKLISTBOX 0 // wxCheckListBox (requires wxUSE_OWNER_DRAWN) #define wxUSE_CHECKLISTBOX 0 // wxCheckListBox (requires wxUSE_OWNER_DRAWN)
#define wxUSE_CHOICE 0 // wxChoice #define wxUSE_CHOICE 0 // wxChoice
#define wxUSE_COMBOBOX 0 // wxComboBox #define wxUSE_COMBOBOX 0 // wxComboBox
#define wxUSE_DATEPICKCTRL 0 // wxDatePickerCtrl
#define wxUSE_GAUGE 0 // wxGauge #define wxUSE_GAUGE 0 // wxGauge
#define wxUSE_LISTBOX 0 // wxListBox #define wxUSE_LISTBOX 0 // wxListBox
#define wxUSE_LISTCTRL 0 // wxListCtrl #define wxUSE_LISTCTRL 0 // wxListCtrl
@ -534,15 +535,15 @@
#define wxUSE_TREECTRL 0 // wxTreeCtrl #define wxUSE_TREECTRL 0 // wxTreeCtrl
// Use a status bar class? Depending on the value of wxUSE_NATIVE_STATUSBAR // Use a status bar class? Depending on the value of wxUSE_NATIVE_STATUSBAR
// below either wxStatusBar95 or a generic wxStatusBar will be used. // below either wxStatusBarPalm or a generic wxStatusBar will be used.
// //
// Default is 1 // Default is 1
// //
// Recommended setting: 1 // Recommended setting: 1
#define wxUSE_STATUSBAR 1 #define wxUSE_STATUSBAR 1
// Two status bar implementations are available under Win32: the generic one // Two status bar implementations are available under PalmOS: the generic one
// or the wrapper around native control. For native look and feel the native // or the wrapper around native status bar. For native look and feel the native
// version should be used. // version should be used.
// //
// Default is 1. // Default is 1.

View File

@ -2,10 +2,10 @@
// Name: wx/palmos/toplevel.h // Name: wx/palmos/toplevel.h
// Purpose: wxTopLevelWindow // Purpose: wxTopLevelWindow
// Author: William Osborne - minimal working wxPalmOS port // Author: William Osborne - minimal working wxPalmOS port
// Modified by: // Modified by: Wlodzimierz ABX Skiba - more than minimal functionality
// Created: 10/13/04 // Created: 10/13/04
// RCS-ID: $Id$ // RCS-ID: $Id$
// Copyright: (c) William Osborne // Copyright: (c) William Osborne, Wlodzimierz Skiba
// Licence: wxWindows licence // Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
@ -47,15 +47,6 @@ public:
long style = wxDEFAULT_FRAME_STYLE, long style = wxDEFAULT_FRAME_STYLE,
const wxString& name = wxFrameNameStr); const wxString& name = wxFrameNameStr);
bool Create(wxWindow *parent,
wxWindowID id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString& name,
wxFrame* PFrame);
virtual ~wxTopLevelWindowPalm(); virtual ~wxTopLevelWindowPalm();
// implement base class pure virtuals // implement base class pure virtuals
@ -94,18 +85,6 @@ protected:
// common part of all ctors // common part of all ctors
void Init(); void Init();
// create a new frame, return false if it couldn't be created
bool CreateFrame(const wxString& title,
const wxPoint& pos,
const wxSize& size);
// create a new dialog using the given dialog template from resources,
// return false if it couldn't be created
bool CreateDialog(const void *dlgTemplate,
const wxString& title,
const wxPoint& pos,
const wxSize& size);
// common part of Iconize(), Maximize() and Restore() // common part of Iconize(), Maximize() and Restore()
void DoShowWindow(int nShowCmd); void DoShowWindow(int nShowCmd);

View File

@ -2,10 +2,10 @@
// Name: wx/palmos/window.h // Name: wx/palmos/window.h
// Purpose: wxWindow class // Purpose: wxWindow class
// Author: William Osborne - minimal working wxPalmOS port // Author: William Osborne - minimal working wxPalmOS port
// Modified by: // Modified by: Wlodzimierz ABX Skiba - more than minimal functionality
// Created: 10/13/04 // Created: 10/13/04
// RCS-ID: $Id$ // RCS-ID: $Id$
// Copyright: (c) William Osborne // Copyright: (c) William Osborne, Wlodzimierz Skiba
// Licence: wxWindows licence // Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////

View File

@ -453,7 +453,7 @@ public:
bool Disable() { return Enable(false); } bool Disable() { return Enable(false); }
virtual bool IsShown() const { return m_isShown; } virtual bool IsShown() const { return m_isShown; }
bool IsEnabled() const { return m_isEnabled; } virtual bool IsEnabled() const { return m_isEnabled; }
// get/set window style (setting style won't update the window and so // get/set window style (setting style won't update the window and so
// is only useful for internal usage) // is only useful for internal usage)

View File

@ -2,10 +2,10 @@
// Name: src/palmos/button.cpp // Name: src/palmos/button.cpp
// Purpose: wxButton // Purpose: wxButton
// Author: William Osborne - minimal working wxPalmOS port // Author: William Osborne - minimal working wxPalmOS port
// Modified by: // Modified by: Wlodzimierz ABX Skiba - native wxButton implementation
// Created: 10/13/04 // Created: 10/13/04
// RCS-ID: $Id$ // RCS-ID: $Id$
// Copyright: (c) William Osborne // Copyright: (c) William Osborne, Wlodzimierz Skiba
// Licence: wxWindows licence // Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
@ -40,8 +40,6 @@
#include "wx/dcscreen.h" #include "wx/dcscreen.h"
#endif #endif
#include "wx/palmos/private.h"
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// macros // macros
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@ -128,8 +126,8 @@ bool wxButton::Create(wxWindow *parent,
const wxValidator& validator, const wxValidator& validator,
const wxString& name) const wxString& name)
{ {
// remember about stock IDs wxControl::PalmCreateControl(buttonCtl, parent, id, label, pos, size);
return false; return true;
} }
wxButton::~wxButton() wxButton::~wxButton()

View File

@ -60,7 +60,7 @@ END_EVENT_TABLE()
wxControl::~wxControl() wxControl::~wxControl()
{ {
m_isBeingDeleted = TRUE; m_isBeingDeleted = true;
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@ -76,34 +76,44 @@ bool wxControl::Create(wxWindow *parent,
const wxString& name) const wxString& name)
{ {
if ( !wxWindow::Create(parent, id, pos, size, style, name) ) if ( !wxWindow::Create(parent, id, pos, size, style, name) )
return FALSE; return false;
#if wxUSE_VALIDATORS #if wxUSE_VALIDATORS
SetValidator(validator); SetValidator(validator);
#endif #endif
return TRUE; return true;
} }
bool wxControl::MSWCreateControl(const wxChar *classname, bool wxControl::PalmCreateControl(ControlStyleType style,
const wxString& label, wxWindow *parent,
const wxPoint& pos, wxWindowID id,
const wxSize& size) const wxString& label,
const wxPoint& pos,
const wxSize& size)
{ {
WXDWORD exstyle; FormType* form = FrmGetActiveForm ();
WXDWORD msStyle = MSWGetStyle(GetWindowStyle(), &exstyle); m_control = CtlNewControl (
(void **)&form,
id,
style,
label.c_str(),
pos.x,
pos.y,
size.x,
size.y,
boldFont,
0,
false
);
return MSWCreateControl(classname, msStyle, pos, size, label, exstyle); if(m_control==NULL)
} return false;
bool wxControl::MSWCreateControl(const wxChar *classname, form = FrmGetActiveForm ();
WXDWORD style, m_objectIndex = FrmGetObjectIndex(form, id);
const wxPoint& pos, Show();
const wxSize& size, return true;
const wxString& label,
WXDWORD exstyle)
{
return TRUE;
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@ -118,16 +128,42 @@ wxBorder wxControl::GetDefaultBorder() const
return wxBORDER_SUNKEN; return wxBORDER_SUNKEN;
} }
WXDWORD wxControl::MSWGetStyle(long style, WXDWORD *exstyle) const
{
return 0;
}
wxSize wxControl::DoGetBestSize() const wxSize wxControl::DoGetBestSize() const
{ {
return wxSize(16, 16); return wxSize(16, 16);
} }
bool wxControl::Enable(bool enable)
{
if( m_control == NULL )
return false;
if( IsEnabled() == enable)
return false;
CtlSetEnabled( m_control, enable);
return true;
}
bool wxControl::IsEnabled() const
{
if( m_control == NULL )
return false;
return CtlEnabled(m_control);
}
bool wxControl::IsShown() const
{
return StatGetAttribute ( statAttrBarVisible , NULL );
}
bool wxControl::Show( bool show )
{
if(show)
FrmShowObject(FrmGetActiveForm(), m_objectIndex);
else
FrmHideObject(FrmGetActiveForm(), m_objectIndex);
return true;
}
/* static */ wxVisualAttributes /* static */ wxVisualAttributes
wxControl::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant)) wxControl::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant))
{ {
@ -167,14 +203,6 @@ bool wxControl::ProcessCommand(wxCommandEvent& event)
return GetEventHandler()->ProcessEvent(event); return GetEventHandler()->ProcessEvent(event);
} }
#ifdef __WIN95__
bool wxControl::MSWOnNotify(int idCtrl,
WXLPARAM lParam,
WXLPARAM* result)
{
}
#endif // Win95
void wxControl::OnEraseBackground(wxEraseEvent& event) void wxControl::OnEraseBackground(wxEraseEvent& event)
{ {
} }

View File

@ -2,10 +2,10 @@
// Name: src/palmos/frame.cpp // Name: src/palmos/frame.cpp
// Purpose: wxFrame // Purpose: wxFrame
// Author: William Osborne - minimal working wxPalmOS port // Author: William Osborne - minimal working wxPalmOS port
// Modified by: // Modified by: Wlodzimierz ABX Skiba - more than minimal functionality
// Created: 10/13/04 // Created: 10/13/04
// RCS-ID: $Id$ // RCS-ID: $Id$
// Copyright: (c) William Osborne // Copyright: (c) William Osborne, Wlodzimierz Skiba
// Licence: wxWindows licence // Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
@ -162,7 +162,7 @@ bool wxFrame::Create(wxWindow *parent,
long style, long style,
const wxString& name) const wxString& name)
{ {
if ( !wxTopLevelWindow::Create(parent, id, title, pos, size, style, name, this) ) if ( !wxTopLevelWindow::Create(parent, id, title, pos, size, style, name) )
return false; return false;
return true; return true;
@ -255,7 +255,7 @@ void wxFrame::OnPaint(wxPaintEvent& event)
#endif // wxUSE_STATUSBAR #endif // wxUSE_STATUSBAR
} }
// Pass TRUE to show full screen, FALSE to restore. // Pass true to show full screen, false to restore.
bool wxFrame::ShowFullScreen(bool show, long style) bool wxFrame::ShowFullScreen(bool show, long style)
{ {
return false; return false;

View File

@ -107,7 +107,7 @@ int wxJoystick::GetProductId() const
wxString wxJoystick::GetProductName() const wxString wxJoystick::GetProductName() const
{ {
return wxString(""); return wxEmptyString;
} }
int wxJoystick::GetXMin() const int wxJoystick::GetXMin() const

View File

@ -150,6 +150,7 @@ wxString wxStatusBarPalm::GetStatusText(int nField) const
void wxStatusBarPalm::DrawStatusBar() void wxStatusBarPalm::DrawStatusBar()
{ {
#if 0
int i=0; int i=0;
int leftPos=0; int leftPos=0;
wxArrayInt widthsAbs; wxArrayInt widthsAbs;
@ -172,6 +173,7 @@ void wxStatusBarPalm::DrawStatusBar()
leftPos+=widthsAbs[i]+2; leftPos+=widthsAbs[i]+2;
} }
WinDrawLine(0,160-FntCharHeight()-1,159,160-FntCharHeight()-1); WinDrawLine(0,160-FntCharHeight()-1,159,160-FntCharHeight()-1);
#endif
} }
void wxStatusBarPalm::SetStatusBufferText(const wxString& text, int number) void wxStatusBarPalm::SetStatusBufferText(const wxString& text, int number)
@ -187,7 +189,7 @@ wxString wxStatusBarPalm::GetStatusBufferText(int number)
{ {
wxListString *st = GetStatusBufferStack(number); wxListString *st = GetStatusBufferStack(number);
if(st==0) if(st==0)
return ""; return wxEmptyString;
wxListString::compatibility_iterator top = st->GetFirst(); wxListString::compatibility_iterator top = st->GetFirst();
return(*top->GetData()); return(*top->GetData());

View File

@ -43,15 +43,6 @@
#include "wx/display.h" #include "wx/display.h"
#ifndef ICON_BIG
#define ICON_BIG 1
#endif
#ifndef ICON_SMALL
#define ICON_SMALL 0
#endif
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// globals // globals
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@ -60,7 +51,7 @@
extern const wxChar *wxCanvasClassName; extern const wxChar *wxCanvasClassName;
// Pointer to the currently active frame for the form event handler. // Pointer to the currently active frame for the form event handler.
wxFrame* ActiveParentFrame; wxTopLevelWindowPalm* ActiveParentFrame;
// ============================================================================ // ============================================================================
// wxTopLevelWindowPalm implementation // wxTopLevelWindowPalm implementation
@ -88,21 +79,6 @@ WXHWND wxTopLevelWindowPalm::PalmGetParent() const
return NULL; return NULL;
} }
bool wxTopLevelWindowPalm::CreateDialog(const void *dlgTemplate,
const wxString& title,
const wxPoint& pos,
const wxSize& size)
{
return false;
}
bool wxTopLevelWindowPalm::CreateFrame(const wxString& title,
const wxPoint& pos,
const wxSize& size)
{
return false;
}
bool wxTopLevelWindowPalm::Create(wxWindow *parent, bool wxTopLevelWindowPalm::Create(wxWindow *parent,
wxWindowID id, wxWindowID id,
const wxString& title, const wxString& title,
@ -111,6 +87,10 @@ bool wxTopLevelWindowPalm::Create(wxWindow *parent,
long style, long style,
const wxString& name) const wxString& name)
{ {
// this is a check for limitation mentioned before FrameFormHandleEvent() code
if(wxTopLevelWindows.GetCount()>0)
return false;
ActiveParentFrame=NULL; ActiveParentFrame=NULL;
wxTopLevelWindows.Append(this); wxTopLevelWindows.Append(this);
@ -120,54 +100,37 @@ bool wxTopLevelWindowPalm::Create(wxWindow *parent,
m_windowId = id == wxID_ANY ? NewControlId() : id; m_windowId = id == wxID_ANY ? NewControlId() : id;
wxCoord x = ( ( pos.x == wxDefaultCoord ) ? 0 : pos.x ) ; WinConstraintsType constraints;
wxCoord y = ( ( pos.y == wxDefaultCoord ) ? 0 : pos.y ) ; memset(&constraints, 0, sizeof(WinConstraintsType));
wxCoord w = ( ( size.x == wxDefaultCoord ) ? 160 : size.x ) ; constraints.x_pos = ( pos.x == wxDefaultCoord ) ? winUndefConstraint : pos.x;
wxCoord h = ( ( size.y == wxDefaultCoord ) ? 160 : size.y ) ; constraints.y_pos = ( pos.y == wxDefaultCoord ) ? winUndefConstraint : pos.y;
constraints.x_min = winUndefConstraint;
constraints.x_max = winMaxConstraint;
constraints.x_pref = ( size.x == wxDefaultCoord ) ? winUndefConstraint : size.x;
constraints.y_min = winUndefConstraint;
constraints.y_max = winMaxConstraint;
constraints.y_pref = ( size.y == wxDefaultCoord ) ? winUndefConstraint : size.y;
FrameForm = FrmNewForm( m_windowId, FrameForm = FrmNewFormWithConstraints(
title, m_windowId,
x, y, title.c_str(),
w, h, winFlagBackBuffer,
false, &constraints,
0, 0,
NULL, NULL,
0, 0,
NULL, NULL,
0); 0
if(FrameForm==0) );
return false;
FrmSetEventHandler(FrameForm,FrameFormHandleEvent); if(FrameForm==NULL)
return true;
}
bool wxTopLevelWindowPalm::Create(wxWindow *parent,
wxWindowID id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString& name,
wxFrame* PFrame)
{
wxTopLevelWindows.Append(this);
if ( parent )
parent->AddChild(this);
m_windowId = id == -1 ? NewControlId() : id;
FrameForm=FrmNewForm(m_windowId,title,0,0,160,160,false,0,NULL,0,NULL,0);
if(FrameForm==0)
return false; return false;
FrmSetEventHandler(FrameForm,FrameFormHandleEvent); FrmSetEventHandler(FrameForm,FrameFormHandleEvent);
FrmSetActiveForm(FrameForm); FrmSetActiveForm(FrameForm);
ActiveParentFrame=PFrame; ActiveParentFrame=this;
return true; return true;
} }
@ -280,21 +243,22 @@ void wxTopLevelWindowPalm::OnActivate(wxActivateEvent& event)
*/ */
static Boolean FrameFormHandleEvent(EventType* pEvent) static Boolean FrameFormHandleEvent(EventType* pEvent)
{ {
wxFrame* frame = wxDynamicCast(ActiveParentFrame,wxFrame);
Boolean fHandled = false; Boolean fHandled = false;
FormType* pForm; FormType* pForm;
WinHandle hWindow; WinHandle hWindow;
int ItemID=0; int ItemID=0;
switch (pEvent->eType) { switch (pEvent->eType) {
case ctlSelectEvent: case ctlSelectEvent:
break; break;
#if wxUSE_MENUS_NATIVE #if wxUSE_MENUS_NATIVE
case menuOpenEvent: case menuOpenEvent:
fHandled=ActiveParentFrame->HandleMenuOpen(); fHandled = frame->HandleMenuOpen();
break; break;
case menuEvent: case menuEvent:
ItemID=pEvent->data.menu.itemID; ItemID = pEvent->data.menu.itemID;
fHandled=ActiveParentFrame->HandleMenuSelect(ItemID); fHandled = frame->HandleMenuSelect(ItemID);
break; break;
#endif #endif
default: default:

View File

@ -334,7 +334,7 @@ void wxWindowPalm::SetTitle( const wxString& title)
wxString wxWindowPalm::GetTitle() const wxString wxWindowPalm::GetTitle() const
{ {
return wxString(""); return wxEmptyString;
} }
void wxWindowPalm::DoCaptureMouse() void wxWindowPalm::DoCaptureMouse()
@ -1096,21 +1096,6 @@ extern wxWindow *wxGetWindowFromHWND(WXHWND hWnd)
return NULL; return NULL;
} }
#if !defined(__WXMICROWIN__) && !defined(__WXWINCE__)
void wxSetKeyboardHook(bool doIt)
{
}
#endif // !__WXMICROWIN__
#ifdef __WXDEBUG__
const char *wxGetMessageName(int message)
{
return "";
}
#endif //__WXDEBUG__
// Find the wxWindow at the current mouse position, returning the mouse // Find the wxWindow at the current mouse position, returning the mouse
// position. // position.
wxWindow* wxFindWindowAtPointer(wxPoint& pt) wxWindow* wxFindWindowAtPointer(wxPoint& pt)