Re: Tabs in FXTextField

Enno Rehling <[email protected]> Sun, 21 Apr 2024 20:09:55 +0200
Newsgroups gmane.comp.lib.fox-toolkit.user
Message-ID <[email protected]>
That's form the documentation for version 1.7, while I'm still working 
with 1.6 (which doesn't seem to have those functions). However, the 1.6 
docs state that:

> Text input may be constrained to a certain format; the built-in capabilities support integer and real number entry constraints; additional constraints on the input may be implemented by intercepting the SEL_VERIFY message;

Which sounds promising at first, but I have to see what exactly that 
means in practice.

Enno.

On 4/21/2024 2:51 PM, Roland Hughes via Foxgui-users wrote:
> The Web documentation is very very sparse and I don't use FOX right now 
> but I would look into these
> 
> 
> FXbool 	pasteSelection 
> <http://www.fox-toolkit.org/ref/classFX_1_1FXTextField.html#a15cb534a3e4dd86e02f923f93f7b5777>(FXbool notify=false)
> 	Paste primary selection.
> FXbool 	pasteClipboard 
> <http://www.fox-toolkit.org/ref/classFX_1_1FXTextField.html#a20781ca175da2ef7a10c03a0cd167419>(FXbool notify=false)
> 	Paste clipboard.
> 
> long 	*onClipboardLost*(FXObject 
> <http://www.fox-toolkit.org/ref/classFX_1_1FXObject.html>*, FXSelector, 
> void *)
> long 	*onClipboardGained*(FXObject 
> <http://www.fox-toolkit.org/ref/classFX_1_1FXObject.html>*, FXSelector, 
> void *)
> long 	*onClipboardRequest*(FXObject 
> <http://www.fox-toolkit.org/ref/classFX_1_1FXObject.html>*, FXSelector, 
> void *)
> 
> 
>     Detailed Description
> 
> A text field is a single-line text entry widget.
> 
> The text field widget supports clipboard for cut-and-paste operations. 
> Text input may be constrained to a certain format; the built-in 
> capabilities support integer and real number entry constraints; 
> additional constraints on the input may be implemented by intercepting 
> the SEL_VERIFY message; a custom handler should examine the tentative 
> input string passed as type const FXchar* in the message data, and 
> return a value of "0" if the new input is accepted. During text entry, 
> the text field sends a SEL_CHANGED message to its target, with the 
> message data set to the current text value of type const FXchar*. When 
> the text is accepted by hitting ENTER, the SEL_COMMAND message is sent. 
> The text field also sends SEL_COMMAND when the focus moves to another 
> control. TEXTFIELD_ENTER_ONLY can be passed to suppress this feature. 
> Typically, this flag is used in dialogs that close when ENTER is hit in 
> a text field.
> 
> 
> ----
> 
> Basically, speaking in a Qt/CopperSpice/signal-slot manner:
> 
> You are looking for what would be an aboutToPaste() signal from the 
> field. Something emitted/called when the field is about to accept a 
> paste. You then feed the text through "filter" code of your own 
> substituting N-spaces for \t characters.
> 
> Ah, here: http://fox-toolkit.org/clipboard.html
> 
> Detailed documentation on the clipboard as it exists in Fox. You should 
> be able to find where to wedge your filter in there.
> 
> You probably also want to beg for a "feature" of 
> preClipboardPasteFilter() or a similar name, which makes a local copy of 
> the clipboard content, applies one or more filters, then passes the 
> bytes through to the paste operation itself.
> 
> On 4/21/2024 6:40 AM, Enno Rehling wrote:
>> I accidentally only replied to Jeroen earlier, so here's my question 
>> again, to the whole list:
>>
>> In this case, the way the tabs got into this field was via copy & 
>> paste. Is there a good way to catch that and remove the tabs?
>>
>> Enno.
>>
>> On 4/7/2024 4:51 PM, Jeroen van der Zijp wrote:
>>> On Sat, 6 Apr 2024 19:33:42 +0200
>>> Enno Rehling <[email protected]> wrote:
>>>
>>>> I have a FXTextField in my application, and when I insert text into 
>>>> it that
>>>> starts one or more leading tab characters, the rendering of the text 
>>>> goes
>>>> haywire:
>>>> [image: fox_text.png]
>>>> The text that it's trying to display is "<tab><tab>Lorem ipsum dolor 
>>>> sit
>>>> amet, consectetur adipiscing elit" - notice the white space at the end
>>>> followed by another t, and the weird artifacts in "adipiscing" that 
>>>> make
>>>> the word unreadable.
>>>> This artifacting gets word when I move the text cursor backwards 
>>>> through
>>>> the text:
>>>
>>> Interesting.  The reason I don't think I've seen this is because
>>> there's no way to enter a tab into FXTextField.  Or any control 
>>> character,
>>> for that matter. So text drawing in FXTextField has no "substitute" 
>>> characters
>>> to render the way FXText does.
>>>
>>> Maybe this is something that should be fixed, or at very least, 
>>> protected against.
>>>
>>>
>>>   -- JVZ
>>>
>>>
>>
>>
>> _______________________________________________
>> Foxgui-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/foxgui-users
> 
> -- 
> Roland Hughes, President
> Logikal Solutions
> (630)-205-1593
> 
> http://www.theminimumyouneedtoknow.com
> http://www.infiniteexposure.net
> http://www.johnsmith-book.com
> http://www.logikalblog.com
> http://www.interestingauthors.com/blog
> 
> 
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>	Virus-free.www.avast.com <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
> 
> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
> 
> 
> _______________________________________________
> Foxgui-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/foxgui-users


_______________________________________________
Foxgui-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/foxgui-users