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

World: r3wp

[!RebGUI] A lightweight alternative to VID

MichaelB
18-Nov-2005
[2481x2]
in the flashdemo they looked iconic - what I wouldn't like too much 
- see "rant" above :-)
but still I think the power comes from the possibility to use them 
blind if done nicely like in the java applet above ... only to have 
it circular doesn't have to help too much, exept that it uses the 
space around the cursor better
Pekr
18-Nov-2005
[2483]
I am not against being innovative, but .... not sure that actually 
replace classical menu by circular one, removes reasons we try to 
abandon menu for :-)
Robert
18-Nov-2005
[2484x2]
If you want take a look at the manual, more screen shots.
Ashley, I'm going to send you a screenshot from my installation.
Pekr
18-Nov-2005
[2486]
Robert - so you find Circular menus kind of help-full?
MichaelB
18-Nov-2005
[2487]
- I thought the discussion was more or less about traditional menus 
at the top of the window or screen. I think context menus are very 
helpful as they support nicely the object-verb pattern and as long 
as they are designed the way that they don't change unexpectedly, 
they are good and the user can form habits (Jef Raskins book "The 
Humane Interface" is a lot about this stuff)

- and they should support this kind of blind usage - then they're 
a big leap I think
Ashley
18-Nov-2005
[2488]
I've never been a big fan of traditional context menus as they tend 
to get overloaded (you know things have gone too far when they are 
scrollable and have sub-menu's!) and the "target area" for selection 
is just too small (selecting the 3rd item quickly requires good mouse 
targeting). The first problem is an [application] design issue, but 
the second is solved nicely by this style of menu. 


Having said all that, I'll probably add two widgets: context-menu 
and bubble-menu which will be functionally and declaratively identical 
but with different look & feels.  Besides, I'm intrigued by the design 
challenge of this particular widget - I'm thinking multiple faces 
(one for each menu option) with a draw effect for the bubble and 
text ... hmm, but how to only register mouse clicks within a circular 
area ... and how to have pixels outside this area be transparent 
...and ...
Volker
18-Nov-2005
[2489x2]
One one trick could be a big sensor over the whole window.
And Chirs had a similar problem for non-rectangular faces. The idea 
was use a shadow-bitmap where colors represents choices.
Graham
18-Nov-2005
[2491]
Ashley, have you reconsidered allowing images to be inline rather 
than a file! type only ?
Ashley
18-Nov-2005
[2492]
Already supported. Try the following:

	display "" compose [image (help.gif)]
Graham
18-Nov-2005
[2493x2]
oh ..?? when was this introduced?
I must have missed the ann.
Ashley
18-Nov-2005
[2495]
No announcement. ;) I think it was introduced around 0.3.2 when the 
layout function was split off into a separate script.
Graham
18-Nov-2005
[2496]
And to think I had to write my paint module in VID as I thought this 
had yet to be done :(
Ashley
18-Nov-2005
[2497]
Lot of changes scheduled for 0.3.8 - aim is to get it out within 
a week.
Anton
18-Nov-2005
[2498x2]
You can't have "event-transparent" faces without changes to the View 
engine.
(I can say that for sure.)
Volker
19-Nov-2005
[2500]
About gui-look: How about mimicing amiga?
Graham
19-Nov-2005
[2501x2]
How about using the new Canvas GUI images ?
How about adding a slider to the title-group widget to allow scrolling 
of the text in the title-group ?
Robert
20-Nov-2005
[2503]
Just cross-posting Geomol's styles: http://home.tiscali.dk/john.niclasen/canvas/newstyles.r
Might be a nice base for RebGUI.
Ashley
20-Nov-2005
[2504]
Nice clean look. The "button-group" widget (buttons numbered 1 - 
4) would make a good addition. Good idea that.
Pekr
20-Nov-2005
[2505x2]
hmm, my last message got lost probably. I sent it, and then I got 
AltME blue-screen instead of message list for this group, and nothing 
appeared. Kind of short disconnection? :-)
What I just wanted to point out is - those styles do look nice. However, 
they don't seem to reflect mouse-over effect. My question is, if 
we give-up on that. IIRC Chris pointed out, that you have to count 
with such things prior to starting your design. Also - what about 
reflecting in-focus styles? As we know, OS does count with it and 
reflects it visually, what about our Rebol UIs?
Ashley
20-Nov-2005
[2507]
Not sure what you mean by "in-focus styles" - please elaborate. ;)
Pekr
20-Nov-2005
[2508]
Ashley - simply put - keyboard navigation (tabbing). In Windows, 
e.g. if button is tabbed=in-focus (my english term :-), you can visually 
distinguish it ...
Graham
20-Nov-2005
[2509]
You mean there's a hover visual notification?
Pekr
20-Nov-2005
[2510]
yes ... currently there is in RebGui, but there is not with Geomol's 
styles. Or do I miss anything?
Graham
21-Nov-2005
[2511]
Text does not reformat when an area field is resized.
shadwolf
23-Nov-2005
[2512x3]
today jipé of rebol french scene have proposed this  progress bar 
:
rebol []
lg: 0
pos: 50x40
fen: layout/size [
at pos

b1: box white 150x20 "0%"  font [size: 11 color: black shadow: none] 
frame black 1
at pos + 1x1

b2: box 1x18 yellow effect [merge colorize 255.255.0 invert] rate 
25 feel [
engage: func [face action event][
if (b2/size/x < 148) [
   lg: lg + 1
   b2/size: b2/size + 1x0
   b1/text: join to-integer lg / 147 * 100 "%"
   show [b1 b2]
   ]
]
]
] 250x100
view/title center-face fen "Smart progress bar"
would be fun in rebGUI ^^
Pekr
23-Nov-2005
[2515]
looks like old Windows one :-)
shadwolf
23-Nov-2005
[2516x2]
yes that's the trick ^^ but it's fun  old fashion
effective and short code
Ashley
23-Nov-2005
[2518]
I didn't know "frame" was a shortcut for "edge [...]". How long has 
that been in VID? Nice code BTW, I think I'll add it.
shadwolf
23-Nov-2005
[2519]
i didn't know it neither  ^^ jipé is full of suprise i love those 
 little and  full of trickies codes ^^
