an older fix by me (works in 1.0 too).
extract the style somehow from the demo ;-)
Volker
[REBOL [
Title: "Korrigiert Text-list, Demo"
Date: 27-Jan-2001/23:39:17+1:00
Name: "text-list'"
Version: 0.9
File: %textlist-patch1.r
Home: http://jove.prohosting.com/~screbol/
Author: "volker"
Owner: "volker"
Rights: "gpl"
Needs: [view 0.10.38]
Tabs: none
Usage: none
Purpose: none
Comment: none
History: [27-Jan-2000 ""]
Language: "german"
]
patched: context [
l: last-shown-lines: styles: text-list': update-slider:
none
[
]
[
%tlp2.r
]
styles: stylize [
text-list': text-list with [
"add size-change scrolling"
last-shown-lines: -1
update-slider: does [
either 0 = length? data [sld/redrag 1] [
sld/redrag lc / length? data]
]
append init [
sub-area/feel/redraw: does [
l: length? data
if l <> last-shown-lines [
last-shown-lines: l
update-slider
]
]
]
"leere liste erlauben."
words/data:
func [new args] [
if not empty? second args [
new/text: first new/texts: second args
]
next args
]
]
]]
test:
func [
/local fix-slider lo my-styles tl1 tl2 tl3
] [
[
%tlp.r
]
fix-slider: func [faces [object! block!]] [
foreach list to-block faces [
either 0 = length? list/data [list/sld/redrag 1] [
list/sld/redrag list/lc / length? list/data]
]
]
my-styles: patched/styles
lo: layout [backdrop gold / 2
styles my-styles
text 600 wrap { die text-list hat zwei fehler:
bei datena&nderungen wird der scrollbereich nicht vera&ndert
und leere listen funktionieren nicht.
hier ist eine Korrektur}
guide
text "original-textlist"
tl1: text-list data [1 2 3 4 5]
button "add" [append tl1/lines [7 8 9 0]
show tl1]
return
text "textlist mit workaround"
tl2: text-list data [1 2 3 4 5]
button "add" [append tl2/lines [7 8 9 0]
fix-slider tl2 show tl2]
return
text "text-list', korrigiert"
tl3: text-list' data [1 2 3 4 5]
button "add" [append tl3/lines [7 8 9 0]
show tl3]
]
view lo]
test
]
>From: "P-O Yliniemi"
>> Here is a collection of text-list related problems I have gotten so
>> far:
>>
>> 1. how do I set the slider to the 'correct' position on a rebuild ?
>
>Sterling's /View beta fix was:
>
>fix-slider: func [faces [object! block!]] [
> foreach list to-block faces [
> either 0 = length? list/data [
> list/sld/redrag 1
> ][
> list/sld/redrag list/lc / length? list/data
> ]
> ]
>]
>
>As was addressed two emails ago, I modified his for reasons that I
don't
>precisely recall, but if his doesn't work at some point, try:
>
>; modification based on original by Sterling
>; updates the bar on the side of a text-list or group of text-lists
>fix-slider: func [faces [object! block!]] [
> foreach list to-block faces [
> either 0 = length? list/lines [
> list/sld/redrag 1
> ][
> list/sld/redrag list/lc / length? list/lines
> ]
> ]
>]
>
>These are used as such:
>view layout [
> tl: text-list 100x50 "a" "b" "c" [
> tl/lines: ["new" "values" "for" "you"]
> fix-slider tl
> show tl
> ]
>]
>
>I don't recall the answer to #2 and I don't recall ever knowing how to
do
>#3, but I suspect it will require a custom face based on list, instead
of
>text-list.
>
>Hope others know the answers.
>--Scott Jones
>
>> 2. is there a way to disable multi-selection of items in the list ?
>> 3. how do I get rid of the white area below the last entry ?
>>
>> see the example for solutions on how to keep the previous
>> item selection, and to have the same visible items in the list after
>> the rebuild.
>>
>> -------------
>> [
>> REBOL []
>>
>> list-items: {some items to play around with in the list. Specific
problems
>I
>> have is all related to rebuilding the list}
>>
>> list-block: parse list-items " "
>>
>> build-layout: func [
>> {Build the test layout}
>> ][
>> l: layout [
>> tl: text-list 100x140 data list-block [
>> if not none? tl/picked [ print first tl/picked ]
>> ]
>> button "Rebuild" [
>> old-picked: tl/picked ; save old selection
>> old-sn: tl/sn ; save old visible area
>> build-layout ; rebuild
>> tl/picked: old-picked ; initial selection is what
was
>before
>> tl/sn: old-sn ; make what was visible before
>visible again
>> ; how do I set the slider to the same position as before, or to
match the
>tl/sn value ?
>> view center-face l ; view the layout
>> ]
>> ]
>> ]
>>
>> build-layout
>> view center-face l
>> ]
>>
>> /PeO
>> --
>> To unsubscribe from this list, please send an email to
>> [EMAIL PROTECTED] with "unsubscribe" in the
>> subject, without the quotes.
>>
>
>--
>To unsubscribe from this list, please send an email to
>[EMAIL PROTECTED] with "unsubscribe" in the
>subject, without the quotes.
>
--
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the
subject, without the quotes.