document wxTextEntry
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		@@ -9,9 +9,11 @@
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
    @class wxComboBox
 | 
					    @class wxComboBox
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    A combobox is like a combination of an edit control and a listbox. It can
 | 
					    A combobox is like a combination of an edit control and a listbox.
 | 
				
			||||||
    be displayed as static list with editable or read-only text field; or a
 | 
					
 | 
				
			||||||
    drop-down list with text field; or a drop-down list without a text field.
 | 
					    It can be displayed as static list with editable or read-only text field;
 | 
				
			||||||
 | 
					    or a drop-down list with text field; or a drop-down list without a text
 | 
				
			||||||
 | 
					    field.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    A combobox permits a single selection only. Combobox items are numbered
 | 
					    A combobox permits a single selection only. Combobox items are numbered
 | 
				
			||||||
    from zero.
 | 
					    from zero.
 | 
				
			||||||
@@ -19,6 +21,9 @@
 | 
				
			|||||||
    If you need a customized combobox, have a look at wxComboCtrl,
 | 
					    If you need a customized combobox, have a look at wxComboCtrl,
 | 
				
			||||||
    wxOwnerDrawnComboBox, wxComboPopup and the ready-to-use wxBitmapComboBox.
 | 
					    wxOwnerDrawnComboBox, wxComboPopup and the ready-to-use wxBitmapComboBox.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Please refer to wxTextEntry documentation for the description of methods
 | 
				
			||||||
 | 
					    operating with the text entry part of the combobox.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @beginStyleTable
 | 
					    @beginStyleTable
 | 
				
			||||||
    @style{wxCB_SIMPLE}
 | 
					    @style{wxCB_SIMPLE}
 | 
				
			||||||
           Creates a combobox with a permanently displayed list. Windows only.
 | 
					           Creates a combobox with a permanently displayed list. Windows only.
 | 
				
			||||||
@@ -57,7 +62,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    @see wxListBox, wxTextCtrl, wxChoice, wxCommandEvent
 | 
					    @see wxListBox, wxTextCtrl, wxChoice, wxCommandEvent
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
class wxComboBox : public wxControl, public wxItemContainer
 | 
					class wxComboBox : public wxControl,
 | 
				
			||||||
 | 
					                   public wxItemContainer,
 | 
				
			||||||
 | 
					                   public wxTextEntry
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -176,47 +183,8 @@ public:
 | 
				
			|||||||
    //@}
 | 
					    //@}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
        Returns @true if the combobox is editable and there is a text selection
 | 
					        Returns the item being selected right now.
 | 
				
			||||||
        to copy to the clipboard. Only available on Windows.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual bool CanCopy() const;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Returns @true if the combobox is editable and there is a text selection
 | 
					 | 
				
			||||||
        to copy to the clipboard. Only available on Windows.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual bool CanCut() const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Returns @true if the combobox is editable and there is text on the
 | 
					 | 
				
			||||||
        clipboard that can be pasted into the text field. Only available on
 | 
					 | 
				
			||||||
        Windows.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual bool CanPaste() const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Returns @true if the combobox is editable and the last undo can be
 | 
					 | 
				
			||||||
        redone. Only available on Windows.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual bool CanRedo() const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Returns @true if the combobox is editable and the last edit can be
 | 
					 | 
				
			||||||
        undone. Only available on Windows.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual bool CanUndo() const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Copies the selected text to the clipboard.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void Copy();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Copies the selected text to the clipboard and removes the selection.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void Cut();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        This function does the same things as wxChoice::GetCurrentSelection()
 | 
					        This function does the same things as wxChoice::GetCurrentSelection()
 | 
				
			||||||
        and returns the item currently selected in the dropdown list if it's
 | 
					        and returns the item currently selected in the dropdown list if it's
 | 
				
			||||||
        open or the same thing as wxControlWithItems::GetSelection() otherwise.
 | 
					        open or the same thing as wxControlWithItems::GetSelection() otherwise.
 | 
				
			||||||
@@ -224,7 +192,7 @@ public:
 | 
				
			|||||||
    virtual int GetCurrentSelection() const;
 | 
					    virtual int GetCurrentSelection() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
        Returns the insertion point for the combobox's text field.
 | 
					        Same as wxTextEntry::GetInsertionPoint().
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        @note Under wxMSW, this function always returns 0 if the combobox
 | 
					        @note Under wxMSW, this function always returns 0 if the combobox
 | 
				
			||||||
              doesn't have the focus.
 | 
					              doesn't have the focus.
 | 
				
			||||||
