X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/57c4d796c56bd48ce370240107f3e4c07e142985..9ab7ff537d1ead0f0b07c14841474203c7fa59ba:/include/wx/os2/textctrl.h diff --git a/include/wx/os2/textctrl.h b/include/wx/os2/textctrl.h index 56ba625ffa..e00ff2433a 100644 --- a/include/wx/os2/textctrl.h +++ b/include/wx/os2/textctrl.h @@ -12,154 +12,187 @@ #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 *parent, wxWindowID id, - const wxString& value = wxEmptyString, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, -#if wxUSE_VALIDATORS -# if defined(__VISAGECPP__) - const wxValidator* validator = wxDefaultValidator, -# else - const wxValidator& validator = wxDefaultValidator, -# endif -#endif - const wxString& name = wxTextCtrlNameStr) + wxTextCtrl( wxWindow* pParent + ,wxWindowID vId + ,const wxString& rsValue = wxEmptyString + ,const wxPoint& rPos = wxDefaultPosition + ,const wxSize& rSize = wxDefaultSize + ,long lStyle = 0 + ,const wxValidator& rValidator = wxDefaultValidator + ,const wxString& rsName = wxTextCtrlNameStr + ) { - Create(parent, id, value, pos, size, style, validator, name); + Create(pParent, vId, rsValue, rPos, rSize, lStyle, rValidator, rsName); } - - bool Create(wxWindow *parent, wxWindowID id, - const wxString& value = wxEmptyString, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, -#if wxUSE_VALIDATORS -# if defined(__VISAGECPP__) - const wxValidator* validator = wxDefaultValidator, -# else - const wxValidator& validator = wxDefaultValidator, -# endif -#endif - const wxString& name = wxTextCtrlNameStr); - - // implement base class pure virtuals + virtual ~wxTextCtrl(); + + bool Create( wxWindow* pParent + ,wxWindowID vId + ,const wxString& rsValue = wxEmptyString + ,const wxPoint& rPos = wxDefaultPosition + ,const wxSize& rSize = wxDefaultSize + ,long lStyle = 0 + ,const wxValidator& rValidator = wxDefaultValidator + ,const wxString& rsName = wxTextCtrlNameStr + ); + + // + // Implement base class pure virtuals // ---------------------------------- + // + virtual wxString GetValue(void) const; - virtual wxString GetValue() const; - virtual void SetValue(const wxString& value); - - virtual int GetLineLength(long lineNo) const; - virtual wxString GetLineText(long lineNo) const; - virtual int GetNumberOfLines() const; + virtual int GetLineLength(long nLineNo) const; + virtual wxString GetLineText(long nLineNo) const; + virtual int GetNumberOfLines(void) const; - virtual bool IsModified() const; - virtual bool IsEditable() 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* from, long* to) const; - - // operations + virtual void GetSelection( long* pFrom + ,long* pTo + ) const; + // + // Operations // ---------- - - // editing - virtual void Clear(); - virtual void Replace(long from, long to, const wxString& value); - virtual void Remove(long from, long to); - - // load the controls contents from the file - virtual bool LoadFile(const wxString& file); - - // clears the dirty flag - virtual void DiscardEdits(); - - // writing text inserts it at the current position, appending always - // inserts it at the end - virtual void WriteText(const wxString& text); - virtual void AppendText(const wxString& text); - - // 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 long XYToPosition(long x, long y) const; - virtual bool PositionToXY(long pos, long *x, long *y) const; - - virtual void ShowPosition(long pos); - - // Clipboard operations - virtual void Copy(); - virtual void Cut(); - virtual void Paste(); - - virtual bool CanCopy() const; - virtual bool CanCut() const; - virtual bool CanPaste() const; - - // Undo/redo - virtual void Undo(); - virtual void Redo(); - - virtual bool CanUndo() const; - virtual bool CanRedo() const; - - // Insertion point - virtual void SetInsertionPoint(long pos); - virtual void SetInsertionPointEnd(); - virtual long GetInsertionPoint() const; - virtual long GetLastPosition() const; - - virtual void SetSelection(long from, long to); - virtual void SetEditable(bool editable); - + // + virtual void Clear(void); + virtual void Replace( long lFrom + ,long lTo + ,const wxString& rsValue + ); + virtual void Remove( long lFrom + ,long lTo + ); + + virtual bool DoLoadFile(const wxString& rsFile, int fileType); + + virtual void MarkDirty(); + virtual void DiscardEdits(void); + + virtual void WriteText(const wxString& rsText); + virtual void AppendText(const wxString& rsText); + virtual bool EmulateKeyPress(const wxKeyEvent& rEvent); + + virtual bool SetStyle( long lStart + ,long lEnd + ,const wxTextAttr& rStyle + ); + virtual long XYToPosition( long lX + ,long lY + ) const; + virtual bool PositionToXY( long lPos + ,long* plX + ,long* plY + ) const; + + virtual void ShowPosition(long lPos); + + virtual void Copy(void); + virtual void Cut(void); + virtual void Paste(void); + + virtual bool CanCopy(void) const; + virtual bool CanCut(void) const; + virtual bool CanPaste(void) const; + + virtual void Undo(void); + virtual void Redo(void); + + virtual bool CanUndo(void) const; + virtual bool CanRedo(void) const; + + virtual void SetInsertionPoint(long lPos); + virtual void SetInsertionPointEnd(void); + virtual long GetInsertionPoint(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 // -------------------------- + // + virtual void Command(wxCommandEvent& rEvent); + virtual bool OS2Command( WXUINT uParam + ,WXWORD wId + ); - virtual void Command(wxCommandEvent& event); - virtual bool OS2Command(WXUINT param, WXWORD id); + virtual WXHBRUSH OnCtlColor( WXHDC hDC + ,WXHWND pWnd + ,WXUINT nCtlColor + ,WXUINT message + ,WXWPARAM wParam + ,WXLPARAM lParam + ); - virtual WXHBRUSH OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor, - WXUINT message, WXWPARAM wParam, - WXLPARAM lParam); + virtual bool SetBackgroundColour(const wxColour& colour); + virtual bool SetForegroundColour(const wxColour& colour); - virtual void AdoptAttributesFromHWND(); - virtual void SetupColours(); + virtual void AdoptAttributesFromHWND(void); + virtual void SetupColours(void); - virtual bool AcceptsFocus() const; + virtual bool AcceptsFocus(void) const; // callbacks - void OnDropFiles(wxDropFilesEvent& event); - void OnChar(wxKeyEvent& event); // Process 'enter' if required - - void OnCut(wxCommandEvent& event); - void OnCopy(wxCommandEvent& event); - void OnPaste(wxCommandEvent& event); - void OnUndo(wxCommandEvent& event); - void OnRedo(wxCommandEvent& event); - - void OnUpdateCut(wxUpdateUIEvent& event); - void OnUpdateCopy(wxUpdateUIEvent& event); - void OnUpdatePaste(wxUpdateUIEvent& event); - void OnUpdateUndo(wxUpdateUIEvent& event); - void OnUpdateRedo(wxUpdateUIEvent& event); + void OnDropFiles(wxDropFilesEvent& rEvent); + void OnChar(wxKeyEvent& rEvent); // Process 'enter' if required + + void OnCut(wxCommandEvent& rEvent); + void OnCopy(wxCommandEvent& rEvent); + 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;} protected: + // // call this to increase the size limit (will do nothing if the current // limit is big enough) - void AdjustSpaceLimit(); + // + void AdjustSpaceLimit(void); + virtual wxSize DoGetBestSize(void) const; + virtual bool OS2ShouldPreProcessMessage(WXMSG* pMsg); - virtual wxSize DoGetBestSize(); + 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) -}; +}; // end of CLASS wxTextCtrl #endif // _WX_TEXTCTRL_H_