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

World: r3wp

[!RebGUI] A lightweight alternative to VID

Robert
14-Feb-2007
[5256x2]
Ashley, I again would like to send you our enhanced version. We have 
extended the RESIZING to include proportional resizing, enhanced 
the widgets, made a new one graph-widget (for graph layouting) and 
so on.
Ok?
Ashley
14-Feb-2007
[5258x2]
Sure, but manually merging enhancements is a real pain compared to 
SVN development ... hint, hint. ;)
build#52 committed to SVN. Includes following fixes:

	- Info option now prevents tabbing

 - Added action-on-tab block to behaviors (works in same manner as 
 action-on-enter)
	- Fixed modal requestor problem
Ashley
15-Feb-2007
[5260]
Graham, have you managed to pin done the field and area problems 
you were having? I haven't been able to reproduce either of them.
Graham
15-Feb-2007
[5261]
If I script switching panels and setting focus to an area field ... 
it often crashes.
Ashley
15-Feb-2007
[5262]
build#53 committed to SVN. Button widget rewritten to take full advantage 
of AGG and fix some anomalies (e.g. actions now fire on button up 
instead of button down, replaced 'active facet with options [info], 
hover effect no longer "sticks" when a popup is called from a button, 
etc). And all this in 1/4 of the code! ;)
Pekr
15-Feb-2007
[5263]
nice!
Graham
15-Feb-2007
[5264]
Robert, is there a tree widget available yet in your version?
Graham
16-Feb-2007
[5265x6]
I thought there was a tree widget embedded inside another widget 
of Cyphres
The spinner widget now using alt click .. is that a problem for OSX 
?
This seems to be slightly anomalous behaviour.  When a modal requester 
is present, every other widget works ( in other windows ) except 
the drop/edit list.
Probably not best practise, but I have scattered "attempts" throughout 
the Rebgui code to stop may apps crashing.
My apps
eg. I have this in area.r

						attempt [ ;;GC
						; Keep caret inside the visible part of the area
						view*/caret: offset-to-caret parent-face min max 

       (caret-to-offset parent-face view*/caret)	; get the current position 
       of the caret

       (sizes/font-height * 0x1)					; minimum, plus height of one line 
       of text, to keep caret fully visible

       (parent-face/size - (face/size * 1x0) - (sizes/font-height * 0x1)) 
       ; maximum, subtract height of one line of text

						]
Ashley
16-Feb-2007
[5271]
spinner widget now using alt click .. is that a problem for OSX
 Nope, OSX maps that to CTRL-click

