]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/textctrl.h
Separate label with wx mnemonics (&) and with gtk mnemonics (_) into m_text and m_gtk...
[wxWidgets.git] / include / wx / os2 / textctrl.h
index a378830e5522bb1020cad8f88321a61343f7790f..e00ff2433a7d3719ee04e685f31e921bfd39440c 100644 (file)
 #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
-               const wxValidator& validator = wxDefaultValidator,
-#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
-                const wxValidator& validator = wxDefaultValidator,
-#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_