Graham
23-Nov-2005
[2520]
'frame was in the very early versions of VID but I thought it was 
replaced by 'box.  Perhaps it was resurrected for another use ?
shadwolf
24-Nov-2005
[2521x3]
an amelioration!
rebol []
lg: 0
pos: 50x30
fen: layout/size [
at pos

b1: box white 150x20 "0%"  font [size: 11 color: black shadow: none] 
frame black 1
at pos + 1x1

b2: box 1x18 yellow effect [merge colorize 255.255.0 invert] with 
[
rate: 0
feel: make face/feel [
engage: func [face action event][
if action = 'time [
if (b2/size/x < 148) [
   lg: lg + 1
   b2/size: b2/size + 1x0
   b1/text: join to-integer lg / 147 * 100 "%"
   show [b1 b2]
   ]
   ]
   ]
]
]
t: text 100  form b2/rate
bt: btn "Stop" [
b2/rate: pick [0 none] 'none = b2/rate
bt/text: pick ["Stop" "Start"] "Start" = bt/text
t/text: form b2/rate
show [b2 bt t]
]
] 250x140
view/title center-face fen "Smart progress bar"
thank to jipé for his  implication
DideC
24-Nov-2005
[2524]
It's nice, but it's not really a style.
Graham
25-Nov-2005
[2525x2]
Is there an easy way to change the image in a title-group, *and* 
have the pane holding the text change accordingly ?
I can set the pane offset and the para origin manually .. perhaps 
needs an accessor function?
ICarii
26-Nov-2005
[2527x4]
shad - here's another take on that progress bar :)
rebol []
stylize/master [
	agg-progress: box white "0%" with [
		pstart: pend: pfunc: none
		progress: 50
		oldprogress: 0
		update: does [
			if (self/progress <> self/oldprogress) [
				self/oldprogress: self/progress

    self/effect: compose/deep [draw [pen none fill-pen linear 0x0 0 (self/size/x) 
    25 1 1 red yellow cyan blue box 0x0 (as-pair self/size/x * (self/progress 
    / 100) self/size/y)]]
				self/text: join to-integer self/progress "%"
				show self
			]
		]
		append self/init [self/update]
	]
	rate 25
	feel [
		engage: func [face action event][
			if action = 'time [
				if (face/progress <= 100) and (face/progress >= 0) [

     face/progress: to-decimal ((face/pfunc - face/pstart) * 100 / to-decimal 
     (face/pend - face/pstart))
					face/update
				]
			]
		]
	]
]
view/title center-face layout/tight [

 agg-progress 250x11 font [size: 11 color: none shadow: none] with 
 [pstart: now/time/precise pend: pstart + 30 pfunc: does [return now/time/precise]]

 agg-progress 250x11 font [size: 11 color: none shadow: none] with 
 [pend: now/time/precise pstart: pend + 30 pfunc: does [return now/time/precise]]

 agg-progress 250x11 font [size: 11 color: none shadow: none] with 
 [pstart: 0 pend: 100 pfunc: does [random/seed now/precise return 
 random 100]]

 agg-progress 250x11 font [size: 11 color: none shadow: none] with 
 [rate: none progress: 50]
] "AGG progress bar"
;-)
stylize/master [
	agg-progress-pie: box white "0%" with [
		pstart: pend: pfunc: none
		progress: 50
		oldprogress: 0
		update: does [
			if (self/progress <> self/oldprogress) [
				self/oldprogress: self/progress

    self/effect: compose/deep [draw [pen none fill-pen conic (self/size 
    / 2) 0 (self/size/x / 2) 90 0.5 0.5 red yellow cyan blue arc (self/size 
    / 2) (self/size / 2) 0 (self/progress * 360 / 100) closed]]
				self/text: join to-integer self/progress "%"
				show self
			]
		]
		append self/init [self/update]
	]
	rate 25
	feel [
		engage: func [face action event][
			if action = 'time [
				if (face/progress <= 100) and (face/progress >= 0) [

     face/progress: to-decimal ((face/pfunc - face/pstart) * 100 / to-decimal 
     (face/pend - face/pstart))
					face/update
				]
			]
		]
	]
]
view/title center-face layout/tight [

 agg-progress-pie 100x100 font [size: 11 color: none shadow: none] 
 with [pstart: now/time/precise pend: pstart + 30 pfunc: does [return 
 now/time/precise]]

 agg-progress-pie 100x100 font [size: 11 color: none shadow: none] 
 with [pend: now/time/precise pstart: pend + 30 pfunc: does [return 
 now/time/precise]]
] "AGG progress pie"