/////////////////////////////////////////////////////////////////////////////
-// Name: wx/mac/carbon/textctrl.h
+// Name: wx/osx/textctrl.h
// Purpose: wxTextCtrl class
// Author: Stefan Csomor
// Modified by:
#include "wx/control.h"
#include "wx/textctrl.h"
-// forward decl for wxListWidgetImpl implementation type.
-class WXDLLIMPEXP_FWD_CORE wxTextWidgetImpl;
-
class WXDLLIMPEXP_CORE wxTextCtrl: public wxTextCtrlBase
{
DECLARE_DYNAMIC_CLASS(wxTextCtrl)
// accessors
// ---------
- virtual wxString GetValue() const;
virtual int GetLineLength(long lineNo) const;
virtual wxString GetLineText(long lineNo) const;
virtual int GetNumberOfLines() const;
virtual bool IsModified() const;
- virtual bool IsEditable() const;
-
- // If the return values from and to are the same, there is no selection.
- virtual void GetSelection(long* from, long* to) const;
// operations
// ----------
- // editing
- virtual void Clear();
- virtual void Replace(long from, long to, const wxString& value);
- virtual void Remove(long from, long to);
// sets/clears the dirty flag
virtual void MarkDirty();
virtual void DiscardEdits();
- // set the max number of characters which may be entered
- // in a single line text control
- virtual void SetMaxLength(unsigned long len);
+ // set the grayed out hint text
+ virtual bool SetHint(const wxString& hint);
+ virtual wxString GetHint() const;
// text control under some platforms supports the text styles: these
// methods apply the given text style to the given selection or to
// set/get the style which will be used for all appended text
virtual bool SetFont( const wxFont &font );
+ virtual bool GetStyle(long position, wxTextAttr& style);
virtual bool SetStyle(long start, long end, const wxTextAttr& style);
virtual bool SetDefaultStyle(const wxTextAttr& style);
- // 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 into the textctrl
// considering all its contents as a single strings) and (x, y) coordinates
// which represent column and line.
virtual void ShowPosition(long pos);
- // Clipboard operations
+ // overrides so that we can send text updated events
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 wxTextPos GetLastPosition() const;
-
- virtual void SetSelection(long from, long to);
- virtual void SetEditable(bool editable);
-
// Implementation
// --------------
virtual void Command(wxCommandEvent& event);
// callbacks
void OnDropFiles(wxDropFilesEvent& event);
void OnChar(wxKeyEvent& event); // Process 'enter' if required
+ void OnKeyDown(wxKeyEvent& event); // Process clipboard shortcuts
void OnCut(wxCommandEvent& event);
void OnCopy(wxCommandEvent& event);
virtual void MacSuperChangedPosition();
virtual void MacCheckSpelling(bool check);
- wxTextWidgetImpl * GetTextPeer() const;
protected:
// common part of all ctors
void Init();
virtual wxSize DoGetBestSize() const;
- virtual void DoSetValue(const wxString& value, int flags = 0);
-
- bool m_editable;
-
// flag is set to true when the user edits the controls contents
bool m_dirty;
- // need to make this public because of the current implementation via callbacks
- unsigned long m_maxLength;
-
- bool GetTriggerOnSetValue() const
+ virtual void EnableTextChangedEvents(bool WXUNUSED(enable))
{
- return m_triggerOnSetValue;
+ // nothing to do here as the events are never generated when we change
+ // the controls value programmatically anyhow
}
- void SetTriggerOnSetValue(bool trigger)
- {
- m_triggerOnSetValue = trigger;
- }
-
- bool m_triggerOnSetValue ;
-
private :
- wxMenu *m_privateContextMenu;
+ wxMenu *m_privateContextMenu;
+ wxString m_hintString;
- DECLARE_EVENT_TABLE()
+ DECLARE_EVENT_TABLE()
};
#endif // _WX_TEXTCTRL_H_