World: r3wp
[View] discuss view related issues
older newer | first last |
Graham 9-Dec-2006 [6372x2] | Either someone has a lot of questions, or I need to install a language pack! |
wo kan bu dong. | |
Jerry 9-Dec-2006 [6374] | sinoglyph.r is cool. |
Graham 9-Dec-2006 [6375] | Pretty neat stuff ... |
[unknown: 9] 10-Dec-2006 [6376x2] | There is a unicode gorup here if you guys want to review the convo already had there. |
And Carl spoke up there too. | |
Cyphre 11-Dec-2006 [6378] | Displaying of 'exotic'(from european POV) unicode is not easy task. Couple of months ago I have been enhancing one software engine with custom bitmap text rendering for Arabic text support. It was a nightmare ;) But in the end I somehow mixed it with Windows support so it worked at least acceptable (even MS have some issues in their implementation). |
Maxim 11-Dec-2006 [6379] | even MS ;-) does MS do anything completely right? |
Ingo 12-Dec-2006 [6380] | Yes! Marketing ;-) |
Maxim 12-Dec-2006 [6381] | lol ! |
JaimeVargas 14-Dec-2006 [6382x2] | http://conal.net/phooey/ Phooey is a functional UI library for Haskell. GUIs are usually programmed in an "unnatural" style, in that implementation dependencies are inverted, relative to logical dependencies. This reversal results directly from the imperative orientation of most GUI libraries. While outputs depend on inputs from a user and semantic point of view, the imperative approach imposes an implementation dependence of inputs on outputs. Phooey ("Phunctional ooser ynterfaces") retains the functional style, in which outputs are expressed in terms of inputs. In addition, Phooey supports dynamic input bounds, flexible layout, and mutually-referential widgets. |
An nice example of dialecting in Haskell without falling into imperative style. Similar to Flapjax and his forfater FrTime. | |
Graham 14-Dec-2006 [6384] | You're supposed to be resting! |
Anton 15-Dec-2006 [6385x4] | Mmm.. he's probably eating a steak with a thick sprinkling of salt on it. |
Ok, here's a couple of VID styles I found useful - HGROUP and H-ITEM : | |
view center-face layout [ style hgroup panel with [insert init [insert second :action [across]]] style h-item panel with [insert init [insert second :action [space 0 across]]] hgroup [box 50x50 navy box 50x50 coal] h-item [box 30x30 tan box 40x30 wheat] ] | |
HGROUP is just a panel whose default layout direction is ACROSS instead of BELOW. H-ITEM is just the same, but without spacing between the subfaces (so they are stuck together as one "item"). | |
Gregg 15-Dec-2006 [6389] | Nice Anton! |
Jerry 17-Dec-2006 [6390] | REBOL[] scroll-pane: make face [ color: red set-bounds: func [ offset [pair!] size [pair!] ] [ ; why not be called? print "$" ] ] Window: make face [ offset: 30x30 pane: reduce [ scroll-pane ] feel: make feel [ detect: func [face event ] [ switch event/type [ resize [ print "%" Window/pane/1/set-bounds: 0x0 Window/size/x / 2 show Window ] ] event ] ] ] view/options Window [ resize ] ; After resizing the window, only the "%" can be printed. Why set-bounds in the scroll-pane is not called? |
Anton 17-Dec-2006 [6391] | Error is here: Window/pane/1/set-bounds: 0x0 Window/size/x / 2 should be: Window/pane/1/set-bounds 0x0 Window/size/x / 2 |
Jerry 17-Dec-2006 [6392] | Thank you Anton. I am so embarrassed. I should not make such an error. Not like this. |
Anton 17-Dec-2006 [6393] | That's alright :) We all do it. |
Gregg 17-Dec-2006 [6394] | Yup. Made that kind of mistake plenty of times. |
Anton 19-Dec-2006 [6395x2] | Here's a document (using LAYOUT spec) which tries to explain a proportional resizing algorithm. do http://anton.wildit.net.au/rebol/doc/resizing-algorithm-doc.r |
And here's a demo implementation: A HPANEL style implements the algorithm (additionally with wrap) and you can play with it by dragging with the mouse: do http://anton.wildit.net.au/rebol/doc/proportional-resizing-example.r | |
Graham 19-Dec-2006 [6397] | what exactly does the demo do? |
Anton 19-Dec-2006 [6398] | Did you try click and drag with the mouse near the bottom of the window ? |
Graham 19-Dec-2006 [6399] | yeah .. the window resized but nothing inside the window changed. |
Anton 19-Dec-2006 [6400] | Click in the window. It resizes the HPANEL, which then distributes the space inside itself to its subfaces. |
Graham 19-Dec-2006 [6401] | Oh .. got it! |
Anton 19-Dec-2006 [6402] | I am interested to know if people think it's a good system or not, with the four limits. |
Gabriele 19-Dec-2006 [6403] | anton, what is the advantage of having hard-min, min, max and hard-max? |
Anton 19-Dec-2006 [6404x3] | Gabriele, the four limits create, in between them, 3 zones where the available space is distributed proportionally. Having three zones allows the faces to behave differently depending on whether space is at a premium, whether there's an "normal" amount of space, or whether there's lots of available space. |
(Has anyone ever seen a proportional sizing system with different zones like that ?) | |
The example faces in the demo are a bit abstract from reality, so I'll come up with some real-life examples... | |
Cyphre 19-Dec-2006 [6407] | hmm, I think if you are resizing proportionally the space between elements can be also distributed proportionally so no need to care about it? But maybe I just didn't get it so looking forward to some examples ;) |
Anton 19-Dec-2006 [6408x3] | Yes, looking at it again I realise it's too abstract like this :) |
Just fixing up the demo so it's easier to change the subfaces. | |
(Can't upload for some reason... must go to sleep, until tomorrow...) | |
Gregg 19-Dec-2006 [6411] | A more concrete demo will help, but it's a cool demo none-the-less. :-) |
Maxim 19-Dec-2006 [6412x5] | anton, Glayout already does this and much more... |
and again, its VID based. | |
GLayout really is only a stylesheet. with extra hooks included in window managers and stuff. you hpane is the same concept as my hgroup... | |
if you'd put a little time you could very easily put your vid styles within GLayout and benefit from all of this done and debugged for the last 2 years... I am using it commercially. | |
the looks are just a VID skin, you can very easily change that... | |
Anton 19-Dec-2006 [6417] | Ok, uploaded a new version do http://anton.wildit.net.au/rebol/doc/proportional-resizing-example.r |
Maxim 19-Dec-2006 [6418] | the wrapping is neat :-) |
Anton 19-Dec-2006 [6419x3] | So, starting small and increasing the size, you can see the buttons have a "compressed" state (hard-min), and they stay compressed until the location field reaches its min-size, which is the size at which the field has "enough" room for most normal location strings. So the field has reached its "preferred minimum" size. |
Increasing further, the buttons expand to have enough room on either side of their text for some nice visual padding, but they don't need to get any wider. It is preferred for the field to get all the space. | |
Maxim, the problem for me with GLayout is the "and much more...", if only because it will take me longer to understand it. | |
older newer | first last |