X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ba0185b55709e92abe507a0d51afce518767a51f..625ed743015f2da84db47a6851e6011bd08f4bd2:/include/wx/generic/grid.h diff --git a/include/wx/generic/grid.h b/include/wx/generic/grid.h index 32c3f39e53..b42e57e7ca 100644 --- a/include/wx/generic/grid.h +++ b/include/wx/generic/grid.h @@ -449,6 +449,15 @@ public: const wxColour& GetBackgroundColour() const; const wxFont& GetFont() const; void GetAlignment(int *hAlign, int *vAlign) const; + + // unlike GetAlignment() which always overwrites its output arguments with + // the alignment values to use, falling back on default alignment if this + // attribute doesn't have any, this function will preserve the values of + // parameters on entry if the corresponding alignment is not set in this + // attribute meaning that they can be initialized to default alignment (and + // also that they must be initialized, unlike with GetAlignment()) + void GetNonDefaultAlignment(int *hAlign, int *vAlign) const; + void GetSize(int *num_rows, int *num_cols) const; bool GetOverflow() const { return m_overflow != SingleCell; } @@ -1292,7 +1301,24 @@ public: void GetCellAlignment( int row, int col, int *horiz, int *vert ) const; bool GetDefaultCellOverflow() const; bool GetCellOverflow( int row, int col ) const; - void GetCellSize( int row, int col, int *num_rows, int *num_cols ) const; + + // this function returns 1 in num_rows and num_cols for normal cells, + // positive numbers for a cell spanning multiple columns/rows (as set with + // SetCellSize()) and _negative_ numbers corresponding to the offset of the + // top left cell of the span from this one for the other cells covered by + // this cell + // + // the return value is CellSpan_None, CellSpan_Main or CellSpan_Inside for + // each of these cases respectively + enum CellSpan + { + CellSpan_Inside = -1, + CellSpan_None = 0, + CellSpan_Main + }; + + CellSpan GetCellSize( int row, int col, int *num_rows, int *num_cols ) const; + wxSize GetCellSize(const wxGridCellCoords& coords) { wxSize s; @@ -1569,10 +1595,10 @@ public: } // Allow adjustment of scroll increment. The default is (15, 15). - void SetScrollLineX(int x) { m_scrollLineX = x; } - void SetScrollLineY(int y) { m_scrollLineY = y; } - int GetScrollLineX() const { return m_scrollLineX; } - int GetScrollLineY() const { return m_scrollLineY; } + void SetScrollLineX(int x) { m_xScrollPixelsPerLine = x; } + void SetScrollLineY(int y) { m_yScrollPixelsPerLine = y; } + int GetScrollLineX() const { return m_xScrollPixelsPerLine; } + int GetScrollLineY() const { return m_yScrollPixelsPerLine; } // ------- drag and drop #if wxUSE_DRAG_AND_DROP @@ -2020,9 +2046,6 @@ protected: bool m_editable; // applies to whole grid bool m_cellEditCtrlEnabled; // is in-place edit currently shown? - int m_scrollLineX; // X scroll increment - int m_scrollLineY; // Y scroll increment - void Init(); // common part of all ctors void Create(); void CreateColumnWindow(); @@ -2593,9 +2616,9 @@ extern const int wxEVT_GRID_CREATE_CELL; extern const int wxEVT_GRID_CHANGE_LABELS; extern const int wxEVT_GRID_CHANGE_SEL_LABEL; -#define EVT_GRID_CREATE_CELL(fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_GRID_CREATE_CELL, wxID_ANY, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxGridEventFunction, &fn ), NULL ), -#define EVT_GRID_CHANGE_LABELS(fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_GRID_CHANGE_LABELS, wxID_ANY, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxGridEventFunction, &fn ), NULL ), -#define EVT_GRID_CHANGE_SEL_LABEL(fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_GRID_CHANGE_SEL_LABEL, wxID_ANY, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxGridEventFunction, &fn ), NULL ), +#define EVT_GRID_CREATE_CELL(fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_GRID_CREATE_CELL, wxID_ANY, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxGridEventFunction, &fn ), NULL ), +#define EVT_GRID_CHANGE_LABELS(fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_GRID_CHANGE_LABELS, wxID_ANY, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxGridEventFunction, &fn ), NULL ), +#define EVT_GRID_CHANGE_SEL_LABEL(fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_GRID_CHANGE_SEL_LABEL, wxID_ANY, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxGridEventFunction, &fn ), NULL ), #endif