osx new layout
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55419 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		| @@ -44,21 +44,20 @@ class WXDLLIMPEXP_CORE wxApp: public wxAppBase | ||||
|     virtual void SetPrintMode(int mode) { m_printMode = mode; } | ||||
|     virtual int GetPrintMode() const { return m_printMode; } | ||||
|  | ||||
|     // calling OnInit with an auto-release pool ready ... | ||||
|     virtual bool CallOnInit(); | ||||
| #if wxUSE_GUI | ||||
|     // setting up all MacOS Specific Event-Handlers etc | ||||
|     virtual bool OnInitGui(); | ||||
| #endif // wxUSE_GUI | ||||
| #if wxOSX_USE_IPHONE | ||||
|     virtual bool CallOnInit(); | ||||
|     virtual int OnRun(); | ||||
| #endif | ||||
|  | ||||
|     virtual bool ProcessIdle(); | ||||
|  | ||||
|     // implementation only | ||||
|     void OnIdle(wxIdleEvent& event); | ||||
|     void OnEndSession(wxCloseEvent& event); | ||||
|     void OnQueryEndSession(wxCloseEvent& event); | ||||
|  | ||||
|     void                  MacDoOneEvent() ; | ||||
|  | ||||
| protected: | ||||
|     int                   m_printMode; // wxPRINT_WINDOWS, wxPRINT_POSTSCRIPT | ||||
|  | ||||
| @@ -88,6 +87,8 @@ public: | ||||
|  | ||||
| private: | ||||
|     // mac specifics | ||||
|     virtual bool        DoInitGui(); | ||||
|     virtual void        DoCleanUp();   | ||||
|  | ||||
|     WXEVENTHANDLERREF     m_macEventHandler ; | ||||
|     WXEVENTHANDLERCALLREF m_macCurrentEventHandlerCallRef ; | ||||
| @@ -101,7 +102,6 @@ public: | ||||
|     static wxString       s_macHelpMenuTitleName ; | ||||
|  | ||||
|     WXEVENTREF            MacGetCurrentEvent() { return m_macCurrentEvent ; } | ||||
|     void                  MacHandleOneEvent( WXEVENTREF ev ) ; | ||||
|  | ||||
|     // For embedded use. By default does nothing. | ||||
|     virtual void          MacHandleUnhandledEvent( WXEVENTREF ev ); | ||||
|   | ||||
| @@ -162,6 +162,10 @@ public: | ||||
|     // returns a CGImageRef which must released after usage with CGImageRelease | ||||
|     CGImageRef CreateCGImage() const ; | ||||
|  | ||||
| #if wxOSX_USE_COCOA_OR_IPHONE | ||||
|     // returns an autoreleased version of the image | ||||
|     WX_NSImage GetNSImage() const; | ||||
| #endif | ||||
|     // returns a IconRef which must be retained before and released after usage | ||||
|     IconRef GetIconRef() const; | ||||
|     // returns a IconRef which must be released after usage | ||||
|   | ||||
| @@ -43,12 +43,15 @@ public: | ||||
|                 const wxValidator& validator = wxDefaultValidator, | ||||
|                 const wxString& name = wxButtonNameStr); | ||||
|  | ||||
|     virtual wxInt32 MacControlHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ; | ||||
|     static wxSize GetDefaultSize(); | ||||
|  | ||||
|     virtual wxWindow *SetDefault(); | ||||
|     virtual void Command(wxCommandEvent& event); | ||||
|  | ||||
|     // osx specific event handling common for all osx-ports | ||||
|      | ||||
|     virtual bool        HandleClicked( double timestampsec ); | ||||
|  | ||||
| protected: | ||||
|     virtual wxSize DoGetBestSize() const ; | ||||
|  | ||||
| @@ -82,7 +85,9 @@ public: | ||||
|     void SetOpen( bool open ); | ||||
|     bool IsOpen() const; | ||||
|  | ||||
|     virtual wxInt32 MacControlHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ; | ||||
|     // osx specific event handling common for all osx-ports | ||||
|      | ||||
|     virtual bool        HandleClicked( double timestampsec ); | ||||
|  | ||||
| protected: | ||||
|     virtual wxSize DoGetBestSize() const ; | ||||
|   | ||||
| @@ -34,9 +34,11 @@ public: | ||||
|     virtual void SetValue(bool); | ||||
|     virtual bool GetValue() const; | ||||
|  | ||||
|     virtual wxInt32 MacControlHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ; | ||||
|     virtual void Command(wxCommandEvent& event); | ||||
|  | ||||
|     // osx specific event handling common for all osx-ports | ||||
|      | ||||
|     virtual bool        HandleClicked( double timestampsec ); | ||||
| protected: | ||||
|     void DoSet3StateValue(wxCheckBoxState val); | ||||
|     virtual wxCheckBoxState DoGet3StateValue() const; | ||||
|   | ||||
| @@ -13,15 +13,6 @@ | ||||
| #ifndef _WX_MAC_CHECKLST_H_ | ||||
| #define _WX_MAC_CHECKLST_H_ | ||||
|  | ||||
| class wxMacCheckListControl | ||||
| { | ||||
| public : | ||||
|     virtual bool            MacIsChecked(unsigned int n) const = 0; | ||||
|     virtual void            MacCheck(unsigned int n, bool bCheck = true) = 0; | ||||
|  | ||||
|     virtual ~wxMacCheckListControl() { } | ||||
| }; | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxCheckListBox : public wxCheckListBoxBase | ||||
| { | ||||
| public: | ||||
| @@ -77,9 +68,22 @@ public: | ||||
|     bool  IsChecked(unsigned int uiIndex) const; | ||||
|     void  Check(unsigned int uiIndex, bool bCheck = true); | ||||
|  | ||||
|     wxMacCheckListControl* GetPeer() const; | ||||
|     // data callbacks | ||||
|     virtual void GetValueCallback( unsigned int n, wxListWidgetColumn* col , wxListWidgetCellValue& value ); | ||||
|     virtual void SetValueCallback( unsigned int n, wxListWidgetColumn* col , wxListWidgetCellValue& value ); | ||||
|  | ||||
| protected: | ||||
|    // override all methods which add/delete items to update m_checks array as | ||||
|     // well | ||||
|     virtual void OnItemInserted(unsigned int pos); | ||||
|     virtual void DoDeleteOneItem(unsigned int n); | ||||
|     virtual void DoClear(); | ||||
|  | ||||
|     // the array containing the checked status of the items | ||||
|     wxArrayInt m_checks; | ||||
|      | ||||
|     wxListWidgetColumn* m_checkColumn ; | ||||
|  | ||||
|     void Init(); | ||||
|  | ||||
| private: | ||||
|   | ||||
| @@ -28,7 +28,7 @@ class WXDLLIMPEXP_CORE wxChoice: public wxChoiceBase | ||||
|  | ||||
| public: | ||||
|     wxChoice() | ||||
|         : m_strings(), m_datas(), m_macPopUpMenuHandle(NULL) | ||||
|         : m_strings(), m_datas() | ||||
|         {} | ||||
|  | ||||
|     virtual ~wxChoice() ; | ||||
| @@ -76,7 +76,9 @@ public: | ||||
|     virtual int FindString(const wxString& s, bool bCase = false) const; | ||||
|     virtual wxString GetString(unsigned int n) const ; | ||||
|     virtual void SetString(unsigned int pos, const wxString& s); | ||||
|     virtual wxInt32 MacControlHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ; | ||||
|     // osx specific event handling common for all osx-ports | ||||
|      | ||||
|     virtual bool        HandleClicked( double timestampsec ); | ||||
|  | ||||
| protected: | ||||
|     virtual void DoDeleteOneItem(unsigned int n); | ||||
| @@ -92,7 +94,7 @@ protected: | ||||
|  | ||||
|     wxArrayString m_strings; | ||||
|     wxChoiceDataArray m_datas ; | ||||
|     WXHMENU    m_macPopUpMenuHandle ; | ||||
|     wxMenu*    m_popUpMenu ; | ||||
| }; | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -125,7 +125,9 @@ class WXDLLIMPEXP_CORE wxComboBox : public wxControl, public wxComboBoxBase | ||||
|  | ||||
|     virtual wxClientDataType GetClientDataType() const; | ||||
|  | ||||
|     wxInt32 MacControlHit( WXEVENTHANDLERREF handler, WXEVENTREF event ); | ||||
|     // osx specific event handling common for all osx-ports | ||||
|      | ||||
|     virtual bool        HandleClicked( double timestampsec ); | ||||
|  | ||||
|     wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST | ||||
|  | ||||
|   | ||||
| @@ -12,53 +12,19 @@ | ||||
| #ifndef _WX_MAC_CARBON_EVTLOOP_H_ | ||||
| #define _WX_MAC_CARBON_EVTLOOP_H_ | ||||
|  | ||||
| // set wxOSX_USE_RUN_APP_EVENT_LOOP to 1 if the standard | ||||
| // RunApplicationEventLoop function should be used, otherwise | ||||
| // the lower level CarbonEventLoop will be used | ||||
| // | ||||
| // in the long run we should make this 1 by default but we will have to clean | ||||
| // up event handling to make sure we don't miss handling of things like pending | ||||
| // events etc and perhaps we will also have to pipe events through an | ||||
| // ueber-event-handler to make sure we have one place to do all these | ||||
| // house-keeping functions | ||||
| #define wxOSX_USE_RUN_APP_EVENT_LOOP 0 | ||||
|  | ||||
| // ---------------------------------------------------------------------------- | ||||
| // wxEventLoop | ||||
| // ---------------------------------------------------------------------------- | ||||
|  | ||||
| #if wxOSX_USE_RUN_APP_EVENT_LOOP | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopBase | ||||
| { | ||||
| public: | ||||
|     wxGUIEventLoop() { m_exitcode = 0; } | ||||
|  | ||||
|     // implement base class pure virtuals | ||||
|     virtual int Run(); | ||||
|     virtual void Exit(int rc = 0); | ||||
|     virtual bool Pending() const; | ||||
|     virtual bool Dispatch(); | ||||
|  | ||||
| private: | ||||
|     int m_exitcode; | ||||
| }; | ||||
|  | ||||
| #else // manual event loop | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopManual | ||||
| { | ||||
| public: | ||||
|     wxGUIEventLoop() { } | ||||
|     wxGUIEventLoop(); | ||||
|  | ||||
|     virtual bool Pending() const; | ||||
|     virtual bool Dispatch(); | ||||
|  | ||||
|     // implement base class pure virtual | ||||
|     virtual void WakeUp(); | ||||
| private: | ||||
|     double      m_sleepTime; | ||||
| }; | ||||
|  | ||||
| #endif // auto/manual event loop | ||||
|  | ||||
| #endif // _WX_MAC_CARBON_EVTLOOP_H_ | ||||
|  | ||||
|   | ||||
| @@ -50,7 +50,9 @@ public: | ||||
|  | ||||
|     bool Create(const wxNativeFontInfo& info); | ||||
|  | ||||
| #if wxOSX_USE_CARBON | ||||
|     bool MacCreateFromThemeFont( wxUint16 themeFontID ) ; | ||||
| #endif | ||||
| #if wxOSX_USE_CORE_TEXT | ||||
|     bool MacCreateFromUIFont( wxUint32 coreTextFontType ); | ||||
|     bool MacCreateFromCTFontDescriptor( const void * ctFontDescriptor, int pointSize = 0 ); | ||||
|   | ||||
| @@ -103,8 +103,13 @@ protected: | ||||
|     virtual void DoGetClientSize(int *width, int *height) const; | ||||
|     virtual void DoSetClientSize(int width, int height); | ||||
|  | ||||
| #if wxUSE_MENUS | ||||
|     virtual void DetachMenuBar(); | ||||
|     virtual void AttachMenuBar(wxMenuBar *menubar); | ||||
| #endif | ||||
|  | ||||
|     // osx specific event handling common for all osx-ports | ||||
|     virtual void HandleResized( long timestamp ); | ||||
|  | ||||
| protected: | ||||
|     // the last focused child: we restore focus to it on activation | ||||
|   | ||||
| @@ -12,13 +12,17 @@ | ||||
| #ifndef _WX_GLCANVAS_H_ | ||||
| #define _WX_GLCANVAS_H_ | ||||
|  | ||||
| #ifdef __DARWIN__ | ||||
| #  include <OpenGL/gl.h> | ||||
| #  include <AGL/agl.h> | ||||
| #else | ||||
| #  include <gl.h> | ||||
| #  include <agl.h> | ||||
| #endif | ||||
| #include <OpenGL/gl.h> | ||||
|  | ||||
| // low level calls | ||||
|  | ||||
| WXDLLIMPEXP_GL WXGLContext WXGLCreateContext( WXGLPixelFormat pixelFormat, WXGLContext shareContext ); | ||||
| WXDLLIMPEXP_GL void WXGLDestroyContext( WXGLContext context ); | ||||
| WXDLLIMPEXP_GL WXGLContext WXGLGetCurrentContext(); | ||||
| WXDLLIMPEXP_GL void WXGLSwapBuffers( WXGLContext context ); | ||||
|  | ||||
| WXDLLIMPEXP_GL WXGLPixelFormat WXGLChoosePixelFormat(const int *attribList); | ||||
| WXDLLIMPEXP_GL void WXGLDestroyPixelFormat( WXGLPixelFormat pixelFormat ); | ||||
|  | ||||
| class WXDLLIMPEXP_GL wxGLContext : public wxGLContextBase | ||||
| { | ||||
| @@ -29,10 +33,10 @@ public: | ||||
|     virtual bool SetCurrent(const wxGLCanvas& win) const; | ||||
|  | ||||
|     // Mac-specific | ||||
|     AGLContext GetAGLContext() const { return m_aglContext; } | ||||
|  | ||||
|     WXGLContext GetWXGLContext() const { return m_glContext; } | ||||
|      | ||||
| private: | ||||
|     AGLContext m_aglContext; | ||||
|     WXGLContext m_glContext; | ||||
|  | ||||
|     DECLARE_NO_COPY_CLASS(wxGLContext) | ||||
| }; | ||||
| @@ -71,7 +75,7 @@ public: | ||||
|     static bool IsAGLMultiSampleAvailable(); | ||||
|  | ||||
|     // return the pixel format used by this window | ||||
|     AGLPixelFormat GetAGLPixelFormat() const { return m_aglFormat; } | ||||
|     WXGLPixelFormat GetWXGLPixelFormat() const { return m_glFormat; } | ||||
|  | ||||
|     // update the view port of the current context to match this window | ||||
|     void SetViewport(); | ||||
| @@ -119,6 +123,7 @@ public: | ||||
|  | ||||
|     // implementation-only from now on | ||||
|  | ||||
| #if wxOSX_USE_CARBON | ||||
|     // Unlike some other platforms, this must get called if you override it, | ||||
|     // i.e. don't forget "event.Skip()" in your EVT_SIZE handler | ||||
|     void OnSize(wxSizeEvent& event); | ||||
| @@ -128,12 +133,19 @@ public: | ||||
|     virtual void MacVisibilityChanged(); | ||||
|  | ||||
|     void MacUpdateView(); | ||||
|      | ||||
|     GLint GetAglBufferName() const { return m_bufferName; } | ||||
| #endif | ||||
|  | ||||
| protected: | ||||
|     AGLPixelFormat m_aglFormat; | ||||
|     WXGLPixelFormat m_glFormat; | ||||
|  | ||||
| #if wxOSX_USE_CARBON | ||||
|     bool m_macCanvasIsShown, | ||||
|          m_needsUpdate; | ||||
|     WXGLContext m_dummyContext; | ||||
|     GLint m_bufferName; | ||||
| #endif | ||||
|  | ||||
|     DECLARE_EVENT_TABLE() | ||||
|     DECLARE_CLASS(wxGLCanvas) | ||||
|   | ||||
| @@ -21,8 +21,8 @@ | ||||
| // forward decl for GetSelections() | ||||
| class wxArrayInt; | ||||
|  | ||||
| // forward decl for wxMacListControl data type. | ||||
| class wxMacListControl; | ||||
| // forward decl for wxListWidgetImpl data type. | ||||
| class wxListWidgetImpl; | ||||
|  | ||||
| // List box item | ||||
|  | ||||
| @@ -32,6 +32,10 @@ WX_DEFINE_ARRAY( char* , wxListDataArray ); | ||||
| // List box control | ||||
| // ---------------------------------------------------------------------------- | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxListWidgetColumn; | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxListWidgetCellValue; | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxListBox : public wxListBoxBase | ||||
| { | ||||
| public: | ||||
| @@ -86,7 +90,7 @@ public: | ||||
|         const wxString& name = wxListBoxNameStr); | ||||
|  | ||||
|     virtual ~wxListBox(); | ||||
|  | ||||
|      | ||||
|     // implement base class pure virtuals | ||||
|     virtual void Refresh(bool eraseBack = true, const wxRect *rect = NULL); | ||||
|  | ||||
| @@ -95,6 +99,10 @@ public: | ||||
|     virtual void SetString(unsigned int n, const wxString& s); | ||||
|     virtual int FindString(const wxString& s, bool bCase = false) const; | ||||
|  | ||||
|     // data callbacks | ||||
|     virtual void GetValueCallback( unsigned int n, wxListWidgetColumn* col , wxListWidgetCellValue& value ); | ||||
|     virtual void SetValueCallback( unsigned int n, wxListWidgetColumn* col , wxListWidgetCellValue& value ); | ||||
|      | ||||
|     virtual bool IsSelected(int n) const; | ||||
|     virtual int GetSelection() const; | ||||
|     virtual int GetSelections(wxArrayInt& aSelections) const; | ||||
| @@ -110,11 +118,15 @@ public: | ||||
|     static wxVisualAttributes | ||||
|     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); | ||||
|  | ||||
|     wxMacListControl* GetPeer() const; | ||||
|     wxListWidgetImpl* GetListPeer() const; | ||||
|      | ||||
|     bool MacGetBlockEvents() const { return m_blockEvents; } | ||||
|  | ||||
| protected: | ||||
|     // callback for derived classes which may have to insert additional data | ||||
|     // at a certain line - which cannot be predetermined for sorted list data | ||||
|     virtual void OnItemInserted(unsigned int pos); | ||||
|  | ||||
|     virtual void DoClear(); | ||||
|     virtual void DoDeleteOneItem(unsigned int n); | ||||
|  | ||||
| @@ -139,6 +151,21 @@ protected: | ||||
|  | ||||
|     bool m_blockEvents; | ||||
|      | ||||
|     wxListWidgetColumn* m_textColumn; | ||||
|      | ||||
|     // data storage (copied from univ) | ||||
|      | ||||
|     // the array containing all items (it is sorted if the listbox has | ||||
|     // wxLB_SORT style) | ||||
|     union | ||||
|     { | ||||
|         wxArrayString *unsorted; | ||||
|         wxSortedArrayString *sorted; | ||||
|     } m_strings; | ||||
|  | ||||
|     // and this one the client data (either void or wxClientData) | ||||
|     wxArrayPtrVoid m_itemsClientData; | ||||
|      | ||||
| private: | ||||
|     DECLARE_DYNAMIC_CLASS(wxListBox) | ||||
|     DECLARE_EVENT_TABLE() | ||||
|   | ||||
| @@ -18,7 +18,6 @@ | ||||
| #define wxMAC_ALWAYS_USE_GENERIC_LISTCTRL wxT("mac.listctrl.always_use_generic") | ||||
|  | ||||
| class wxMacDataBrowserListCtrlControl; | ||||
| class wxMacListControl; | ||||
| class wxListCtrlTextCtrlWrapper; | ||||
| class wxListCtrlRenameTimer; | ||||
|  | ||||
| @@ -281,7 +280,7 @@ class WXDLLIMPEXP_CORE wxListCtrl: public wxControl | ||||
|   // data is arbitrary data to be passed to the sort function. | ||||
|   bool SortItems(wxListCtrlCompare fn, long data); | ||||
|  | ||||
|   wxMacListControl* GetPeer() const; | ||||
|   wxMacDataBrowserListCtrlControl* GetListPeer() const; | ||||
|  | ||||
|     // these functions are only used for virtual list view controls, i.e. the | ||||
|     // ones with wxLC_VIRTUAL style | ||||
|   | ||||
| @@ -20,6 +20,8 @@ class WXDLLIMPEXP_FWD_CORE wxFrame; | ||||
| // Menu | ||||
| // ---------------------------------------------------------------------------- | ||||
|  | ||||
| class WXDLLIMPEXP_FWD_CORE wxMenuImpl ; | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxMenu : public wxMenuBase | ||||
| { | ||||
| public: | ||||
| @@ -37,34 +39,40 @@ public: | ||||
|  | ||||
|     virtual void SetTitle(const wxString& title); | ||||
|  | ||||
|     // MSW-specific | ||||
|     bool ProcessCommand(wxCommandEvent& event); | ||||
|  | ||||
|     // semi-private accessors | ||||
|  | ||||
|     // get the window which contains this menu | ||||
|     wxWindow *GetWindow() const; | ||||
|     // get the menu handle | ||||
|     WXHMENU GetHMenu() const ; | ||||
|  | ||||
|     // implementation only from now on | ||||
|     // ------------------------------- | ||||
|  | ||||
|       int    MacGetIndexFromId( int id ) ; | ||||
|       int    MacGetIndexFromItem( wxMenuItem *pItem ) ; | ||||
|       void MacEnableMenu( bool bDoEnable ) ; | ||||
|       // MacOS needs to know about submenus somewhere within this menu | ||||
|       // before it can be displayed , also hide special menu items like preferences | ||||
|       // that are handled by the OS | ||||
|       void  MacBeforeDisplay( bool isSubMenu ) ; | ||||
|       // undo all changes from the MacBeforeDisplay call | ||||
|       void  MacAfterDisplay( bool isSubMenu ) ; | ||||
|  | ||||
|     // semi-private accessors | ||||
|         // get the window which contains this menu | ||||
|     wxWindow *GetWindow() const; | ||||
|         // get the menu handle | ||||
|     WXHMENU GetHMenu() const { return m_hMenu; } | ||||
|  | ||||
|     short MacGetMenuId() { return m_macMenuId ; } | ||||
|  | ||||
|     wxInt32 MacHandleCommandProcess( wxMenuItem* item, int id, wxWindow* targetWindow = NULL ); | ||||
|     wxInt32 MacHandleCommandUpdateStatus( wxMenuItem* item, int id, wxWindow* targetWindow = NULL); | ||||
|     bool HandleCommandUpdateStatus( wxMenuItem* menuItem, wxWindow* senderWindow = NULL); | ||||
|     bool HandleCommandProcess( wxMenuItem* menuItem, wxWindow* senderWindow = NULL); | ||||
|     void HandleMenuItemHighlighted( wxMenuItem* menuItem ); | ||||
|     void HandleMenuOpened(); | ||||
|     void HandleMenuClosed(); | ||||
|  | ||||
|     wxMenuImpl* GetPeer() { return m_peer; } | ||||
|      | ||||
|     // make sure we can veto | ||||
|     void SetAllowRearrange( bool allow ); | ||||
|     bool AllowRearrange() const { return m_allowRearrange; } | ||||
|      | ||||
|     // if a menu is used purely for internal implementation reasons (eg wxChoice) | ||||
|     // we don't want native menu events being triggered | ||||
|     void SetNoEventsMode( bool noEvents ); | ||||
|     bool GetNoEventsMode() const { return m_noEventsMode; } | ||||
| protected: | ||||
|     // hide special menu items like exit, preferences etc | ||||
|     // that are expected in the app menu   | ||||
|     void DoRearrange() ; | ||||
|      | ||||
|     bool DoHandleMenuEvent( wxEvent& evt ); | ||||
|     virtual wxMenuItem* DoAppend(wxMenuItem *item); | ||||
|     virtual wxMenuItem* DoInsert(size_t pos, wxMenuItem *item); | ||||
|     virtual wxMenuItem* DoRemove(wxMenuItem *item); | ||||
| @@ -82,19 +90,24 @@ private: | ||||
|     // if TRUE, insert a breal before appending the next item | ||||
|     bool m_doBreak; | ||||
|  | ||||
|     // in this menu rearranging of menu items (esp hiding) is allowed | ||||
|     bool m_allowRearrange; | ||||
|      | ||||
|     // don't trigger native events | ||||
|     bool m_noEventsMode; | ||||
|      | ||||
|     // the position of the first item in the current radio group or -1 | ||||
|     int m_startRadioGroup; | ||||
|  | ||||
|     // the menu handle of this menu | ||||
|     WXHMENU m_hMenu; | ||||
|  | ||||
|       short                m_macMenuId; | ||||
|  | ||||
|       static short        s_macNextMenuId ; | ||||
|      | ||||
|     wxMenuImpl* m_peer; | ||||
|  | ||||
|     DECLARE_DYNAMIC_CLASS(wxMenu) | ||||
| }; | ||||
|  | ||||
| #if wxOSX_USE_COCOA_OR_CARBON | ||||
|  | ||||
| // the iphone only has popup-menus | ||||
|  | ||||
| // ---------------------------------------------------------------------------- | ||||
| // Menu Bar (a la Windows) | ||||
| // ---------------------------------------------------------------------------- | ||||
| @@ -132,7 +145,6 @@ public: | ||||
|     } | ||||
|  | ||||
|     // implementation from now on | ||||
|     WXHMENU Create(); | ||||
|     int  FindMenu(const wxString& title); | ||||
|     void Detach(); | ||||
|  | ||||
| @@ -173,10 +185,14 @@ protected: | ||||
|     static WXHMENU  s_macWindowMenuHandle ; | ||||
|  | ||||
| private: | ||||
|   static wxMenuBar*            s_macInstalledMenuBar ; | ||||
|   static wxMenuBar*            s_macCommonMenuBar ; | ||||
|     static wxMenuBar*            s_macInstalledMenuBar ; | ||||
|     static wxMenuBar*            s_macCommonMenuBar ; | ||||
|    | ||||
|     wxMenu* m_rootMenu; | ||||
|  | ||||
|     DECLARE_DYNAMIC_CLASS(wxMenuBar) | ||||
| }; | ||||
|  | ||||
| #endif | ||||
|  | ||||
| #endif // _WX_MENU_H_ | ||||
|   | ||||
| @@ -22,6 +22,9 @@ | ||||
| // ---------------------------------------------------------------------------- | ||||
| // wxMenuItem: an item in the menu, optionally implements owner-drawn behaviour | ||||
| // ---------------------------------------------------------------------------- | ||||
|  | ||||
| class WXDLLIMPEXP_FWD_CORE wxMenuItemImpl ; | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxMenuItem: public wxMenuItemBase | ||||
| { | ||||
| public: | ||||
| @@ -53,9 +56,8 @@ public: | ||||
|     void SetRadioGroupStart(int start); | ||||
|     void SetRadioGroupEnd(int end); | ||||
|  | ||||
|     wxMenuItemImpl* GetPeer() { return m_peer; } | ||||
| private: | ||||
|     void DoUpdateItemBitmap( WXHMENU menu, wxUint16 index) ; | ||||
|  | ||||
|     void UncheckRadio() ; | ||||
|  | ||||
|     // the positions of the first and last items of the radio group this item | ||||
| @@ -73,6 +75,8 @@ private: | ||||
|  | ||||
|     wxBitmap  m_bitmap; // Bitmap for menuitem, if any | ||||
|     void* m_menu ; // the appropriate menu , may also be a system menu | ||||
|      | ||||
|     wxMenuItemImpl* m_peer; | ||||
|  | ||||
|     DECLARE_DYNAMIC_CLASS(wxMenuItem) | ||||
| }; | ||||
|   | ||||
| @@ -97,7 +97,13 @@ public: | ||||
|      | ||||
|     wxNonOwnedWindowImpl* GetNonOwnedPeer() const { return m_nowpeer; } | ||||
|      | ||||
|     // osx specific event handling common for all osx-ports | ||||
|      | ||||
|     virtual void HandleActivated( double timestampsec, bool didActivate ); | ||||
|     virtual void HandleResized( double timestampsec ); | ||||
|     virtual void HandleMoved( double timestampsec ); | ||||
|     virtual void HandleResizing( double timestampsec, wxRect* rect ); | ||||
|          | ||||
| protected: | ||||
|     // common part of all ctors | ||||
|     void Init(); | ||||
|   | ||||
| @@ -117,7 +117,9 @@ public: | ||||
|   // base class virtuals | ||||
|   // ------------------- | ||||
|   virtual void Command(wxCommandEvent& event); | ||||
|     virtual wxInt32 MacControlHit(WXEVENTHANDLERREF handler, WXEVENTREF event); | ||||
|     // osx specific event handling common for all osx-ports | ||||
|      | ||||
|     virtual bool        HandleClicked( double timestampsec ); | ||||
|  | ||||
| protected: | ||||
|   virtual wxNotebookPage *DoRemovePage(size_t page) ; | ||||
|   | ||||
| @@ -25,6 +25,8 @@ typedef SInt32 SRefCon; | ||||
|  | ||||
| #if wxUSE_GUI | ||||
|  | ||||
| #include "wx/osx/uma.h" | ||||
|  | ||||
| #include "wx/listbox.h" | ||||
| #include "wx/osx/carbon/dc.h" | ||||
| #include "wx/osx/carbon/dcclient.h" | ||||
| @@ -289,8 +291,6 @@ public : | ||||
|  | ||||
|     void Init(); | ||||
|  | ||||
|     virtual void Destroy(); | ||||
|  | ||||
|     void SetReferenceInNativeControl(); | ||||
|     static wxMacControl* GetReferenceFromNativeControl(ControlRef control); | ||||
|  | ||||
| @@ -313,6 +313,7 @@ public : | ||||
|     virtual void        Move(int x, int y, int width, int height); | ||||
|     virtual void        GetPosition( int &x, int &y ) const; | ||||
|     virtual void        GetSize( int &width, int &height ) const; | ||||
|     virtual void        SetControlSize( wxWindowVariant variant ) ; | ||||
|  | ||||
|     // where is in native window relative coordinates | ||||
|     virtual void        SetNeedsDisplay( const wxRect* where = NULL ); | ||||
| @@ -325,6 +326,28 @@ public : | ||||
|  | ||||
|     void                RemoveFromParent(); | ||||
|     void                Embed( wxWidgetImpl *parent ); | ||||
|      | ||||
|     void                SetDefaultButton( bool isDefault ); | ||||
|     void                PerformClick(); | ||||
|     void                SetLabel( const wxString& title, wxFontEncoding encoding ); | ||||
|  | ||||
|     wxInt32             GetValue() const; | ||||
|     void                SetValue( wxInt32 v ); | ||||
|     void                SetBitmap( const wxBitmap& bitmap ); | ||||
|     void                SetupTabs( const wxNotebook ¬ebook ); | ||||
|  | ||||
|     void                GetBestRect( wxRect *r ) const; | ||||
|     bool                IsEnabled() const; | ||||
|     void                Enable( bool enable ); | ||||
|     bool                ButtonClickDidStateChange() { return false ;} | ||||
|     void                SetMinimum( wxInt32 v ); | ||||
|     void                SetMaximum( wxInt32 v ); | ||||
|     void                PulseGauge() ; | ||||
|     void                SetScrollThumb( wxInt32 value, wxInt32 thumbSize ); | ||||
|  | ||||
|     // temp convenience methods | ||||
|  | ||||
|     void                GetBestRect( Rect *r ) const; | ||||
|     /* | ||||
|     void operator= (ControlRef c) { m_controlRef = c; } | ||||
|     operator ControlRef () { return m_controlRef; } | ||||
| @@ -340,14 +363,8 @@ public : | ||||
|  | ||||
|     virtual OSStatus SendHICommand( UInt32 commandID , OptionBits inOptions = 0 ); | ||||
|  | ||||
|     virtual SInt32 GetValue() const; | ||||
|     virtual SInt32 GetMaximum() const; | ||||
|     virtual SInt32 GetMinimum() const; | ||||
|  | ||||
|     virtual void SetValue( SInt32 v ); | ||||
|     virtual void SetMinimum( SInt32 v ); | ||||
|     virtual void SetMaximum( SInt32 v ); | ||||
|  | ||||
|   | ||||
|     virtual void SetValueAndRange( SInt32 value , SInt32 minimum , SInt32 maximum ); | ||||
|     virtual void SetRange( SInt32 minimum , SInt32 maximum ); | ||||
|  | ||||
| @@ -404,7 +421,6 @@ public : | ||||
|     } | ||||
|  | ||||
|     // Flash the control for the specified amount of time | ||||
|     virtual void Flash( ControlPartCode part , UInt32 ticks = 8 ); | ||||
|  | ||||
|     virtual void VisibilityChanged( bool shown ); | ||||
|     virtual void SuperChangedPosition(); | ||||
| @@ -414,13 +430,11 @@ public : | ||||
|     virtual void SetBackgroundColour( const wxColour& col ); | ||||
|     virtual ControlPartCode HandleKey(  SInt16 keyCode,  SInt16 charCode, EventModifiers modifiers ); | ||||
|     void SetActionProc( ControlActionUPP   actionProc ); | ||||
|     void SetViewSize( SInt32 viewSize ); | ||||
|     SInt32 GetViewSize() const; | ||||
|  | ||||
|     virtual void SetVisibility( bool visible ); | ||||
|     virtual bool IsEnabled() const; | ||||
|  | ||||
|     virtual bool IsActive() const; | ||||
|     virtual void Enable( bool enable ); | ||||
|  | ||||
|     // invalidates this control and all children | ||||
|     virtual void InvalidateWithChildren(); | ||||
| @@ -429,9 +443,7 @@ public : | ||||
|     // in native parent window relative coordinates | ||||
|  | ||||
|     virtual void GetRectInWindowCoords( Rect *r ); | ||||
|     virtual void GetBestRect( Rect *r ); | ||||
|  | ||||
|     virtual void SetLabel( const wxString &title ); | ||||
|  | ||||
|     virtual void GetFeatures( UInt32 *features ); | ||||
|     virtual OSStatus GetRegion( ControlPartCode partCode , RgnHandle region ); | ||||
| @@ -614,38 +626,23 @@ const DataBrowserPropertyID kMinColumnId = 1050; | ||||
|  | ||||
| // base API for high-level databrowser operations | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxMacListControl | ||||
| { | ||||
| public: | ||||
|     virtual void            MacDelete( unsigned int n ) = 0; | ||||
|     virtual void            MacInsert( unsigned int n, const wxArrayStringsAdapter& items, int column = -1 ) = 0; | ||||
|     // returns index of newly created line | ||||
|     virtual int             MacAppend( const wxString& item ) = 0; | ||||
|     virtual void            MacSetString( unsigned int n, const wxString& item ) = 0; | ||||
|     virtual void            MacClear() = 0; | ||||
|     virtual void            MacDeselectAll() = 0; | ||||
|     virtual void            MacSetSelection( unsigned int n, bool select, bool multi ) = 0; | ||||
|     virtual int             MacGetSelection() const = 0; | ||||
|     virtual int             MacGetSelections( wxArrayInt& aSelections ) const = 0; | ||||
|     virtual bool            MacIsSelected( unsigned int n ) const = 0; | ||||
|     virtual void            MacScrollTo( unsigned int n ) = 0; | ||||
|     virtual wxString        MacGetString( unsigned int n) const = 0; | ||||
|     virtual unsigned int    MacGetCount() const = 0; | ||||
|  | ||||
|     virtual void            MacSetClientData( unsigned int n, void * data) = 0; | ||||
|     virtual void *          MacGetClientData( unsigned int) const = 0; | ||||
|  | ||||
|     virtual ~wxMacListControl() { } | ||||
| }; | ||||
|  | ||||
| // base class for databrowser items | ||||
|  | ||||
| enum DataItemType { | ||||
|     DataItem_Text | ||||
| }; | ||||
|  | ||||
| /* | ||||
| class WXDLLIMPEXP_CORE wxMacDataItem | ||||
| { | ||||
| public : | ||||
|     wxMacDataItem(); | ||||
|     virtual ~wxMacDataItem(); | ||||
| } ; | ||||
| */ | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxMacDataItem  | ||||
| { | ||||
| public : | ||||
|     wxMacDataItem(); | ||||
|     virtual ~wxMacDataItem(); | ||||
| @@ -664,24 +661,11 @@ public : | ||||
|         DataBrowserItemNotification message, | ||||
|         DataBrowserItemDataRef itemData ) const; | ||||
|  | ||||
|     void SetLabel( const wxString& str); | ||||
|     const wxString& GetLabel() const; | ||||
|  | ||||
|     void SetOrder( SInt32 order ); | ||||
|     SInt32 GetOrder() const; | ||||
|  | ||||
|     void SetData( void* data); | ||||
|     void* GetData() const; | ||||
|  | ||||
|     void SetColumn( short col ); | ||||
|     short GetColumn(); | ||||
|  | ||||
| protected : | ||||
|     wxString    m_label; | ||||
|     wxCFStringRef m_cfLabel; | ||||
|     void *      m_data; | ||||
|     SInt32      m_order; | ||||
|     DataBrowserPropertyID m_colId; | ||||
|  | ||||
| }; | ||||
|  | ||||
| @@ -693,18 +677,17 @@ enum ListSortOrder { | ||||
|  | ||||
| typedef wxMacDataItem* wxMacDataItemPtr; | ||||
| const wxMacDataItemPtr wxMacDataBrowserRootContainer = NULL; | ||||
| typedef void * wxListColumnId ; | ||||
|  | ||||
| WX_DEFINE_USER_EXPORTED_ARRAY_PTR(wxMacDataItemPtr, wxArrayMacDataItemPtr, class WXDLLIMPEXP_CORE); | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxMacDataItemBrowserControl : public wxMacDataBrowserControl, public wxMacListControl | ||||
| class WXDLLIMPEXP_CORE wxMacDataItemBrowserControl : public wxMacDataBrowserControl | ||||
| { | ||||
| public : | ||||
|     wxMacDataItemBrowserControl( wxWindow* peer , const wxPoint& pos, const wxSize& size, long style); | ||||
|     wxMacDataItemBrowserControl() {} | ||||
|     // create a list item (can be a subclass of wxMacListBoxItem) | ||||
|  | ||||
|     virtual wxMacDataItem* CreateItem(); | ||||
|  | ||||
|     unsigned int    GetItemCount(const wxMacDataItem* container, bool recurse , DataBrowserItemState state) const; | ||||
|     void            GetItems(const wxMacDataItem* container, bool recurse , | ||||
|                         DataBrowserItemState state, wxArrayMacDataItemPtr &items ) const; | ||||
| @@ -741,6 +724,18 @@ public : | ||||
|  | ||||
|     void            GetSelectionAnchor( wxMacDataItemPtr* first , wxMacDataItemPtr* last) const; | ||||
|  | ||||
|     // add and remove | ||||
|  | ||||
|     virtual void            MacDelete( unsigned int n ); | ||||
|     virtual void            MacInsert( unsigned int n, wxMacDataItem* item); | ||||
|     virtual void            MacClear(); | ||||
|  | ||||
|     // accessing content | ||||
|  | ||||
|     virtual unsigned int    MacGetCount() const; | ||||
|  | ||||
| public : | ||||
|  | ||||
|     // item aware methods, to be used in subclasses | ||||
|  | ||||
|     virtual Boolean CompareItems(const wxMacDataItem* itemOneID, | ||||
| @@ -763,35 +758,6 @@ public : | ||||
|     bool            IsSelectionSuppressed() const { return m_suppressSelection; } | ||||
|     bool            SuppressSelection( bool suppress ); | ||||
|  | ||||
|  | ||||
|     // wxMacListControl Methods | ||||
|     // add and remove | ||||
|  | ||||
|     virtual void            MacDelete( unsigned int n ); | ||||
|     virtual void            MacInsert( unsigned int n, const wxArrayStringsAdapter& items, int column = -1 ); | ||||
|     virtual int             MacAppend( const wxString& item ); | ||||
|     virtual void            MacClear(); | ||||
|  | ||||
|     // selecting | ||||
|  | ||||
|     virtual void            MacDeselectAll(); | ||||
|     virtual void            MacSetSelection( unsigned int n, bool select, bool multi = false ); | ||||
|     virtual int             MacGetSelection() const; | ||||
|     virtual int             MacGetSelections( wxArrayInt& aSelections ) const; | ||||
|     virtual bool            MacIsSelected( unsigned int n ) const; | ||||
|  | ||||
|     // display | ||||
|  | ||||
|     virtual void            MacScrollTo( unsigned int n ); | ||||
|  | ||||
|     // accessing content | ||||
|  | ||||
|     virtual void            MacSetString( unsigned int n, const wxString& item ); | ||||
|     virtual void            MacSetClientData( unsigned int n, void * data); | ||||
|     virtual wxString        MacGetString( unsigned int n) const; | ||||
|     virtual void *          MacGetClientData( unsigned int) const; | ||||
|     virtual unsigned int    MacGetCount() const; | ||||
|  | ||||
|     // client data | ||||
|  | ||||
|     virtual wxClientDataType GetClientDataType() const; | ||||
| @@ -854,28 +820,112 @@ public : | ||||
|  | ||||
|     virtual ~wxMacListBoxItem(); | ||||
|  | ||||
|     virtual OSStatus GetSetData(wxMacDataItemBrowserControl *owner , | ||||
|         DataBrowserPropertyID property, | ||||
|         DataBrowserItemDataRef itemData, | ||||
|         bool changeValue ); | ||||
|  | ||||
|     virtual void Notification(wxMacDataItemBrowserControl *owner , | ||||
|         DataBrowserItemNotification message, | ||||
|         DataBrowserItemDataRef itemData ) const; | ||||
| protected : | ||||
| }; | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxMacDataBrowserListControl : public wxMacDataItemBrowserControl | ||||
| class WXDLLIMPEXP_CORE wxMacDataBrowserColumn : public wxListWidgetColumn | ||||
| { | ||||
| public : | ||||
|     wxMacDataBrowserColumn( DataBrowserPropertyID propertyId, DataBrowserPropertyType colType, bool editable )  | ||||
|         : m_property(propertyId), m_editable(editable), m_type( colType ) | ||||
|     { | ||||
|     } | ||||
|     ~wxMacDataBrowserColumn() | ||||
|     { | ||||
|     } | ||||
|     DataBrowserPropertyID GetProperty() const { return m_property ; } | ||||
|      | ||||
|     bool IsEditable() const { return m_editable; } | ||||
|      | ||||
|     DataBrowserPropertyType GetType() const { return m_type; } | ||||
|  | ||||
| protected : | ||||
|     DataBrowserPropertyID m_property; | ||||
|     bool m_editable; | ||||
|     DataBrowserPropertyType m_type; | ||||
| } ; | ||||
|  | ||||
| WX_DEFINE_ARRAY_PTR(wxMacDataBrowserColumn *, wxArrayMacDataBrowserColumns); | ||||
|  | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxMacDataBrowserCellValue : public wxListWidgetCellValue | ||||
| { | ||||
| public : | ||||
|     wxMacDataBrowserCellValue(DataBrowserItemDataRef data) : m_data(data) {} | ||||
|     virtual ~wxMacDataBrowserCellValue() {} | ||||
|      | ||||
|    virtual void Set( CFStringRef value ); | ||||
|     virtual void Set( const wxString& value ); | ||||
|     virtual void Set( int value ) ; | ||||
|      | ||||
|     virtual int GetIntValue() const ; | ||||
|     virtual wxString GetStringValue() const ; | ||||
| protected : | ||||
|     DataBrowserItemDataRef m_data; | ||||
| } ; | ||||
|  | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxMacDataBrowserListControl : public wxMacDataItemBrowserControl, public wxListWidgetImpl | ||||
| { | ||||
| public: | ||||
|     wxMacDataBrowserListControl( wxWindow *peer, const wxPoint& pos, const wxSize& size, long style ); | ||||
|     wxMacDataBrowserListControl() {} | ||||
|     virtual ~wxMacDataBrowserListControl(); | ||||
|  | ||||
|     virtual wxMacDataItem* CreateItem(); | ||||
|     // wxListWidgetImpl Methods | ||||
|  | ||||
|     virtual void    ItemNotification( | ||||
|                         const wxMacDataItem* itemID, | ||||
|                         DataBrowserItemNotification message, | ||||
|                         DataBrowserItemDataRef itemData); | ||||
|     wxListWidgetColumn*     InsertTextColumn( unsigned int pos, const wxString& title, bool editable = false, | ||||
|                                 wxAlignment just = wxALIGN_LEFT , int defaultWidth = -1) ; | ||||
|     wxListWidgetColumn*     InsertCheckColumn( unsigned int pos , const wxString& title, bool editable = false,  | ||||
|                                 wxAlignment just = wxALIGN_LEFT , int defaultWidth = -1) ; | ||||
|  | ||||
|     wxMacDataBrowserColumn* DoInsertColumn( unsigned int pos, DataBrowserPropertyID property,  | ||||
|                                 const wxString& title, bool editable, | ||||
|                                 DataBrowserPropertyType colType, SInt16 just, int width ); | ||||
|     // add and remove | ||||
|  | ||||
|     virtual void            ListDelete( unsigned int n ); | ||||
|     virtual void            ListInsert( unsigned int n ); | ||||
|     virtual void            ListClear(); | ||||
|  | ||||
|     // selecting | ||||
|  | ||||
|     virtual void            ListDeselectAll(); | ||||
|     virtual void            ListSetSelection( unsigned int n, bool select, bool multi = false ); | ||||
|     virtual int             ListGetSelection() const; | ||||
|     virtual int             ListGetSelections( wxArrayInt& aSelections ) const; | ||||
|     virtual bool            ListIsSelected( unsigned int n ) const; | ||||
|  | ||||
|     // display | ||||
|  | ||||
|     virtual void            ListScrollTo( unsigned int n ); | ||||
|  | ||||
|     // accessing content | ||||
|  | ||||
|     virtual unsigned int    ListGetCount() const; | ||||
|  | ||||
|     virtual void            UpdateLine( unsigned int n, wxListWidgetColumn* col = NULL ); | ||||
|     virtual void            UpdateLineToEnd( unsigned int n) ; | ||||
|  | ||||
|     virtual void            ItemNotification( | ||||
|                                 const wxMacDataItem* itemID, | ||||
|                                 DataBrowserItemNotification message, | ||||
|                                 DataBrowserItemDataRef itemData); | ||||
|  | ||||
|     // pointing back | ||||
|  | ||||
|     // wxWindow * GetPeer() const; | ||||
|     wxMacDataBrowserColumn*     GetColumnFromProperty( DataBrowserPropertyID ); | ||||
| private: | ||||
|     wxArrayMacDataBrowserColumns m_columns; | ||||
|     int m_nextColumnId ; | ||||
|  | ||||
|     DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacDataBrowserListControl) | ||||
| }; | ||||
|   | ||||
| @@ -15,10 +15,19 @@ | ||||
| #include "wx/osx/private.h" | ||||
|  | ||||
| // common interface for all implementations | ||||
| class wxMacTextControl : public wxMacControl | ||||
| class wxMacTextControl : | ||||
| #if wxOSX_USE_CARBON  | ||||
|     public wxMacControl | ||||
| #else | ||||
|     public wxWidgetCocoaImpl | ||||
| #endif | ||||
| { | ||||
| public : | ||||
| #if wxOSX_USE_CARBON  | ||||
|     wxMacTextControl( wxTextCtrl *peer ) ; | ||||
| #else | ||||
|     wxMacTextControl::wxMacTextControl(wxTextCtrl* peer, WXWidget w) ; | ||||
| #endif | ||||
|     virtual ~wxMacTextControl() ; | ||||
|  | ||||
|     virtual bool CanFocus() const { return true; } | ||||
| @@ -61,6 +70,7 @@ public : | ||||
|     virtual void SetFont( const wxFont & font , const wxColour& foreground , long windowStyle ); | ||||
| }; | ||||
|  | ||||
| #if wxOSX_USE_CARBON | ||||
| class wxMacUnicodeTextControl : public wxMacTextControl | ||||
| { | ||||
| public : | ||||
| @@ -95,5 +105,6 @@ protected : | ||||
| public : | ||||
|     ControlEditTextSelectionRec m_selection ; | ||||
| }; | ||||
| #endif | ||||
|  | ||||
| #endif // _WX_MAC_PRIVATE_MACTEXT_H_ | ||||
|   | ||||
| @@ -41,12 +41,14 @@ public: | ||||
|  | ||||
|     // implementation  | ||||
|      | ||||
|       virtual wxInt32 MacControlHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ; | ||||
|     void Command(wxCommandEvent& event); | ||||
|     wxRadioButton *AddInCycle(wxRadioButton *cycle); | ||||
|     void RemoveFromCycle(); | ||||
|     inline wxRadioButton *NextInCycle() {return m_cycle;} | ||||
|      | ||||
|     // osx specific event handling common for all osx-ports | ||||
|      | ||||
|     virtual bool        HandleClicked( double timestampsec ); | ||||
|   protected: | ||||
|    | ||||
|     wxRadioButton *m_cycle; | ||||
|   | ||||
| @@ -48,12 +48,12 @@ public: | ||||
|  | ||||
|     // implementation only from now on | ||||
|     void Command(wxCommandEvent& event); | ||||
| #if wxOSX_USE_CARBON | ||||
|     virtual void MacHandleControlClick( WXWidget control , | ||||
|                                         wxInt16 controlpart , | ||||
|                                         bool mouseStillDown ) ; | ||||
|     virtual wxInt32 MacControlHit( WXEVENTHANDLERREF handler , | ||||
|                                    WXEVENTREF mevent ) ; | ||||
|  | ||||
| #endif | ||||
|     virtual bool HandleClicked( double timestampsec ); | ||||
| protected: | ||||
|     virtual wxSize DoGetBestSize() const; | ||||
|  | ||||
|   | ||||
| @@ -75,7 +75,9 @@ public: | ||||
|     void SetTick(int tickPos) ; | ||||
|  | ||||
|     void Command(wxCommandEvent& event); | ||||
|     virtual wxInt32 MacControlHit(WXEVENTHANDLERREF handler, WXEVENTREF event); | ||||
|     // osx specific event handling common for all osx-ports | ||||
|      | ||||
|     virtual bool        HandleClicked( double timestampsec ); | ||||
|     void MacHandleControlClick(WXWidget control, wxInt16 controlpart, bool mouseStillDown); | ||||
|  | ||||
| protected: | ||||
|   | ||||
| @@ -52,21 +52,23 @@ public: | ||||
|  | ||||
|  | ||||
|     // accessors | ||||
|     virtual int GetMin() const; | ||||
|     virtual int GetMax() const; | ||||
|     virtual int GetValue() const; | ||||
|     virtual void SetValue(int val); | ||||
|     virtual void SetRange(int minVal, int maxVal); | ||||
|     virtual int GetValue() const ; | ||||
|     virtual void SetValue(int val); | ||||
|  | ||||
|     // implementation | ||||
|      | ||||
| #if wxOSX_USE_CARBON | ||||
|     virtual void MacHandleControlClick( WXWidget control , wxInt16 controlpart , bool mouseStillDown ) ; | ||||
|     virtual wxInt32 MacControlHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ; | ||||
| #endif | ||||
|     // osx specific event handling common for all osx-ports | ||||
|      | ||||
|     virtual bool HandleClicked( double timestampsec ); | ||||
|  | ||||
| protected: | ||||
|     void         MacHandleValueChanged( int inc ) ; | ||||
|    virtual wxSize DoGetBestSize() const; | ||||
|    int m_value ; | ||||
|     void         SendThumbTrackEvent() ; | ||||
|  | ||||
|     virtual wxSize DoGetBestSize() const; | ||||
|  | ||||
| private: | ||||
|     DECLARE_DYNAMIC_CLASS(wxSpinButton) | ||||
|   | ||||
| @@ -44,7 +44,7 @@ public: | ||||
|     virtual void SetValue(bool value); | ||||
|     virtual bool GetValue() const ; | ||||
|  | ||||
|     virtual wxInt32 MacControlHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ; | ||||
|     virtual bool HandleClicked( double timestampsec ); | ||||
|  | ||||
|     virtual void Command(wxCommandEvent& event); | ||||
|  | ||||
| @@ -88,7 +88,7 @@ public: | ||||
|     virtual void SetValue(bool value); | ||||
|     virtual bool GetValue() const ; | ||||
|  | ||||
|     virtual wxInt32 MacControlHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ; | ||||
|     virtual bool HandleClicked( double timestampsec ); | ||||
|  | ||||
|     virtual void Command(wxCommandEvent& event); | ||||
|  | ||||
|   | ||||
| @@ -99,7 +99,7 @@ protected: | ||||
|     DECLARE_EVENT_TABLE() | ||||
| #if wxOSX_USE_NATIVE_TOOLBAR | ||||
|     bool m_macUsesNativeToolbar ; | ||||
|     void* m_macHIToolbarRef ; | ||||
|     void* m_macToolbar ; | ||||
| #endif | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -14,8 +14,6 @@ | ||||
|  | ||||
| #include "wx/osx/private.h" | ||||
|  | ||||
| long UMAGetSystemVersion() ; | ||||
|  | ||||
| #if wxUSE_GUI | ||||
|  | ||||
| // menu manager | ||||
| @@ -24,8 +22,6 @@ MenuRef         UMANewMenu( SInt16 id , const wxString& title , wxFontEncoding e | ||||
| void             UMASetMenuTitle( MenuRef menu , const wxString& title , wxFontEncoding encoding) ; | ||||
| void             UMAEnableMenuItem( MenuRef inMenu , MenuItemIndex item , bool enable ) ; | ||||
|  | ||||
| void            UMAAppendSubMenuItem( MenuRef menu , const wxString& title , wxFontEncoding encoding , SInt16 submenuid ) ; | ||||
| void            UMAInsertSubMenuItem( MenuRef menu , const wxString& title , wxFontEncoding encoding , MenuItemIndex item , SInt16 submenuid ) ; | ||||
| void            UMAAppendMenuItem( MenuRef menu , const wxString& title , wxFontEncoding encoding , wxAcceleratorEntry *entry = NULL  ) ; | ||||
| void            UMAInsertMenuItem( MenuRef menu , const wxString& title , wxFontEncoding encoding , MenuItemIndex item , wxAcceleratorEntry *entry = NULL ) ; | ||||
| void             UMASetMenuItemShortcut( MenuRef menu , MenuItemIndex item , wxAcceleratorEntry *entry ) ; | ||||
|   | ||||
| @@ -84,7 +84,9 @@ public: | ||||
|                                const; | ||||
| protected: | ||||
|     virtual void DoEnable( bool enable ); | ||||
| #if wxUSE_MENUS | ||||
|     virtual bool DoPopupMenu( wxMenu *menu, int x, int y ); | ||||
| #endif | ||||
|  | ||||
|     virtual void DoFreeze(); | ||||
|     virtual void DoThaw(); | ||||
| @@ -247,6 +249,9 @@ public: | ||||
|     void *              MacGetCGContextRef() { return m_cgContextRef ; } | ||||
|     void                MacSetCGContextRef(void * cg) { m_cgContextRef = cg ; } | ||||
|  | ||||
|     // osx specific event handling common for all osx-ports | ||||
|      | ||||
|     virtual bool        HandleClicked( double timestampsec ); | ||||
| protected: | ||||
|     // For controls like radio buttons which are genuinely composite | ||||
|     wxList              m_subControls; | ||||
|   | ||||
| @@ -84,44 +84,8 @@ | ||||
| #define wxUSE_TASKBARICON 0 | ||||
| #endif | ||||
|  | ||||
| /* | ||||
| #if wxUSE_POPUPWIN | ||||
| #undef wxUSE_POPUPWIN | ||||
| #define wxUSE_POPUPWIN 0 | ||||
| #endif | ||||
|  | ||||
| #if wxUSE_COMBOBOX | ||||
| #undef wxUSE_COMBOBOX | ||||
| #define wxUSE_COMBOBOX 0 | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #if wxUSE_MENUS | ||||
| #undef wxUSE_MENUS | ||||
| #define wxUSE_MENUS 0 | ||||
| #endif | ||||
|  | ||||
| #if wxUSE_CALENDARCTRL | ||||
| #undef wxUSE_CALENDARCTRL | ||||
| #define wxUSE_CALENDARCTRL 0 | ||||
| #endif | ||||
|  | ||||
| #if wxUSE_WXHTML_HELP | ||||
| #undef wxUSE_WXHTML_HELP | ||||
| #define wxUSE_WXHTML_HELP 0 | ||||
| #endif | ||||
|  | ||||
| #if wxUSE_DOC_VIEW_ARCHITECTURE | ||||
| #undef wxUSE_DOC_VIEW_ARCHITECTURE | ||||
| #define wxUSE_DOC_VIEW_ARCHITECTURE 0 | ||||
| #endif | ||||
|  | ||||
| #if wxUSE_PRINTING_ARCHITECTURE | ||||
| #undef wxUSE_PRINTING_ARCHITECTURE | ||||
| #define wxUSE_PRINTING_ARCHITECTURE 0 | ||||
| #endif | ||||
|  | ||||
| */ | ||||
| #define wxUSE_WXHTML_HELP 0 | ||||
|  | ||||
| #endif | ||||
|     /* _WX_MAC_CHKCONF_H_ */ | ||||
|   | ||||
| @@ -24,9 +24,72 @@ | ||||
|     extern wxRect wxFromNSRect( NSView* parent, const NSRect& rect ); | ||||
|     extern NSPoint wxToNSPoint( NSView* parent, const wxPoint& p ); | ||||
|     extern wxPoint wxFromNSPoint( NSView* parent, const NSPoint& p ); | ||||
|      | ||||
|     // used for many wxControls | ||||
|      | ||||
|     @interface wxNSButton : NSButton | ||||
|     { | ||||
|         wxWidgetImpl* impl; | ||||
|     } | ||||
|  | ||||
|     - (void)setImplementation: (wxWidgetImpl *) theImplementation; | ||||
|     - (wxWidgetImpl*) implementation; | ||||
|     - (BOOL) isFlipped; | ||||
|     - (void) clickedAction: (id) sender; | ||||
|  | ||||
|     @end | ||||
|  | ||||
|     @interface wxNSBox : NSBox | ||||
|     { | ||||
|         wxWidgetImpl* impl; | ||||
|     } | ||||
|  | ||||
|     - (void)setImplementation: (wxWidgetImpl *) theImplementation; | ||||
|     - (wxWidgetImpl*) implementation; | ||||
|     - (BOOL) isFlipped; | ||||
|  | ||||
|     @end | ||||
|  | ||||
|     @interface wxNSTextField : NSTextField | ||||
|     { | ||||
|         wxWidgetImpl* impl; | ||||
|     } | ||||
|  | ||||
|     - (void)setImplementation: (wxWidgetImpl *) theImplementation; | ||||
|     - (wxWidgetImpl*) implementation; | ||||
|     - (BOOL) isFlipped; | ||||
|  | ||||
|     @end | ||||
|  | ||||
|     NSRect WXDLLIMPEXP_CORE wxOSXGetFrameForControl( wxWindowMac* window , const wxPoint& pos , const wxSize &size ,  | ||||
|         bool adjustForOrigin = true ); | ||||
|  | ||||
| #endif // __OBJC__ | ||||
|  | ||||
| // | ||||
| // shared between Cocoa and Carbon | ||||
| // | ||||
|  | ||||
| // bring in themeing types without pulling in the headers | ||||
|  | ||||
| typedef SInt16 ThemeBrush; | ||||
| long UMAGetSystemVersion() ; | ||||
| CGColorRef wxMacCreateCGColorFromHITheme( ThemeBrush brush ) ; | ||||
| OSStatus WXDLLIMPEXP_CORE wxMacDrawCGImage( | ||||
|                                CGContextRef    inContext, | ||||
|                                const CGRect *  inBounds, | ||||
|                                CGImageRef      inImage) ; | ||||
| WX_NSImage  wxOSXCreateNSImageFromCGImage( CGImageRef image ); | ||||
|  | ||||
| WXDLLIMPEXP_BASE void wxMacStringToPascal( const wxString&from , StringPtr to ); | ||||
| WXDLLIMPEXP_BASE wxString wxMacFSRefToPath( const FSRef *fsRef , CFStringRef additionalPathComponent = NULL ); | ||||
| WXDLLIMPEXP_BASE OSStatus wxMacPathToFSRef( const wxString&path , FSRef *fsRef ); | ||||
| WXDLLIMPEXP_BASE wxString wxMacHFSUniStrToString( ConstHFSUniStr255Param uniname ); | ||||
|  | ||||
| // | ||||
| // | ||||
| // | ||||
|  | ||||
| #if wxUSE_GUI | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxWidgetCocoaImpl : public wxWidgetImpl | ||||
| @@ -39,7 +102,8 @@ public : | ||||
|     void Init(); | ||||
|      | ||||
|     virtual bool        IsVisible() const ; | ||||
|      | ||||
|     virtual void        SetVisibility(bool); | ||||
|  | ||||
|     virtual void        Raise(); | ||||
|      | ||||
|     virtual void        Lower(); | ||||
| @@ -48,10 +112,13 @@ public : | ||||
|  | ||||
|     virtual WXWidget    GetWXWidget() const { return m_osxView; } | ||||
|  | ||||
|     virtual void        SetBackgroundColour(const wxColour&); | ||||
|  | ||||
|     virtual void        GetContentArea( int &left , int &top , int &width , int &height ) const; | ||||
|     virtual void        Move(int x, int y, int width, int height); | ||||
|     virtual void        GetPosition( int &x, int &y ) const; | ||||
|     virtual void        GetSize( int &width, int &height ) const; | ||||
|     virtual void        SetControlSize( wxWindowVariant variant ); | ||||
|  | ||||
|     virtual void        SetNeedsDisplay( const wxRect* where = NULL ); | ||||
|     virtual bool        GetNeedsDisplay() const; | ||||
| @@ -63,6 +130,24 @@ public : | ||||
|  | ||||
|     void                RemoveFromParent(); | ||||
|     void                Embed( wxWidgetImpl *parent ); | ||||
|  | ||||
|     void                SetDefaultButton( bool isDefault ); | ||||
|     void                PerformClick(); | ||||
|     void                SetLabel(const wxString& title, wxFontEncoding encoding); | ||||
|  | ||||
|     wxInt32             GetValue() const; | ||||
|     void                SetValue( wxInt32 v ); | ||||
|     void                SetBitmap( const wxBitmap& bitmap ); | ||||
|     void                SetupTabs( const wxNotebook ¬ebook ); | ||||
|     void                GetBestRect( wxRect *r ) const; | ||||
|     bool                IsEnabled() const; | ||||
|     void                Enable( bool enable ); | ||||
|     bool                ButtonClickDidStateChange() { return true ;} | ||||
|     void                SetMinimum( wxInt32 v ); | ||||
|     void                SetMaximum( wxInt32 v ); | ||||
|     void                PulseGauge(); | ||||
|     void                SetScrollThumb( wxInt32 value, wxInt32 thumbSize ); | ||||
|  | ||||
| protected: | ||||
|     WXWidget m_osxView; | ||||
|     DECLARE_DYNAMIC_CLASS_NO_COPY(wxWidgetCocoaImpl) | ||||
| @@ -142,6 +227,27 @@ typedef struct tagClassicCursor | ||||
|     wxInt16 hotspot[2]; | ||||
| }ClassicCursor; | ||||
|  | ||||
| const short kwxCursorBullseye = 0; | ||||
| const short kwxCursorBlank = 1; | ||||
| const short kwxCursorPencil = 2; | ||||
| const short kwxCursorMagnifier = 3; | ||||
| const short kwxCursorNoEntry = 4; | ||||
| const short kwxCursorPaintBrush = 5; | ||||
| const short kwxCursorPointRight = 6; | ||||
| const short kwxCursorPointLeft = 7; | ||||
| const short kwxCursorQuestionArrow = 8; | ||||
| const short kwxCursorRightArrow = 9; | ||||
| const short kwxCursorSizeNS = 10; | ||||
| const short kwxCursorSize = 11; | ||||
| const short kwxCursorSizeNESW = 12; | ||||
| const short kwxCursorSizeNWSE = 13; | ||||
| const short kwxCursorRoller = 14; | ||||
| const short kwxCursorLast = kwxCursorRoller; | ||||
|  | ||||
| // exposing our fallback cursor map | ||||
|  | ||||
| extern ClassicCursor gMacCursors[]; | ||||
|  | ||||
| #endif | ||||
|  | ||||
| #endif | ||||
|   | ||||
							
								
								
									
										174
									
								
								include/wx/osx/core/mimetype.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										174
									
								
								include/wx/osx/core/mimetype.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,174 @@ | ||||
| ///////////////////////////////////////////////////////////////////////////// | ||||
| // Name:        wx/osx/core/mimetype.h | ||||
| // Purpose:     classes and functions to manage MIME types | ||||
| // Author:      Vadim Zeitlin | ||||
| // Modified by: | ||||
| // Created:     23.09.98 | ||||
| // RCS-ID:      $Id: mimetype.h 54448 2008-07-01 09:28:08Z RR $ | ||||
| // Copyright:   (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr> | ||||
| // Licence:     wxWindows licence (part of wxExtra library) | ||||
| ///////////////////////////////////////////////////////////////////////////// | ||||
|  | ||||
| #ifndef _MIMETYPE_IMPL_H | ||||
| #define _MIMETYPE_IMPL_H | ||||
|  | ||||
| #include "wx/mimetype.h" | ||||
|  | ||||
| #if wxUSE_MIMETYPE | ||||
|  | ||||
| class wxMimeTypeCommands; | ||||
|  | ||||
| WX_DEFINE_ARRAY_PTR(wxMimeTypeCommands *, wxMimeCommandsArray); | ||||
|  | ||||
| // this is the real wxMimeTypesManager for Unix | ||||
| class WXDLLIMPEXP_BASE wxMimeTypesManagerImpl | ||||
| { | ||||
| public: | ||||
|     // ctor and dtor | ||||
|     wxMimeTypesManagerImpl(); | ||||
|     virtual ~wxMimeTypesManagerImpl(); | ||||
|  | ||||
|     // load all data into memory - done when it is needed for the first time | ||||
|     void Initialize(int mailcapStyles = wxMAILCAP_ALL, | ||||
|                     const wxString& extraDir = wxEmptyString); | ||||
|  | ||||
|     // and delete the data here | ||||
|     void ClearData(); | ||||
|  | ||||
|     // implement containing class functions | ||||
|     wxFileType *GetFileTypeFromExtension(const wxString& ext); | ||||
|     wxFileType *GetFileTypeFromMimeType(const wxString& mimeType); | ||||
|  | ||||
|     size_t EnumAllFileTypes(wxArrayString& mimetypes); | ||||
|  | ||||
|     void AddFallback(const wxFileTypeInfo& filetype); | ||||
|  | ||||
|     // add information about the given mimetype | ||||
|     void AddMimeTypeInfo(const wxString& mimetype, | ||||
|                          const wxString& extensions, | ||||
|                          const wxString& description); | ||||
|     void AddMailcapInfo(const wxString& strType, | ||||
|                         const wxString& strOpenCmd, | ||||
|                         const wxString& strPrintCmd, | ||||
|                         const wxString& strTest, | ||||
|                         const wxString& strDesc); | ||||
|  | ||||
|     // add a new record to the user .mailcap/.mime.types files | ||||
|     wxFileType *Associate(const wxFileTypeInfo& ftInfo); | ||||
|     // remove association | ||||
|     bool Unassociate(wxFileType *ft); | ||||
|  | ||||
|     // accessors | ||||
|         // get the string containing space separated extensions for the given | ||||
|         // file type | ||||
|     wxString GetExtension(size_t index) { return m_aExtensions[index]; } | ||||
|  | ||||
| protected: | ||||
|     void InitIfNeeded(); | ||||
|  | ||||
|     wxArrayString m_aTypes,         // MIME types | ||||
|                   m_aDescriptions,  // descriptions (just some text) | ||||
|                   m_aExtensions,    // space separated list of extensions | ||||
|                   m_aIcons;         // Icon filenames | ||||
|  | ||||
|     // verb=command pairs for this file type | ||||
|     wxMimeCommandsArray m_aEntries; | ||||
|  | ||||
|     // are we initialized? | ||||
|     bool m_initialized; | ||||
|  | ||||
|     wxString GetCommand(const wxString &verb, size_t nIndex) const; | ||||
|  | ||||
|     // Read XDG *.desktop file  | ||||
|     void LoadXDGApp(const wxString& filename); | ||||
|     // Scan XDG directory | ||||
|     void LoadXDGAppsFilesFromDir(const wxString& dirname); | ||||
|  | ||||
|     // Load XDG globs files | ||||
|     void LoadXDGGlobs(const wxString& filename); | ||||
|  | ||||
|     // functions used to do associations | ||||
|     virtual int AddToMimeData(const wxString& strType, | ||||
|                       const wxString& strIcon, | ||||
|                       wxMimeTypeCommands *entry, | ||||
|                       const wxArrayString& strExtensions, | ||||
|                       const wxString& strDesc, | ||||
|                       bool replaceExisting = TRUE); | ||||
|     virtual bool DoAssociation(const wxString& strType, | ||||
|                        const wxString& strIcon, | ||||
|                        wxMimeTypeCommands *entry, | ||||
|                        const wxArrayString& strExtensions, | ||||
|                        const wxString& strDesc); | ||||
|  | ||||
|     // give it access to m_aXXX variables | ||||
|     friend class WXDLLIMPEXP_FWD_BASE wxFileTypeImpl; | ||||
| }; | ||||
|  | ||||
| class WXDLLIMPEXP_BASE wxFileTypeImpl | ||||
| { | ||||
| public: | ||||
|     // initialization functions | ||||
|     // this is used to construct a list of mimetypes which match; | ||||
|     // if built with GetFileTypeFromMimetype index 0 has the exact match and | ||||
|     // index 1 the type / * match | ||||
|     // if built with GetFileTypeFromExtension, index 0 has the mimetype for | ||||
|     // the first extension found, index 1 for the second and so on | ||||
|  | ||||
|     void Init(wxMimeTypesManagerImpl *manager, size_t index) | ||||
|         { m_manager = manager; m_index.Add(index); } | ||||
|  | ||||
|     // accessors | ||||
|     bool GetExtensions(wxArrayString& extensions); | ||||
|     bool GetMimeType(wxString *mimeType) const | ||||
|         { *mimeType = m_manager->m_aTypes[m_index[0]]; return TRUE; } | ||||
|     bool GetMimeTypes(wxArrayString& mimeTypes) const; | ||||
|     bool GetIcon(wxIconLocation *iconLoc) const; | ||||
|  | ||||
|     bool GetDescription(wxString *desc) const | ||||
|         { *desc = m_manager->m_aDescriptions[m_index[0]]; return TRUE; } | ||||
|  | ||||
|     bool GetOpenCommand(wxString *openCmd, | ||||
|                         const wxFileType::MessageParameters& params) const | ||||
|     { | ||||
|         *openCmd = GetExpandedCommand(wxT("open"), params); | ||||
|         return (! openCmd -> IsEmpty() ); | ||||
|     } | ||||
|  | ||||
|     bool GetPrintCommand(wxString *printCmd, | ||||
|                          const wxFileType::MessageParameters& params) const | ||||
|     { | ||||
|         *printCmd = GetExpandedCommand(wxT("print"), params); | ||||
|         return (! printCmd -> IsEmpty() ); | ||||
|     } | ||||
|  | ||||
|         // return the number of commands defined for this file type, 0 if none | ||||
|     size_t GetAllCommands(wxArrayString *verbs, wxArrayString *commands, | ||||
|                           const wxFileType::MessageParameters& params) const; | ||||
|  | ||||
|  | ||||
|     // remove the record for this file type | ||||
|     // probably a mistake to come here, use wxMimeTypesManager.Unassociate (ft) instead | ||||
|     bool Unassociate(wxFileType *ft) | ||||
|     { | ||||
|         return m_manager->Unassociate(ft); | ||||
|     } | ||||
|  | ||||
|     // set an arbitrary command, ask confirmation if it already exists and | ||||
|     // overwriteprompt is TRUE | ||||
|     bool SetCommand(const wxString& cmd, const wxString& verb, bool overwriteprompt = TRUE); | ||||
|     bool SetDefaultIcon(const wxString& strIcon = wxEmptyString, int index = 0); | ||||
|  | ||||
| private: | ||||
|     wxString | ||||
|     GetExpandedCommand(const wxString & verb, | ||||
|                        const wxFileType::MessageParameters& params) const; | ||||
|  | ||||
|     wxMimeTypesManagerImpl *m_manager; | ||||
|     wxArrayInt              m_index; // in the wxMimeTypesManagerImpl arrays | ||||
| }; | ||||
|  | ||||
| #endif // wxUSE_MIMETYPE | ||||
|  | ||||
| #endif // _MIMETYPE_IMPL_H | ||||
|  | ||||
|  | ||||
| @@ -21,6 +21,10 @@ | ||||
| #include "wx/osx/core/cfstring.h" | ||||
| #include "wx/osx/core/cfdataref.h" | ||||
|  | ||||
| #if wxOSX_USE_COCOA_OR_CARBON | ||||
| WXDLLIMPEXP_BASE long UMAGetSystemVersion() ; | ||||
| #endif | ||||
|  | ||||
| #if wxUSE_GUI | ||||
|  | ||||
| #if wxOSX_USE_IPHONE | ||||
| @@ -79,6 +83,79 @@ class wxWindowMac; | ||||
| extern wxWindow* g_MacLastWindow; | ||||
| class wxNonOwnedWindow; | ||||
|  | ||||
| // temporary typedef so that no additional casts are necessary within carbon code at the moment | ||||
|  | ||||
| class wxMacControl; | ||||
| class wxWidgetImpl; | ||||
| class wxNotebook; | ||||
|  | ||||
| #if wxOSX_USE_CARBON | ||||
| typedef wxMacControl wxWidgetImplType; | ||||
| #else | ||||
| typedef wxWidgetImpl wxWidgetImplType; | ||||
| #endif | ||||
|  | ||||
| class wxMenuItemImpl : public wxObject  | ||||
| { | ||||
| public : | ||||
|     wxMenuItemImpl( wxMenuItem* peer ) : m_peer(peer) | ||||
|     { | ||||
|     } | ||||
|      | ||||
|     virtual ~wxMenuItemImpl() ; | ||||
|     virtual void SetBitmap( const wxBitmap& bitmap ) = 0; | ||||
|     virtual void Enable( bool enable ) = 0; | ||||
|     virtual void Check( bool check ) = 0; | ||||
|     virtual void SetLabel( const wxString& text, wxAcceleratorEntry *entry ) = 0; | ||||
|     virtual void Hide( bool hide = true ) = 0; | ||||
|      | ||||
|     virtual void * GetHMenuItem() = 0; | ||||
|  | ||||
|     wxMenuItem* GetWXPeer() { return m_peer ; } | ||||
|  | ||||
|     static wxMenuItemImpl* Create( wxMenuItem* peer, wxMenu *pParentMenu, | ||||
|                        int id, | ||||
|                        const wxString& text, | ||||
|                        wxAcceleratorEntry *entry, | ||||
|                        const wxString& strHelp, | ||||
|                        wxItemKind kind, | ||||
|                        wxMenu *pSubMenu ); | ||||
|  | ||||
| protected : | ||||
|     wxMenuItem* m_peer; | ||||
|      | ||||
|     DECLARE_ABSTRACT_CLASS(wxMenuItemImpl); | ||||
| } ; | ||||
|  | ||||
| class wxMenuImpl : public wxObject  | ||||
| { | ||||
| public : | ||||
|     wxMenuImpl( wxMenu* peer ) : m_peer(peer) | ||||
|     { | ||||
|     } | ||||
|      | ||||
|     virtual ~wxMenuImpl() ;     | ||||
|     virtual void InsertOrAppend(wxMenuItem *pItem, size_t pos) = 0;     | ||||
|     virtual void Remove( wxMenuItem *pItem ) = 0; | ||||
|      | ||||
|     virtual void MakeRoot() = 0; | ||||
|  | ||||
|     virtual void SetTitle( const wxString& text ) = 0; | ||||
|  | ||||
|     virtual WXHMENU GetHMenu() = 0; | ||||
|      | ||||
|     wxMenu* GetWXPeer() { return m_peer ; } | ||||
|  | ||||
|     static wxMenuImpl* Create( wxMenu* peer, const wxString& title ); | ||||
|     static wxMenuImpl* CreateRootMenu( wxMenu* peer ); | ||||
| protected : | ||||
|     wxMenu* m_peer; | ||||
|      | ||||
|     DECLARE_ABSTRACT_CLASS(wxMenuItemImpl); | ||||
| } ; | ||||
|  | ||||
|  | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxWidgetImpl : public wxObject | ||||
| { | ||||
| public : | ||||
| @@ -88,8 +165,6 @@ public : | ||||
|  | ||||
|     void Init(); | ||||
|  | ||||
|     virtual void        Destroy(); | ||||
|      | ||||
|     bool                IsRootControl() const { return m_isRootControl; } | ||||
|  | ||||
|     wxWindowMac*        GetWXPeer() const { return m_wxPeer; } | ||||
| @@ -117,6 +192,7 @@ public : | ||||
|     virtual void        Move(int x, int y, int width, int height) = 0; | ||||
|     virtual void        GetPosition( int &x, int &y ) const = 0; | ||||
|     virtual void        GetSize( int &width, int &height ) const = 0; | ||||
|     virtual void        SetControlSize( wxWindowVariant variant ) = 0; | ||||
|  | ||||
|     virtual void        SetNeedsDisplay( const wxRect* where = NULL ) = 0; | ||||
|     virtual bool        GetNeedsDisplay() const = 0; | ||||
| @@ -131,12 +207,201 @@ public : | ||||
|      | ||||
|     virtual void        RemoveFromParent() = 0; | ||||
|     virtual void        Embed( wxWidgetImpl *parent ) = 0; | ||||
|      | ||||
|     virtual void        SetDefaultButton( bool isDefault ) = 0; | ||||
|     virtual void        PerformClick() = 0; | ||||
|     virtual void        SetLabel( const wxString& title, wxFontEncoding encoding ) = 0; | ||||
|  | ||||
|     virtual wxInt32     GetValue() const = 0; | ||||
|     virtual void        SetValue( wxInt32 v ) = 0; | ||||
|     virtual void        SetBitmap( const wxBitmap& bitmap ) = 0; | ||||
|     virtual void        SetupTabs( const wxNotebook ¬ebook ) =0; | ||||
|     virtual void        GetBestRect( wxRect *r ) const = 0; | ||||
|     virtual bool        IsEnabled() const = 0; | ||||
|     virtual void        Enable( bool enable ) = 0; | ||||
|     virtual void        SetMinimum( wxInt32 v ) = 0; | ||||
|     virtual void        SetMaximum( wxInt32 v ) = 0; | ||||
|     virtual void        PulseGauge() = 0; | ||||
|     virtual void        SetScrollThumb( wxInt32 value, wxInt32 thumbSize ) = 0; | ||||
|  | ||||
|     // is the clicked event sent AFTER the state already changed, so no additional | ||||
|     // state changing logic is required from the outside | ||||
|     virtual bool        ButtonClickDidStateChange() = 0; | ||||
|  | ||||
|     // static creation methods, must be implemented by all toolkits | ||||
|      | ||||
|     static wxWidgetImpl*    CreateUserPane( wxWindowMac* wxpeer, const wxPoint& pos, const wxSize& size, | ||||
|                             long style, long extraStyle, const wxString& name) ; | ||||
|     static wxWidgetImpl*    CreateContentView( wxNonOwnedWindow* now ) ; | ||||
|     static wxWidgetImplType*    CreateUserPane( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle) ; | ||||
|     static wxWidgetImplType*    CreateContentView( wxNonOwnedWindow* now ) ; | ||||
|  | ||||
|     static wxWidgetImplType*    CreateButton( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     const wxString& label, | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle) ; | ||||
|  | ||||
|     static wxWidgetImplType*    CreateDisclosureTriangle( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     const wxString& label, | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle) ; | ||||
|                                      | ||||
|     static wxWidgetImplType*    CreateStaticLine( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle) ; | ||||
|  | ||||
|     static wxWidgetImplType*    CreateGroupBox( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     const wxString& label, | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle) ; | ||||
|  | ||||
|     static wxWidgetImplType*    CreateStaticText( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     const wxString& label, | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle) ; | ||||
|  | ||||
|     static wxWidgetImplType*    CreateTextControl( wxTextCtrl* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     const wxString& content, | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle) ; | ||||
|  | ||||
|     static wxWidgetImplType*    CreateCheckBox( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     const wxString& label, | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle); | ||||
|                                      | ||||
|     static wxWidgetImplType*    CreateRadioButton( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     const wxString& label, | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle); | ||||
|  | ||||
|     static wxWidgetImplType*    CreateToggleButton( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     const wxString& label, | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle); | ||||
|  | ||||
|     static wxWidgetImplType*    CreateBitmapToggleButton( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     const wxBitmap& bitmap, | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle); | ||||
|  | ||||
|     static wxWidgetImplType*    CreateBitmapButton( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     const wxBitmap& bitmap, | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle); | ||||
|  | ||||
|     static wxWidgetImplType*    CreateTabView( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle); | ||||
|  | ||||
|     static wxWidgetImplType*    CreateGauge( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     wxInt32 value, | ||||
|                                     wxInt32 minimum, | ||||
|                                     wxInt32 maximum, | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle); | ||||
|  | ||||
|     static wxWidgetImplType*    CreateSlider( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     wxInt32 value, | ||||
|                                     wxInt32 minimum, | ||||
|                                     wxInt32 maximum, | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle); | ||||
|  | ||||
|     static wxWidgetImplType*    CreateSpinButton( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     wxInt32 value, | ||||
|                                     wxInt32 minimum, | ||||
|                                     wxInt32 maximum, | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle); | ||||
|  | ||||
|     static wxWidgetImplType*    CreateScrollBar( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle); | ||||
|  | ||||
|     static wxWidgetImplType*    CreateChoice( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     wxMenu* menu, | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle); | ||||
|  | ||||
|     static wxWidgetImplType*    CreateListBox( wxWindowMac* wxpeer,  | ||||
|                                     wxWindowMac* parent,  | ||||
|                                     wxWindowID id,  | ||||
|                                     const wxPoint& pos,  | ||||
|                                     const wxSize& size, | ||||
|                                     long style,  | ||||
|                                     long extraStyle); | ||||
|  | ||||
|     // converts from Toplevel-Content relative to local | ||||
|     static void Convert( wxPoint *pt , wxWidgetImpl *from , wxWidgetImpl *to ); | ||||
| @@ -148,6 +413,73 @@ protected : | ||||
|     DECLARE_ABSTRACT_CLASS(wxWidgetImpl) | ||||
| }; | ||||
|  | ||||
| // | ||||
| // the interface to be implemented eg by a listbox | ||||
| // | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxMacDataItem ; | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxListWidgetColumn  | ||||
| { | ||||
| public : | ||||
|     virtual ~wxListWidgetColumn() {} | ||||
| } ; | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxListWidgetCellValue | ||||
| { | ||||
| public : | ||||
|     wxListWidgetCellValue() {} | ||||
|     virtual ~wxListWidgetCellValue() {} | ||||
|      | ||||
|    virtual void Set( CFStringRef value ) = 0; | ||||
|     virtual void Set( const wxString& value ) = 0; | ||||
|     virtual void Set( int value ) = 0; | ||||
|      | ||||
|     virtual int GetIntValue() const = 0; | ||||
|     virtual wxString GetStringValue() const = 0; | ||||
| } ; | ||||
|  | ||||
| class WXDLLIMPEXP_CORE wxListWidgetImpl | ||||
| { | ||||
| public: | ||||
|     wxListWidgetImpl() {} | ||||
|     virtual ~wxListWidgetImpl() { } | ||||
|      | ||||
|     virtual wxListWidgetColumn*     InsertTextColumn( unsigned pos, const wxString& title, bool editable = false,  | ||||
|                                 wxAlignment just = wxALIGN_LEFT , int defaultWidth = -1) = 0 ; | ||||
|     virtual wxListWidgetColumn*     InsertCheckColumn( unsigned pos , const wxString& title, bool editable = false,  | ||||
|                                 wxAlignment just = wxALIGN_LEFT , int defaultWidth =  -1) = 0 ; | ||||
|      | ||||
|     // add and remove | ||||
|  | ||||
|     // TODO will be replaced | ||||
|     virtual void            ListDelete( unsigned int n ) = 0; | ||||
|     virtual void            ListInsert( unsigned int n ) = 0; | ||||
|     virtual void            ListClear() = 0; | ||||
|  | ||||
|     // selecting | ||||
|  | ||||
|     virtual void            ListDeselectAll() = 0; | ||||
|     virtual void            ListSetSelection( unsigned int n, bool select, bool multi ) = 0; | ||||
|     virtual int             ListGetSelection() const = 0; | ||||
|     virtual int             ListGetSelections( wxArrayInt& aSelections ) const = 0; | ||||
|     virtual bool            ListIsSelected( unsigned int n ) const = 0; | ||||
|      | ||||
|     // display | ||||
|  | ||||
|     virtual void            ListScrollTo( unsigned int n ) = 0; | ||||
|     virtual void            UpdateLine( unsigned int n, wxListWidgetColumn* col = NULL ) = 0; | ||||
|     virtual void            UpdateLineToEnd( unsigned int n) = 0; | ||||
|  | ||||
|     // accessing content | ||||
|  | ||||
|     virtual unsigned int    ListGetCount() const = 0; | ||||
| }; | ||||
|  | ||||
| // | ||||
| // toplevel window implementation class | ||||
| // | ||||
|  | ||||
| class wxNonOwnedWindowImpl : public wxObject | ||||
| { | ||||
| public : | ||||
| @@ -248,6 +580,12 @@ public : | ||||
|     virtual void WindowToScreen( int *x, int *y ) = 0; | ||||
|      | ||||
|     wxNonOwnedWindow*   GetWXPeer() { return m_wxPeer; } | ||||
|      | ||||
|     // static creation methods, must be implemented by all toolkits | ||||
|      | ||||
|     static wxNonOwnedWindowImpl* CreateNonOwnedWindow( wxNonOwnedWindow* wxpeer, wxWindow* parent, const wxPoint& pos, const wxSize& size, | ||||
|     long style, long extraStyle, const wxString& name  ) ; | ||||
|  | ||||
| protected : | ||||
|     wxNonOwnedWindow*   m_wxPeer; | ||||
|     DECLARE_ABSTRACT_CLASS(wxNonOwnedWindowImpl) | ||||
|   | ||||
| @@ -67,6 +67,84 @@ | ||||
| #define wxUSE_TASKBARICON 0 | ||||
| #endif | ||||
|  | ||||
| #define wxUSE_BUTTON 1 | ||||
| #define wxUSE_CARET 1 | ||||
| #define wxUSE_CHOICE 1 | ||||
| #define wxUSE_SCROLLBAR 1 | ||||
| #define wxUSE_STATUSBAR 1 | ||||
| #define wxUSE_NATIVE_STATUSBAR 0 | ||||
| #define wxUSE_TEXTCTRL 1 | ||||
| #define wxUSE_ABOUTDLG 1 | ||||
| #define wxUSE_STATTEXT 1 | ||||
| #define wxUSE_STATLINE 1 | ||||
| #define wxUSE_COLLPANE 1 | ||||
| #define wxUSE_STATBMP 1 | ||||
| #define wxUSE_STATBOX 1 | ||||
| #define wxUSE_CHECKBOX 1 | ||||
| #define wxUSE_RADIOBTN 1 | ||||
| #define wxUSE_RADIOBOX 1 | ||||
| #define wxUSE_TOGGLEBTN 1 | ||||
|  | ||||
| #define wxUSE_TOOLBAR 0 | ||||
| #define wxUSE_HTML 0 | ||||
|  | ||||
| #define wxUSE_RICHTEXT 0 | ||||
|  | ||||
| #define wxUSE_ANIMATIONCTRL 0 | ||||
| #define wxUSE_CALENDARCTRL 0 | ||||
| #define wxUSE_COMBOBOX 0 | ||||
| #define wxUSE_COMBOCTRL 0 | ||||
| #define wxUSE_ODCOMBOBOX 0 | ||||
| #define wxUSE_BITMAPCOMBOBOX 0 | ||||
| #define wxUSE_BMPBUTTON 0 | ||||
| #define wxUSE_CHECKLISTBOX 0 | ||||
| #define wxUSE_GAUGE 0 | ||||
| #define wxUSE_GRID 0 | ||||
| #define wxUSE_LISTBOX 0 | ||||
| #define wxUSE_LISTCTRL 0 | ||||
| #define wxUSE_NOTEBOOK 0 | ||||
| #define wxUSE_SLIDER 0 | ||||
| #define wxUSE_SPINBTN 0 | ||||
| #define wxUSE_SPINCTRL 0 | ||||
| #define wxUSE_TREECTRL 0 | ||||
| #define wxUSE_DATEPICKCTRL 0 | ||||
| #define wxUSE_DATAVIEWCTRL 0 | ||||
| #define wxUSE_EDITABLELISTBOX 0 | ||||
| #define wxUSE_FILEPICKERCTRL 0 | ||||
| #define wxUSE_DIRPICKERCTRL 0 | ||||
| #define wxUSE_FILECTRL 0 | ||||
| #define wxUSE_COLOURPICKERCTRL 0 | ||||
| #define wxUSE_FONTPICKERCTRL 0 | ||||
| #define wxUSE_DEBUGREPORT 0 | ||||
| #define wxUSE_HYPERLINKCTRL 0 | ||||
| #define wxUSE_STC 0 | ||||
| #define wxUSE_AUI 0 | ||||
| #define wxUSE_BUSYINFO 0 | ||||
| #define wxUSE_SEARCHCTRL 0 | ||||
|  | ||||
| #define wxUSE_LOGWINDOW 0 | ||||
| #define wxUSE_LOG_DIALOG 0 | ||||
| #define wxUSE_LISTBOOK 0 | ||||
| #define wxUSE_CHOICEBOOK 0 | ||||
| #define wxUSE_TREEBOOK 0 | ||||
| #define wxUSE_TOOLBOOK 0 | ||||
| #define wxUSE_CHOICEDLG 0 | ||||
| #define wxUSE_HELP 0 | ||||
| #define wxUSE_PROGRESSDLG 0 | ||||
| #define  wxUSE_FONTDLG 0 | ||||
| #define wxUSE_FILEDLG 0 | ||||
| #define wxUSE_CHOICEDLG 0 | ||||
| #define wxUSE_NUMBERDLG 0 | ||||
| #define wxUSE_TEXTDLG 0 | ||||
| #define wxUSE_DIRDLG 0 | ||||
| #define wxUSE_STARTUP_TIPS 0 | ||||
| #define wxUSE_WIZARDDLG 0 | ||||
| #define wxUSE_TOOLBAR_NATIVE 0 | ||||
| #define wxUSE_FINDREPLDLG 0 | ||||
| #define wxUSE_TAB_DIALOG 0 | ||||
| #define wxUSE_TASKBARICON 0 | ||||
|  | ||||
|  | ||||
| /* | ||||
| #if wxUSE_POPUPWIN | ||||
| #undef wxUSE_POPUPWIN | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| #ifdef __WXMAC_CLASSIC__ | ||||
| #include "wx/osx/classic/mimetype.h" | ||||
| #else | ||||
| #include "wx/osx/carbon/mimetype.h" | ||||
| #include "wx/osx/core/mimetype.h" | ||||
| #endif | ||||
|   | ||||
| @@ -4,6 +4,9 @@ | ||||
| #error "this files should only be included after platform.h was included | ||||
| #endif | ||||
|  | ||||
| #ifndef _WX_PRIVATE_OSX_H_ | ||||
| #define _WX_PRIVATE_OSX_H_ | ||||
|  | ||||
| #if wxOSX_USE_IPHONE | ||||
|     #include "wx/osx/iphone/private.h" | ||||
| #elif wxOSX_USE_CARBON | ||||
| @@ -11,3 +14,5 @@ | ||||
| #elif wxOSX_USE_COCOA | ||||
|     #include "wx/osx/cocoa/private.h" | ||||
| #endif | ||||
|  | ||||
| #endif | ||||
| @@ -1,5 +1,6 @@ | ||||
| #ifdef __WXMAC_CLASSIC__ | ||||
| #include "wx/osx/classic/statbmp.h" | ||||
| #else | ||||
| #if wxOSX_USE_CARBON | ||||
| #include "wx/osx/carbon/statbmp.h" | ||||
| #else | ||||
| #define wxGenericStaticBitmap wxStaticBitmap | ||||
| #include "wx/generic/statbmpg.h" | ||||
| #endif | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| #ifdef __WXMAC_CLASSIC__ | ||||
| #include "wx/osx/classic/statline.h" | ||||
| #if wxOSX_USE_CARBON | ||||
| #include "wx/osx/carbon/statline.h" | ||||
| #else | ||||
| #include "wx/osx/carbon/statline.h" | ||||
| #endif | ||||
|   | ||||
		Reference in New Issue
	
	Block a user