Import r67258 of the wxWidgets trunk, which I expect will before

long become wxWidgets 2.9.2, which in turn is expected to be the
last 2.9 release before the 3.0 stable release.

Since the full wxWidgets distribution is rather large, I have
imported only the parts that we use, on a subdirectory basis:

art
include/wx/*.*
include/wx/aui
include/wx/cocoa
include/wx/generic
include/wx/gtk
include/wx/meta
include/wx/msw
include/wx/osx
include/wx/persist
include/wx/private
include/wx/protocol
include/wx/unix
src/aui
src/common
src/generic
src/gtk
src/msw
src/osx
src/unix


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7380 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Soren Jorvang
2011-03-20 18:05:19 +00:00
parent 205637ccc3
commit d14efe561b
1945 changed files with 694474 additions and 0 deletions

View File

@ -0,0 +1,91 @@
///////////////////////////////////////////////////////////////////////////////
// Name: wx/msw/wince/checklst.h
// Purpose: wxCheckListBox class - a listbox with checkable items
// Author: Wlodzimierz ABX Skiba
// Modified by:
// Created: 30.10.2005
// RCS-ID: $Id: checklst.h 52834 2008-03-26 15:06:00Z FM $
// Copyright: (c) Wlodzimierz Skiba
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef __CHECKLSTCE__H_
#define __CHECKLSTCE__H_
class WXDLLIMPEXP_CORE wxCheckListBox : public wxCheckListBoxBase
{
public:
// ctors
wxCheckListBox();
wxCheckListBox(wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
int nStrings = 0,
const wxString choices[] = NULL,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxListBoxNameStr);
wxCheckListBox(wxWindow *parent, wxWindowID id,
const wxPoint& pos,
const wxSize& size,
const wxArrayString& choices,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxListBoxNameStr);
virtual ~wxCheckListBox();
bool Create(wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
int n = 0, const wxString choices[] = NULL,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxListBoxNameStr);
bool Create(wxWindow *parent, wxWindowID id,
const wxPoint& pos,
const wxSize& size,
const wxArrayString& choices,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxListBoxNameStr);
// items may be checked
virtual bool IsChecked(unsigned int uiIndex) const;
virtual void Check(unsigned int uiIndex, bool bCheck = true);
// public interface derived from wxListBox and lower classes
virtual void DoClear();
virtual void DoDeleteOneItem(unsigned int n);
virtual unsigned int GetCount() const;
virtual int GetSelection() const;
virtual int GetSelections(wxArrayInt& aSelections) const;
virtual wxString GetString(unsigned int n) const;
virtual bool IsSelected(int n) const;
virtual void SetString(unsigned int n, const wxString& s);
// Implementation
virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
protected:
void OnSize(wxSizeEvent& event);
// protected interface derived from wxListBox and lower classes
virtual int DoInsertItems(const wxArrayStringsAdapter& items,
unsigned int pos,
void **clientData, wxClientDataType type);
virtual void* DoGetItemClientData(unsigned int n) const;
virtual void DoSetItemClientData(unsigned int n, void* clientData);
virtual void DoSetFirstItem(int n);
virtual void DoSetSelection(int n, bool select);
// convert our styles to Windows
virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
private:
wxArrayPtrVoid m_itemsClientData;
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS_NO_COPY(wxCheckListBox)
};
#endif //_CHECKLSTCE_H

View File

@ -0,0 +1,151 @@
///////////////////////////////////////////////////////////////////////////////
// Name: wx/msw/wince/chkconf.h
// Purpose: WinCE-specific configuration options checks
// Author: Vadim Zeitlin
// Modified by:
// Created: 2005-03-07
// RCS-ID: $Id: chkconf.h 60495 2009-05-03 07:43:00Z VZ $
// Copyright: (c) 2005 Vadim Zeitlin <vadim@wxwindows.org>
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_MSW_WINCE_CHKCONF_H_
#define _WX_MSW_WINCE_CHKCONF_H_
// ----------------------------------------------------------------------------
// Disable features which don't work or don't make sense under CE
// ----------------------------------------------------------------------------
// please keep the list in alphabetic order except for closely related settings
// (e.g. wxUSE_ENH_METAFILE is put immediately after wxUSE_METAFILE)
#undef wxUSE_DEBUGREPORT
#define wxUSE_DEBUGREPORT 0
#if _WIN32_WCE < 400
// not enough API and lack of ddraw.h
#undef wxUSE_DISPLAY
#define wxUSE_DISPLAY 0
#endif
// eVC doesn't have standard streams
#ifdef __EVC4__
#undef wxUSE_STD_IOSTREAM
#define wxUSE_STD_IOSTREAM 0
#endif
// wxFSVolume currently doesn't compile under CE and it's not clear if it makes
// sense at all there (the drives and their names are fixed on CE systems)
#undef wxUSE_FSVOLUME
#define wxUSE_FSVOLUME 0
// no .INI files API under CE
#undef wxUSE_INICONF
#define wxUSE_INICONF 0
// DDE doesn't exist under WinCE and wxIPC is DDE-based under MSW
#undef wxUSE_IPC
#define wxUSE_IPC 0
// doesn't make sense for CE devices and doesn't compile anyhow
#undef wxUSE_JOYSTICK
#define wxUSE_JOYSTICK 0
// libtiff doesn't build with eVC but is ok with VC8
#ifdef __EVC4__
#undef wxUSE_LIBTIFF
#define wxUSE_LIBTIFF 0
#endif
// no AUI under CE: it's unnecessary and currently doesn't compile
#undef wxUSE_AUI
#define wxUSE_AUI 0
// no MDI under CE
#undef wxUSE_MDI
#define wxUSE_MDI 0
#undef wxUSE_MDI_ARCHITECTURE
#define wxUSE_MDI_ARCHITECTURE 0
// metafiles are not supported neither
#undef wxUSE_METAFILE
#define wxUSE_METAFILE 0
#undef wxUSE_ENH_METAFILE
#define wxUSE_ENH_METAFILE 0
// not sure if this is supported by CE but it doesn't compile currently anyhow
#undef wxUSE_MS_HTML_HELP
#define wxUSE_MS_HTML_HELP 0
// eVC doesn't support SEH
#undef wxUSE_ON_FATAL_EXCEPTION
#define wxUSE_ON_FATAL_EXCEPTION 0
// no owner drawn controls (not sure if this is possible at all but in any case
// the code doesn't currently compile)
#undef wxUSE_OWNER_DRAWN
#define wxUSE_OWNER_DRAWN 0
#undef wxUSE_PRINTING_ARCHITECTURE
#define wxUSE_PRINTING_ARCHITECTURE 0
// regex doesn't build with eVC but is ok with VC8
#ifdef __EVC4__
#undef wxUSE_REGEX
#define wxUSE_REGEX 0
#endif
#undef wxUSE_RICHEDIT
#define wxUSE_RICHEDIT 0
#undef wxUSE_RICHEDIT2
#define wxUSE_RICHEDIT2 0
// Standard SDK lacks a few things, forcefully disable them
#ifdef WCE_PLATFORM_STANDARDSDK
// no shell functions support
#undef wxUSE_STDPATHS
#define wxUSE_STDPATHS 0
#endif // WCE_PLATFORM_STANDARDSDK
// there is no support for balloon taskbar icons
#undef wxUSE_TASKBARICON_BALLOONS
#define wxUSE_TASKBARICON_BALLOONS 0
// not sure if this is supported by eVC but VC8 SDK lacks the tooltips control
// related declarations
#if wxCHECK_VISUALC_VERSION(8)
#undef wxUSE_TOOLTIPS
#define wxUSE_TOOLTIPS 0
#endif
#undef wxUSE_UNICODE_MSLU
#define wxUSE_UNICODE_MSLU 0
#undef wxUSE_UXTHEME
#define wxUSE_UXTHEME 0
#undef wxUSE_WXHTML_HELP
#define wxUSE_WXHTML_HELP 0
// Disable features which don't make sense for MS Smartphones
// (due to pointer device usage, limited controls or dialogs, file system)
#if defined(__SMARTPHONE__)
#undef wxUSE_LISTBOOK
#define wxUSE_LISTBOOK 0
#undef wxUSE_NOTEBOOK
#define wxUSE_NOTEBOOK 0
#undef wxUSE_STATUSBAR
#define wxUSE_STATUSBAR 0
#undef wxUSE_COLOURPICKERCTRL
#define wxUSE_COLOURPICKERCTRL 0
#undef wxUSE_COLOURDLG
#define wxUSE_COLOURDLG 0
#endif // __SMARTPHONE__
#endif // _WX_MSW_WINCE_CHKCONF_H_

View File

@ -0,0 +1,141 @@
///////////////////////////////////////////////////////////////////////////////
// Name: wx/msw/wince/choicece.h
// Purpose: wxChoice implementation for smart phones driven by WinCE
// Author: Wlodzimierz ABX Skiba
// Modified by:
// Created: 29.07.2004
// RCS-ID: $Id: choicece.h 64940 2010-07-13 13:29:13Z VZ $
// Copyright: (c) Wlodzimierz Skiba
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_CHOICECE_H_BASE_
#define _WX_CHOICECE_H_BASE_
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#include "wx/defs.h"
#if wxUSE_CHOICE
#include "wx/dynarray.h"
class WXDLLIMPEXP_FWD_CORE wxChoice;
WX_DEFINE_EXPORTED_ARRAY_PTR(wxChoice *, wxArrayChoiceSpins);
// ----------------------------------------------------------------------------
// Choice item
// ----------------------------------------------------------------------------
class WXDLLIMPEXP_CORE wxChoice : public wxChoiceBase
{
public:
// ctors
wxChoice() { }
virtual ~wxChoice();
wxChoice(wxWindow *parent,
wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
int n = 0, const wxString choices[] = NULL,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxChoiceNameStr)
{
Create(parent, id, pos, size, n, choices, style, validator, name);
}
wxChoice(wxWindow *parent,
wxWindowID id,
const wxPoint& pos,
const wxSize& size,
const wxArrayString& choices,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxChoiceNameStr)
{
Create(parent, id, pos, size, choices, style, validator, name);
}
bool Create(wxWindow *parent,
wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
int n = 0, const wxString choices[] = NULL,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxChoiceNameStr);
bool Create(wxWindow *parent,
wxWindowID id,
const wxPoint& pos,
const wxSize& size,
const wxArrayString& choices,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxChoiceNameStr);
// implement base class pure virtuals
virtual void DoDeleteOneItem(unsigned int n);
virtual void DoClear();
virtual unsigned int GetCount() const;
virtual int GetSelection() const;
virtual void SetSelection(int n);
virtual int FindString(const wxString& s, bool bCase = false) const;
virtual wxString GetString(unsigned int n) const;
virtual void SetString(unsigned int n, const wxString& s);
// get the subclassed window proc of the buddy list of choices
WXFARPROC GetBuddyWndProc() const { return m_wndProcBuddy; }
// return the choice object whose buddy is the given window or NULL
static wxChoice *GetChoiceForListBox(WXHWND hwndBuddy);
virtual bool MSWCommand(WXUINT param, WXWORD id);
protected:
virtual int DoInsertItems(const wxArrayStringsAdapter& items,
unsigned int pos,
void **clientData, wxClientDataType type);
virtual void DoSetItemClientData(unsigned int n, void* clientData);
virtual void* DoGetItemClientData(unsigned int n) const;
virtual WXHWND MSWGetItemsHWND() const { return m_hwndBuddy; }
// MSW implementation
virtual void DoGetPosition(int *x, int *y) const;
virtual void DoMoveWindow(int x, int y, int width, int height);
virtual wxSize DoGetBestSize() const;
virtual void DoGetSize(int *width, int *height) const;
virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
// create and initialize the control
bool CreateAndInit(wxWindow *parent, wxWindowID id,
const wxPoint& pos,
const wxSize& size,
int n, const wxString choices[],
long style,
const wxValidator& validator,
const wxString& name);
// the data for the "buddy" list
WXHWND m_hwndBuddy;
WXFARPROC m_wndProcBuddy;
// all existing wxChoice - this allows to find the one corresponding to
// the given buddy window in GetSpinChoiceCtrl()
static wxArrayChoiceSpins ms_allChoiceSpins;
private:
DECLARE_DYNAMIC_CLASS_NO_COPY(wxChoice)
};
#endif // wxUSE_CHOICE
#endif // _WX_CHOICECE_H_BASE_

View File

@ -0,0 +1,58 @@
/////////////////////////////////////////////////////////////////////////////
// Name: wx/msw/wince/helpwce.h
// Purpose: Help system: Windows CE help implementation
// Author: Julian Smart
// Modified by:
// Created: 2003-07-12
// RCS-ID: $Id: helpwce.h 52834 2008-03-26 15:06:00Z FM $
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_HELPWCE_H_
#define _WX_HELPWCE_H_
#if wxUSE_HELP
#include "wx/helpbase.h"
class WXDLLIMPEXP_CORE wxWinceHelpController : public wxHelpControllerBase
{
public:
wxWinceHelpController(wxWindow* parentWindow = NULL): wxHelpControllerBase(parentWindow) {}
virtual ~wxWinceHelpController() {}
// Must call this to set the filename
virtual bool Initialize(const wxString& file);
// If file is "", reloads file given in Initialize
virtual bool LoadFile(const wxString& file = wxEmptyString);
virtual bool DisplayContents();
virtual bool DisplaySection(int sectionNo);
virtual bool DisplaySection(const wxString& section);
virtual bool DisplayBlock(long blockNo);
virtual bool DisplayContextPopup(int contextId);
virtual bool DisplayTextPopup(const wxString& text, const wxPoint& pos);
virtual bool KeywordSearch(const wxString& k,
wxHelpSearchMode mode = wxHELP_SEARCH_ALL);
virtual bool Quit();
wxString GetHelpFile() const { return m_helpFile; }
protected:
// Append extension if necessary.
wxString GetValidFilename(const wxString& file) const;
// View topic, or just the HTML file
bool ViewURL(const wxString& topic = wxEmptyString);
private:
wxString m_helpFile;
DECLARE_CLASS(wxWinceHelpController)
};
#endif // wxUSE_MS_HTML_HELP
#endif
// _WX_HELPWCE_H_

View File

@ -0,0 +1,54 @@
/////////////////////////////////////////////////////////////////////////////
// Name: wx/msw/wince/libraries.h
// Purpose: VC++ pragmas for linking against SDK libs
// Author: Vaclav Slavik
// Modified by:
// Created: 2004-04-11
// RCS-ID: $Id: libraries.h 52163 2008-02-28 00:22:02Z VZ $
// Copyright: (c) 2004 Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_LIBRARIES_H_
#define _WX_LIBRARIES_H_
// NB: According to Microsoft, it is up to the OEM to decide whether
// some of libraries will be included in the system or not. For example,
// MS' STANDARDSDK does not include cyshell.lib and aygshell.lib, while
// Pocket PC 2003 SDK does. We depend on some symbols that are in these
// libraries in some SDKs and in different libs in others. Fortunately we
// can detect what SDK is used in C++ code, so we take advantage of
// VC++'s #pragma to link against the libraries conditionally, instead of
// including libraries in project files.
#if defined(__VISUALC__) && defined(__WXWINCE__)
#if (_WIN32_WCE >= 400) || defined(__POCKETPC__)
// No commdlg.lib in Mobile 5.0 Smartphone
#if !(defined(__SMARTPHONE__) && _WIN32_WCE >= 1200)
#pragma comment(lib,"commdlg.lib")
#endif
#endif
// this library is only available for PocketPC targets using recent SDK and is
// needed for RTTI support
#if (_WIN32_WCE >= 400) && !defined(__WINCE_NET__) && !defined(wxNO_RTTI)
#pragma comment(lib,"ccrtrtti.lib")
#endif
#if defined(__WINCE_STANDARDSDK__)
// DoDragDrop:
#pragma comment(lib,"olece400.lib")
#elif defined(__POCKETPC__) || defined(__SMARTPHONE__) || defined(__WINCE_NET__)
#pragma comment(lib,"ceshell.lib")
#pragma comment(lib,"aygshell.lib")
#elif defined(__HANDHELDPC__)
// Handheld PC builds. Maybe WindowsCE.NET 4.X needs another symbol.
#pragma comment(lib,"ceshell.lib")
#else
#error "Unknown SDK, please fill-in missing pieces"
#endif
#endif // __VISUALC__ && __WXWINCE__
#endif // _WX_LIBRARIES_H_

View File

@ -0,0 +1,140 @@
/////////////////////////////////////////////////////////////////////////////
// Name: wx/msw/wince/missing.h
// Purpose: Missing things in WinCE
// Author: Marco Cavallini
// Modified by:
// Created: 16/11/2002
// RCS-ID: $Id: missing.h 67254 2011-03-20 00:14:35Z DS $
// Copyright: (c) KOAN SAS ( www.koansoftware.com )
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_CE_MISSING_H_
#define _WX_CE_MISSING_H_
#include "wx/msw/private.h"
#include "shellapi.h"
inline BOOL IsIconic( HWND WXUNUSED(hWnd) )
{
// Probably not right...
#if 0
long style = GetWindowLong(hWnd, GWL_STYLE);
return ((style & WS_MINIMIZE) == 0);
#endif
return FALSE;
}
#ifdef __POCKETPC__
#define SM_CXCURSOR 13
#define SM_CYCURSOR 14
#endif
// Missing from eVC 4 for some reason
#ifndef I_IMAGENONE
#define I_IMAGENONE (-2)
#endif
#ifndef TBSTYLE_NO_DROPDOWN_ARROW
#define TBSTYLE_NO_DROPDOWN_ARROW 0x0080
#endif
#ifndef SHCMBM_GETMENU
#define SHCMBM_GETMENU (WM_USER + 402)
#endif
#ifndef SHCMBM_SETSUBMENU
#define SHCMBM_SETSUBMENU (WM_USER + 400) // wparam == id of button, lParam == hmenu, return is old hmenu
#endif
#ifndef SHCMBM_GETSUBMENU
#define SHCMBM_GETSUBMENU (WM_USER + 401) // lParam == ID
#endif
#ifndef LVS_EX_FULLROWSELECT
#define LVS_EX_FULLROWSELECT 0x00000020
#endif
#ifndef TVS_FULLROWSELECT
#define TVS_FULLROWSELECT 0x1000
#endif
#ifndef TVM_SETBKCOLOR
#define TVM_SETBKCOLOR (TV_FIRST + 29)
#define TVM_SETTEXTCOLOR (TV_FIRST + 30)
#endif
// Used in msgdlg.cpp, evtloop.cpp
#ifndef MB_TASKMODAL
#define MB_TASKMODAL 0x2000
#endif
#ifndef HGDI_ERROR
#define HGDI_ERROR ((HANDLE)(0xFFFFFFFFL))
#endif
// some windows styles don't exist in CE SDK, replace them with closest
// equivalents
#ifndef WS_THICKFRAME
#define WS_THICKFRAME WS_BORDER
#endif
#ifndef WS_MINIMIZE
#define WS_MINIMIZE 0
#endif
#ifndef WS_MAXIMIZE
#define WS_MAXIMIZE 0
#endif
// global memory functions don't exist under CE (good riddance, of course, but
// the existing code still uses them in some places, so make it compile)
//
// update: they're defined in eVC 4 inside "#ifdef UNDER_CE" block
#ifndef UNDER_CE
#define GlobalAlloc LocalAlloc
#define GlobalFree LocalFree
#define GlobalSize LocalSize
#define GPTR LPTR
#define GHND LPTR
#define GMEM_MOVEABLE 0
#define GMEM_SHARE 0
#endif // !UNDER_CE
// WinCE RTL doesn't implement bsearch() used in encconv.cpp
extern "C" void *
bsearch(const void *key, const void *base, size_t num, size_t size,
int (wxCMPFUNC_CONV *cmp)(const void *, const void *));
#define O_RDONLY 0x0000 /* open for reading only */
#define O_WRONLY 0x0001 /* open for writing only */
#define O_RDWR 0x0002 /* open for reading and writing */
#define O_APPEND 0x0008 /* writes done at eof */
#define O_CREAT 0x0100 /* create and open file */
#define O_TRUNC 0x0200 /* open and truncate */
#define O_EXCL 0x0400 /* open only if file doesn't already exist */
#define O_TEXT 0x4000 /* file mode is text (translated) */
#define O_BINARY 0x8000 /* file mode is binary (untranslated) */
#ifndef SS_SUNKEN
#define SS_SUNKEN 0x00001000L
#endif
// unsupported flags for WINDOWPOS structure
#ifndef SWP_NOCOPYBITS
#define SWP_NOCOPYBITS 0
#endif
#ifndef SWP_NOOWNERZORDER
#define SWP_NOOWNERZORDER 0
#endif
#ifndef SWP_NOSENDCHANGING
#define SWP_NOSENDCHANGING 0
#endif
#endif // _WX_CE_MISSING_H_

