// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef __WXGRID_H__
-#define __WXGRID_H__
+#ifndef _WX_GENERIC_GRID_H_
+#define _WX_GENERIC_GRID_H_
+
+#include "wx/defs.h"
+
+#if wxUSE_GRID
-#include "wx/hashmap.h"
-#include "wx/panel.h"
#include "wx/scrolwin.h"
-#include "wx/string.h"
-#include "wx/arrstr.h"
-#include "wx/scrolbar.h"
-#include "wx/event.h"
-#include "wx/combobox.h"
-#include "wx/dynarray.h"
-#include "wx/timer.h"
-#include "wx/clntdata.h"
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
+extern WXDLLIMPEXP_DATA_ADV(const wxChar) wxGridNameStr[];
+
// Default parameters for wxGrid
//
#define WXGRID_DEFAULT_NUMBER_ROWS 10
#define WXGRID_DEFAULT_NUMBER_COLS 10
-#ifdef __WXMSW__
+#if defined(__WXMSW__) || defined(__WXGTK20__)
#define WXGRID_DEFAULT_ROW_HEIGHT 25
#else
#define WXGRID_DEFAULT_ROW_HEIGHT 30
class WXDLLIMPEXP_ADV wxGridColLabelWindow;
class WXDLLIMPEXP_ADV wxGridCornerLabelWindow;
class WXDLLIMPEXP_ADV wxGridRowLabelWindow;
-class WXDLLIMPEXP_ADV wxGridTableBase;
class WXDLLIMPEXP_ADV wxGridWindow;
class WXDLLIMPEXP_ADV wxGridTypeRegistry;
class WXDLLIMPEXP_ADV wxGridSelection;
// create a new object which is the copy of this one
virtual wxGridCellEditor *Clone() const = 0;
- // DJC MAPTEK
// added GetValue so we can get the value which is in the control
virtual wxString GetValue() const = 0;
virtual wxGridCellEditor *Clone() const
{ return new wxGridCellTextEditor; }
- // DJC MAPTEK
// added GetValue so we can get the value which is in the control
virtual wxString GetValue() const;
+
protected:
wxTextCtrl *Text() const { return (wxTextCtrl *)m_control; }
virtual wxGridCellEditor *Clone() const
{ return new wxGridCellNumberEditor(m_min, m_max); }
- // DJC MAPTEK
+
// added GetValue so we can get the value which is in the control
virtual wxString GetValue() const;
wxEvtHandler* evtHandler);
virtual void SetSize(const wxRect& rect);
- virtual void Show(bool show, wxGridCellAttr *attr = (wxGridCellAttr *)NULL);
+ virtual void Show(bool show, wxGridCellAttr *attr = NULL);
virtual bool IsAcceptedKey(wxKeyEvent& event);
virtual void BeginEdit(int row, int col, wxGrid* grid);
virtual wxGridCellEditor *Clone() const
{ return new wxGridCellBoolEditor; }
- // DJC MAPTEK
- // added GetValue so we can get the value which is in the control
+
+ // added GetValue so we can get the value which is in the control, see
+ // also UseStringValues()
virtual wxString GetValue() const;
+ // set the string values returned by GetValue() for the true and false
+ // states, respectively
+ static void UseStringValues(const wxString& valueTrue = _T("1"),
+ const wxString& valueFalse = wxEmptyString);
+
+ // return true if the given string is equal to the string representation of
+ // true value which we currently use
+ static bool IsTrueValue(const wxString& value);
+
protected:
wxCheckBox *CBox() const { return (wxCheckBox *)m_control; }
private:
bool m_startValue;
+ static wxString ms_stringValues[2];
+
DECLARE_NO_COPY_CLASS(wxGridCellBoolEditor)
};
virtual void SetParameters(const wxString& params);
virtual wxGridCellEditor *Clone() const;
- // DJC MAPTEK
+
// added GetValue so we can get the value which is in the control
virtual wxString GetValue() const;
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxWANTS_CHARS,
- const wxString& name = wxPanelNameStr );
+ const wxString& name = wxGridNameStr );
bool Create( wxWindow *parent,
wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxWANTS_CHARS,
- const wxString& name = wxPanelNameStr );
+ const wxString& name = wxGridNameStr );
virtual ~wxGrid();
wxString GetRowLabelValue( int row );
wxString GetColLabelValue( int col );
wxColour GetGridLineColour() { return m_gridLineColour; }
+
+ // these methods may be overridden to customize individual grid lines
+ // appearance
+ virtual wxPen GetDefaultGridLinePen();
+ virtual wxPen GetRowGridLinePen(int row);
+ virtual wxPen GetColGridLinePen(int col);
wxColour GetCellHighlightColour() { return m_cellHighlightColour; }
int GetCellHighlightPenWidth() { return m_cellHighlightPenWidth; }
int GetCellHighlightROPenWidth() { return m_cellHighlightROPenWidth; }
#endif
}
+ virtual wxEvent *Clone() const { return new wxGridEvent(*this); }
+
protected:
int m_row;
int m_col;
bool m_shift;
bool m_alt;
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxGridEvent)
+ DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxGridEvent)
};
class WXDLLIMPEXP_ADV wxGridSizeEvent : public wxNotifyEvent
return ControlDown();
#endif
}
+
+ virtual wxEvent *Clone() const { return new wxGridSizeEvent(*this); }
protected:
int m_rowOrCol;
bool m_shift;
bool m_alt;
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxGridSizeEvent)
+ DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxGridSizeEvent)
};
return ControlDown();
#endif
}
+
+ virtual wxEvent *Clone() const { return new wxGridRangeSelectEvent(*this); }
protected:
wxGridCellCoords m_topLeft;
bool m_shift;
bool m_alt;
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxGridRangeSelectEvent)
+ DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxGridRangeSelectEvent)
};
void SetRow(int row) { m_row = row; }
void SetCol(int col) { m_col = col; }
void SetControl(wxControl* ctrl) { m_ctrl = ctrl; }
+
+ virtual wxEvent *Clone() const { return new wxGridEditorCreatedEvent(*this); }
private:
int m_row;
int m_col;
wxControl* m_ctrl;
- DECLARE_DYNAMIC_CLASS(wxGridEditorCreatedEvent)
- DECLARE_NO_COPY_CLASS(wxGridEditorCreatedEvent)
+ DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxGridEditorCreatedEvent)
};
#endif
-#endif // ifndef wxUSE_GRID
-
+#endif // wxUSE_GRID
+#endif // _WX_GENERIC_GRID_H_