@@ -232,77 +200,7 @@ public:
 | 
				
			|||||||
    virtual long GetInsertionPoint() const;
 | 
					    virtual long GetInsertionPoint() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
        Returns the last position in the combobox text field.
 | 
					        Same as wxTextEntry::SetSelection().
 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual long GetLastPosition() const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        This is the same as wxTextCtrl::GetSelection() for the text control
 | 
					 | 
				
			||||||
        which is part of the combobox. Notice that this is a different method
 | 
					 | 
				
			||||||
        from wxControlWithItems::GetSelection().
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        Currently this method is only implemented in wxMSW and wxGTK.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void GetSelection(long* from, long* to) const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Returns the current value in the combobox text field.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual wxString GetValue() const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Pastes text from the clipboard to the text field.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void Paste();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Redoes the last undo in the text field. Windows only.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void Redo();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Removes the text between the two positions in the combobox text field.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @param from
 | 
					 | 
				
			||||||
            The first position.
 | 
					 | 
				
			||||||
        @param to
 | 
					 | 
				
			||||||
            The last position.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void Remove(long from, long to);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Replaces the text between two positions with the given text, in the
 | 
					 | 
				
			||||||
        combobox text field.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @param from
 | 
					 | 
				
			||||||
            The first position.
 | 
					 | 
				
			||||||
        @param to
 | 
					 | 
				
			||||||
            The second position.
 | 
					 | 
				
			||||||
        @param text
 | 
					 | 
				
			||||||
            The text to insert.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void Replace(long from, long to, const wxString& text);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Sets the insertion point in the combobox text field.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @param pos
 | 
					 | 
				
			||||||
            The new insertion point.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void SetInsertionPoint(long pos);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Sets the insertion point at the end of the combobox text field.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void SetInsertionPointEnd();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Selects the text between the two positions, in the combobox text field.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @param from
 | 
					 | 
				
			||||||
            The first position.
 | 
					 | 
				
			||||||
        @param to
 | 
					 | 
				
			||||||
            The second position.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        @beginWxPythonOnly
 | 
					        @beginWxPythonOnly
 | 
				
			||||||
        This method is called SetMark() in wxPython, "SetSelection" is kept for
 | 
					        This method is called SetMark() in wxPython, "SetSelection" is kept for
 | 
				
			||||||
@@ -322,10 +220,5 @@ public:
 | 
				
			|||||||
            The text to set.
 | 
					            The text to set.
 | 
				
			||||||
    */
 | 
					    */
 | 
				
			||||||
    virtual void SetValue(const wxString& text);
 | 
					    virtual void SetValue(const wxString& text);
 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Undoes the last edit in the text field. Windows only.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void Undo();
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -847,7 +847,10 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    A text control allows text to be displayed and edited.
 | 
					    A text control allows text to be displayed and edited.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    It may be single line or multi-line.
 | 
					    It may be single line or multi-line. Notice that a lot of methods of the
 | 
				
			||||||
 | 
					    text controls are found in the base wxTextEntry class which is a common
 | 
				
			||||||
 | 
					    base class for wxTextCtrl and other controls using a single line text entry
 | 
				
			||||||
 | 
					    field (e.g. wxComboBox).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @beginStyleTable
 | 
					    @beginStyleTable
 | 
				
			||||||
    @style{wxTE_PROCESS_ENTER}
 | 
					    @style{wxTE_PROCESS_ENTER}
 | 
				
			||||||
