World: r3wp
[!RebGUI] A lightweight alternative to VID
older newer | first last |
Ashley 9-Mar-2005 [151] | I'll make sure that the next iteration of examples all have an "icon [action [unview halt]]" in them just for you. ;) |
Graham 9-Mar-2005 [152] | Much appreciated. |
Vincent 9-Mar-2005 [153x3] | In http://www.dobeash.com/it/rebgui/widgets.html, in Feel function templates, there's missing the 'move event in engage. It's used for dragging actions in a layout. Here a vertical splitter widget using it : |
v-splitter: make face [ size: 5x100 edge: make edge [size: 1x1 effect: 'bevel] feel: make feel [ engage: function [face act event][f p n delta][ if event/type = 'move [ f: find face/parent-face/pane face p: first back f n: first next f delta: face/offset/x - face/offset/x: min n/offset/x + n/size/x - 1 - face/size/x max p/offset/x + 1 face/offset/x + event/offset/x p/size/x: p/size/x - delta n/size/x: n/size/x + delta n/offset/x: n/offset/x - delta show [p face n] ] ] ] ] | |
To use it, just insert it between the faces you want to resize: text [text "Some text" 320x40] v-splitter [size 5x40] box [size 60x40 color blue] | |
Ashley 9-Mar-2005 [156x2] | Now *that's* elegant! |
Following documents updated to reflect latest changes / feedback: RebGUI Display User's Guide - new layout refinement plus widget descriptions added RebGUI Widget Designer's Guide - init attribute added REBOL/View Facet Summary - various | |
Vincent 10-Mar-2005 [158x2] | thanks :-) suggestion: the 'rate attribute/facet could be specified in a display - for 'anim and futur widgets. In 'display code: |
rate: any [select attributes 'rate rate] | |
Robert 10-Mar-2005 [160] | Will the splitter be integrated into the next release? |
Pekr 10-Mar-2005 [161] | did not follow the discussion - what is RebBUI? Is it VID replacement? |
Robert 10-Mar-2005 [162] | yep |
Pekr 10-Mar-2005 [163x2] | complete or based upon VID? |
is there anything to try already? How does it compare to Maxim Glayout or how is that called? Or Slim, or Steel? Never know what Maxim's names, terms etc. mean :-) | |
Vincent 10-Mar-2005 [165x2] | not based on VID - it's a remplacement |
you can try the examples supplied with rebgui: http://www.dobeash.com/files/RebGUI-013.zip | |
Pekr 10-Mar-2005 [167] | thanks, will try it. Debeasch, it is Ashley, right? If RebGUI will be of the same quality as RebDB, it is surelly gonna be cool. Ashley is very good and precise designer, his code is nice. Other such folk is DocKimbel, his mySQL code was pleasure to study :-) |
Vincent 10-Mar-2005 [168] | the main web page is http://www.dobeash.com/it/rebgui/ there's more information there on Ashley's project - a nice doc on /View engine growing with RebGUI progression. |
Pekr 10-Mar-2005 [169x3] | OK, now I am confused with some of RebGUI concepts ... on one hand I do agree, that some of cross-style shared code was not eventually so good, I think that widgets shoud provide kind of full functionality ... I can't see any automatic scrollers for e.g. |
hmm, what looks simple becomes more difficult when you want more difficult behavior. I speak of resizing, I am not sure it is fully sufficient as it is, but Romano surely knows more :-) | |
If I imagine more complex style as e.g. grid, with Romano's system you had ability to create resize groups, to anchor something to different face etc. But then RebGUI seems to follow different target then I thought. I want full OS compliancy in behavior ... | |
Ammon 10-Mar-2005 [172] | Nah, RebGUI is simply a minimilistic, holistic approach where you don't any thing more then is needed and what you add is self sufficient. (at least that's my take on it...) |
Pekr 10-Mar-2005 [173] | yes, now I understand it too. It is not for OS compliant apps, but for kind of embedded devices ones :-) |
Ammon 10-Mar-2005 [174] | Yeah, that's more like it. But it can be used to provide simple, clean OS independant applications too... |
Pekr 10-Mar-2005 [175] | where does Glyout/Steel/Liquid thingy stands in comparison? |
Ammon 10-Mar-2005 [176] | GL goes for a more dynamic approach while maintaining performance. Did you see Maxim's rework of a multi-column scroll list? Fast, very fast. |
Ashley 10-Mar-2005 [177] | Vincent: rate suggestion ... done (overlooked in 0.1.3) Robert: Will the splitter be integrated into the next release? ... Yes Pekr: "I want full OS compliancy in behavior" ... which OS and what skin? Ammon: "RebGUI is ..." ... spot on, and I like that sentence so much I'll add it in some shape or form to the main page ;) |
Pekr 11-Mar-2005 [178x3] | Ashley - it was long discussion at some stage of View 1.3 project, but shortly - my opinion is, that we don't need to skin anything. IMO it is good and vital, if we are distinguishable, so ppl can say - it is that colorfull app, Rebol :-) What I have in mind by OS compliancy, is behavior, so mainly keyboard handler, but also mouse reactions etc. |
Romano did nice job with keyboard handler, but e.g. - because of no rich-text ability, we are not able to display accelerator key (underlined char). VID styles also are not ready yet, to visually distinguish it has focus or not ... | |
Proper and OS compliant behavior is imo MUCH more important, then skin ... | |
shadwolf 11-Mar-2005 [181x2] | pekr sure this will come in time but in a 0.1.3 version I don't think this is actually the priority ... |
first we have to make the set of widgets then tune them IMHO | |
Vincent 11-Mar-2005 [183x4] | a little correction to 'progress (didn't count the 'edge size and 0x0 origin in draw): |
face/effect/draw/box: to pair! reduce [ to integer! face/size/x - 3 * face/data: min 1 max 0 face/data face/size/y - 3 ] | |
a one-face horizontal slider prototype : | |
hslider: make face [ size: 200x20 data: 0.0 effect: [draw [pen 48.48.48 fill-pen 192.192.192 box 1x0 10x17]] feel: make feel [ redraw: function [face act pos][delta][ if act = 'show [ face/effect/draw/7/y: face/size/y - 3 delta: 5 + to-integer face/size/x - 12 * min 1.0 max 0.0 face/data face/effect/draw/6/x: delta - 5 face/effect/draw/7/x: delta + 4 ] ] ] init: does [ feel/engage: func [face act event][ if find [move down] event/type [ face/data: min 1.0 max 0.0 event/offset/x / face/size/x show face face/action face ] ] ] ] | |
Pekr 11-Mar-2005 [187] | shadwolf - that can be mistake. You have to keep those things in mind at least, as e.g. adding visual representation of focus may require different kind of measures of borders of widgets etc. (depends upon how you choose to represent it) |
Vincent 11-Mar-2005 [188x3] | for 'hslider - 'init is used to allow 'action in definition, as with 'action feel/engage is modified - must be tuned and modified according to futur specifications - usage example, in %example-misc.r, you can test it adding "hslider [size 200x20 data 0.75 action [p/data: face/data show p]]" - for a 'vslider, same code with all x and y swapped |
Pekr: visual focus like which OS? It isn't the same on Windows 95->2k and Windows XP, and there are other OS. Mouse reactions changes a lot between OS too. | |
a little set of existing controls makes it easier to discuss common behaviour. but it's important to discuss it as soon as we can. | |
Pekr 11-Mar-2005 [191] | Vincent - right. That means, we have to adapt to OS we run on .... |
Vincent 11-Mar-2005 [192] | more complex widgets shouldn't be done until we have a more detailled specification about global look and feel (colors, text size, ...) |
Pekr 11-Mar-2005 [193] | ... or ppl will feel hostily about your app .... they can imo forgive different look, but not different behaviour .... that is my experience ... even one slight difference can make ppl annoyed ... |
Vincent 11-Mar-2005 [194x2] | Pekr: that's mean we need different versions of each widget? |
why not totally different look and behaviour - the nearly same is annoying, the different is... different | |
shadwolf 11-Mar-2005 [196] | Pekr that's right but I think that"s a second stage of consern first we have to make those common widget we have to make them speedy then we culd let spent some cpu calc to look & feel purpose ;) |
Pekr 11-Mar-2005 [197] | OK, I read it is a community project - what is the concrete plan, if any? |
Chris 11-Mar-2005 [198] | For VID 1.3, the spec was to be close to XP while maintaining open-endedness for custom and legacy projects (Surfnet Detective is imo an XP-alike that 1.3 may have ended up as). As RebGUI is more focussed (and streamlined) than VID, I would recommend working toward a neutral style optimised for the kind of UIs that RebGUI is designed for. |
Ashley 11-Mar-2005 [199] | Pekr: "What is the concrete plan, if any?" ... shadwolf was on the mark. 1) Create a set of base widgets with the desired *functionality* 2) Select a look & feel to approximate 3) Apply this look & feel *consistently* to all base widgets Vincent is correct when he says we should discuss this sooner than later as look & feel can effect how a particular widget is implemented. As an example, a 'button widget trying to mimic WinXP might use multiple images and / or effects to mimic the various states a WinXP button can be in; while a minimalistic approach might just make use of 'edge and 'effect to toggle between several states. I'm leaning towards a minimalistic yet modern look & feel (perhaps even PDA-like) so put any useful links / comments / opinions / designs here for folks to look at. Here's one to get the ball rolling: http://projects.o-hand.com/matchbox/screenshots.html |
shadwolf 11-Mar-2005 [200] | Pekr and every one have to understand that starting a sutch project from scratch (white page) is a true challenge.In french scene we have an example of a heavy skinnable widgets library that became deprecated because several reason in witch there is no one to take in charge the continuity of the lib and that's pretty difficult to make a relevent work while we don't know what could be the VID futures. This library is interdependent of VID so while we don't know how Carl plan to extend it in futur it's hard to make up plans to maintain it. The name of this lib is libskins v3 witch was made by Etienne Alaurent.. What I want for RebGUI is that every one can participate on it apporting he's hown ideas to it but conserving the main project lines. I think Ashley is totally in this mood and try yet to make documentation around RebGUI concepts. In futur one posible idea to simplify the documentation elaboration could be to use the rebol french scene douwiki.Every people that creates a modification significant to RebGUI would write the related documentation directly to the dokuwiki this way the documentation task that had to make Ashley would be lighter. Ithink as Ashley have the "code vision" he must take in charge the code merging and releasing (that's yet what he do actually ;) ). If we want RebGUI to be maintained and constently adapted we must work as a team. This allow us to have more knowlege and more inovent ideas in the topic ;) |
older newer | first last |