View File

@ -0,0 +1,20 @@
// Copyright 1998, Ben Goetter. All rights reserved.
/*
patch holes in winsock
WCE 2.0 lacks many of the 'database' winsock routines.
Stub just enough them for ss.dll.
getprotobynumber
getservbyport
getservbyname
*/
struct servent * WINSOCKAPI getservbyport(int port, const char * proto) ;
struct servent * WINSOCKAPI getservbyname(const char * name,
const char * proto) ;
struct protoent * WINSOCKAPI getprotobynumber(int proto) ;

View File

@ -0,0 +1,27 @@
///////////////////////////////////////////////////////////////////////////////
// Name: wx/msw/wince/resources.h
// Purpose: identifiers shared between resource compiler and eVC
// Author: Wlodzimierz ABX Skiba
// Modified by:
// Created: 01.05.2004
// RCS-ID: $Id: resources.h 64940 2010-07-13 13:29:13Z VZ $
// Copyright: (c) Wlodzimierz Skiba
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// Windows CE dummy menu for SHCreateMenuBar()
#define wxIDM_SHMENU 40000
#define IDM_LEFT 40001
#define IDM_RIGHT 40002
#define IDM_ITEM 40003
#define IDS_EMPTY 40010
#define IDR_POPUP_1 40020
#define IDR_POPUP_2 40021
#define IDR_MENUBAR_ONE_BUTTON 40030
#define IDR_MENUBAR_LEFT_MENU 40031
#define IDR_MENUBAR_RIGHT_MENU 40032
#define IDR_MENUBAR_BOTH_MENUS 40033

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,65 @@
///////////////////////////////////////////////////////////////////////////////
// Name: wx/msw/wince/smartphone.rc
// Purpose: resources for MS Smartphone build
// Author: Wlodzimierz ABX Skiba
// Modified by:
// Created: 01.05.2004
// RCS-ID: $Id: smartphone.rc 67254 2011-03-20 00:14:35Z DS $
// Copyright: (c) Wlodzimierz Skiba
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#include <aygshell.h>
STRINGTABLE
BEGIN
IDS_EMPTY ""
END
IDR_POPUP_1 MENU
BEGIN
POPUP ""
BEGIN
MENUITEM "M", IDM_ITEM
END
END
IDR_POPUP_2 MENU
BEGIN
POPUP ""
BEGIN
MENUITEM "M", IDM_ITEM
END
POPUP ""
BEGIN
MENUITEM "M", IDM_ITEM
END
END
IDR_MENUBAR_ONE_BUTTON RCDATA
BEGIN
0,2,
I_IMAGENONE, IDM_LEFT, TBSTATE_ENABLED, TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE, IDS_EMPTY, 0, NOMENU,
I_IMAGENONE, IDM_RIGHT, TBSTATE_ENABLED, TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE, IDS_EMPTY, 0, NOMENU,
END
IDR_MENUBAR_LEFT_MENU RCDATA
BEGIN
IDR_POPUP_1,1,
I_IMAGENONE, IDM_LEFT, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, IDS_EMPTY, 0, 0,
END
IDR_MENUBAR_RIGHT_MENU RCDATA
BEGIN
IDR_POPUP_1,2,
I_IMAGENONE, IDM_LEFT, TBSTATE_ENABLED, TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE, IDS_EMPTY, 0, NOMENU,
I_IMAGENONE, IDM_RIGHT, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, IDS_EMPTY, 0, 0,
END
IDR_MENUBAR_BOTH_MENUS RCDATA
BEGIN
IDR_POPUP_2,2,
I_IMAGENONE, IDM_LEFT, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, IDS_EMPTY, 0, 0,
I_IMAGENONE, IDM_RIGHT, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, IDS_EMPTY, 0, 1,
END

