home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2233.zip / wxOS2-2_3_3.zip / wxWindows-2.3.3 / include / wx / os2 / textctrl.h < prev    next >
C/C++ Source or Header  |  2002-04-27  |  6KB  |  187 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name:        textctrl.h
  3. // Purpose:     wxTextCtrl class
  4. // Author:      David Webster
  5. // Modified by:
  6. // Created:     10/17/99
  7. // RCS-ID:      $Id: TEXTCTRL.H,v 1.13 2002/04/26 12:57:51 DW Exp $
  8. // Copyright:   (c) David Webster
  9. // Licence:     wxWindows licence
  10. /////////////////////////////////////////////////////////////////////////////
  11.  
  12. #ifndef _WX_TEXTCTRL_H_
  13. #define _WX_TEXTCTRL_H_
  14.  
  15. class WXDLLEXPORT wxTextCtrl : public wxTextCtrlBase
  16. {
  17. public:
  18.     wxTextCtrl();
  19.     wxTextCtrl( wxWindow*          pParent
  20.                ,wxWindowID         vId
  21.                ,const wxString&    rsValue = wxEmptyString
  22.                ,const wxPoint&     rPos = wxDefaultPosition
  23.                ,const wxSize&      rSize = wxDefaultSize
  24.                ,long               lStyle = 0
  25. #if wxUSE_VALIDATORS
  26.                ,const wxValidator& rValidator = wxDefaultValidator
  27. #endif
  28.                ,const wxString&    rsName = wxTextCtrlNameStr
  29.               )
  30.     {
  31.         Create(pParent, vId, rsValue, rPos, rSize, lStyle, rValidator, rsName);
  32.     }
  33.  
  34.     bool Create( wxWindow*          pParent
  35.                 ,wxWindowID         vId
  36.                 ,const wxString&    rsValue = wxEmptyString
  37.                 ,const wxPoint&     rPos = wxDefaultPosition
  38.                 ,const wxSize&      rSize = wxDefaultSize
  39.                 ,long               lStyle = 0
  40. #if wxUSE_VALIDATORS
  41.                 ,const wxValidator& rValidator = wxDefaultValidator
  42. #endif
  43.                 ,const wxString&    rsName = wxTextCtrlNameStr
  44.                );
  45.  
  46.     //
  47.     // Implement base class pure virtuals
  48.     // ----------------------------------
  49.     //
  50.     virtual      wxString GetValue(void) const;
  51.     virtual void SetValue(const wxString& rsValue);
  52.  
  53.     virtual int      GetLineLength(long nLineNo) const;
  54.     virtual wxString GetLineText(long nLineNo) const;
  55.     virtual int      GetNumberOfLines(void) const;
  56.  
  57.     virtual bool IsModified(void) const;
  58.     virtual bool IsEditable(void) const;
  59.  
  60.     virtual void GetSelection( long* pFrom
  61.                               ,long* pTo
  62.                              ) const;
  63.     //
  64.     // Operations
  65.     // ----------
  66.     //
  67.     virtual void Clear(void);
  68.     virtual void Replace( long            lFrom
  69.                          ,long            lTo
  70.                          ,const wxString& rsValue
  71.                         );
  72.     virtual void Remove( long lFrom
  73.                         ,long lTo
  74.                        );
  75.  
  76.     virtual bool LoadFile(const wxString& rsFile);
  77.  
  78.     virtual void DiscardEdits(void);
  79.  
  80.     virtual void WriteText(const wxString& rsText);
  81.     virtual void AppendText(const wxString& rsText);
  82.     virtual bool EmulateKeyPress(const wxKeyEvent& rEvent);
  83.  
  84.     virtual bool SetStyle( long              lStart
  85.                           ,long              lEnd
  86.                           ,const wxTextAttr& rStyle
  87.                          );
  88.     virtual long XYToPosition( long lX
  89.                               ,long lY
  90.                              ) const;
  91.     virtual bool PositionToXY( long  lPos
  92.                               ,long* plX
  93.                               ,long* plY
  94.                              ) const;
  95.  
  96.     virtual void ShowPosition(long lPos);
  97.  
  98.     virtual void Copy(void);
  99.     virtual void Cut(void);
  100.     virtual void Paste(void);
  101.  
  102.     virtual bool CanCopy(void) const;
  103.     virtual bool CanCut(void) const;
  104.     virtual bool CanPaste(void) const;
  105.  
  106.     virtual void Undo(void);
  107.     virtual void Redo(void);
  108.  
  109.     virtual bool CanUndo(void) const;
  110.     virtual bool CanRedo(void) const;
  111.  
  112.     virtual void SetInsertionPoint(long lPos);
  113.     virtual void SetInsertionPointEnd(void);
  114.     virtual long GetInsertionPoint(void) const;
  115.     virtual long GetLastPosition(void) const;
  116.  
  117.     virtual void SetSelection( long lFrom
  118.                               ,long lTo
  119.                              );
  120.     virtual void SetEditable(bool bEditable);
  121.     virtual void SetWindowStyleFlag(long lStyle);
  122.  
  123.     //
  124.     // Implementation from now on
  125.     // --------------------------
  126.     //
  127.     virtual void Command(wxCommandEvent& rEvent);
  128.     virtual bool OS2Command( WXUINT uParam
  129.                             ,WXWORD wId
  130.                            );
  131.  
  132.     virtual WXHBRUSH OnCtlColor( WXHDC    hDC
  133.                                 ,WXHWND   pWnd
  134.                                 ,WXUINT   nCtlColor
  135.                                 ,WXUINT   message
  136.                                 ,WXWPARAM wParam
  137.                                 ,WXLPARAM lParam
  138.                                );
  139.  
  140.     virtual bool SetBackgroundColour(const wxColour& colour);
  141.     virtual bool SetForegroundColour(const wxColour& colour);
  142.  
  143.     virtual void AdoptAttributesFromHWND(void);
  144.     virtual void SetupColours(void);
  145.  
  146.     virtual bool AcceptsFocus(void) const;
  147.  
  148.     // callbacks
  149.     void OnDropFiles(wxDropFilesEvent& rEvent);
  150.     void OnChar(wxKeyEvent& rEvent); // Process 'enter' if required
  151.  
  152.     void OnCut(wxCommandEvent& rEvent);
  153.     void OnCopy(wxCommandEvent& rEvent);
  154.     void OnPaste(wxCommandEvent& rEvent);
  155.     void OnUndo(wxCommandEvent& rEvent);
  156.     void OnRedo(wxCommandEvent& rEvent);
  157.  
  158.     void OnUpdateCut(wxUpdateUIEvent& rEvent);
  159.     void OnUpdateCopy(wxUpdateUIEvent& rEvent);
  160.     void OnUpdatePaste(wxUpdateUIEvent& rEvent);
  161.     void OnUpdateUndo(wxUpdateUIEvent& rEvent);
  162.     void OnUpdateRedo(wxUpdateUIEvent& rEvent);
  163.  
  164.     inline bool IsMLE(void) {return m_bIsMLE;}
  165.     inline void SetMLE(bool bIsMLE) {m_bIsMLE = bIsMLE;}
  166.  
  167. protected:
  168.     //
  169.     // call this to increase the size limit (will do nothing if the current
  170.     // limit is big enough)
  171.     //
  172.     void           AdjustSpaceLimit(void);
  173.     virtual wxSize DoGetBestSize(void) const;
  174.     virtual bool   OS2ShouldPreProcessMessage(WXMSG* pMsg);
  175.  
  176.     virtual WXDWORD OS2GetStyle( long     lStyle
  177.                                 ,WXDWORD* dwExstyle
  178.                                ) const;
  179. private:
  180.     bool                            m_bIsMLE;
  181.     DECLARE_EVENT_TABLE()
  182.     DECLARE_DYNAMIC_CLASS(wxTextCtrl)
  183. }; // end of CLASS wxTextCtrl
  184.  
  185. #endif
  186.     // _WX_TEXTCTRL_H_
  187.