@@ -1068,7 +1071,8 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    @see wxTextCtrl::Create, wxValidator
 | 
					    @see wxTextCtrl::Create, wxValidator
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
class wxTextCtrl : public wxControl
 | 
					class wxTextCtrl : public wxControl,
 | 
				
			||||||
 | 
					                   public wxTextEntry
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -1119,123 +1123,6 @@ public:
 | 
				
			|||||||
    */
 | 
					    */
 | 
				
			||||||
    virtual ~wxTextCtrl();
 | 
					    virtual ~wxTextCtrl();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Appends the text to the end of the text control.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @param text
 | 
					 | 
				
			||||||
            Text to write to the text control.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @remarks
 | 
					 | 
				
			||||||
            After the text is appended, the insertion point will be at the
 | 
					 | 
				
			||||||
            end of the text control. If this behaviour is not desired, the
 | 
					 | 
				
			||||||
            programmer should use GetInsertionPoint() and SetInsertionPoint().
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @see WriteText()
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void AppendText(const wxString& text);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Call this function to enable auto-completion of the text typed in a
 | 
					 | 
				
			||||||
        single-line text control using the given @a choices.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        Notice that currently this function is only implemented in wxGTK2 and
 | 
					 | 
				
			||||||
        wxMSW ports and does nothing under the other platforms.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @since 2.9.0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @return
 | 
					 | 
				
			||||||
            @true if the auto-completion was enabled or @false if the operation
 | 
					 | 
				
			||||||
            failed, typically because auto-completion is not supported by the
 | 
					 | 
				
			||||||
            current platform.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @see AutoCompleteFileNames()
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual bool AutoComplete(const wxArrayString& choices);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Call this function to enable auto-completion of the text typed in a
 | 
					 | 
				
			||||||
        single-line text control using all valid file system paths.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        Notice that currently this function is only implemented in wxGTK2 port
 | 
					 | 
				
			||||||
        and does nothing under the other platforms.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @since 2.9.0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @return
 | 
					 | 
				
			||||||
            @true if the auto-completion was enabled or @false if the operation
 | 
					 | 
				
			||||||
            failed, typically because auto-completion is not supported by the
 | 
					 | 
				
			||||||
            current platform.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @see AutoComplete()
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual bool AutoCompleteFileNames();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Returns @true if the selection can be copied to the clipboard.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual bool CanCopy() const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Returns @true if the selection can be cut to the clipboard.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual bool CanCut() const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Returns @true if the contents of the clipboard can be pasted into the
 | 
					 | 
				
			||||||
        text control.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        On some platforms (Motif, GTK) this is an approximation and returns
 | 
					 | 
				
			||||||
        @true if the control is editable, @false otherwise.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual bool CanPaste() const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Returns @true if there is a redo facility available and the last
 | 
					 | 
				
			||||||
        operation can be redone.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual bool CanRedo() const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Returns @true if there is an undo facility available and the last
 | 
					 | 
				
			||||||
        operation can be undone.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual bool CanUndo() const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Sets the new text control value.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        It also marks the control as not-modified which means that IsModified()
 | 
					 | 
				
			||||||
        would return @false immediately after the call to SetValue().
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        The insertion point is set to the start of the control (i.e. position
 | 
					 | 
				
			||||||
        0) by this function.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        This functions does not generate the @c wxEVT_COMMAND_TEXT_UPDATED
 | 
					 | 
				
			||||||
        event but otherwise is identical to SetValue().
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        See @ref overview_events_prog for more information.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @since 2.7.1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @param value
 | 
					 | 
				
			||||||
            The new value to set. It may contain newline characters if the text
 | 
					 | 
				
			||||||
            control is multi-line.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void ChangeValue(const wxString& value);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Clears the text in the control.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        Note that this function will generate a @c wxEVT_COMMAND_TEXT_UPDATED
 | 
					 | 
				
			||||||
        event, i.e. its effect is identical to calling @c SetValue("").
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void Clear();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Copies the selected text to the clipboard.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void Copy();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
        Creates the text control for two-step construction.
 | 
					        Creates the text control for two-step construction.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1262,7 +1149,7 @@ public:
 | 
				
			|||||||
    virtual void DiscardEdits();
 | 
					    virtual void DiscardEdits();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
        This functions inserts into the control the character which would have
 | 
					        This function inserts into the control the character which would have
 | 
				
			||||||
        been inserted if the given key event had occurred in the text control.
 | 
					        been inserted if the given key event had occurred in the text control.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        The @a event object should be the same as the one passed to @c EVT_KEY_DOWN
 | 
					        The @a event object should be the same as the one passed to @c EVT_KEY_DOWN
 | 
				
			||||||
