Add wxDataViewCtrl implementation for OSX/Cocoa (closes #10617: wxDataView for wxOSX-Cocoa)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60552 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
110
include/wx/osx/core/dataview.h
Normal file
110
include/wx/osx/core/dataview.h
Normal file
@@ -0,0 +1,110 @@
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/osx/core/dataview.h
|
||||
// Purpose: wxDataViewCtrl native implementation header for OSX
|
||||
// Author:
|
||||
// Id: $Id: dataview.h 57374 2009-01-27
|
||||
// Copyright: (c) 2009
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_DATAVIEWCTRL_CORE_H_
|
||||
#define _WX_DATAVIEWCTRL_CORE_H_
|
||||
|
||||
#include "wx/dataview.h"
|
||||
|
||||
#if wxOSX_USE_CARBON
|
||||
typedef wxMacControl wxWidgetImplType;
|
||||
#else
|
||||
typedef wxWidgetImpl wxWidgetImplType;
|
||||
#endif
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// Helper functions for dataview implementation on OSX
|
||||
// ---------------------------------------------------------
|
||||
wxWidgetImplType* CreateDataView(wxWindowMac* wxpeer, wxWindowMac* parent, wxWindowID id,
|
||||
wxPoint const& pos, wxSize const& size,
|
||||
long style, long extraStyle);
|
||||
wxString ConcatenateDataViewItemValues(wxDataViewCtrl const* dataViewCtrlPtr, wxDataViewItem const& dataViewItem); // concatenates all data of the visible columns of the passed control
|
||||
// and item TAB separated into a string and returns it
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// wxDataViewWidgetImpl
|
||||
// Common interface of the native dataview implementation
|
||||
// for the carbon and cocoa environment.
|
||||
// ATTENTION
|
||||
// All methods assume that the passed column pointers are
|
||||
// valid (unless a NULL pointer is explicitely allowed
|
||||
// to be passed)!
|
||||
// ATTENTION
|
||||
// ---------------------------------------------------------
|
||||
class WXDLLIMPEXP_CORE wxDataViewWidgetImpl
|
||||
{
|
||||
public:
|
||||
//
|
||||
// constructors / destructor
|
||||
//
|
||||
virtual ~wxDataViewWidgetImpl(void)
|
||||
{
|
||||
}
|
||||
|
||||
//
|
||||
// column related methods
|
||||
//
|
||||
virtual bool ClearColumns (void) = 0; // deletes all columns in the native control
|
||||
virtual bool DeleteColumn (wxDataViewColumn* columnPtr) = 0; // deletes the column in the native control
|
||||
virtual void DoSetExpanderColumn(wxDataViewColumn const* columnPtr) = 0; // sets the disclosure column in the native control
|
||||
virtual wxDataViewColumn* GetColumn (unsigned int pos) const = 0; // returns the column belonging to 'pos' in the native control
|
||||
virtual int GetColumnPosition (wxDataViewColumn const* columnPtr) const = 0; // returns the position of the passed column in the native control
|
||||
virtual bool InsertColumn (unsigned int pos, wxDataViewColumn* columnPtr) = 0; // inserts a column at pos in the native control;
|
||||
// the method can assume that the column's owner is already set
|
||||
|
||||
//
|
||||
// item related methods
|
||||
//
|
||||
virtual bool Add (wxDataViewItem const& parent, wxDataViewItem const& item) = 0; // adds an item to the native control
|
||||
virtual bool Add (wxDataViewItem const& parent, wxDataViewItemArray const& itesm) = 0; // adds a items to the native control
|
||||
virtual void Collapse (wxDataViewItem const& item) = 0; // collapses the passed item in the native control
|
||||
virtual void EnsureVisible(wxDataViewItem const& item, wxDataViewColumn const* columnPtr) = 0; // ensures that the passed item's value in the passed column is visible (column pointer can be NULL)
|
||||
virtual void Expand (wxDataViewItem const& item) = 0; // expands the passed item in the native control
|
||||
virtual unsigned int GetCount (void) const = 0; // returns the number of items in the native control
|
||||
virtual wxRect GetRectangle (wxDataViewItem const& item, wxDataViewColumn const* columnPtr) = 0; // returns the rectangle that is used by the passed item and column in the native control
|
||||
virtual bool IsExpanded (wxDataViewItem const& item) const = 0; // checks if the passed item is expanded in the native control
|
||||
virtual bool Reload (void) = 0; // clears the native control and reloads all data
|
||||
virtual bool Remove (wxDataViewItem const& parent, wxDataViewItem const& item) = 0; // removes an item from the native control
|
||||
virtual bool Remove (wxDataViewItem const& parent, wxDataViewItemArray const& item) = 0; // removes items from the native control
|
||||
virtual bool Update (wxDataViewColumn const* columnPtr) = 0; // updates the items in the passed column of the native control
|
||||
virtual bool Update (wxDataViewItem const& parent, wxDataViewItem const& item) = 0; // updates the passed item in the native control
|
||||
virtual bool Update (wxDataViewItem const& parent, wxDataViewItemArray const& items) = 0; // updates the passed items in the native control
|
||||
|
||||
//
|
||||
// model related methods
|
||||
//
|
||||
virtual bool AssociateModel(wxDataViewModel* model) = 0; // informs the native control that a model is present
|
||||
|
||||
//
|
||||
// selection related methods
|
||||
//
|
||||
virtual int GetSelections(wxDataViewItemArray& sel) const = 0; // returns all selected items in the native control
|
||||
virtual bool IsSelected (wxDataViewItem const& item) const = 0; // checks if the passed item is selected in the native control
|
||||
virtual void Select (wxDataViewItem const& item) = 0; // selects the passed item in the native control
|
||||
virtual void SelectAll (void) = 0; // selects all items in the native control
|
||||
virtual void Unselect (wxDataViewItem const& item) = 0; // unselects the passed item in the native control
|
||||
virtual void UnselectAll (void) = 0; // unselects all items in the native control
|
||||
|
||||
//
|
||||
// sorting related methods
|
||||
//
|
||||
virtual wxDataViewColumn* GetSortingColumn (void) const = 0; // returns the column that is primarily responsible for sorting in the native control
|
||||
virtual void Resort (void) = 0; // asks the native control to start a resorting process
|
||||
|
||||
//
|
||||
// other methods
|
||||
//
|
||||
virtual void DoSetIndent (int indent) = 0; // sets the indention in the native control
|
||||
virtual void HitTest (wxPoint const& point, wxDataViewItem& item, wxDataViewColumn*& columnPtr) const = 0; // return the item and column pointer that contains with the passed point
|
||||
virtual void SetRowHeight(wxDataViewItem const& item, unsigned int height) = 0; // sets the height of the row containg the passed item in the native control
|
||||
virtual void OnSize (void) = 0; // updates the layout of the native control after a size event
|
||||
};
|
||||
|
||||
#endif // _WX_DATAVIEWCTRL_CORE_H_
|
Reference in New Issue
Block a user