The build I'm working on reverts spinner to a more "normal" behavior 
(I've worked out how to get half height arrows)
slightly anomalous behaviour ... modal requester

 The underlying View popup/modal system has some subtle bugs, some 
 of which will hopefully be fixed in R3.
scattered 

attempts" throughout the Rebgui code" ... Odd, I've never needed 
this. Is it only in more recent build(s)? I'd really like to identify 
and fix the underlying cause(s).
Graham
16-Feb-2007
[5272x5]
In the function 'current-word, in rebgui-edit.r
I have to trap with 

if series? str [ .. ]
In process-keystroke, I have this

					f: either event/shift [
						back-field view*/focal-face
					][
						attempt [ ;;gc
							next-field view*/focal-face
						]
					]
Hmm.  The new version of process-keystroke has a lot more code in 
it.
in process-keystroke, after the #" ", I have all my function key 
handlers
Ashley
16-Feb-2007
[5277]
Causes? So far you've mentioned three:

	Clicking too fast/repeatedly in a field
	Sporadic area errors
	Tab-panel with focus in multiple panels

All these point back to the edit object.
Graham
16-Feb-2007
[5278x7]
Yes .. definitely problems there before.
scrolling also used to die .. had to put attempt blocks there as 
well.
in 'edit-text .. I have a large attempt block from		caret: caret-to-offset 
face view*/caret to show-face
I see I had fixes for scroll-line and scroll-page but looks like 
Cyphre has now fixed those.
Maybe rather than using attempt, I should maintain an error log ...
Hm. Getting this error with all my widgets derived from field

>> do %create-distribution.r
Script: "Create RebGUI distribution" (7-Oct-2006)
Script: "RebGUI system" (16-Feb-2007)
** Script Error: field has no value
** Near: dfield: make field [
    size: 7x5
] drop-list:
and dfield.r is just this

dfield: make field [
	size:	7x5
]
Ashley
16-Feb-2007
[5285]
That's because dfield is processed before field. Look at how text.r 
/ label.r are defined.
Graham
16-Feb-2007
[5286x3]
Hmm.  It worked in previous versions of rebgui .. I just had my fields 
after yours in the list of included widgets.
make object! [
    code: 300
    type: 'script
    id: 'no-value
    arg1: 'chevron
    arg2: none
    arg3: none
    near: [chevron data 'left [change-date -1] 
        chevron
    ]
    where: 'layout
]
Looks like chevrons are history now ...
Ashley
16-Feb-2007
[5289]
Yep.
Graham
16-Feb-2007
[5290x4]
Pity .. I was using them to distinguish between small and large movements
ie. the chevron was a date change by day, and the arrow was by week.
I guess I can remove my chevrons, and use the spinner widget instead.
Ashley, what about activating the action on spinner widget each time 
the value is incremented/decremented.
Graham
17-Feb-2007
[5294]
I'm getting some anomalous tabbing results with 53.  Seems to jump 
the next widget to tab to if the current widget has an action block.
Ashley
17-Feb-2007
[5295]
build#55 committed to SVN. Numerous widget fixes and enhancements 
to the following widgets:

	anim
	
arrow
	
bar
	
box

	button
	
field
	
group-box
	
image
	
label
	
pane
	l
progress
	
spinner
	
splitter
	
text
	
tab-pane
	title-group


The most noticeable improvements include the following tab-panel 
enhancements:

	first tab action now fires when widget is first displayed

 can select an alternate tab to initially display with "options [tab 
 2]" etc

 can programmatically select a tab at runtime with var/select-tab 
 2

title-group and panel now have rounded corners.
Graham
17-Feb-2007
[5296x2]
Looks like some type of evaluation changed as well.
I had functions that looked like this

vector-tab: does [ hide [ abutton ]]


and now these all come up with errors saying abutton is not defined.
Robert
17-Feb-2007
[5298x2]
Ashley, yes, but we first have to merge to a stable release. I'll 
talk to Cyphre how to do it. Because we did it on our side but some 
changes we made are not compatible. So let's see where we are and 
than decide how to merge it.
Graham, the code is there but not yet put into a seperate widget. 
But I think it could be done very easy.
Graham
17-Feb-2007
[5300]
Trying to figure out the tabbing issue and came across this

rebol []

do %rebgui.r

display "" [
^-label "field has action" field [ print face/text ] return
^-label "also has action" field [ print face/text ] return
^-label "no action" field return
^-button "Quit" [ unview/all halt ]^-
]

do-events}

Script: "Untitled" (none)
Script: "Untitled" (none)

** Script Error: find expected series argument of type: series port 
bitset
** Where: switch

** Near: if all [view*/focal-face find view*/focal-face/options 'input-grid-item 
get in view*/focal-face/parent-face '
cell-action...

after clicking in the first field.
Ashley
17-Feb-2007
[5301x3]
Works for me. Try putting an "attempt [delete %ui.dat]" prior to 
the "do %rebgui.r" line to see whether it's a config difference.
does [ hide [ abutton ]]

 also works for me. What REBOL version are you running? I'm on 1.3.2.3.1 
 here.
re: chevron. You'll also be glad to know that chevron will re-emerge 
as an option of arrow. The previous implementation didn't take advantage 
of AGG's new line-width command,and duplicated much of the code found 
in arrow anyway. I'm putting RebGUI on a diet and trying to remove 
some of the "fat" that has managed to creep in. ;)
Robert
17-Feb-2007
[5304]
I hope this step won't kill some of our extensions ;-)
Graham
17-Feb-2007
[5305]
Works now for me too! Bizarre.