View File

@ -0,0 +1,170 @@
/////////////////////////////////////////////////////////////////////////////
// Name: wx/msw/wince/tbarwce.h
// Purpose: Windows CE wxToolBar class
// Author: Julian Smart
// Modified by:
// Created: 2003-07-12
// RCS-ID: $Id: tbarwce.h 58757 2009-02-08 11:45:59Z VZ $
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_BARWCE_H_
#define _WX_BARWCE_H_
#if wxUSE_TOOLBAR
#include "wx/dynarray.h"
// Smartphones don't have toolbars, so use a dummy class
#ifdef __SMARTPHONE__
class WXDLLIMPEXP_CORE wxToolBar : public wxToolBarBase
{
public:
// ctors and dtor
wxToolBar() { }
wxToolBar(wxWindow *parent,
wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxNO_BORDER | wxTB_HORIZONTAL,
const wxString& name = wxToolBarNameStr)
{
Create(parent, id, pos, size, style, name);
}
bool Create(wxWindow *parent,
wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxNO_BORDER | wxTB_HORIZONTAL,
const wxString& name = wxToolBarNameStr);
// override/implement base class virtuals
virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const;
virtual bool Realize() { return true; }
protected:
// implement base class pure virtuals
virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool);
virtual bool DoDeleteTool(size_t pos, wxToolBarToolBase *tool);
virtual void DoEnableTool(wxToolBarToolBase *tool, bool enable);
virtual void DoToggleTool(wxToolBarToolBase *tool, bool toggle);
virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
virtual wxToolBarToolBase *CreateTool(int id,
const wxString& label,
const wxBitmap& bmpNormal,
const wxBitmap& bmpDisabled,
wxItemKind kind,
wxObject *clientData,
const wxString& shortHelp,
const wxString& longHelp);
virtual wxToolBarToolBase *CreateTool(wxControl *control,
const wxString& label);
private:
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxToolBar)
wxDECLARE_NO_COPY_CLASS(wxToolBar);
};
#else
// For __POCKETPC__
#include "wx/msw/toolbar.h"
class WXDLLIMPEXP_CORE wxToolMenuBar : public wxToolBar
{
public:
// ctors and dtor
wxToolMenuBar() { Init(); }
wxToolMenuBar(wxWindow *parent,
wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxNO_BORDER | wxTB_HORIZONTAL,
const wxString& name = wxToolBarNameStr,
wxMenuBar* menuBar = NULL)
{
Init();
Create(parent, id, pos, size, style, name, menuBar);
}
bool Create(wxWindow *parent,
wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxNO_BORDER | wxTB_HORIZONTAL,
const wxString& name = wxToolBarNameStr,
wxMenuBar* menuBar = NULL);
virtual ~wxToolMenuBar();
// override/implement base class virtuals
virtual bool Realize();
// implementation only from now on
// -------------------------------
// Override in order to bypass wxToolBar's overridden function
virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
virtual bool MSWCommand(WXUINT param, WXWORD id);
// Return HMENU for the menu associated with the commandbar
WXHMENU GetHMenu();
// Set the wxMenuBar associated with this commandbar
void SetMenuBar(wxMenuBar* menuBar) { m_menuBar = menuBar; }
// Returns the wxMenuBar associated with this commandbar
wxMenuBar* GetMenuBar() const { return m_menuBar; }
protected:
// common part of all ctors
void Init();
// create the native toolbar control
bool MSWCreateToolbar(const wxPoint& pos, const wxSize& size, wxMenuBar* menuBar);
// recreate the control completely
void Recreate();
// implement base class pure virtuals
virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool);
virtual bool DoDeleteTool(size_t pos, wxToolBarToolBase *tool);
virtual wxToolBarToolBase *CreateTool(int id,
const wxString& label,
const wxBitmap& bmpNormal,
const wxBitmap& bmpDisabled,
wxItemKind kind,
wxObject *clientData,
const wxString& shortHelp,
const wxString& longHelp);
virtual wxToolBarToolBase *CreateTool(wxControl *control,
const wxString& label);
// The menubar associated with this toolbar
wxMenuBar* m_menuBar;
private:
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxToolMenuBar)
wxDECLARE_NO_COPY_CLASS(wxToolMenuBar);
};
#endif
// __SMARTPHONE__
#endif // wxUSE_TOOLBAR
#endif
// _WX_BARWCE_H_

