r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!RebGUI] A lightweight alternative to VID

Anton
20-May-2007
[6525x4]
print mold svv/vid-styles/area/feel  ; <-- this shows use of EDIT-TEXT, 
which is in CTX-TEXT, so..

print mold make ctx-text  [view*: none] ; <-- the reference to system/view 
gives too much output, so we disable it for now.

; If you search that text for "scroll", you find yourself near the 
bottom of the EDIT-TEXT function body, looking at this:
if face: focal-face [
            if flag-face? face hide [
                unlight-text 
                insert/dup clear face/data "*" length? face/text 
                do swap-text
            ] 

            tmp: any [caret-to-offset face caret caret-to-offset face caret: 
            tail face/text] 
            tmp: tmp - (face-edge / 2) 
            tmp2: face/para/scroll 

            all [tmp/x < 0 tmp2/x < 0 face/para/scroll/x: tmp2/x - tmp/x] 

            all [tmp/y < 0 tmp2/y < 0 face/para/scroll/y: tmp2/y - tmp/y] 
            action: face-size - tmp - face/para/margin 

            if action/x < 5 [face/para/scroll/x: tmp2/x + action/x - 5] 

            if action/y < liney [face/para/scroll/y: tmp2/y + action/y - liney] 
            show face
        ]
Scrolling is achieved by modifying face/para/scroll, where FACE is 
your AREA face.

I am sure you can pick the parts you need from the above code, to 
create a nice little function which only appends text.
Note also the definition of LINEY, from further up in EDIT-TEXT: 
        textinfo face line-info 0 
        liney: line-info/size/y 
This depends on LINE-INFO, which is in system/view/line-info

So you will need to either bind your code to system/view and ctx-text, 
or refer to line-info and unlight-text using paths, eg:
	system/view/line-info
	ctx-text/unlight-text
