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

World: r3wp

[!RebGUI] A lightweight alternative to VID

Graham
13-Jul-2006
[4501]
how does this code work?
Volker
13-Jul-2006
[4502]
looks in the pane and allows only object! and block!. on other things 
it returns none. especially on functions, thats why it uses 'get.
Graham
13-Jul-2006
[4503x2]
needs to be rewritten to be a non recursive function
or perhaps to pass the recursion count so it can exit gracefully...
Volker
13-Jul-2006
[4505x2]
its called from 'next-field too. That recurses too. looks a bit suspicious 
to me at first read. but then the error-m,essage should sometimes 
show it and not always bail out on 'into-widget IMHO.
the face-tree is recursive, so is the function.
Graham
13-Jul-2006
[4507]
and back-field
Volker
13-Jul-2006
[4508]
WHat looks suspicious is: it goes thru the parent-face. but it does 
not exclude the current face.
Graham
13-Jul-2006
[4509x4]
any quick fixes you can  suggest ?
** Internal Error: Stack overflow
** Where: into-widget
** Near: unless find [object! block!] type?/word get
** Press enter to quit...
Got it again.
it happened after I returned to the window after closing another 
window down.
Volker
13-Jul-2006
[4513x2]
Maybe

         unless wrap [siblings: find/tail siblings face]                  
                
->

  either wrap [siblings: head remove find siblings ]  [siblings: find/tail 
  siblings face]
but that is guessing
either wrap [siblings: head remove find siblings face]  [siblings: 
find/tail siblings face]
Graham
13-Jul-2006
[4515]
Maybe I need to make sure I set the focus when I return to the window
Volker
13-Jul-2006
[4516]
needs copy..

either wrap [siblings: head remove find copy siblings face]  [siblings: 
find/tail siblings face
Graham
13-Jul-2006
[4517]
getting closer to reproducing it
Volker
13-Jul-2006
[4518]
resetting focus would be worth a try. or unfocus.
Graham
13-Jul-2006
[4519x3]
5 steps to reproduce
* Internal Error: Stack overflow
** Where: tabbed?
** Near: all [find tabbed face/type face]
** Press enter to quit...
Sorry, different message now
Volker
13-Jul-2006
[4522]
still stack-overflow. filled by lots of 'into-widget or whatever.
Graham
13-Jul-2006
[4523x4]
Try this .. download http://www.compkarori.com/emr/synapse.exe
click on the server button.
This pops up a VID window .. enter some text and then "Accept"
Now shift tab ..and boom!!!
Volker
13-Jul-2006
[4527]
need to reboot windows. cu
Graham
13-Jul-2006
[4528x4]
The problem appears to be that no widget has focus
yet the shift-tab key is processed as though there is ....
Rebol []

do %rebgui.r
user: "Guest"

display "Test" compose/deep [
	field (user) return
	field return
	radio-group data [ 2 1 2 3 ] return

 button "Server" [ inform layout [ field "Type here" button "OK" [ 
 hide-popup ]]]
]
do-events
1. Highlight the first text field
2. Click on the "server" button
3. Highlight the "type here" field to give focus
4. Click on the "OK" button
the rebgui no longer has focus.
Now do tab .. and it crashes with a stack overflow.
Pekr
13-Jul-2006
[4532]
posted to Cyphre on icq ...
Volker
13-Jul-2006
[4533]
Yep, reproducible.
Graham
13-Jul-2006
[4534x2]
The radio-group is redundant to the example.  You can remove it.
Oh well, I'm glad I have reproduced this annoying bug .. I deserve 
some sleep now!  past midnight.
Volker
13-Jul-2006
[4536]
Good work. And good night. :)
Graham
13-Jul-2006
[4537]
maybe some wizard will have fixed it by the time I awake :)
Pekr
13-Jul-2006
[4538]
Cyphre will look into it now and post results here ...
Volker
13-Jul-2006
[4539x3]
;a quick fix seems to be
	process-keystroke: make function! [face event /local f] [
		switch/default event/key [
			#"^-" [
				if all[view*/focal-face viewed? view*/focal-face][
added the "viewed? view*/focal-face"
recurses in next-field with wrap: true, and the face is always the 
focused one from the closed window. but i guess cyphre found that 
too :9
Pekr
13-Jul-2006
[4542]
not sure he looked into it, yet :-)
Volker
13-Jul-2006
[4543x2]
rebooted to early. forgot to mention its here:

        all [                                                            
               
; [che] -- Return older siblings. 
            target: next-field/wrap face
not? how long does graham sleep? :)
[unknown: 9]
13-Jul-2006
[4545]
Graham: "For me, function is beauty"


As it is for me.  But your statement here implies that this issue 
is superfluous in light of deeper issues, which mischaracterizes 
the problem.   Form and function go hand in hand.  In a GUI (which 
literally implies both form and function) subtle information is transmitted 
in the cross roads of the form and the function.


Links, buttons, rounded buttons mean different things in different 
places.  To marginalize it may be myopic.


Anton: "I think that can't be good for people with vision problems. 
I say stick to the simple old ways."


We are actually going to offer both, we are actively working on this. 
 


.
Anton
13-Jul-2006
[4546]
Volker, last time I looked a pane *block* cannot contain functions. 
(I remember wishing it could.)
Graham
14-Jul-2006
[4547]
Volker, that patch seems to work.  I shall report back over time... 
thanks.
Cyphre
14-Jul-2006
[4548]
Graham, I just looked into the problem. It was not caused by the 
RADIO-GROUP changes (as it crashes  even when remove the widget from 
your layout). And yes, Volker's quick fix looks good to me ;-)
Graham
14-Jul-2006
[4549x2]
Yes, I came to that conclusion.  I think I updated Rebgui with the 
tab changes and the radio group changes at the same time.
I hope someone with write access can fix the sources.