implemented IsModified() and DiscardEdits()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23291 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2003-08-29 00:11:09 +00:00
parent 6841d412ae
commit 1fa29bdc25
3 changed files with 37 additions and 14 deletions

View File

@ -28,16 +28,18 @@ class WXDLLEXPORT wxTextCtrl: public wxTextCtrlBase
public:
// creation
// --------
wxTextCtrl();
wxTextCtrl() { Init(); }
~wxTextCtrl();
inline wxTextCtrl(wxWindow *parent, wxWindowID id,
const wxString& value = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxTextCtrlNameStr)
wxTextCtrl(wxWindow *parent, wxWindowID id,
const wxString& value = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxTextCtrlNameStr)
{
Create(parent, id, value, pos, size, style, validator, name);
Init();
Create(parent, id, value, pos, size, style, validator, name);
}
bool Create(wxWindow *parent, wxWindowID id,
@ -157,9 +159,16 @@ public:
virtual bool Show(bool show = TRUE) ;
protected:
// common part of all ctors
void Init();
virtual wxSize DoGetBestSize() const;
bool m_editable ;
// flag is set to true when the user edits the controls contents
bool m_dirty;
// one of the following objects is used for representation, the other one is NULL
void* m_macTE ;
void* m_macTXN ;

View File

@ -637,13 +637,16 @@ END_EVENT_TABLE()
#endif
// Text item
wxTextCtrl::wxTextCtrl()
void wxTextCtrl::Init()
{
m_macTE = NULL ;
m_macTXN = NULL ;
m_macTXNvars = NULL ;
m_macUsesTXN = false ;
m_editable = true ;
m_dirty = false;
m_maxLength = TE_UNLIMITED_LENGTH ;
}
@ -1302,7 +1305,7 @@ void wxTextCtrl::Clear()
bool wxTextCtrl::IsModified() const
{
return TRUE;
return m_dirty;
}
bool wxTextCtrl::IsEditable() const
@ -1404,7 +1407,7 @@ bool wxTextCtrl::CanRedo() const
// Makes 'unmodified'
void wxTextCtrl::DiscardEdits()
{
// TODO
m_dirty = false;
}
int wxTextCtrl::GetNumberOfLines() const
@ -1531,6 +1534,10 @@ void wxTextCtrl::OnChar(wxKeyEvent& event)
// eat it
return ;
}
// assume that any key not processed yet is going to modify the control
m_dirty = true;
if ( key == 'v' && event.MetaDown() )
{
if ( CanPaste() )

View File

@ -637,13 +637,16 @@ END_EVENT_TABLE()
#endif
// Text item
wxTextCtrl::wxTextCtrl()
void wxTextCtrl::Init()
{
m_macTE = NULL ;
m_macTXN = NULL ;
m_macTXNvars = NULL ;
m_macUsesTXN = false ;
m_editable = true ;
m_dirty = false;
m_maxLength = TE_UNLIMITED_LENGTH ;
}
@ -1302,7 +1305,7 @@ void wxTextCtrl::Clear()
bool wxTextCtrl::IsModified() const
{
return TRUE;
return m_dirty;
}
bool wxTextCtrl::IsEditable() const
@ -1404,7 +1407,7 @@ bool wxTextCtrl::CanRedo() const
// Makes 'unmodified'
void wxTextCtrl::DiscardEdits()
{
// TODO
m_dirty = false;
}
int wxTextCtrl::GetNumberOfLines() const
@ -1531,6 +1534,10 @@ void wxTextCtrl::OnChar(wxKeyEvent& event)
// eat it
return ;
}
// assume that any key not processed yet is going to modify the control
m_dirty = true;
if ( key == 'v' && event.MetaDown() )
{
if ( CanPaste() )