X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d289329218fb13e56c297fc27d82cb44cb849083..815f65bd0f673965230ed915d794497a8818dd35:/src/palmos/window.cpp?ds=inline diff --git a/src/palmos/window.cpp b/src/palmos/window.cpp index 02a43e497a..ca7d5955e3 100644 --- a/src/palmos/window.cpp +++ b/src/palmos/window.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: src/palmos/windows.cpp +// Name: src/palmos/window.cpp // Purpose: wxWindow // Author: William Osborne - minimal working wxPalmOS port // Modified by: Wlodzimierz ABX Skiba - more than minimal functionality @@ -17,10 +17,6 @@ // headers // --------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "window.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -28,10 +24,10 @@ #pragma hdrstop #endif +#include "wx/window.h" + #ifndef WX_PRECOMP - #include "wx/window.h" #include "wx/accel.h" - #include "wx/setup.h" #include "wx/menu.h" #include "wx/dc.h" #include "wx/dcclient.h" @@ -46,14 +42,17 @@ #include "wx/msgdlg.h" #include "wx/settings.h" #include "wx/statbox.h" + #include "wx/intl.h" + #include "wx/log.h" + #include "wx/textctrl.h" + #include "wx/menuitem.h" + #include "wx/module.h" #endif #if wxUSE_OWNER_DRAWN && !defined(__WXUNIVERSAL__) #include "wx/ownerdrw.h" #endif -#include "wx/module.h" - #if wxUSE_DRAG_AND_DROP #include "wx/dnd.h" #endif @@ -62,9 +61,6 @@ #include "wx/access.h" #endif -#include "wx/menuitem.h" -#include "wx/log.h" - #if wxUSE_TOOLTIPS #include "wx/tooltip.h" #endif @@ -77,22 +73,16 @@ #include "wx/spinctrl.h" #endif // wxUSE_SPINCTRL -#include "wx/intl.h" -#include "wx/log.h" - -#include "wx/textctrl.h" #include "wx/notebook.h" #include "wx/listctrl.h" -#include "wx/window.h" + +#ifndef __WXUNIVERSAL__ +#include // --------------------------------------------------------------------------- // global variables // --------------------------------------------------------------------------- -#if wxUSE_MENUS_NATIVE -wxMenu *wxCurrentPopupMenu = NULL; -#endif // wxUSE_MENUS_NATIVE - // --------------------------------------------------------------------------- // private functions // --------------------------------------------------------------------------- @@ -105,112 +95,7 @@ wxMenu *wxCurrentPopupMenu = NULL; // method #ifdef __WXUNIVERSAL__ IMPLEMENT_ABSTRACT_CLASS(wxWindowPalm, wxWindowBase) -#else // __WXPalm__ -#if wxUSE_EXTENDED_RTTI - -// windows that are created from a parent window during its Create method, eg. spin controls in a calendar controls -// must never been streamed out separately otherwise chaos occurs. Right now easiest is to test for negative ids, as -// windows with negative ids never can be recreated anyway - -bool wxWindowStreamingCallback( const wxObject *object, wxWriter * , wxPersister * , wxxVariantArray & ) -{ - return false; -} - -IMPLEMENT_DYNAMIC_CLASS_XTI_CALLBACK(wxWindow, wxWindowBase,"wx/window.h", wxWindowStreamingCallback) - -// make wxWindowList known before the property is used - -wxCOLLECTION_TYPE_INFO( wxWindow* , wxWindowList ) ; - -template<> void wxCollectionToVariantArray( wxWindowList const &theList, wxxVariantArray &value) -{ - wxListCollectionToVariantArray( theList , value ) ; -} - -WX_DEFINE_FLAGS( wxWindowStyle ) - -wxBEGIN_FLAGS( wxWindowStyle ) - // new style border flags, we put them first to - // use them for streaming out - - wxFLAGS_MEMBER(wxBORDER_SIMPLE) - wxFLAGS_MEMBER(wxBORDER_SUNKEN) - wxFLAGS_MEMBER(wxBORDER_DOUBLE) - wxFLAGS_MEMBER(wxBORDER_RAISED) - wxFLAGS_MEMBER(wxBORDER_STATIC) - wxFLAGS_MEMBER(wxBORDER_NONE) - - // old style border flags - wxFLAGS_MEMBER(wxSIMPLE_BORDER) - wxFLAGS_MEMBER(wxSUNKEN_BORDER) - wxFLAGS_MEMBER(wxDOUBLE_BORDER) - wxFLAGS_MEMBER(wxRAISED_BORDER) - wxFLAGS_MEMBER(wxSTATIC_BORDER) - wxFLAGS_MEMBER(wxBORDER) - - // standard window styles - wxFLAGS_MEMBER(wxTAB_TRAVERSAL) - wxFLAGS_MEMBER(wxCLIP_CHILDREN) - wxFLAGS_MEMBER(wxTRANSPARENT_WINDOW) - wxFLAGS_MEMBER(wxWANTS_CHARS) - wxFLAGS_MEMBER(wxFULL_REPAINT_ON_RESIZE) - wxFLAGS_MEMBER(wxALWAYS_SHOW_SB ) - wxFLAGS_MEMBER(wxVSCROLL) - wxFLAGS_MEMBER(wxHSCROLL) - -wxEND_FLAGS( wxWindowStyle ) - -wxBEGIN_PROPERTIES_TABLE(wxWindow) - wxEVENT_PROPERTY( Close , wxEVT_CLOSE_WINDOW , wxCloseEvent) - wxEVENT_PROPERTY( Create , wxEVT_CREATE , wxWindowCreateEvent ) - wxEVENT_PROPERTY( Destroy , wxEVT_DESTROY , wxWindowDestroyEvent ) - // Always constructor Properties first - - wxREADONLY_PROPERTY( Parent,wxWindow*, GetParent, EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) - wxPROPERTY( Id,wxWindowID, SetId, GetId, wxID_ANY, 0 /*flags*/ , wxT("Helpstring") , wxT("group") ) - wxPROPERTY( Position,wxPoint, SetPosition , GetPosition, wxDefaultPosition , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // pos - wxPROPERTY( Size,wxSize, SetSize, GetSize, wxDefaultSize , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // size - wxPROPERTY( WindowStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style - - // Then all relations of the object graph - - wxREADONLY_PROPERTY_COLLECTION( Children , wxWindowList , wxWindowBase* , GetWindowChildren , wxPROP_OBJECT_GRAPH /*flags*/ , wxT("Helpstring") , wxT("group")) - - // and finally all other properties - - wxPROPERTY( ExtraStyle , long , SetExtraStyle , GetExtraStyle , EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // extstyle - wxPROPERTY( BackgroundColour , wxColour , SetBackgroundColour , GetBackgroundColour , EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // bg - wxPROPERTY( ForegroundColour , wxColour , SetForegroundColour , GetForegroundColour , EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // fg - wxPROPERTY( Enabled , bool , Enable , IsEnabled , wxxVariant((bool)true) , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) - wxPROPERTY( Shown , bool , Show , IsShown , wxxVariant((bool)true) , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) -#if 0 - // possible property candidates (not in xrc) or not valid in all subclasses - wxPROPERTY( Title,wxString, SetTitle, GetTitle, wxT("") ) - wxPROPERTY( Font , wxFont , SetFont , GetWindowFont , ) - wxPROPERTY( Label,wxString, SetLabel, GetLabel, wxT("") ) - // MaxHeight, Width , MinHeight , Width - // TODO switch label to control and title to toplevels - - wxPROPERTY( ThemeEnabled , bool , SetThemeEnabled , GetThemeEnabled , ) - //wxPROPERTY( Cursor , wxCursor , SetCursor , GetCursor , ) - // wxPROPERTY( ToolTip , wxString , SetToolTip , GetToolTipText , ) - wxPROPERTY( AutoLayout , bool , SetAutoLayout , GetAutoLayout , ) - - - -#endif -wxEND_PROPERTIES_TABLE() - -wxBEGIN_HANDLERS_TABLE(wxWindow) -wxEND_HANDLERS_TABLE() - -wxCONSTRUCTOR_DUMMY(wxWindow) - -#else - IMPLEMENT_DYNAMIC_CLASS(wxWindow, wxWindowBase) -#endif -#endif // __WXUNIVERSAL__/__WXPalm__ +#endif // __WXUNIVERSAL__ BEGIN_EVENT_TABLE(wxWindowPalm, wxWindowBase) EVT_ERASE_BACKGROUND(wxWindowPalm::OnEraseBackground) @@ -238,13 +123,23 @@ wxWindow *wxWindowPalm::FindItemByWinHandle(WXWINHANDLE handle, bool controlOnly return NULL; } +bool wxGetKeyState(wxKeyCode key) +{ + wxASSERT_MSG(key != WXK_LBUTTON && key != WXK_RBUTTON && key != + WXK_MBUTTON, wxT("can't use wxGetKeyState() for mouse buttons")); + + // TODO + + return false; +} + // ---------------------------------------------------------------------------- // constructors and such // ---------------------------------------------------------------------------- void wxWindowPalm::Init() { - m_handle = 0; + m_hWnd = 0; } // Destructor @@ -272,13 +167,13 @@ bool wxWindowPalm::Create(wxWindow *parent, return true; } -FormType *wxWindowPalm::GetFormPtr() +WXFORMPTR wxWindowPalm::GetFormPtr() { return FrameForm; } -void wxWindowPalm::SetFormPtr(FormType *FormPtr) +void wxWindowPalm::SetFormPtr(WXFORMPTR FormPtr) { - FrameForm=FormPtr; + FrameForm = FormPtr; } // --------------------------------------------------------------------------- @@ -319,11 +214,11 @@ void wxWindowPalm::Lower() { } -void wxWindowPalm::SetTitle( const wxString& title) +void wxWindowPalm::SetLabel( const wxString& WXUNUSED(label)) { } -wxString wxWindowPalm::GetTitle() const +wxString wxWindowPalm::GetLabel() const { return wxEmptyString; } @@ -432,19 +327,12 @@ bool wxWindowPalm::Reparent(wxWindowBase *parent) return false; } -void wxWindowPalm::Freeze() -{ -} - -void wxWindowPalm::Thaw() -{ -} - void wxWindowPalm::Refresh(bool eraseBack, const wxRect *rect) { - WinHandle handle = GetWinHandle(); + WinHandle handle = (WinHandle)GetHWND(); if(handle) { +#ifdef __WXPALMOS6__ if(rect) { RectangleType dirtyRect; @@ -458,6 +346,10 @@ void wxWindowPalm::Refresh(bool eraseBack, const wxRect *rect) { WinInvalidateWindow(handle); } +#else // __WXPALMOS5__ + WinSetActiveWindow (handle); +#endif + } } @@ -613,10 +505,11 @@ int wxWindowPalm::GetCharWidth() const return 0; } -void wxWindowPalm::GetTextExtent(const wxString& string, - int *x, int *y, - int *descent, int *externalLeading, - const wxFont *theFont) const +void wxWindowPalm::DoGetTextExtent(const wxString& string, + int *x, int *y, + int *descent, + int *externalLeading, + const wxFont *theFont) const { } @@ -751,7 +644,5 @@ bool wxWindowPalm::UnregisterHotKey(int hotkeyId) { return false; } - +#endif // # __WXUNIVERSAL__ #endif // wxUSE_HOTKEY - -