// we can't know in advance whether we can sort by this column or not
// with wxGrid API so suppose we can by default
int flags = wxCOL_SORTABLE;
- if ( m_grid->CanDragColSize() )
+ if ( m_grid->CanDragColSize(m_col) )
flags |= wxCOL_RESIZABLE;
if ( m_grid->CanDragColMove() )
flags |= wxCOL_REORDERABLE;
// as this is done by the user we should notify the main program about
// it
- GetOwner()->SendEvent(wxEVT_GRID_COL_SIZE, -1, idx);
+
+ // make up a dummy event for the grid event to use -- unfortunately we
+ // can't do anything else here
+ wxMouseEvent e;
+ e.SetState(wxGetMouseState());
+ GetOwner()->SendSizeEvent(wxEVT_GRID_COL_SIZE, -1, idx, e);
}
// overridden to react to the columns order changes in the customization
void OnEndResize(wxHeaderCtrlEvent& event)
{
- GetOwner()->DoEndDragResizeCol();
+ // we again need to pass a mouse event to be used for the grid event
+ // generation but we don't have it here so use a dummy one as in
+ // UpdateColumnVisibility()
+ wxMouseEvent e;
+ e.SetState(wxGetMouseState());
+ GetOwner()->DoEndDragResizeCol(e);
event.Skip();
}
wxVector<wxGridHeaderColumn> m_columns;
DECLARE_EVENT_TABLE()
- DECLARE_NO_COPY_CLASS(wxGridHeaderCtrl)
+ wxDECLARE_NO_COPY_CLASS(wxGridHeaderCtrl);
};
// common base class for various grid subwindows
wxGrid *m_owner;
DECLARE_EVENT_TABLE()
- DECLARE_NO_COPY_CLASS(wxGridSubwindow)
+ wxDECLARE_NO_COPY_CLASS(wxGridSubwindow);
};
class WXDLLIMPEXP_ADV wxGridRowLabelWindow : public wxGridSubwindow
void OnMouseWheel( wxMouseEvent& event );
DECLARE_EVENT_TABLE()
- DECLARE_NO_COPY_CLASS(wxGridRowLabelWindow)
+ wxDECLARE_NO_COPY_CLASS(wxGridRowLabelWindow);
};
void OnMouseWheel( wxMouseEvent& event );
DECLARE_EVENT_TABLE()
- DECLARE_NO_COPY_CLASS(wxGridColLabelWindow)
+ wxDECLARE_NO_COPY_CLASS(wxGridColLabelWindow);
};
void OnPaint( wxPaintEvent& event );
DECLARE_EVENT_TABLE()
- DECLARE_NO_COPY_CLASS(wxGridCornerLabelWindow)
+ wxDECLARE_NO_COPY_CLASS(wxGridCornerLabelWindow);
};
class WXDLLIMPEXP_ADV wxGridWindow : public wxGridSubwindow
void OnFocus( wxFocusEvent& );
DECLARE_EVENT_TABLE()
- DECLARE_NO_COPY_CLASS(wxGridWindow)
+ wxDECLARE_NO_COPY_CLASS(wxGridWindow);
};
// ----------------------------------------------------------------------------
// Set the row height or column width
virtual void SetLineSize(wxGrid *grid, int line, int size) const = 0;
- // True if rows/columns can be resized by user
- virtual bool CanResizeLines(const wxGrid *grid) const = 0;
+ // Set the row default height or column default width
+ virtual void SetDefaultLineSize(wxGrid *grid, int size, bool resizeExisting) const = 0;
// Return the index of the line at the given position
{ return grid->GetRowMinimalHeight(line); }
virtual void SetLineSize(wxGrid *grid, int line, int size) const
{ grid->SetRowSize(line, size); }
- virtual bool CanResizeLines(const wxGrid *grid) const
- { return grid->CanDragRowSize(); }
+ virtual void SetDefaultLineSize(wxGrid *grid, int size, bool resizeExisting) const
+ { grid->SetDefaultRowSize(size, resizeExisting); }
virtual int GetLineAt(const wxGrid * WXUNUSED(grid), int line) const
{ return line; } // TODO: implement row reordering
{ return grid->GetColMinimalWidth(line); }
virtual void SetLineSize(wxGrid *grid, int line, int size) const
{ grid->SetColSize(line, size); }
- virtual bool CanResizeLines(const wxGrid *grid) const
- { return grid->CanDragColSize(); }
+ virtual void SetDefaultLineSize(wxGrid *grid, int size, bool resizeExisting) const
+ { grid->SetDefaultColSize(size, resizeExisting); }
virtual int GetLineAt(const wxGrid *grid, int line) const
{ return grid->GetColAt(line); }
wxGridCellRenderer* m_renderer;
wxGridCellEditor* m_editor;
- DECLARE_NO_COPY_CLASS(wxGridDataTypeInfo)
+ wxDECLARE_NO_COPY_CLASS(wxGridDataTypeInfo);
};