textctrl.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name: wx/cocoa/textctrl.h
  3. // Purpose: wxTextCtrl class
  4. // Author: David Elliott
  5. // Modified by:
  6. // Created: 2003/03/16
  7. // Copyright: (c) 2003 David Elliott
  8. // Licence: wxWindows licence
  9. /////////////////////////////////////////////////////////////////////////////
  10. #ifndef __WX_COCOA_TEXTCTRL_H__
  11. #define __WX_COCOA_TEXTCTRL_H__
  12. #include "wx/cocoa/NSTextField.h"
  13. // ========================================================================
  14. // wxTextCtrl
  15. // ========================================================================
  16. class WXDLLIMPEXP_CORE wxTextCtrl : public wxTextCtrlBase, protected wxCocoaNSTextField
  17. {
  18. DECLARE_DYNAMIC_CLASS(wxTextCtrl)
  19. DECLARE_EVENT_TABLE()
  20. WX_DECLARE_COCOA_OWNER(NSTextField,NSControl,NSView)
  21. // ------------------------------------------------------------------------
  22. // initialization
  23. // ------------------------------------------------------------------------
  24. public:
  25. wxTextCtrl() {}
  26. wxTextCtrl(wxWindow *parent, wxWindowID winid,
  27. const wxString& value = wxEmptyString,
  28. const wxPoint& pos = wxDefaultPosition,
  29. const wxSize& size = wxDefaultSize, long style = 0,
  30. const wxValidator& validator = wxDefaultValidator,
  31. const wxString& name = wxTextCtrlNameStr)
  32. {
  33. Create(parent, winid, value, pos, size, style, validator, name);
  34. }
  35. bool Create(wxWindow *parent, wxWindowID winid,
  36. const wxString& value = wxEmptyString,
  37. const wxPoint& pos = wxDefaultPosition,
  38. const wxSize& size = wxDefaultSize, long style = 0,
  39. const wxValidator& validator = wxDefaultValidator,
  40. const wxString& name = wxTextCtrlNameStr);
  41. virtual ~wxTextCtrl();
  42. // ------------------------------------------------------------------------
  43. // Cocoa specifics
  44. // ------------------------------------------------------------------------
  45. protected:
  46. virtual void Cocoa_didChangeText(void);
  47. virtual void CocoaTarget_action(void);
  48. // ------------------------------------------------------------------------
  49. // Implementation
  50. // ------------------------------------------------------------------------
  51. public:
  52. virtual wxString GetValue() const;
  53. virtual int GetLineLength(long lineNo) const;
  54. virtual wxString GetLineText(long lineNo) const;
  55. virtual int GetNumberOfLines() const;
  56. virtual bool IsModified() const;
  57. virtual bool IsEditable() const;
  58. // If the return values from and to are the same, there is no selection.
  59. virtual void GetSelection(long* from, long* to) const;
  60. // operations
  61. // ----------
  62. // editing
  63. virtual void Clear();
  64. virtual void Replace(long from, long to, const wxString& value);
  65. virtual void Remove(long from, long to);
  66. // clears the dirty flag
  67. virtual void MarkDirty();
  68. virtual void DiscardEdits();
  69. // writing text inserts it at the current position, appending always
  70. // inserts it at the end
  71. virtual void WriteText(const wxString& text);
  72. virtual void AppendText(const wxString& text);
  73. // translate between the position (which is just an index in the text ctrl
  74. // considering all its contents as a single strings) and (x, y) coordinates
  75. // which represent column and line.
  76. virtual long XYToPosition(long x, long y) const;
  77. virtual bool PositionToXY(long pos, long *x, long *y) const;
  78. virtual void ShowPosition(long pos);
  79. // Clipboard operations
  80. virtual void Copy();
  81. virtual void Cut();
  82. virtual void Paste();
  83. // Undo/redo
  84. virtual void Undo();
  85. virtual void Redo();
  86. virtual bool CanUndo() const;
  87. virtual bool CanRedo() const;
  88. // Insertion point
  89. virtual void SetInsertionPoint(long pos);
  90. virtual void SetInsertionPointEnd();
  91. virtual long GetInsertionPoint() const;
  92. virtual wxTextPos GetLastPosition() const;
  93. virtual void SetSelection(long from, long to);
  94. // virtual void SelectAll();
  95. virtual void SetEditable(bool editable);
  96. protected:
  97. virtual wxSize DoGetBestSize() const;
  98. virtual void DoSetValue(const wxString& value, int flags = 0);
  99. };
  100. #endif // __WX_COCOA_TEXTCTRL_H__