@@ -1281,35 +1168,6 @@ public:
 | 
				
			|||||||
    */
 | 
					    */
 | 
				
			||||||
    virtual const wxTextAttr& GetDefaultStyle() const;
 | 
					    virtual const wxTextAttr& GetDefaultStyle() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Returns the insertion point, or cursor, position.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        This is defined as the zero based index of the character position to
 | 
					 | 
				
			||||||
        the right of the insertion point. For example, if the insertion point
 | 
					 | 
				
			||||||
        is at the end of the single-line text control, it is equal to both
 | 
					 | 
				
			||||||
        GetLastPosition() and @c "GetValue().Length()" (but notice that the latter
 | 
					 | 
				
			||||||
        equality is not necessarily true for multiline edit controls which may
 | 
					 | 
				
			||||||
        use multiple new line characters).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        The following code snippet safely returns the character at the insertion
 | 
					 | 
				
			||||||
        point or the zero character if the point is at the end of the control.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @code
 | 
					 | 
				
			||||||
        char GetCurrentChar(wxTextCtrl *tc) {
 | 
					 | 
				
			||||||
            if (tc->GetInsertionPoint() == tc->GetLastPosition())
 | 
					 | 
				
			||||||
            return '\0';
 | 
					 | 
				
			||||||
            return tc->GetValue[tc->GetInsertionPoint()];
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        @endcode
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual long GetInsertionPoint() const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Returns the zero based index of the last position in the text control,
 | 
					 | 
				
			||||||
        which is equal to the number of characters in the control.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual wxTextPos GetLastPosition() const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
        Gets the length of the specified line, not including any trailing
 | 
					        Gets the length of the specified line, not including any trailing
 | 
				
			||||||
        newline character(s).
 | 
					        newline character(s).
 | 
				
			||||||
@@ -1353,43 +1211,6 @@ public:
 | 
				
			|||||||
    */
 | 
					    */
 | 
				
			||||||
    virtual int GetNumberOfLines() const;
 | 
					    virtual int GetNumberOfLines() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Returns the string containing the text starting in the positions
 | 
					 | 
				
			||||||
        @a from and up to @a to in the control.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        The positions must have been returned by another wxTextCtrl method.
 | 
					 | 
				
			||||||
        Please note that the positions in a multiline wxTextCtrl do @b not
 | 
					 | 
				
			||||||
        correspond to the indices in the string returned by GetValue() because
 | 
					 | 
				
			||||||
        of the different new line representations (@c CR or @c CR LF) and so
 | 
					 | 
				
			||||||
        this method should be used to obtain the correct results instead of
 | 
					 | 
				
			||||||
        extracting parts of the entire value. It may also be more efficient,
 | 
					 | 
				
			||||||
        especially if the control contains a lot of data.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual wxString GetRange(long from, long to) const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Gets the current selection span.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        If the returned values are equal, there was no selection. Please note
 | 
					 | 
				
			||||||
        that the indices returned may be used with the other wxTextCtrl methods
 | 
					 | 
				
			||||||
        but don't necessarily represent the correct indices into the string
 | 
					 | 
				
			||||||
        returned by GetValue() for multiline controls under Windows (at least,)
 | 
					 | 
				
			||||||
        you should use GetStringSelection() to get the selected text.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @param from
 | 
					 | 
				
			||||||
            The returned first position.
 | 
					 | 
				
			||||||
        @param to
 | 
					 | 
				
			||||||
            The returned last position.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void GetSelection(long* from, long* to) const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Gets the text currently selected in the control.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        If there is no selection, the returned string is empty.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual wxString GetStringSelection() const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
        Returns the style at this position in the text control.
 | 
					        Returns the style at this position in the text control.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1403,15 +1224,6 @@ public:
 | 
				
			|||||||
    */
 | 
					    */
 | 
				
			||||||
    virtual bool GetStyle(long position, wxTextAttr& style);
 | 
					    virtual bool GetStyle(long position, wxTextAttr& style);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Gets the contents of the control.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        Notice that for a multiline text control, the lines will be separated
 | 
					 | 
				
			||||||
        by (Unix-style) @c \\n characters, even under Windows where they are
 | 
					 | 
				
			||||||
        separated by a @c \\r\\n sequence in the native control.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual wxString GetValue() const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
        This function finds the character at the specified position expressed
 | 
					        This function finds the character at the specified position expressed
 | 
				
			||||||
        in pixels.
 | 
					        in pixels.
 | 
				
			||||||
@@ -1428,25 +1240,6 @@ public:
 | 
				
			|||||||
                                    wxTextCoord col,
 | 
					                                    wxTextCoord col,
 | 
				
			||||||
                                    wxTextCoord row) const;
 | 
					                                    wxTextCoord row) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Returns @true if the controls contents may be edited by user (note that
 | 
					 | 
				
			||||||
        it always can be changed by the program).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        In other words, this functions returns @true if the control hasn't been
 | 
					 | 
				
			||||||
        put in read-only mode by a previous call to SetEditable().
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual bool IsEditable() const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Returns @true if the control is currently empty.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        This is the same as @c GetValue().empty() but can be much more
 | 
					 | 
				
			||||||
        efficient for the multiline controls containing big amounts of text.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @since 2.7.1
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual bool IsEmpty() const;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
        Returns @true if the text has been modified by user.
 | 
					        Returns @true if the text has been modified by user.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1504,11 +1297,6 @@ public:
 | 
				
			|||||||
    */
 | 
					    */
 | 
				
			||||||
    void OnDropFiles(wxDropFilesEvent& event);
 | 
					    void OnDropFiles(wxDropFilesEvent& event);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Pastes text from the clipboard to the text item.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void Paste();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
        Converts given position to a zero-based column, line number pair.
 | 
					        Converts given position to a zero-based column, line number pair.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1527,44 +1315,6 @@ public:
 | 
				
			|||||||
    */
 | 
					    */
 | 
				
			||||||
    virtual bool PositionToXY(long pos, long* x, long* y) const;
 | 
					    virtual bool PositionToXY(long pos, long* x, long* y) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        If there is a redo facility and the last operation can be redone,
 | 
					 | 
				
			||||||
        redoes the last operation.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        Does nothing if there is no redo facility.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void Redo();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Removes the text starting at the first given position up to
 | 
					 | 
				
			||||||
        (but not including) the character at the last position.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        This function puts the current insertion point position at @a to as a
 | 
					 | 
				
			||||||
        side effect.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @param from
 | 
					 | 
				
			||||||
            The first position.
 | 
					 | 
				
			||||||
        @param to
 | 
					 | 
				
			||||||
            The last position.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void Remove(long from, long to);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Replaces the text starting at the first position up to
 | 
					 | 
				
			||||||
        (but not including) the character at the last position with the given text.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        This function puts the current insertion point position at @a to as a
 | 
					 | 
				
			||||||
        side effect.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @param from
 | 
					 | 
				
			||||||
            The first position.
 | 
					 | 
				
			||||||
        @param to
 | 
					 | 
				
			||||||
            The last position.
 | 
					 | 
				
			||||||
        @param value
 | 
					 | 
				
			||||||
            The value to replace the existing text with.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void Replace(long from, long to, const wxString& value);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
        Saves the contents of the control in a text file.
 | 
					        Saves the contents of the control in a text file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1603,53 +1353,6 @@ public:
 | 
				
			|||||||
    */
 | 
					    */
 | 
				
			||||||
    virtual bool SetDefaultStyle(const wxTextAttr& style);
 | 
					    virtual bool SetDefaultStyle(const wxTextAttr& style);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Makes the text item editable or read-only, overriding the
 | 
					 | 
				
			||||||
        @b wxTE_READONLY flag.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @param editable
 | 
					 | 
				
			||||||
            If @true, the control is editable. If @false, the control is
 | 
					 | 
				
			||||||
            read-only.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @see IsEditable()
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void SetEditable(bool editable);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Sets the insertion point at the given position.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @param pos
 | 
					 | 
				
			||||||
            Position to set, in the range from 0 to GetLastPosition() inclusive.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void SetInsertionPoint(long pos);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Sets the insertion point at the end of the text control.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        This is equivalent to calling wxTextCtrl::SetInsertionPoint() with
 | 
					 | 
				
			||||||
        wxTextCtrl::GetLastPosition() argument.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void SetInsertionPointEnd();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        This function sets the maximum number of characters the user can enter
 | 
					 | 
				
			||||||
        into the control.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        In other words, it allows to limit the text value length to @a len not
 | 
					 | 
				
			||||||
        counting the terminating @c NUL character.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        If @a len is 0, the previously set max length limit, if any, is discarded
 | 
					 | 
				
			||||||
        and the user may enter as much text as the underlying native text control widget
 | 
					 | 
				
			||||||
        supports (typically at least 32Kb).
 | 
					 | 
				
			||||||
        If the user tries to enter more characters into the text control when it
 | 
					 | 
				
			||||||
        already is filled up to the maximal length, a @c wxEVT_COMMAND_TEXT_MAXLEN
 | 
					 | 
				
			||||||
        event is sent to notify the program about it (giving it the possibility
 | 
					 | 
				
			||||||
        to show an explanatory message, for example) and the extra input is discarded.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        Note that in wxGTK this function may only be used with single line text controls.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void SetMaxLength(unsigned long len);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
        Marks the control as being modified by the user or not.
 | 
					        Marks the control as being modified by the user or not.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1657,31 +1360,6 @@ public:
 | 
				
			|||||||
    */
 | 
					    */
 | 
				
			||||||
    void SetModified(bool modified);
 | 
					    void SetModified(bool modified);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Selects the text starting at the first position up to (but not
 | 
					 | 
				
			||||||
        including) the character at the last position.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        If both parameters are equal to -1 all text in the control is selected.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        Notice that the insertion point will be moved to @a from by this
 | 
					 | 
				
			||||||
        function.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @param from
 | 
					 | 
				
			||||||
            The first position.
 | 
					 | 
				
			||||||
        @param to
 | 
					 | 
				
			||||||
            The last position.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @see SelectAll()
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void SetSelection(long from, long to);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Selects all text in the control.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @see SetSelection()
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void SelectAll();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
        Changes the style of the given range.
 | 
					        Changes the style of the given range.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1703,25 +1381,6 @@ public:
 | 
				
			|||||||
    */
 | 
					    */
 | 
				
			||||||
    virtual bool SetStyle(long start, long end, const wxTextAttr& style);
 | 
					    virtual bool SetStyle(long start, long end, const wxTextAttr& style);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Sets the new text control value.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        It also marks the control as not-modified which means that IsModified()
 | 
					 | 
				
			||||||
        would return @false immediately after the call to SetValue().
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        The insertion point is set to the start of the control (i.e. position
 | 
					 | 
				
			||||||
        0) by this function.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        Note that, unlike most other functions changing the controls values,
 | 
					 | 
				
			||||||
        this function generates a @c wxEVT_COMMAND_TEXT_UPDATED event. To avoid
 | 
					 | 
				
			||||||
        this you can use ChangeValue() instead.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @param value
 | 
					 | 
				
			||||||
            The new value to set. It may contain newline characters if the text
 | 
					 | 
				
			||||||
            control is multi-line.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void SetValue(const wxString& value);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
        Makes the line containing the given position visible.
 | 
					        Makes the line containing the given position visible.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1730,32 +1389,6 @@ public:
 | 
				
			|||||||
    */
 | 
					    */
 | 
				
			||||||
    virtual void ShowPosition(long pos);
 | 
					    virtual void ShowPosition(long pos);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        If there is an undo facility and the last operation can be undone,
 | 
					 | 
				
			||||||
        undoes the last operation.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        Does nothing if there is no undo facility.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void Undo();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
        Writes the text into the text control at the current insertion position.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @param text
 | 
					 | 
				
			||||||
            Text to write to the text control.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @remarks
 | 
					 | 
				
			||||||
            Newlines in the text string are the only control characters
 | 
					 | 
				
			||||||
            allowed, and they will cause appropriate line breaks.
 | 
					 | 
				
			||||||
            See operator<<() and AppendText() for more convenient ways of
 | 
					 | 
				
			||||||
            writing to the window.
 | 
					 | 
				
			||||||
            After the write operation, the insertion point will be at the end
 | 
					 | 
				
			||||||
            of the inserted text, so subsequent write operations will be appended.
 | 
					 | 
				
			||||||
            To append text after the user may have interacted with the control,
 | 
					 | 
				
			||||||
            call wxTextCtrl::SetInsertionPointEnd() before writing.
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
    virtual void WriteText(const wxString& text);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
        Converts the given zero based column and line number to a position.
 | 
					        Converts the given zero based column and line number to a position.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										398
									
								
								interface/wx/textentry.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										398
									
								
								interface/wx/textentry.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,398 @@
 | 
				
			|||||||
 | 
					/////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					// Name:        wx/textentry.h
 | 
				
			||||||
 | 
					// Purpose:     interface of wxTextEntry
 | 
				
			||||||
 | 
					// Author:      Vadim Zeitlin
 | 
				
			||||||
 | 
					// Created:     2009-03-01 (extracted from wx/textctrl.h)
 | 
				
			||||||
 | 
					// RCS-ID:      $Id$
 | 
				
			||||||
 | 
					// Copyright:   (c) 2009 Vadim Zeitlin <vadim@wxwindows.org>
 | 
				
			||||||
 | 
					// Licence:     wxWindows license
 | 
				
			||||||
 | 
					/////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					    @class wxTextEntry
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Common base class for single line text entry fields.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    This class is not a control itself, as it doesn't derive from wxWindow.
 | 
				
			||||||
 | 
					    Instead it is used as a base class by other controls, notably wxTextCtrl
 | 
				
			||||||
 | 
					    and wxComboBox and gathers the methods common to both of them.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @library{wxcore}
 | 
				
			||||||
 | 
					    @category{ctrl}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @see wxTextCtrl, wxComboBox
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					class wxTextEntry
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Appends the text to the end of the text control.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @param text
 | 
				
			||||||
 | 
					            Text to write to the text control.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @remarks
 | 
				
			||||||
 | 
					            After the text is appended, the insertion point will be at the
 | 
				
			||||||
 | 
					            end of the text control. If this behaviour is not desired, the
 | 
				
			||||||
 | 
					            programmer should use GetInsertionPoint() and SetInsertionPoint().
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @see WriteText()
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void AppendText(const wxString& text);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Call this function to enable auto-completion of the text typed in a
 | 
				
			||||||
 | 
					        single-line text control using the given @a choices.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Notice that currently this function is only implemented in wxGTK2 and
 | 
				
			||||||
 | 
					        wxMSW ports and does nothing under the other platforms.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @since 2.9.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @return
 | 
				
			||||||
 | 
					            @true if the auto-completion was enabled or @false if the operation
 | 
				
			||||||
 | 
					            failed, typically because auto-completion is not supported by the
 | 
				
			||||||
 | 
					            current platform.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @see AutoCompleteFileNames()
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual bool AutoComplete(const wxArrayString& choices);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Call this function to enable auto-completion of the text typed in a
 | 
				
			||||||
 | 
					        single-line text control using all valid file system paths.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Notice that currently this function is only implemented in wxGTK2 port
 | 
				
			||||||
 | 
					        and does nothing under the other platforms.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @since 2.9.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @return
 | 
				
			||||||
 | 
					            @true if the auto-completion was enabled or @false if the operation
 | 
				
			||||||
 | 
					            failed, typically because auto-completion is not supported by the
 | 
				
			||||||
 | 
					            current platform.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @see AutoComplete()
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual bool AutoCompleteFileNames();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Returns @true if the selection can be copied to the clipboard.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual bool CanCopy() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Returns @true if the selection can be cut to the clipboard.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual bool CanCut() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Returns @true if the contents of the clipboard can be pasted into the
 | 
				
			||||||
 | 
					        text control.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        On some platforms (Motif, GTK) this is an approximation and returns
 | 
				
			||||||
 | 
					        @true if the control is editable, @false otherwise.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual bool CanPaste() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Returns @true if there is a redo facility available and the last
 | 
				
			||||||
 | 
					        operation can be redone.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual bool CanRedo() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Returns @true if there is an undo facility available and the last
 | 
				
			||||||
 | 
					        operation can be undone.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual bool CanUndo() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Sets the new text control value.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        It also marks the control as not-modified which means that IsModified()
 | 
				
			||||||
 | 
					        would return @false immediately after the call to SetValue().
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        The insertion point is set to the start of the control (i.e. position
 | 
				
			||||||
 | 
					        0) by this function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        This functions does not generate the @c wxEVT_COMMAND_TEXT_UPDATED
 | 
				
			||||||
 | 
					        event but otherwise is identical to SetValue().
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        See @ref overview_events_prog for more information.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @since 2.7.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @param value
 | 
				
			||||||
 | 
					            The new value to set. It may contain newline characters if the text
 | 
				
			||||||
 | 
					            control is multi-line.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void ChangeValue(const wxString& value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Clears the text in the control.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Note that this function will generate a @c wxEVT_COMMAND_TEXT_UPDATED
 | 
				
			||||||
 | 
					        event, i.e. its effect is identical to calling @c SetValue("").
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void Clear();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Copies the selected text to the clipboard.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void Copy();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Returns the insertion point, or cursor, position.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        This is defined as the zero based index of the character position to
 | 
				
			||||||
 | 
					        the right of the insertion point. For example, if the insertion point
 | 
				
			||||||
 | 
					        is at the end of the single-line text control, it is equal to both
 | 
				
			||||||
 | 
					        GetLastPosition() and @c "GetValue().Length()" (but notice that the latter
 | 
				
			||||||
 | 
					        equality is not necessarily true for multiline edit controls which may
 | 
				
			||||||
 | 
					        use multiple new line characters).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        The following code snippet safely returns the character at the insertion
 | 
				
			||||||
 | 
					        point or the zero character if the point is at the end of the control.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @code
 | 
				
			||||||
 | 
					        char GetCurrentChar(wxTextCtrl *tc) {
 | 
				
			||||||
 | 
					            if (tc->GetInsertionPoint() == tc->GetLastPosition())
 | 
				
			||||||
 | 
					            return '\0';
 | 
				
			||||||
 | 
					            return tc->GetValue[tc->GetInsertionPoint()];
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        @endcode
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual long GetInsertionPoint() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Returns the zero based index of the last position in the text control,
 | 
				
			||||||
 | 
					        which is equal to the number of characters in the control.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual wxTextPos GetLastPosition() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Returns the string containing the text starting in the positions
 | 
				
			||||||
 | 
					        @a from and up to @a to in the control.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        The positions must have been returned by another wxTextCtrl method.
 | 
				
			||||||
 | 
					        Please note that the positions in a multiline wxTextCtrl do @b not
 | 
				
			||||||
 | 
					        correspond to the indices in the string returned by GetValue() because
 | 
				
			||||||
 | 
					        of the different new line representations (@c CR or @c CR LF) and so
 | 
				
			||||||
 | 
					        this method should be used to obtain the correct results instead of
 | 
				
			||||||
 | 
					        extracting parts of the entire value. It may also be more efficient,
 | 
				
			||||||
 | 
					        especially if the control contains a lot of data.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual wxString GetRange(long from, long to) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Gets the current selection span.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        If the returned values are equal, there was no selection. Please note
 | 
				
			||||||
 | 
					        that the indices returned may be used with the other wxTextCtrl methods
 | 
				
			||||||
 | 
					        but don't necessarily represent the correct indices into the string
 | 
				
			||||||
 | 
					        returned by GetValue() for multiline controls under Windows (at least,)
 | 
				
			||||||
 | 
					        you should use GetStringSelection() to get the selected text.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @param from
 | 
				
			||||||
 | 
					            The returned first position.
 | 
				
			||||||
 | 
					        @param to
 | 
				
			||||||
 | 
					            The returned last position.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void GetSelection(long* from, long* to) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Gets the text currently selected in the control.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        If there is no selection, the returned string is empty.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual wxString GetStringSelection() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Gets the contents of the control.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Notice that for a multiline text control, the lines will be separated
 | 
				
			||||||
 | 
					        by (Unix-style) @c \\n characters, even under Windows where they are
 | 
				
			||||||
 | 
					        separated by a @c \\r\\n sequence in the native control.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual wxString GetValue() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Returns @true if the controls contents may be edited by user (note that
 | 
				
			||||||
 | 
					        it always can be changed by the program).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        In other words, this functions returns @true if the control hasn't been
 | 
				
			||||||
 | 
					        put in read-only mode by a previous call to SetEditable().
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual bool IsEditable() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Returns @true if the control is currently empty.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        This is the same as @c GetValue().empty() but can be much more
 | 
				
			||||||
 | 
					        efficient for the multiline controls containing big amounts of text.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @since 2.7.1
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual bool IsEmpty() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Pastes text from the clipboard to the text item.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void Paste();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        If there is a redo facility and the last operation can be redone,
 | 
				
			||||||
 | 
					        redoes the last operation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Does nothing if there is no redo facility.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void Redo();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Removes the text starting at the first given position up to
 | 
				
			||||||
 | 
					        (but not including) the character at the last position.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        This function puts the current insertion point position at @a to as a
 | 
				
			||||||
 | 
					        side effect.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @param from
 | 
				
			||||||
 | 
					            The first position.
 | 
				
			||||||
 | 
					        @param to
 | 
				
			||||||
 | 
					            The last position.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void Remove(long from, long to);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Replaces the text starting at the first position up to
 | 
				
			||||||
 | 
					        (but not including) the character at the last position with the given text.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        This function puts the current insertion point position at @a to as a
 | 
				
			||||||
 | 
					        side effect.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @param from
 | 
				
			||||||
 | 
					            The first position.
 | 
				
			||||||
 | 
					        @param to
 | 
				
			||||||
 | 
					            The last position.
 | 
				
			||||||
 | 
					        @param value
 | 
				
			||||||
 | 
					            The value to replace the existing text with.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void Replace(long from, long to, const wxString& value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Makes the text item editable or read-only, overriding the
 | 
				
			||||||
 | 
					        @b wxTE_READONLY flag.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @param editable
 | 
				
			||||||
 | 
					            If @true, the control is editable. If @false, the control is
 | 
				
			||||||
 | 
					            read-only.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @see IsEditable()
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void SetEditable(bool editable);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Sets the insertion point at the given position.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @param pos
 | 
				
			||||||
 | 
					            Position to set, in the range from 0 to GetLastPosition() inclusive.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void SetInsertionPoint(long pos);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Sets the insertion point at the end of the text control.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        This is equivalent to calling wxTextCtrl::SetInsertionPoint() with
 | 
				
			||||||
 | 
					        wxTextCtrl::GetLastPosition() argument.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void SetInsertionPointEnd();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        This function sets the maximum number of characters the user can enter
 | 
				
			||||||
 | 
					        into the control.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        In other words, it allows to limit the text value length to @a len not
 | 
				
			||||||
 | 
					        counting the terminating @c NUL character.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        If @a len is 0, the previously set max length limit, if any, is discarded
 | 
				
			||||||
 | 
					        and the user may enter as much text as the underlying native text control widget
 | 
				
			||||||
 | 
					        supports (typically at least 32Kb).
 | 
				
			||||||
 | 
					        If the user tries to enter more characters into the text control when it
 | 
				
			||||||
 | 
					        already is filled up to the maximal length, a @c wxEVT_COMMAND_TEXT_MAXLEN
 | 
				
			||||||
 | 
					        event is sent to notify the program about it (giving it the possibility
 | 
				
			||||||
 | 
					        to show an explanatory message, for example) and the extra input is discarded.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Note that in wxGTK this function may only be used with single line text controls.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void SetMaxLength(unsigned long len);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Selects the text starting at the first position up to (but not
 | 
				
			||||||
 | 
					        including) the character at the last position.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        If both parameters are equal to -1 all text in the control is selected.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Notice that the insertion point will be moved to @a from by this
 | 
				
			||||||
 | 
					        function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @param from
 | 
				
			||||||
 | 
					            The first position.
 | 
				
			||||||
 | 
					        @param to
 | 
				
			||||||
 | 
					            The last position.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @see SelectAll()
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void SetSelection(long from, long to);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Selects all text in the control.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @see SetSelection()
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void SelectAll();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Sets the new text control value.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        It also marks the control as not-modified which means that IsModified()
 | 
				
			||||||
 | 
					        would return @false immediately after the call to SetValue().
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        The insertion point is set to the start of the control (i.e. position
 | 
				
			||||||
 | 
					        0) by this function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Note that, unlike most other functions changing the controls values,
 | 
				
			||||||
 | 
					        this function generates a @c wxEVT_COMMAND_TEXT_UPDATED event. To avoid
 | 
				
			||||||
 | 
					        this you can use ChangeValue() instead.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @param value
 | 
				
			||||||
 | 
					            The new value to set. It may contain newline characters if the text
 | 
				
			||||||
 | 
					            control is multi-line.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void SetValue(const wxString& value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        If there is an undo facility and the last operation can be undone,
 | 
				
			||||||
 | 
					        undoes the last operation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Does nothing if there is no undo facility.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void Undo();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					        Writes the text into the text control at the current insertion position.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @param text
 | 
				
			||||||
 | 
					            Text to write to the text control.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @remarks
 | 
				
			||||||
 | 
					            Newlines in the text string are the only control characters
 | 
				
			||||||
 | 
					            allowed, and they will cause appropriate line breaks.
 | 
				
			||||||
 | 
					            See operator<<() and AppendText() for more convenient ways of
 | 
				
			||||||
 | 
					            writing to the window.
 | 
				
			||||||
 | 
					            After the write operation, the insertion point will be at the end
 | 
				
			||||||
 | 
					            of the inserted text, so subsequent write operations will be appended.
 | 
				
			||||||
 | 
					            To append text after the user may have interacted with the control,
 | 
				
			||||||
 | 
					            call wxTextCtrl::SetInsertionPointEnd() before writing.
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    virtual void WriteText(const wxString& text);
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
		Reference in New Issue
	
	Block a user