#include "wx/defs.h"
-#if !defined(wxUSE_NEW_GRID) || !(wxUSE_NEW_GRID)
-#include "wx/generic/gridg.h"
-#else
-
#ifndef __WXGRID_H__
#define __WXGRID_H__
m_vAlign = vAlign;
}
void SetSize(int num_rows, int num_cols);
- void SetOverflow( bool allow ) { m_overflow = allow; }
+ void SetOverflow(bool allow = TRUE)
+ { m_overflow = allow ? Overflow : SingleCell; }
void SetReadOnly(bool isReadOnly = TRUE)
{ m_isReadOnly = isReadOnly ? ReadOnly : ReadWrite; }
bool HasRenderer() const { return m_renderer != NULL; }
bool HasEditor() const { return m_editor != NULL; }
bool HasReadWriteMode() const { return m_isReadOnly != Unset; }
+ bool HasOverflowMode() const { return m_overflow != UnsetOverflow; }
const wxColour& GetTextColour() const;
const wxColour& GetBackgroundColour() const;
const wxFont& GetFont() const;
void GetAlignment(int *hAlign, int *vAlign) const;
void GetSize(int *num_rows, int *num_cols) const;
- bool GetOverflow() const { return m_overflow; }
+ bool GetOverflow() const
+ { return m_overflow != SingleCell; }
wxGridCellRenderer *GetRenderer(wxGrid* grid, int row, int col) const;
wxGridCellEditor *GetEditor(wxGrid* grid, int row, int col) const;
ReadOnly
};
+ enum wxAttrOverflowMode
+ {
+ UnsetOverflow = -1,
+ Overflow,
+ SingleCell
+ };
+
// the common part of all ctors
void Init(wxGridCellAttr *attrDefault = NULL);
m_vAlign;
int m_sizeRows,
m_sizeCols;
- bool m_overflow;
+
+ wxAttrOverflowMode m_overflow;
wxGridCellRenderer* m_renderer;
wxGridCellEditor* m_editor;
//
void DrawTextRectangle( wxDC& dc, const wxString&, const wxRect&,
int horizontalAlignment = wxALIGN_LEFT,
- int verticalAlignment = wxALIGN_TOP );
+ int verticalAlignment = wxALIGN_TOP,
+ int textOrientation = wxHORIZONTAL );
void DrawTextRectangle( wxDC& dc, const wxArrayString& lines, const wxRect&,
int horizontalAlignment = wxALIGN_LEFT,
- int verticalAlignment = wxALIGN_TOP );
+ int verticalAlignment = wxALIGN_TOP,
+ int textOrientation = wxHORIZONTAL );
// Split a string containing newline chararcters into an array of
wxFont GetLabelFont() { return m_labelFont; }
void GetRowLabelAlignment( int *horiz, int *vert );
void GetColLabelAlignment( int *horiz, int *vert );
+ int GetColLabelTextOrientation();
wxString GetRowLabelValue( int row );
wxString GetColLabelValue( int col );
wxColour GetGridLineColour() { return m_gridLineColour; }
void SetLabelFont( const wxFont& );
void SetRowLabelAlignment( int horiz, int vert );
void SetColLabelAlignment( int horiz, int vert );
+ void SetColLabelTextOrientation( int textOrientation );
void SetRowLabelValue( int row, const wxString& );
void SetColLabelValue( int col, const wxString& );
void SetGridLineColour( const wxColour& );
// and also set the grid size to just fit its contents
void AutoSize();
+ // autosize row height depending on label text
+ void AutoSizeRowLabelSize( int row );
+
+ // autosize column width depending on label text
+ void AutoSizeColLabelSize( int col );
+
// column won't be resized to be lesser width - this must be called during
// the grid creation because it won't resize the column if it's already
// narrower than the minimal width
int m_rowLabelVertAlign;
int m_colLabelHorizAlign;
int m_colLabelVertAlign;
+ int m_colLabelTextOrientation;
bool m_defaultRowLabelValues;
bool m_defaultColLabelValues;
#endif
-#endif // #ifndef __WXGRID_H__
+#endif // ifndef wxUSE_GRID
-#endif // ifndef wxUSE_NEW_GRID