wxGridCellEditor

wxGridCellEditor Class Reference abstract

#include <wx/grid.h>

+ Inheritance diagram for wxGridCellEditor:
Inheritance graph
[legend]

Detailed Description

This class is responsible for providing and manipulating the in-place edit controls for the grid.

Instances of wxGridCellEditor (actually, instances of derived classes since it is an abstract class) can be associated with the cell attributes for individual cells, rows, columns, or even for the entire grid.

 

Library:  wxAdvanced
Category:  Grid Related Classes
See also
wxGridCellAutoWrapStringEditorwxGridCellBoolEditorwxGridCellChoiceEditorwxGridCellEnumEditorwxGridCellFloatEditorwxGridCellNumberEditorwxGridCellTextEditor

Public Member Functions

 wxGridCellEditor ()
 Default constructor. More...
 
virtual void BeginEdit (int row, int col, wxGrid *grid)=0
 Fetch the value from the table and prepare the edit control to begin editing. More...
 
virtual wxGridCellEditor * Clone () const =0
 Create a new object which is the copy of this one. More...
 
virtual void Create (wxWindow *parent, wxWindowID id, wxEvtHandler *evtHandler)=0
 Creates the actual edit control. More...
 
virtual void Destroy ()
 Final cleanup. More...
 
virtual bool EndEdit (int row, int col, const wxGrid *grid, const wxString &oldval, wxString *newval)=0
 End editing the cell. More...
 
virtual void ApplyEdit (int row, int col, wxGrid *grid)=0
 Effectively save the changes in the grid. More...
 
virtual void HandleReturn (wxKeyEvent &event)
 Some types of controls on some platforms may need some help with the Return key. More...
 
bool IsCreated ()
 Returns true if the edit control has been created. More...
 
virtual void PaintBackground (wxDC &dc, const wxRect &rectCell, const wxGridCellAttr &attr)
 Draws the part of the cell not occupied by the control: the base class version just fills it with background colour from the attribute. More...
 
virtual void Reset ()=0
 Reset the value in the control back to its starting value. More...
 
virtual void SetSize (const wxRect &rect)
 Size and position the edit control. More...
 
virtual void Show (bool show, wxGridCellAttr *attr=NULL)
 Show or hide the edit control, use the specified attributes to set colours/fonts for it. More...
 
virtual void StartingClick ()
 If the editor is enabled by clicking on the cell, this method will be called. More...
 
virtual void StartingKey (wxKeyEvent &event)
 If the editor is enabled by pressing keys on the grid, this will be called to let the editor do something about that first key if desired. More...
 
virtual wxString GetValue () const =0
 Returns the value currently in the editor control. More...
 
wxControl * GetControl () const
 Get the wxControl used by this editor. More...
 
void SetControl (wxControl *control)
 Set the wxControl that will be used by this cell editor for editing the value. More...
 
- Public Member Functions inherited from wxClientDataContainer
- Public Member Functions inherited from wxRefCounter

Protected Member Functions

virtual ~wxGridCellEditor ()
 The destructor is private because only DecRef() can delete us. More...
 
- Protected Member Functions inherited from wxRefCounter

Constructor & Destructor Documentation

wxGridCellEditor::wxGridCellEditor( ) 

Default constructor.

virtual wxGridCellEditor::~wxGridCellEditor( ) 
protectedvirtual

The destructor is private because only DecRef() can delete us.

Member Function Documentation

virtual void wxGridCellEditor::ApplyEdit(int row,
  int col,
  wxGrid * grid 
 )  
pure virtual

Effectively save the changes in the grid.

This function should save the value of the control in the grid. It is called only after EndEdit() returns true.

virtual void wxGridCellEditor::BeginEdit(int row,
  int col,
  wxGrid * grid 
 )  
pure virtual

Fetch the value from the table and prepare the edit control to begin editing.

This function should save the original value of the grid cell at the given row and col and show the control allowing the user to change it.

See also
EndEdit()
virtual wxGridCellEditor* wxGridCellEditor::Clone( )const
pure virtual

Create a new object which is the copy of this one.

virtual void wxGridCellEditor::Create(wxWindow * parent,
  wxWindowID id,
  wxEvtHandler * evtHandler 
 )  
pure virtual

Creates the actual edit control.

virtual void wxGridCellEditor::Destroy( ) 
virtual

Final cleanup.

virtual bool wxGridCellEditor::EndEdit(int row,
  int col,
  const wxGrid * grid,
  const wxString & oldval,
  wxString * newval 
 )  
pure virtual

End editing the cell.

This function must check if the current value of the editing control is valid and different from the original value (available as oldval in its string form and possibly saved internally using its real type by BeginEdit()). If it isn't, it just returnsfalse, otherwise it must do the following:

  • Save the new value internally so that ApplyEdit() could apply it.
  • Fill newval (which is never NULL) with the string representation of the new value.
  • Return true

Notice that it must not modify the grid as the change could still be vetoed.

If the user-defined wxEVT_GRID_CELL_CHANGING event handler doesn't veto this change, ApplyEdit() will be called next.

wxControl* wxGridCellEditor::GetControl( )const

Get the wxControl used by this editor.

virtual wxString wxGridCellEditor::GetValue( )const
pure virtual

Returns the value currently in the editor control.

virtual void wxGridCellEditor::HandleReturn(wxKeyEvent & event) 
virtual

Some types of controls on some platforms may need some help with the Return key.

bool wxGridCellEditor::IsCreated( ) 

Returns true if the edit control has been created.

virtual void wxGridCellEditor::PaintBackground(wxDC & dc,
  const wxRect & rectCell,
  const wxGridCellAttr & attr 
 )  
virtual

Draws the part of the cell not occupied by the control: the base class version just fills it with background colour from the attribute.

virtual void wxGridCellEditor::Reset( ) 
pure virtual

Reset the value in the control back to its starting value.

void wxGridCellEditor::SetControl(wxControl * control) 

Set the wxControl that will be used by this cell editor for editing the value.

virtual void wxGridCellEditor::SetSize(const wxRect & rect) 
virtual

Size and position the edit control.

virtual void wxGridCellEditor::Show(bool show,
  wxGridCellAttr * attr = NULL 
 )  
virtual

Show or hide the edit control, use the specified attributes to set colours/fonts for it.

virtual void wxGridCellEditor::StartingClick( ) 
virtual

If the editor is enabled by clicking on the cell, this method will be called.

virtual void wxGridCellEditor::StartingKey(wxKeyEvent & event) 
virtual

If the editor is enabled by pressing keys on the grid, this will be called to let the editor do something about that first key if desired.

转载于:https://www.cnblogs.com/wangjian8888/p/6464134.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值