Drag and Drop Text into a field
Peter M. Brigham, MD
pmbrig at gmail.com
Mon Sep 26 17:09:58 EDT 2011
On Sep 26, 2011, at 4:51 PM, Pete wrote:
> Thanks Peter, that sounds like it should work, I guess I'd assumed that LC
> would remember the selected text.
>
> The dictionary says that if no text is selected, the end char part of the
> selectedChunk is less than the startchar so I guess I'll need to check for
> that so that a normal insert works.
No need. If you have an insertion point after char 5 of a field, the selectedchunk is <char 6 to 5 of fld "targetField">, and putting a text string into char 6 to 5 of fld "targetField" will insert the text after char 5 of the field, Ie, where the insertion point was.
-- Peter
Peter M. Brigham
pmbrig at gmail.com
http://home.comcast.net/~pmbrig
> On Mon, Sep 26, 2011 at 1:01 PM, Peter M. Brigham, MD <pmbrig at gmail.com>wrote:
>
>> You could set a customprop of the field control on mouseleave:
>>
>> on mouseleave
>> set the uSelChunk of me to the selectedchunk
>> end mouseleave
>>
>> then in your dragdrop handler:
>>
>> put the uSelChunk of fld "targetField" into selCh
>> put word 2 of selCh into startChar
>> put word 4 of selCh into endChar
>> put the clipboardData["text"] into char startChar to endChar of fld
>> "targetField"
>>
>> -- Peter
>>
>> Peter M. Brigham
>> pmbrig at gmail.com
>> http://home.comcast.net/~pmbrig
>>
>>
>> On Sep 26, 2011, at 2:37 PM, Pete wrote:
>>
>>> I'm trying to find a way to drag and drop text from a datagrid into a
>> field
>>> control. If no text is selected in the field control, the text should be
>>> inserted at the insertion point; if text is selected, the dragged text
>>> should replace the selected text.
>>>
>>> The way I'm doing this is:
>>>
>>> - The dragStart handler for the datagrid places the text I want to insert
>>> into the clipboardData["text"]
>>> - The dragEnter handler for the field control sets the focus on the field
>>> control
>>> - The dragDrop handler for the field control issues a paste command
>>>
>>> That all works fine when no text is selected in the field control, LC
>>> appears to remember where the insertion is in the field control.
>> However,
>>> let's say I select some text in the field control. As soon as I click on
>> a
>>> line in the datagrid to start the drag/drop operation, the text is no
>> longer
>>> selected in the field control and when I drop the text into the field
>>> control it is inserted at what was the end point of the text I had
>>> originally selected.
>>>
>>> To illustrate, if the field control contains "This is my Text" and I
>> select
>>> the word "my", then drag the text "your" to the field Control, it will be
>>> inserted right after "my" instead of replacing it.
>>>
>>> Am I setting about this the wrong way or can this approach be made to
>> work
>>> somehow?
>>>
>>> Thanks,
>>>
>>> Pete
>>> Molly's Revenge <http://www.mollysrevenge.com>
>>> _______________________________________________
>>> use-livecode mailing list
>>> use-livecode at lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>>
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
More information about the use-livecode
mailing list