View File

@ -0,0 +1,236 @@
/////////////////////////////////////////////////////////////////////////////
// Name: wx/msw/wince/textctrlce.h
// Purpose: wxTextCtrl implementation for smart phones driven by WinCE
// Author: Wlodzimierz ABX Skiba
// Modified by:
// Created: 30.08.2004
// RCS-ID: $Id: textctrlce.h 64940 2010-07-13 13:29:13Z VZ $
// Copyright: (c) Wlodzimierz Skiba
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_TEXTCTRLCE_H_
#define _WX_TEXTCTRLCE_H_
#include "wx/dynarray.h"
class WXDLLIMPEXP_FWD_CORE wxTextCtrl;
WX_DEFINE_EXPORTED_ARRAY_PTR(wxTextCtrl *, wxArrayTextSpins);
class WXDLLIMPEXP_CORE wxTextCtrl : public wxTextCtrlBase
{
public:
// creation
// --------
wxTextCtrl() { Init(); }
wxTextCtrl(wxWindow *parent, wxWindowID id,
const wxString& value = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxTextCtrlNameStr)
{
Init();
Create(parent, id, value, pos, size, style, validator, name);
}
virtual ~wxTextCtrl();
bool Create(wxWindow *parent, wxWindowID id,
const wxString& value = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxTextCtrlNameStr);
// implement base class pure virtuals
// ----------------------------------
virtual wxString GetValue() const;
virtual void SetValue(const wxString& value) { DoSetValue(value, SetValue_SendEvent); }
virtual void ChangeValue(const wxString &value) { DoSetValue(value); }
virtual wxString GetRange(long from, long to) const;
virtual int GetLineLength(long lineNo) const;
virtual wxString GetLineText(long lineNo) const;
virtual int GetNumberOfLines() const;
virtual bool IsModified() const;
virtual bool IsEditable() const;
virtual void GetSelection(long* from, long* to) const;
// operations
// ----------
// editing
virtual void Clear();
virtual void Replace(long from, long to, const wxString& value);
virtual void Remove(long from, long to);
// load the controls contents from the file
virtual bool LoadFile(const wxString& file);
// clears the dirty flag
virtual void MarkDirty();
virtual void DiscardEdits();
virtual void SetMaxLength(unsigned long len);
// writing text inserts it at the current position, appending always
// inserts it at the end
virtual void WriteText(const wxString& text);
virtual void AppendText(const wxString& text);
// translate between the position (which is just an index in the text ctrl
// considering all its contents as a single strings) and (x, y) coordinates
// which represent column and line.
virtual long XYToPosition(long x, long y) const;
virtual bool PositionToXY(long pos, long *x, long *y) const;
virtual void ShowPosition(long pos);
virtual wxTextCtrlHitTestResult HitTest(const wxPoint& pt, long *pos) const;
virtual wxTextCtrlHitTestResult HitTest(const wxPoint& pt,
wxTextCoord *col,
wxTextCoord *row) const
{
return wxTextCtrlBase::HitTest(pt, col, row);
}
// Clipboard operations
virtual void Copy();
virtual void Cut();
virtual void Paste();
virtual bool CanCopy() const;
virtual bool CanCut() const;
virtual bool CanPaste() const;
// Undo/redo
virtual void Undo();
virtual void Redo();
virtual bool CanUndo() const;
virtual bool CanRedo() const;
// Insertion point
virtual void SetInsertionPoint(long pos);
virtual void SetInsertionPointEnd();
virtual long GetInsertionPoint() const;
virtual wxTextPos GetLastPosition() const;
virtual void SetSelection(long from, long to);
virtual void SetEditable(bool editable);
// Caret handling (Windows only)
bool ShowNativeCaret(bool show = true);
bool HideNativeCaret() { return ShowNativeCaret(false); }
// Implementation from now on
// --------------------------
virtual void Command(wxCommandEvent& event);
virtual bool MSWCommand(WXUINT param, WXWORD id);
virtual void AdoptAttributesFromHWND();
virtual bool AcceptsFocus() const;
// callbacks
void OnDropFiles(wxDropFilesEvent& event);
void OnChar(wxKeyEvent& event); // Process 'enter' if required
void OnCut(wxCommandEvent& event);
void OnCopy(wxCommandEvent& event);
void OnPaste(wxCommandEvent& event);
void OnUndo(wxCommandEvent& event);
void OnRedo(wxCommandEvent& event);
void OnDelete(wxCommandEvent& event);
void OnSelectAll(wxCommandEvent& event);
void OnUpdateCut(wxUpdateUIEvent& event);
void OnUpdateCopy(wxUpdateUIEvent& event);
void OnUpdatePaste(wxUpdateUIEvent& event);
void OnUpdateUndo(wxUpdateUIEvent& event);
void OnUpdateRedo(wxUpdateUIEvent& event);
void OnUpdateDelete(wxUpdateUIEvent& event);
void OnUpdateSelectAll(wxUpdateUIEvent& event);
// Show a context menu for Rich Edit controls (the standard
// EDIT control has one already)
void OnRightClick(wxMouseEvent& event);
// be sure the caret remains invisible if the user
// called HideNativeCaret() before
void OnSetFocus(wxFocusEvent& event);
// get the subclassed window proc of the buddy
WXFARPROC GetBuddyWndProc() const { return m_wndProcBuddy; }
// intercept WM_GETDLGCODE
virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
protected:
// common part of all ctors
void Init();
// call this to increase the size limit (will do nothing if the current
// limit is big enough)
//
// returns true if we increased the limit to allow entering more text,
// false if we hit the limit set by SetMaxLength() and so didn't change it
bool AdjustSpaceLimit();
void DoSetValue(const wxString &value, int flags = 0);
// replace the contents of the selection or of the entire control with the
// given text
void DoWriteText(const wxString& text, int flags = SetValue_SelectionOnly);
// set the selection possibly without scrolling the caret into view
void DoSetSelection(long from, long to, bool scrollCaret = true);
// return true if there is a non empty selection in the control
bool HasSelection() const;
// get the length of the line containing the character at the given
// position
long GetLengthOfLineContainingPos(long pos) const;
// send TEXT_UPDATED event, return true if it was handled, false otherwise
bool SendUpdateEvent();
// override some base class virtuals
virtual void DoMoveWindow(int x, int y, int width, int height);
virtual wxSize DoGetBestSize() const;
virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
// if true, SendUpdateEvent() will eat the next event (see comments in the
// code as to why this is needed)
bool m_suppressNextUpdate;
// all existing wxTextCtrl - this allows to find the one corresponding to
// the given buddy window in GetSpinTextCtrl()
static wxArrayTextSpins ms_allTextSpins;
protected:
// the data for the "buddy" list
WXHWND m_hwndBuddy;
WXFARPROC m_wndProcBuddy;
private:
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS_NO_COPY(wxTextCtrl)
bool m_isNativeCaretShown;
};
#endif // _WX_TEXTCTRLCE_H_

