⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grid.h

📁 wxGTK 是 wxWidgets 的 linux GTK+ (>2.2.3)版本。wxWidgets 是一个跨平台的 GUI 框架
💻 H
📖 第 1 页 / 共 5 页
字号:
                       addToSelected ); }    void SelectAll();    bool IsSelection();    // ------ deselect blocks or cells    //    void DeselectRow( int row );    void DeselectCol( int col );    void DeselectCell( int row, int col );    void ClearSelection();    bool IsInSelection( int row, int col ) const;    bool IsInSelection( const wxGridCellCoords& coords ) const        { return IsInSelection( coords.GetRow(), coords.GetCol() ); }    wxGridCellCoordsArray GetSelectedCells() const;    wxGridCellCoordsArray GetSelectionBlockTopLeft() const;    wxGridCellCoordsArray GetSelectionBlockBottomRight() const;    wxArrayInt GetSelectedRows() const;    wxArrayInt GetSelectedCols() const;    // This function returns the rectangle that encloses the block of cells    // limited by TopLeft and BottomRight cell in device coords and clipped    //  to the client size of the grid window.    //    wxRect BlockToDeviceRect( const wxGridCellCoords & topLeft,                              const wxGridCellCoords & bottomRight );    // Access or update the selection fore/back colours    wxColour GetSelectionBackground() const        { return m_selectionBackground; }    wxColour GetSelectionForeground() const        { return m_selectionForeground; }    void SetSelectionBackground(const wxColour& c) { m_selectionBackground = c; }    void SetSelectionForeground(const wxColour& c) { m_selectionForeground = c; }    // Methods for a registry for mapping data types to Renderers/Editors    void RegisterDataType(const wxString& typeName,                          wxGridCellRenderer* renderer,                          wxGridCellEditor* editor);    // DJC MAPTEK    virtual wxGridCellEditor* GetDefaultEditorForCell(int row, int col) const;    wxGridCellEditor* GetDefaultEditorForCell(const wxGridCellCoords& c) const        { return GetDefaultEditorForCell(c.GetRow(), c.GetCol()); }    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    void SetMargins(int extraWidth, int extraHeight)    {        m_extraWidth = extraWidth;        m_extraHeight = extraHeight;        CalcDimensions();    }    // Accessors for component windows    wxWindow* GetGridWindow()            { return (wxWindow*)m_gridWin; }    wxWindow* GetGridRowLabelWindow()    { return (wxWindow*)m_rowLabelWin; }    wxWindow* GetGridColLabelWindow()    { return (wxWindow*)m_colLabelWin; }    wxWindow* GetGridCornerLabelWindow() { return (wxWindow*)m_cornerLabelWin; }    // 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; }    // Implementation    int GetScrollX(int x) const    {        return (x + GetScrollLineX() - 1) / GetScrollLineX();    }    int GetScrollY(int y) const    {        return (y + GetScrollLineY() - 1) / GetScrollLineY();    }    // override some base class functions    virtual bool Enable(bool enable = true);    // ------ For compatibility with previous wxGrid only...    //    //  ************************************************    //  **  Don't use these in new code because they  **    //  **  are liable to disappear in a future       **    //  **  revision                                  **    //  ************************************************    //    wxGrid( wxWindow *parent,            int x, int y, int w = wxDefaultCoord, int h = wxDefaultCoord,            long style = wxWANTS_CHARS,            const wxString& name = wxPanelNameStr )        : wxScrolledWindow( parent, wxID_ANY, wxPoint(x,y), wxSize(w,h),                            (style|wxWANTS_CHARS), name )        {            Create();        }    void SetCellValue( const wxString& val, int row, int col )        { SetCellValue( row, col, val ); }    void UpdateDimensions()        { CalcDimensions(); }    int GetRows() { return GetNumberRows(); }    int GetCols() { return GetNumberCols(); }    int GetCursorRow() { return GetGridCursorRow(); }    int GetCursorColumn() { return GetGridCursorCol(); }    int GetScrollPosX() { return 0; }    int GetScrollPosY() { return 0; }    void SetScrollX( int WXUNUSED(x) ) { }    void SetScrollY( int WXUNUSED(y) ) { }    void SetColumnWidth( int col, int width )        { SetColSize( col, width ); }    int GetColumnWidth( int col )        { return GetColSize( col ); }    void SetRowHeight( int row, int height )        { SetRowSize( row, height ); }    // GetRowHeight() is below    int GetViewHeight() // returned num whole rows visible        { return 0; }    int GetViewWidth() // returned num whole cols visible        { return 0; }    void SetLabelSize( int orientation, int sz )        {            if ( orientation == wxHORIZONTAL )                SetColLabelSize( sz );            else                SetRowLabelSize( sz );        }    int GetLabelSize( int orientation )        {            if ( orientation == wxHORIZONTAL )                return GetColLabelSize();            else                return GetRowLabelSize();        }    void SetLabelAlignment( int orientation, int align )        {            if ( orientation == wxHORIZONTAL )                SetColLabelAlignment( align, -1 );            else                SetRowLabelAlignment( align, -1 );        }    int GetLabelAlignment( int orientation, int WXUNUSED(align) )        {            int h, v;            if ( orientation == wxHORIZONTAL )            {                GetColLabelAlignment( &h, &v );                return h;            }            else            {                GetRowLabelAlignment( &h, &v );                return h;            }        }    void SetLabelValue( int orientation, const wxString& val, int pos )        {            if ( orientation == wxHORIZONTAL )                SetColLabelValue( pos, val );            else                SetRowLabelValue( pos, val );        }    wxString GetLabelValue( int orientation, int pos)        {            if ( orientation == wxHORIZONTAL )                return GetColLabelValue( pos );            else                return GetRowLabelValue( pos );        }    wxFont GetCellTextFont() const        { return m_defaultCellAttr->GetFont(); }    wxFont GetCellTextFont(int WXUNUSED(row), int WXUNUSED(col)) const        { return m_defaultCellAttr->GetFont(); }    void SetCellTextFont(const wxFont& fnt)        { SetDefaultCellFont( fnt ); }    void SetCellTextFont(const wxFont& fnt, int row, int col)        { SetCellFont( row, col, fnt ); }    void SetCellTextColour(const wxColour& val, int row, int col)        { SetCellTextColour( row, col, val ); }    void SetCellTextColour(const wxColour& col)        { SetDefaultCellTextColour( col ); }    void SetCellBackgroundColour(const wxColour& col)        { SetDefaultCellBackgroundColour( col ); }    void SetCellBackgroundColour(const wxColour& colour, int row, int col)        { SetCellBackgroundColour( row, col, colour ); }    bool GetEditable() { return IsEditable(); }    void SetEditable( bool edit = true ) { EnableEditing( edit ); }    bool GetEditInPlace() { return IsCellEditControlEnabled(); }    void SetEditInPlace(bool WXUNUSED(edit) = true) { }    void SetCellAlignment( int align, int row, int col)    { SetCellAlignment(row, col, align, wxALIGN_CENTER); }    void SetCellAlignment( int WXUNUSED(align) ) {}    void SetCellBitmap(wxBitmap *WXUNUSED(bitmap), int WXUNUSED(row), int WXUNUSED(col))    { }    void SetDividerPen(const wxPen& WXUNUSED(pen)) { }    wxPen& GetDividerPen() const;    void OnActivate(bool WXUNUSED(active)) {}    // ******** End of compatibility functions **********    // ------ control IDs    enum { wxGRID_CELLCTRL = 2000,           wxGRID_TOPCTRL };    // ------ control types    enum { wxGRID_TEXTCTRL = 2100,           wxGRID_CHECKBOX,           wxGRID_CHOICE,           wxGRID_COMBOBOX };    // overridden wxWindow methods    virtual void Fit();protected:    virtual wxSize DoGetBestSize() const;    bool m_created;    wxGridWindow             *m_gridWin;    wxGridRowLabelWindow     *m_rowLabelWin;    wxGridColLabelWindow     *m_colLabelWin;    wxGridCornerLabelWindow  *m_cornerLabelWin;    wxGridTableBase          *m_table;    bool                      m_ownTable;    int m_numRows;    int m_numCols;    wxGridCellCoords m_currentCellCoords;    wxGridCellCoords m_selectingTopLeft;    wxGridCellCoords m_selectingBottomRight;    wxGridCellCoords m_selectingKeyboard;    wxGridSelection  *m_selection;    wxColour    m_selectionBackground;    wxColour    m_selectionForeground;    // NB: *never* access m_row/col arrays directly because they are created    //     on demand, *always* use accessor functions instead!    // init the m_rowHeights/Bottoms arrays with default values    void InitRowHeights();    int        m_defaultRowHeight;    int        m_minAcceptableRowHeight;    wxArrayInt m_rowHeights;    wxArrayInt m_rowBottoms;    // init the m_colWidths/Rights arrays    void InitColWidths();    int        m_defaultColWidth;    int        m_minAcceptableColWidth;    wxArrayInt m_colWidths;    wxArrayInt m_colRights;    // get the col/row coords    int GetColWidth(int col) const;    int GetColLeft(int col) const;    int GetColRight(int col) const;    // this function must be public for compatibility...public:    int GetRowHeight(int row) const;protected:    int GetRowTop(int row) const;    int GetRowBottom(int row) const;    int m_rowLabelWidth;    int m_colLabelHeight;    // the size of the margin left to the right and bottom of the cell area    int m_extraWidth,        m_extraHeight;    wxColour   m_labelBackgroundColour;    wxColour   m_labelTextColour;    wxFont     m_labelFont;    int        m_rowLabelHorizAlign;    int        m_rowLabelVertAlign;    int        m_colLabelHorizAlign;    int        m_colLabelVertAlign;    int        m_colLabelTextOrientation;    bool       m_defaultRowLabelValues;    bool       m_defaultColLabelValues;    wxColour   m_gridLineColour;    bool       m_gridLinesEnabled;    wxColour   m_cellHighlightColour;    int        m_cellHighlightPenWidth;    int        m_cellHighlightROPenWidth;    // common part of AutoSizeColumn/Row() and GetBestSize()    int SetOrCalcColumnSizes(bool calcOnly, bool setAsMin = true);    int SetOrCalcRowSizes(bool calcOnly, bool setAsMin = true);    // common part of AutoSizeColumn/Row()    void AutoSizeColOrRow(int n, bool setAsMin, bool column /* or row? */);    // if a column has a minimal width, it will be the value for it in this    // hash table    wxLongToLongHashMap m_colMinWidths,                        m_rowMinHeights;    // get the minimal width of the given column/row    int GetColMinimalWidth(int col) const;    int GetRowMinimalHeight(int col) const;    // do we have some place to store attributes in?    bool CanHaveAttributes();    // cell attribute cache (currently we only cache 1, may be will do    // more/better later)    struct CachedAttr    {        int             row, col;        wxGridCellAttr *attr;    } m_attrCache;    // invalidates the attribute cache    void ClearAttrCache();    // adds an attribute to cache    void CacheAttr(int row, int col, wxGridCellAttr *attr) const;    // looks for an attr in cache, returns true if found    bool LookupAttr(int row, int col, wxGridCellAttr **attr) const;    // looks for the attr in cache, if not found asks the table and caches the    // result    wxGr

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -