Well that didn't work...

Jon jbondy at sover.net
Tue Jun 21 08:16:01 EDT 2005


I think he is trying to create an auto-indent editor, kind of like the 
Rev IDE editor, only one that actually works.

I wrote my own auto-indent editor years ago.  I know it can be done 
(although perhaps not in Rev).  Too bad they gave up before they had 
finished the project.

Jon


Cubist at aol.com wrote:

>sez todd at geistinteractive.com:
>  
>
>>I have been trying to figure out how to create a little simple text  
>>editor.  Basically I want to add two features to a regular scrolling  
>>field.
>>
>>Feature 1
>>
>>    Pressing tab while the insertion point is on a line of text  
>>needs to INDENT the line
>>    pressing shift_tab needs to OUTDENT it.
>>    
>>
>   Rev is perfectly capable of indenting text in a field, and even indenting 
>the first line of a paragraph differently from the 2nd and later lines. The 
>properties you wand are called "margins" (for the whole thing) and "firstMargin" 
>(for the first line). The "margins" property lets you adjust the top, bottom, 
>right, and left margins separately, in a 4-item list; if the margins property 
>is only one number, all sides of the text field get that number for heir 
>margin-value.
>   Unfortunately, Rev text fields can only have 1 (one) value for 
>margins/first/Margin, and that one value applies to *all* the paragraphs in the field -- 
>so if you want different amounts of indentation for different paragraphs, you 
>have to use more than one text field. But if you don't mind indenting *all* 
>the text in a field simultaneously, something like this might work:
>
>local DeltaTab = 8 # adjust this value up or down, as you please
>
>on tabKey
>  put the margins of me into Fred
>  # if the margins *weren't* a 4-item list, let's make it so now
>  if the number of items in Fred = 1 then put "," & Fred & "," & Fred & "," & 
>Fred after Fred
>  if the shiftKey is up then put DeltaTab into DT else put (-1 * DeltaTab) 
>into DT
>  add DT to item 2 of Fred
>  add DT to item 4 of Fred
>  set the margins of me to Fred
>end tabKey
>
>   That handler assumes you want to adjust the right and left margin values. 
>If you only want to worry about the first line's indent-value, try this 
>instead:
>
>local DeltaTab = 8 # adjust this value up or down, as you please
>
>on tabKey
>  put the firstMargin of me into Fred
>  if the shiftKey is up then put DeltaTab into DT else put (-1 * DeltaTab) 
>into DT
>  add DT to item 2 of Fred
>  add DT to item 4 of Fred
>  set the firstMargin of me to Fred
>end tabKey
>
>  
>
>>Feature 2
>>
>>    A new Line created by pressing "return" needs to line up with  
>>the previous line
>>    Like this...
>>    
>>
>   Again, Rev makes all the paragraphs in a single field indent the same 
>amount. Therefore, this behavior is not just available, it's downright mandatory!
>_______________________________________________
>use-revolution mailing list
>use-revolution at lists.runrev.com
>Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>http://lists.runrev.com/mailman/listinfo/use-revolution
>
>
>  
>


More information about the use-livecode mailing list