World: r3wp
[!RebGUI] A lightweight alternative to VID
older newer | first last |
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 [2527x5] | 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" | |
oops.. didnt realise I still had the fill-pen scales set to 0.5 .. was testing effects.. :) | |
BrianW 26-Nov-2005 [2532] | Is there a way to do menus in RebGUI? |
Graham 26-Nov-2005 [2533] | There is no menu widget, and none planned AFAIK. |
Robert 27-Nov-2005 [2534x4] | Just playing around with tab-panel. The tab highlighting isn't working correct. The text keeps underlined (orange) even if I select an other panel. When moving the mouse over other panels, the highlighting stays. Note: I use several nested tab-panels. |
It only happens in the most nested tab-panel group. So if you nest three tab-panels with 4-5 entries you will see the effect. | |
min-size: This feature is only applied after the first try to resize the window. Than it's used, at startup time, the window has a "default" size. Whereever this size comes from. | |
table: if a column has the width of the sort arrow, it's no longer possible to change sorting order after clicking once. | |
older newer | first last |