X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b5f62a0b2db198609b45dec622a018dae37008e..510bf1ec20bfe60e801a89974e6371535e338abc:/include/wx/generic/grid.h diff --git a/include/wx/generic/grid.h b/include/wx/generic/grid.h index 9154f8970c..cab62c5661 100644 --- a/include/wx/generic/grid.h +++ b/include/wx/generic/grid.h @@ -11,10 +11,6 @@ #include "wx/defs.h" -#if !defined(wxUSE_NEW_GRID) || !(wxUSE_NEW_GRID) -#include "wx/generic/gridg.h" -#else - #ifndef __WXGRID_H__ #define __WXGRID_H__ @@ -302,6 +298,9 @@ public: wxControl* GetControl() { return m_control; } void SetControl(wxControl* control) { m_control = control; } + wxGridCellAttr* GetCellAttr() { return m_attr; } + void SetCellAttr(wxGridCellAttr* attr) { m_attr = attr; } + // Creates the actual edit control virtual void Create(wxWindow* parent, wxWindowID id, @@ -357,6 +356,10 @@ public: // 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; + protected: // the dtor is private because only DecRef() can delete us virtual ~wxGridCellEditor(); @@ -364,6 +367,9 @@ protected: // the control we show on screen wxControl* m_control; + // a temporary pointer to the attribute being edited + wxGridCellAttr* m_attr; + // if we change the colours/font of the control from the default ones, we // must restore the default later and we save them here between calls to // Show(TRUE) and Show(FALSE) @@ -374,6 +380,8 @@ protected: // suppress the stupid gcc warning about the class having private dtor and // no friends friend class wxGridCellEditorDummyFriend; + + DECLARE_NO_COPY_CLASS(wxGridCellEditor) }; #if wxUSE_TEXTCTRL @@ -405,6 +413,9 @@ public: 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; } @@ -441,6 +452,9 @@ public: 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; protected: wxSpinCtrl *Spin() const { return (wxSpinCtrl *)m_control; } @@ -516,6 +530,9 @@ public: virtual wxGridCellEditor *Clone() const { return new wxGridCellBoolEditor; } + // DJC MAPTEK + // added GetValue so we can get the value which is in the control + virtual wxString GetValue() const; protected: wxCheckBox *CBox() const { return (wxCheckBox *)m_control; } @@ -552,11 +569,16 @@ public: 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; protected: wxComboBox *Combo() const { return (wxComboBox *)m_control; } -private: +// DJC - (MAPTEK) you at least need access to m_choices if you +// wish to override this class +protected: wxString m_startValue; wxArrayString m_choices; bool m_allowOthers; @@ -744,6 +766,8 @@ private: void InitData(); wxGridCellAttrProviderData *m_data; + + DECLARE_NO_COPY_CLASS(wxGridCellAttrProvider) }; ////////////////////////////////////////////////////////////////////// @@ -832,6 +856,7 @@ private: wxGridCellAttrProvider *m_attrProvider; DECLARE_ABSTRACT_CLASS( wxGridTableBase ); + DECLARE_NO_COPY_CLASS(wxGridTableBase) }; @@ -875,6 +900,8 @@ private: int m_id; int m_comInt1; int m_comInt2; + + DECLARE_NO_COPY_CLASS(wxGridTableMessage) }; @@ -1091,11 +1118,13 @@ public: // 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 @@ -1207,6 +1236,7 @@ public: 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; } @@ -1221,6 +1251,7 @@ public: 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& ); @@ -1297,6 +1328,12 @@ public: // 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 @@ -1416,12 +1453,13 @@ public: void RegisterDataType(const wxString& typeName, wxGridCellRenderer* renderer, wxGridCellEditor* editor); - wxGridCellEditor* GetDefaultEditorForCell(int row, int col) const; + // DJC MAPTEK + virtual wxGridCellEditor* GetDefaultEditorForCell(int row, int col) const; wxGridCellEditor* GetDefaultEditorForCell(const wxGridCellCoords& c) const { return GetDefaultEditorForCell(c.GetRow(), c.GetCol()); } - wxGridCellRenderer* GetDefaultRendererForCell(int row, int col) const; - wxGridCellEditor* GetDefaultEditorForType(const wxString& typeName) const; - wxGridCellRenderer* GetDefaultRendererForType(const wxString& typeName) const; + virtual wxGridCellRenderer* GetDefaultRendererForCell(int row, int col) const; + virtual wxGridCellEditor* GetDefaultEditorForType(const wxString& typeName) const; + virtual wxGridCellRenderer* GetDefaultRendererForType(const wxString& typeName) const; // grid may occupy more space than needed for its rows/columns, this // function allows to set how big this extra space is @@ -1675,6 +1713,7 @@ protected: int m_rowLabelVertAlign; int m_colLabelHorizAlign; int m_colLabelVertAlign; + int m_colLabelTextOrientation; bool m_defaultRowLabelValues; bool m_defaultColLabelValues; @@ -1828,6 +1867,7 @@ protected: DECLARE_DYNAMIC_CLASS( wxGrid ) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxGrid) }; // ---------------------------------------------------------------------------- @@ -1976,6 +2016,7 @@ private: wxControl* m_ctrl; DECLARE_DYNAMIC_CLASS(wxGridEditorCreatedEvent) + DECLARE_NO_COPY_CLASS(wxGridEditorCreatedEvent) }; @@ -2034,6 +2075,5 @@ extern const int wxEVT_GRID_CHANGE_SEL_LABEL; #endif -#endif // #ifndef __WXGRID_H__ +#endif // ifndef wxUSE_GRID -#endif // ifndef wxUSE_NEW_GRID