applied tons of wxGrid patches
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10352 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1027,10 +1027,10 @@ public:
|
||||
|
||||
// ------ display update functions
|
||||
//
|
||||
void CalcRowLabelsExposed( const wxRegion& reg );
|
||||
wxArrayInt CalcRowLabelsExposed( const wxRegion& reg );
|
||||
|
||||
void CalcColLabelsExposed( const wxRegion& reg );
|
||||
void CalcCellsExposed( const wxRegion& reg );
|
||||
wxArrayInt CalcColLabelsExposed( const wxRegion& reg );
|
||||
wxGridCellCoordsArray CalcCellsExposed( const wxRegion& reg );
|
||||
|
||||
|
||||
// ------ event handlers
|
||||
@@ -1057,21 +1057,21 @@ public:
|
||||
bool AppendCols( int numCols = 1, bool updateLabels=TRUE );
|
||||
bool DeleteCols( int pos = 0, int numCols = 1, bool updateLabels=TRUE );
|
||||
|
||||
void DrawGridCellArea( wxDC& dc );
|
||||
void DrawGridCellArea( wxDC& dc , const wxGridCellCoordsArray& cells );
|
||||
void DrawGridSpace( wxDC& dc );
|
||||
void DrawCellBorder( wxDC& dc, const wxGridCellCoords& );
|
||||
void DrawAllGridLines( wxDC& dc, const wxRegion & reg );
|
||||
void DrawCell( wxDC& dc, const wxGridCellCoords& );
|
||||
void DrawHighlight(wxDC& dc);
|
||||
void DrawHighlight(wxDC& dc, const wxGridCellCoordsArray& cells);
|
||||
|
||||
// this function is called when the current cell highlight must be redrawn
|
||||
// and may be overridden by the user
|
||||
virtual void DrawCellHighlight( wxDC& dc, const wxGridCellAttr *attr );
|
||||
|
||||
void DrawRowLabels( wxDC& dc );
|
||||
void DrawRowLabels( wxDC& dc, const wxArrayInt& rows );
|
||||
void DrawRowLabel( wxDC& dc, int row );
|
||||
|
||||
void DrawColLabels( wxDC& dc );
|
||||
void DrawColLabels( wxDC& dc, const wxArrayInt& cols );
|
||||
void DrawColLabel( wxDC& dc, int col );
|
||||
|
||||
|
||||
@@ -1080,6 +1080,11 @@ public:
|
||||
void DrawTextRectangle( wxDC& dc, const wxString&, const wxRect&,
|
||||
int horizontalAlignment = wxALIGN_LEFT,
|
||||
int verticalAlignment = wxALIGN_TOP );
|
||||
|
||||
void DrawTextRectangle( wxDC& dc, const wxArrayString& lines, const wxRect&,
|
||||
int horizontalAlignment = wxALIGN_LEFT,
|
||||
int verticalAlignment = wxALIGN_TOP );
|
||||
|
||||
|
||||
// Split a string containing newline chararcters into an array of
|
||||
// strings and return the number of lines
|
||||
@@ -1087,7 +1092,7 @@ public:
|
||||
void StringToLines( const wxString& value, wxArrayString& lines );
|
||||
|
||||
void GetTextBoxSize( wxDC& dc,
|
||||
wxArrayString& lines,
|
||||
const wxArrayString& lines,
|
||||
long *width, long *height );
|
||||
|
||||
|
||||
@@ -1704,12 +1709,6 @@ protected:
|
||||
wxGridCellAttr* m_defaultCellAttr;
|
||||
|
||||
|
||||
wxGridCellCoordsArray m_cellsExposed;
|
||||
wxArrayInt m_rowsExposed;
|
||||
wxArrayInt m_colsExposed;
|
||||
wxArrayInt m_rowLabelsExposed;
|
||||
wxArrayInt m_colLabelsExposed;
|
||||
|
||||
bool m_inOnKeyDown;
|
||||
int m_batchCount;
|
||||
|
||||
|
150
include/wx/generic/gridctrl.h
Normal file
150
include/wx/generic/gridctrl.h
Normal file
@@ -0,0 +1,150 @@
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Name: generic/gridctrl.h
|
||||
// Purpose: wxGrid controls
|
||||
// Author: Paul Gammans, Roger Gammans
|
||||
// Modified by:
|
||||
// Created: 11/04/2001
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) The Computer Surgery (paul@compsurg.co.uk)
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_GENERIC_GRIDCTRL_H_
|
||||
#define _WX_GENERIC_GRIDCTRL_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "gridctrl.h"
|
||||
#endif
|
||||
|
||||
#include "wx/grid.h"
|
||||
#include "wx/string.h"
|
||||
#include "wx/datetime.h"
|
||||
|
||||
#define wxGRID_VALUE_CHOICEINT _T("choiceint")
|
||||
#define wxGRID_VALUE_DATETIME _T("datetime")
|
||||
|
||||
// the default renderer for the cells containing Time and dates..
|
||||
class WXDLLEXPORT wxGridCellDateTimeRenderer : public wxGridCellStringRenderer
|
||||
{
|
||||
public:
|
||||
wxGridCellDateTimeRenderer(wxString outformat = _T("%c"),
|
||||
wxString informat = _T("%c"));
|
||||
|
||||
// draw the string right aligned
|
||||
virtual void Draw(wxGrid& grid,
|
||||
wxGridCellAttr& attr,
|
||||
wxDC& dc,
|
||||
const wxRect& rect,
|
||||
int row, int col,
|
||||
bool isSelected);
|
||||
|
||||
virtual wxSize GetBestSize(wxGrid& grid,
|
||||
wxGridCellAttr& attr,
|
||||
wxDC& dc,
|
||||
int row, int col);
|
||||
|
||||
virtual wxGridCellRenderer *Clone() const;
|
||||
|
||||
// parameters string format is "width[,precision]"
|
||||
virtual void SetParameters(const wxString& params);
|
||||
|
||||
protected:
|
||||
wxString GetString(wxGrid& grid, int row, int col);
|
||||
|
||||
wxString m_iformat;
|
||||
wxString m_oformat;
|
||||
wxDateTime m_dateDef;
|
||||
wxDateTime::TimeZone m_tz;
|
||||
};
|
||||
|
||||
|
||||
// the default renderer for the cells containing Time and dates..
|
||||
class WXDLLEXPORT wxGridCellEnumRenderer : public wxGridCellStringRenderer
|
||||
{
|
||||
public:
|
||||
wxGridCellEnumRenderer( const wxString& choices = wxEmptyString );
|
||||
|
||||
// draw the string right aligned
|
||||
virtual void Draw(wxGrid& grid,
|
||||
wxGridCellAttr& attr,
|
||||
wxDC& dc,
|
||||
const wxRect& rect,
|
||||
int row, int col,
|
||||
bool isSelected);
|
||||
|
||||
virtual wxSize GetBestSize(wxGrid& grid,
|
||||
wxGridCellAttr& attr,
|
||||
wxDC& dc,
|
||||
int row, int col);
|
||||
|
||||
virtual wxGridCellRenderer *Clone() const;
|
||||
|
||||
// parameters string format is "item1[,item2[...,itemN]]"
|
||||
virtual void SetParameters(const wxString& params);
|
||||
|
||||
protected:
|
||||
wxString GetString(wxGrid& grid, int row, int col);
|
||||
|
||||
wxArrayString m_choices;
|
||||
};
|
||||
|
||||
|
||||
class WXDLLEXPORT wxGridCellEnumEditor : public wxGridCellChoiceEditor
|
||||
{
|
||||
public:
|
||||
wxGridCellEnumEditor( const wxString& choices = wxEmptyString );
|
||||
virtual ~wxGridCellEnumEditor() {};
|
||||
|
||||
virtual wxGridCellEditor* Clone() const;
|
||||
|
||||
virtual bool EndEdit(int row, int col, wxGrid* grid);
|
||||
virtual void BeginEdit(int row, int col, wxGrid* grid);
|
||||
|
||||
private:
|
||||
long int m_startint;
|
||||
};
|
||||
|
||||
|
||||
class wxGridCellAutoWrapStringEditor : public wxGridCellTextEditor
|
||||
{
|
||||
public:
|
||||
wxGridCellAutoWrapStringEditor() : wxGridCellTextEditor() { }
|
||||
virtual void Create(wxWindow* parent,
|
||||
wxWindowID id,
|
||||
wxEvtHandler* evtHandler);
|
||||
|
||||
virtual wxGridCellEditor *Clone() const
|
||||
{ return new wxGridCellAutoWrapStringEditor; }
|
||||
};
|
||||
|
||||
class wxGridCellAutoWrapStringRenderer : public wxGridCellStringRenderer
|
||||
{
|
||||
public:
|
||||
wxGridCellAutoWrapStringRenderer() : wxGridCellStringRenderer() { }
|
||||
|
||||
virtual void Draw(wxGrid& grid,
|
||||
wxGridCellAttr& attr,
|
||||
wxDC& dc,
|
||||
const wxRect& rect,
|
||||
int row, int col,
|
||||
bool isSelected);
|
||||
|
||||
virtual wxSize GetBestSize(wxGrid& grid,
|
||||
wxGridCellAttr& attr,
|
||||
wxDC& dc,
|
||||
int row, int col);
|
||||
|
||||
virtual wxGridCellRenderer *Clone() const
|
||||
{ return new wxGridCellAutoWrapStringRenderer; }
|
||||
|
||||
private:
|
||||
wxArrayString GetTextLines( wxGrid& grid,
|
||||
wxDC& dc,
|
||||
wxGridCellAttr& attr,
|
||||
const wxRect& rect,
|
||||
int row, int col);
|
||||
|
||||
};
|
||||
|
||||
#endif //_WX_GENERIC_GRIDCTRL_H_
|
||||
|
Reference in New Issue
Block a user