View File

@ -0,0 +1,53 @@
/*
* time.h
* Missing time functions and structures for use under WinCE
*/
#ifndef _WX_MSW_WINCE_TIME_H_
#define _WX_MSW_WINCE_TIME_H_
#ifndef _TM_DEFINED
#define _TM_DEFINED
struct tm {
int tm_sec; /* seconds after the minute - [0,59] */
int tm_min; /* minutes after the hour - [0,59] */
int tm_hour; /* hours since midnight - [0,23] */
int tm_mday; /* day of the month - [1,31] */
int tm_mon; /* months since January - [0,11] */
int tm_year; /* years since 1900 */
int tm_wday; /* days since Sunday - [0,6] */
int tm_yday; /* days since January 1 - [0,365] */
int tm_isdst; /* daylight savings time flag */
};
extern "C"
{
time_t __cdecl time(time_t *);
time_t __cdecl mktime(struct tm *);
// VC8 CRT provides the other functions
#if !defined(__VISUALC__) || (__VISUALC__ < 1400)
struct tm * __cdecl localtime(const time_t *);
struct tm * __cdecl gmtime(const time_t *);
#define _tcsftime wcsftime
size_t __cdecl wcsftime(wchar_t *, size_t, const wchar_t *, const struct tm *);
extern long timezone;
#endif // !VC8
}
#endif // !_TM_DEFINED
#endif // _WX_MSW_WINCE_TIME_H_

View File

@ -0,0 +1,15 @@
#include <commctrl.h>
#include "wx/msw/wince/resources.h"
#ifdef WIN32_PLATFORM_WFSP
#include "wx/msw/wince/smartphone.rc"
#else // !smartphone
// Dummy empty menubar/toolbar for WinCE
wxIDM_SHMENU RCDATA DISCARDABLE
BEGIN
wxIDM_SHMENU,
0
END
#endif // smartphone/!smartphone