(Ah heck, I'm in the RebGUI group... not sure how much of the above 
applies. I know some of it doesn't.)
Pekr
20-May-2007
[6529]
btw - there is some area style, which scrolls when you hilite-by-mouse. 
It is for VID only and comes from french community, at least that 
is what Bobik said to me ...
Graham
21-May-2007
[6530]
I'm still having area issues.  If I reach the bottom of an area widget 
and hit return at the end of a line, the caret will often jump to 
the beginning of that line instead of making a new line.
DideC
21-May-2007
[6531]
Pekr: yes It's my area-scroll-style in rebol.org
Volker
21-May-2007
[6532]
on vid i attacgh a scroller and set that to 1.0 . maybe that works 
with rebgui too?
Ashley
21-May-2007
[6533x2]
re: area scrolling. Try the following:

	display "" [
		a: area (form system/locale/colors)
		button [insert tail a/text join newline now show a]
		button [a/pane/1/data: 1.0 show a]
	]
Oops, that shoud read:

	a/pane/data: 1.0 show a

or just:

	set-data a/pane 1.0
TimW
21-May-2007
[6535]
Okay.  That works great.  The only issue is if you only have one 
line of text it pushes it to the bottom, but that's easy to work 
around.  thanks.
Ashley
21-May-2007
[6536]
e.g:

	all [a/pane/ratio < 1 set-data a/pane 1]
Terry
22-May-2007
[6537x2]
from the rebol demos.. 

Finished processing manifest.
** Script Error: yello has no value
** Where: append-message
** Near: get msg-color
now im no expert, but my guess is 'yello' should be ''Jello'
Ashley
22-May-2007
[6539x2]
>> system/version
== 1.3.2.3.1
>> yello
== 255.240.120
Short answer is that it requires REBOL/View 1.3.2 or greater.
Terry
22-May-2007
[6541x3]
running 1.3.5
>> system/version
== 1.3.50.3.1
>> yello
** Script Error: yello has no value
** Near: yello
>> system/version
== 1.3.61.3.1
>> yello
** Script Error: yello has no value
** Near: yello
>>
Anton
22-May-2007
[6544]
View 1.3.50 is actually older than 1.3.2
Terry
22-May-2007
[6545]
hmm.. which is latest then?
Anton
22-May-2007
[6546x2]
I've renamed mine thus:
rebview1.3.050.3.1.exe
rebview1.3.061.3.1.exe
rebview1.3.2.3.1.exe
rebview2.7.000.3.1.exe
etc. so that they sort correctly in the file list.
(I knew when they decided to version those betas that way that it 
would cause confusion...)
Terry
22-May-2007
[6548x2]
>> system/version
== 2.7.5.3.1
>> yello
== 255.240.120
>>
went by date
Anton
22-May-2007
[6550]
Yep, that's the latest.
Terry
22-May-2007
[6551]
thanks
Anton
22-May-2007
[6552]
That's what I've been testing with. It has a problem with some keys 
like page-up/down. Apparently Maxim patched those keys. I suppose 
he added an event-func.
There's a new version coming soon which should fix that.
Terry
22-May-2007
[6553x2]
the desktop needs a make-over
(The View desktop , that is.. )
Anton
22-May-2007
[6555]
also known as the "viewtop".
Ashley
22-May-2007
[6556]
2.6.3 is the latest stable release with a matching SDK version.
BrianH
22-May-2007
[6557x3]
2.7.5 also has a matching SDK version, but is slightly less stable 
(works for me).
Install is nonfunctional in 2.7.5, but that wouldn't affect encapped 
apps.
Install wasn't completely functional in 1.3.2 either, or any prior 
version, as I have explained at length before :(
Terry
22-May-2007
[6560]
Hmm.. I've gone over all the GUIs and I've come to an observation 
(not a criticism)... 
There's no graphic designers here.
Rebolek
22-May-2007
[6561]
That's a known fact I think :)
Terry
22-May-2007
[6562x4]
After looking at all of the various UI for Rebol that's currently 
available, and although they are all great in their own right, I 
can't help but think there's something missing.  I've found the rebol 
mashups I've done using Javascript, HTML, CSS and Flash.. to be so 
much more flexible, and of a higher quality... perhaps not in things 
like speed etc., but when it comes to eye-candy, View, and all of 
it's GUI libs come in third at best.


If you're running windows.. take a look at RASH.. a simple blue button 
that floats on top of all your other windows.. click it, and a panel 
pops up.. 

It uses Flash as the UI.. and it's really quite easy to tie Rebol 
into Flash..  and you can do it with core. Why there isn't more Flash 
/ Rebol mashups is weird
Sorry, probably the wrong group for this rant
If you happen to have some X10 stuff lying around, you can control 
your appliances with RASH too.. 

Add this to codes.txt .. change the path to your x10comm.exe 


q [fp "kettle on" 20][call "c:\x10\x10comm.exe a1 on" speakout "Kettle 
has been activated" closed]

q [fp "kettle off" 20][call "c:\x10\x10comm.exe a1 off"  speakout 
"Kettle disengaged" closed]


text-to-speech while  flipping on the kettle from Rebol.. serious 
cool factor.
oops.. misposted
Ashley
22-May-2007
[6566]
when it comes to eye-candy, View, and all of it's GUI libs come in 
third at best

 ... I'd exclude View from that statement. With AGG support built-in 
 it enables you to be as creative as you want; the fact that no-one 
 has built a nice Konfabulator-like dialect that uses View to its 
 full potential is another issue.
[unknown: 9]
22-May-2007
[6567]
Agreed.
Graham
23-May-2007
[6568x2]
Ashley have you been able to reproduce the boundary issues with the 
area widget .. basically when trying to type into the widget at the 
bottom, and either have the caret fold back to the start of the same 
line, back into the word you're typing.
Since I've never seen this in the area face I presume it's fixable.
Ashley
23-May-2007
[6570]
able to reproduce the boundary issues

 No, and I use area everywhere in my apps. Never come across this 
 problem before. What's the sequence of actions? i.e. it's gotta be 
 more complex than, "just type until it happens". I suspect you've 
 hit a nasty interplay between arrow/slider scrolling and caret positioning. 
 Fixable if I know how to reproduce it.
Maxim
23-May-2007
[6571]
 the fact that Konfabulator-like dialect that uses View to its full 
 potential is another issue.


did you look at (short on time, cause everyone else was late ;-) 
 elixir devcon session ?


that just what it is...  100% AGG gui engine... with full AGG element 
based interaction and per stroke feel.
Graham
23-May-2007
[6572]
Max .. none of us saw the screen ... the broadcast videos appeared 
to concentrate on the rear of things!
Mario
24-May-2007
[6573]
AGG + Autofocus = Extra aliasing
Terry
25-May-2007
[6574]
AGG without a dialect? Might as well code in assembly, or openGL