/////////////////////////////////////////////////////////////////////////////
-// Name: textctrl.h
+// Name: wx/os2/textctrl.h
// Purpose: wxTextCtrl class
// Author: David Webster
// Modified by:
// Created: 10/17/99
-// RCS-ID: $Id$
// Copyright: (c) David Webster
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_TEXTCTRL_H_
#define _WX_TEXTCTRL_H_
-class WXDLLEXPORT wxTextCtrl : public wxTextCtrlBase
+typedef int (wxCALLBACK *wxTreeCtrlCompare)(long lItem1, long lItem2, long lSortData);
+
+class WXDLLIMPEXP_CORE wxTextCtrl : public wxTextCtrlBase
{
public:
- // creation
- // --------
-
wxTextCtrl();
wxTextCtrl( wxWindow* pParent
,wxWindowID vId
,const wxPoint& rPos = wxDefaultPosition
,const wxSize& rSize = wxDefaultSize
,long lStyle = 0
-#if wxUSE_VALIDATORS
,const wxValidator& rValidator = wxDefaultValidator
-#endif
,const wxString& rsName = wxTextCtrlNameStr
)
{
Create(pParent, vId, rsValue, rPos, rSize, lStyle, rValidator, rsName);
}
+ virtual ~wxTextCtrl();
bool Create( wxWindow* pParent
,wxWindowID vId
,const wxPoint& rPos = wxDefaultPosition
,const wxSize& rSize = wxDefaultSize
,long lStyle = 0
-#if wxUSE_VALIDATORS
,const wxValidator& rValidator = wxDefaultValidator
-#endif
,const wxString& rsName = wxTextCtrlNameStr
);
- // implement base class pure virtuals
+ //
+ // Implement base class pure virtuals
// ----------------------------------
-
+ //
virtual wxString GetValue(void) const;
- virtual void SetValue(const wxString& rsValue);
virtual int GetLineLength(long nLineNo) const;
virtual wxString GetLineText(long nLineNo) const;
virtual bool IsModified(void) const;
virtual bool IsEditable(void) const;
- // If the return values from and to are the same, there is no selection.
virtual void GetSelection( long* pFrom
,long* pTo
) const;
-
- // operations
+ //
+ // Operations
// ----------
-
- // editing
+ //
virtual void Clear(void);
virtual void Replace( long lFrom
,long lTo
,long lTo
);
- // load the controls contents from the file
- virtual bool LoadFile(const wxString& rsFile);
+ virtual bool DoLoadFile(const wxString& rsFile, int fileType);
- // clears the dirty flag
+ virtual void MarkDirty();
virtual void DiscardEdits(void);
- // writing text inserts it at the current position, appending always
- // inserts it at the end
virtual void WriteText(const wxString& rsText);
virtual void AppendText(const wxString& rsText);
+ virtual bool EmulateKeyPress(const wxKeyEvent& rEvent);
- // translate between the position (which is just an index in the text ctrl
- // considering all its contents as a single strings) and (x, y) coordinates
- // which represent column and line.
+ virtual bool SetStyle( long lStart
+ ,long lEnd
+ ,const wxTextAttr& rStyle
+ );
virtual long XYToPosition( long lX
,long lY
) const;
virtual void ShowPosition(long lPos);
- // Clipboard operations
virtual void Copy(void);
virtual void Cut(void);
virtual void Paste(void);
virtual bool CanCut(void) const;
virtual bool CanPaste(void) const;
- // Undo/redo
virtual void Undo(void);
virtual void Redo(void);
virtual bool CanUndo(void) const;
virtual bool CanRedo(void) const;
- // Insertion point
virtual void SetInsertionPoint(long lPos);
virtual void SetInsertionPointEnd(void);
virtual long GetInsertionPoint(void) const;
- virtual long GetLastPosition(void) const;
+ virtual wxTextPos GetLastPosition(void) const;
virtual void SetSelection( long lFrom
,long lTo
);
virtual void SetEditable(bool bEditable);
+ virtual void SetWindowStyleFlag(long lStyle);
//
// Implementation from now on
void OnPaste(wxCommandEvent& rEvent);
void OnUndo(wxCommandEvent& rEvent);
void OnRedo(wxCommandEvent& rEvent);
+ void OnDelete(wxCommandEvent& rEvent);
+ void OnSelectAll(wxCommandEvent& rEvent);
void OnUpdateCut(wxUpdateUIEvent& rEvent);
void OnUpdateCopy(wxUpdateUIEvent& rEvent);
void OnUpdatePaste(wxUpdateUIEvent& rEvent);
void OnUpdateUndo(wxUpdateUIEvent& rEvent);
void OnUpdateRedo(wxUpdateUIEvent& rEvent);
+ void OnUpdateDelete(wxUpdateUIEvent& rEvent);
+ void OnUpdateSelectAll(wxUpdateUIEvent& rEvent);
inline bool IsMLE(void) {return m_bIsMLE;}
inline void SetMLE(bool bIsMLE) {m_bIsMLE = bIsMLE;}
//
void AdjustSpaceLimit(void);
virtual wxSize DoGetBestSize(void) const;
+ virtual bool OS2ShouldPreProcessMessage(WXMSG* pMsg);
+
+ virtual WXDWORD OS2GetStyle( long lStyle
+ ,WXDWORD* dwExstyle
+ ) const;
+
+ virtual void DoSetValue(const wxString &value, int flags = 0);
+
+ bool m_bSkipUpdate;
private:
+ // implement wxTextEntry pure virtual: it implements all the operations for
+ // the simple EDIT controls
+ virtual WXHWND GetEditHWND() const { return m_hWnd; }
+
bool m_bIsMLE;
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxTextCtrl)