⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 private.h

📁 很牛的GUI源码wxWidgets-2.8.0.zip 可在多种平台下运行.
💻 H
📖 第 1 页 / 共 3 页
字号:
CTabHandle         wxMacCreateColorTable( int numColors );*/void wxMacCreateBitmapButton( ControlButtonContentInfo*info , const wxBitmap& bitmap , int forceType = 0 );void wxMacReleaseBitmapButton( ControlButtonContentInfo*info );#define MAC_WXCOLORREF(a) (*((RGBColor*)&(a)))#define MAC_WXHBITMAP(a) (GWorldPtr(a))#define MAC_WXHMETAFILE(a) (PicHandle(a))#define MAC_WXHICON(a) (IconRef(a))#define MAC_WXHCURSOR(a) (CursHandle(a))#define MAC_WXHRGN(a) (RgnHandle(a))#define MAC_WXHWND(a) (WindowPtr(a))#define MAC_WXRECPTR(a) ((Rect*)a)#define MAC_WXPOINTPTR(a) ((Point*)a)#define MAC_WXHMENU(a) ((MenuHandle)a)struct wxOpaqueWindowRef{    wxOpaqueWindowRef( WindowRef ref ) { m_data = ref; }    operator WindowRef() { return m_data; }private :    WindowRef m_data;};void wxMacRectToNative( const wxRect *wx , Rect *n );void wxMacNativeToRect( const Rect *n , wxRect* wx );void wxMacPointToNative( const wxPoint* wx , Point *n );void wxMacNativeToPoint( const Point *n , wxPoint* wx );wxWindow *              wxFindControlFromMacControl(ControlRef inControl );wxTopLevelWindowMac*    wxFindWinFromMacWindow( WindowRef inWindow );wxMenu*                 wxFindMenuFromMacMenu(MenuRef inMenuRef);int                     wxMacCommandToId( UInt32 macCommandId );UInt32                  wxIdToMacCommand( int wxId );wxMenu*                 wxFindMenuFromMacCommand( const HICommand &macCommandId , wxMenuItem* &item );extern wxWindow* g_MacLastWindow;pascal OSStatus wxMacTopLevelMouseEventHandler( EventHandlerCallRef handler , EventRef event , void *data );Rect wxMacGetBoundsForControl( wxWindow* window , const wxPoint& pos , const wxSize &size , bool adjustForOrigin = true );ControlActionUPP GetwxMacLiveScrollbarActionProc();class wxMacControl : public wxObject{public :    wxMacControl( wxWindow* peer , bool isRootControl = false );    wxMacControl( wxWindow* peer , ControlRef control );    wxMacControl( wxWindow* peer , WXWidget control );    wxMacControl() ;    virtual ~wxMacControl();    void Init();    virtual void Dispose();    bool Ok() const { return IsOk(); }    bool IsOk() const { return GetControlRef() != NULL; }    void SetReferenceInNativeControl();    static wxMacControl* GetReferenceFromNativeControl(ControlRef control);    virtual ControlRef * GetControlRefAddr() { return &m_controlRef; }    virtual ControlRef GetControlRef() const { return m_controlRef; }    virtual void SetReference( URefCon data );    /*    void operator= (ControlRef c) { m_controlRef = c; }    operator ControlRef () { return m_controlRef; }    operator ControlRef * () { return &m_controlRef; }    */    // accessing data and values    virtual OSStatus SetData( ControlPartCode inPartCode , ResType inTag , Size inSize , const void * inData );    virtual OSStatus GetData( ControlPartCode inPartCode , ResType inTag , Size inBufferSize , void * inOutBuffer , Size * outActualSize ) const;    virtual OSStatus GetDataSize( ControlPartCode inPartCode , ResType inTag , Size * outActualSize ) const;    virtual OSStatus SendEvent(  EventRef ref , OptionBits inOptions = 0 );    virtual OSStatus SendHICommand( HICommand &command , OptionBits inOptions = 0 );    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 );    virtual OSStatus SetFocus( ControlFocusPart focusPart );    virtual bool HasFocus() const;    virtual bool NeedsFocusRect() const;    virtual void SetNeedsFocusRect( bool needs );    // templated helpers    Size GetDataSize( ControlPartCode inPartCode , ResType inTag ) const    {        Size sz;        verify_noerr( GetDataSize( inPartCode , inTag , &sz ) );        return sz;    }    template <typename T> OSStatus SetData( ControlPartCode inPartCode , ResType inTag , const T *data )    {        return SetData( inPartCode , inTag , sizeof( T ) , data );    }    template <typename T> OSStatus SetData( ControlPartCode inPartCode , ResType inTag , const T& data )    {        return SetData( inPartCode , inTag , sizeof( T ) , &data );    }    template <typename T> OSStatus SetData( ResType inTag , const T *data )    {        return SetData( kControlEntireControl , inTag , sizeof( T ) , data );    }    template <typename T> OSStatus SetData( ResType inTag , const T& data )    {        return SetData( kControlEntireControl , inTag , sizeof( T ) , &data );    }    template <typename T> OSStatus GetData( ControlPartCode inPartCode , ResType inTag , T *data ) const    {        Size dummy;        return GetData( inPartCode , inTag , sizeof( T ) , data , &dummy );    }    template <typename T> T GetData( ControlPartCode inPartCode , ResType inTag ) const    {        T value;        OSStatus err = GetData<T>( inPartCode , inTag , &value );        wxASSERT_MSG( err == noErr,                      wxString::Format(wxT("GetData Failed for Part [%i] and Tag [%i]"),                                       inPartCode, (int)inTag) );        return value;    }    template <typename T> OSStatus GetData( ResType inTag , T *data ) const    {        Size dummy;        return GetData( kControlEntireControl , inTag , sizeof( T ) , data , &dummy );    }    template <typename T> T GetData( ResType inTag ) const    {        return GetData<T>( kControlEntireControl , inTag );    }    // 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();    virtual void SetFont( const wxFont & font , const wxColour& foreground , long windowStyle );    virtual void SetBackground( const wxBrush &brush );    virtual ControlPartCode HandleKey(  SInt16 keyCode,  SInt16 charCode, EventModifiers modifiers );    void SetActionProc( ControlActionUPP   actionProc );    void SetViewSize( SInt32 viewSize );    SInt32 GetViewSize() const;    virtual bool IsVisible() const;    virtual void SetVisibility( bool visible , bool redraw );    virtual bool IsEnabled() const;    virtual bool IsActive() const;    virtual void Enable( bool enable );    // invalidates this control and all children    virtual void InvalidateWithChildren();    virtual void SetDrawingEnabled( bool enable );#ifdef __WXMAC_OSX__    virtual bool GetNeedsDisplay() const;#endif    // where is in native window relative coordinates    virtual void SetNeedsDisplay( RgnHandle where );    // where is in native window relative coordinates    virtual void SetNeedsDisplay( Rect* where = NULL );    // if rect = NULL, entire view    virtual void ScrollRect( wxRect *rect , int dx , int dy );    // in native parent window relative coordinates    virtual void GetRect( Rect *r );    // in native parent window relative coordinates    virtual void SetRect( Rect *r );    virtual void GetRectInWindowCoords( Rect *r );    virtual void GetBestRect( Rect *r );    virtual void SetLabel( const wxString &title );    // converts from Toplevel-Content relative to local    static void Convert( wxPoint *pt , wxMacControl *convert , wxMacControl *to );    virtual void GetFeatures( UInt32 *features );    virtual OSStatus GetRegion( ControlPartCode partCode , RgnHandle region );    virtual OSStatus SetZOrder( bool above , wxMacControl* other );    bool    IsRootControl() { return m_isRootControl; }    wxWindow* GetPeer() const    {         return m_peer;    }     // to be moved into a tab control class    virtual OSStatus SetTabEnabled( SInt16 tabNo , bool enable );protected :    ControlRef  m_controlRef;    wxFont      m_font;    long        m_windowStyle;    wxWindow*   m_peer;    bool        m_needsFocusRect;    bool        m_isRootControl;    DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacControl)};// ============================================================================// DataBrowser Wrapper// ============================================================================//// basing on DataBrowserItemIDs//class wxMacDataBrowserControl : public wxMacControl{public :    wxMacDataBrowserControl( wxWindow* peer, const wxPoint& pos, const wxSize& size, long style);    wxMacDataBrowserControl() {}    OSStatus SetCallbacks( const DataBrowserCallbacks *callbacks );    OSStatus GetItemCount( DataBrowserItemID container,            Boolean recurse,            DataBrowserItemState state,            ItemCount *numItems) const;    OSStatus GetItems( DataBrowserItemID container,            Boolean recurse,            DataBrowserItemState state,            Handle items) const;    OSStatus AddColumn( DataBrowserListViewColumnDesc *columnDesc,        DataBrowserTableViewColumnIndex position );    OSStatus RemoveColumn( DataBrowserTableViewColumnIndex position );    OSStatus AutoSizeColumns();    OSStatus SetHasScrollBars( bool horiz, bool vert );    OSStatus SetHiliteStyle( DataBrowserTableViewHiliteStyle hiliteStyle );    OSStatus SetHeaderButtonHeight( UInt16 height );    OSStatus GetHeaderButtonHeight( UInt16 *height );    OSStatus UpdateItems( DataBrowserItemID container, UInt32 numItems,            const DataBrowserItemID *items,            DataBrowserPropertyID preSortProperty,            DataBrowserPropertyID propertyID ) const;    OSStatus AddItems( DataBrowserItemID container, UInt32 numItems,            const DataBrowserItemID *items,            DataBrowserPropertyID preSortProperty );    OSStatus RemoveItems( DataBrowserItemID container, UInt32 numItems,            const DataBrowserItemID *items,            DataBrowserPropertyID preSortProperty );    OSStatus RevealItem( DataBrowserItemID item,            DataBrowserPropertyID propertyID,            DataBrowserRevealOptions options ) const;    OSStatus SetSelectionFlags( DataBrowserSelectionFlags );    OSStatus GetSelectionAnchor( DataBrowserItemID *first, DataBrowserItemID *last ) const;    bool IsItemSelected( DataBrowserItemID item ) const;    OSStatus SetSelectedItems( UInt32 numItems,            const DataBrowserItemID *items,            DataBrowserSetOption operation );    OSStatus GetItemID( DataBrowserTableViewRowIndex row,            DataBrowserItemID * item ) const;    OSStatus GetItemRow( DataBrowserItemID item,            DataBrowserTableViewRowIndex * row ) const;    OSStatus SetDefaultRowHeight( UInt16 height );    OSStatus GetDefaultRowHeight( UInt16 * height ) const;    OSStatus SetRowHeight( DataBrowserItemID item , UInt16 height);    OSStatus GetRowHeight( DataBrowserItemID item , UInt16 *height) const;    OSStatus GetColumnWidth( DataBrowserPropertyID column , UInt16 *width ) const;    OSStatus SetColumnWidth( DataBrowserPropertyID column , UInt16 width );    OSStatus GetDefaultColumnWidth( UInt16 *width ) const;    OSStatus SetDefaultColumnWidth( UInt16 width );    OSStatus GetColumnCount( UInt32* numColumns) const;    OSStatus GetColumnIDFromIndex( DataBrowserTableViewColumnIndex position, DataBrowserTableViewColumnID* id );    OSStatus GetColumnPosition( DataBrowserPropertyID column, DataBrowserTableViewColumnIndex *position) const;    OSStatus SetColumnPosition( DataBrowserPropertyID column, DataBrowserTableViewColumnIndex position);    OSStatus GetScrollPosition( UInt32 *top , UInt32 *left ) const;    OSStatus SetScrollPosition( UInt32 top , UInt32 left );    OSStatus GetSortProperty( DataBrowserPropertyID *column ) const;    OSStatus SetSortProperty( DataBrowserPropertyID column );    OSStatus GetSortOrder( DataBrowserSortOrder *order ) const;    OSStatus SetSortOrder( DataBrowserSortOrder order );    OSStatus GetPropertyFlags( DataBrowserPropertyID property, DataBrowserPropertyFlags *flags ) const;    OSStatus SetPropertyFlags( DataBrowserPropertyID property, DataBrowserPropertyFlags flags );    OSStatus GetHeaderDesc( DataBrowserPropertyID property, DataBrowserListViewHeaderDesc *desc ) const;    OSStatus SetHeaderDesc( DataBrowserPropertyID property, DataBrowserListViewHeaderDesc *desc );    OSStatus SetDisclosureColumn( DataBrowserPropertyID property , Boolean expandableRows );protected :    static pascal void DataBrowserItemNotificationProc(        ControlRef browser,        DataBrowserItemID itemID,        DataBrowserItemNotification message,        DataBrowserItemDataRef itemData );    virtual void ItemNotification(        DataBrowserItemID itemID,        DataBrowserItemNotification message,        DataBrowserItemDataRef itemData) = 0;    static pascal OSStatus DataBrowserGetSetItemDataProc(        ControlRef browser,        DataBrowserItemID itemID,        DataBrowserPropertyID property,        DataBrowserItemDataRef itemData,        Boolean changeValue );    virtual OSStatus GetSetItemData(        DataBrowserItemID itemID,        DataBrowserPropertyID property,        DataBrowserItemDataRef itemData,        Boolean changeValue ) = 0;    static pascal Boolean DataBrowserCompareProc(        ControlRef browser,        DataBrowserItemID itemOneID,        DataBrowserItemID itemTwoID,        DataBrowserPropertyID sortProperty);    virtual Boolean CompareItems(DataBrowserItemID itemOneID,        DataBrowserItemID itemTwoID,        DataBrowserPropertyID sortProperty) = 0;    DECLARE_ABSTRACT_CLASS(wxMacDataBrowserControl)};// ============================================================================// Higher-level Databrowser// ============================================================================//// basing on data item objects//// forward declclass wxMacDataItemBrowserControl;class wxMacListBoxItem;const DataBrowserPropertyID kTextColumnId = 1024;const DataBrowserPropertyID kNumericOrderColumnId = 1025;// for multi-column controls, we will use this + the column ID to identify the// column. We don't use kTextColumnId there, and ideally the two should merge.const DataBrowserPropertyID kMinColumnId = 1050;// base API for high-level databrowser operationsclass wxMacListControl{public:    virtual void            MacDelete( unsigned int n ) = 0;    virtual void            MacInsert( unsigned int n, const wxString& item, int column = -1 ) = 0;    virtual void            MacInsert( unsigned int n, const wxArrayString& 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 itemsenum DataItemType {    DataItem_Text};class wxMacDataItem{public :    wxMacDataItem();    virtual ~wxMacDataItem();    virtual bool IsLessThan(wxMacDataItemBrowserControl *owner ,        const wxMacDataItem*,        DataBrowserPropertyID property) const;    // returns true if access was successful, otherwise false    virtual OSStatus GetSetData(wxMacDataItemBrowserControl *owner ,        DataBrowserPropertyID property,        DataBrowserItemDataRef itemData,        bool changeValue );    virtual void Notification(wxMacDataItemBrowserControl *owner ,        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;    wxMacCFStringHolder m_cfLabel;    void *      m_data;    SInt32      m_order;    DataBrowserPropertyID m_colId;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -