World: r3wp
[!REBOL3 GUI]
older newer | first last |
Henrik 26-Jul-2010 [2244x2] | he pragmatic, and I suppose he sees it as pragmatic when he wants to use colors to decide button emphasis. if you are doing something quick and dirty that works, but when you are building very large apps, that's a no-no. |
hmm... "he pragmatic, me Tarzan, ugh." | |
BrianH 26-Jul-2010 [2246] | I remember that the solution we came up with during the initial design phase was to have colors in the layout dialect be specified functionally, like window-background and such. This was not implemented at the time (we never got around to it). Was it forgotten? |
Anton 26-Jul-2010 [2247x2] | Yes, named colours are good. |
I find that highly desireable. | |
Henrik 26-Jul-2010 [2249] | that's not yet implemented. colors in Carl's version are hard coded. notice also that a lot of values are hardcoded in his styles, and he told me this was for speed. |
BrianH 26-Jul-2010 [2250] | That way a theme designer can come up with a well-balanced color scheme that could be used by many applications, as long as the corresponding concepts had assigned colors in the theme. |
Henrik 26-Jul-2010 [2251] | I expect there will be a lot of abstractions between the hard values and the styles. The material system will also help with that. |
Anton 26-Jul-2010 [2252] | You could bake the colour in at style init time, and then you will have the same render speed. |
Henrik 26-Jul-2010 [2253] | that's what usually happens now. |
BrianH 26-Jul-2010 [2254] | With a meterials system you could bake a whole theme in at app init time, then have the styles bake the applicable colors into the styles at style init time. |
Henrik 26-Jul-2010 [2255] | baking , I like this term :-) |
BrianH 26-Jul-2010 [2256] | Sorry for the typing errors, I need to rest and can't sleep. It's still Sunday for me. |
Henrik 26-Jul-2010 [2257] | the materials system borrows many terms from 3D modeling. "baking" is another one and a good one for providing an explanation of what should occur during style init. |
Anton 26-Jul-2010 [2258] | You might also use "imprint". |
BrianH 26-Jul-2010 [2259x3] | One of the other original motivations for strong theming support was to get the theming sites around the internet involved. Challenge them to come up with good themes. Their efforts would market REBOL as well. But disabilities, other form factors and other situations are a factor as well. |
This would deal with Shadwolf's complaint about R2's VID appearance. | |
That means declarative themes though, no procedural code involved. The themes should be able to be made by non-programmer artists working with graphical tools (likely also written in REBOL). | |
Pekr 26-Jul-2010 [2262] | BrianH: are you suggesting no more BUTTON RED "OK" code? :-) |
Henrik 26-Jul-2010 [2263] | yes, you would simply write OK-BUTTON instead. |
Pekr 26-Jul-2010 [2264x2] | OR button-RED instead :-) |
simply put - it is not that it would not be technically possible to pass any such argument to the style during the construction. It is about - we don't want to do that for some attributes, color being one of them, because it could ruin overall look of the GUI ... | |
Henrik 26-Jul-2010 [2266x2] | it's not just looks. deep semantics that are used to make the GUI function properly relies on functional styles rather than appearance of styles. if you have a red button, the GUI won't know of its importance. but if you have an OK-BUTTON, you can tell how important it is, when it should be focused and what you are allowed to do with it. automating this can cut off hundreds of hours of development and testing time, because you don't have to pay attention to those details. the UI system does that for you. |
that is why I utterly hate when a UI system does nothing to offer these features and the focus is on how pretty your buttons are or if the UI uses hardware acceleration. | |
Pekr 26-Jul-2010 [2268] | I see no difference between OK-BUTTON, and RED-BUTTON. E.g. in some embedded apps, RED means STOP. The fact that your OK-BUTTON does some other things does not matter, no? I just don't probably understand your "automating" argument. Can you give me an example? |
Henrik 26-Jul-2010 [2269x3] | sure, have you ever written a very large document in Word and then wanted to generate a table of contents using its built in TOC generator? |
it can't do that, if you don't specify what exactly the headlines are. you can color them as crazy as you want, but it won't understand it. | |
this is _exactly_ the same problem. | |
Pekr 26-Jul-2010 [2272] | I was taught proper document design back at the Lotus AmiPro days - much better than Word at that time, and it pushed you to use styles. So - I hate inline styling. But - how does it apply to the GUI? |
Henrik 26-Jul-2010 [2273x2] | proper usage of styles in the R3 GUI works exactly the same as in documents that are properly styled. there is no difference. |
and that's why you never see in a word processor a function like: "collect all red text for use in TOC". it says: "use headline level 1 for TOC". | |
Gregg 26-Jul-2010 [2275] | On naming, I think PANEL is too general and doesn't describe the layout behavior. I could live with it though. I agree that TABLE should be saved as that is the common term for the spreadsheet model. GRID was used for that for a long time, and still is sometimes, but GRID could also be good when thought of as a canonical grid layout. GRID-LAY, CANON-LAY, or TABLET aren't too inspiring either. |
BrianH 26-Jul-2010 [2276x2] | Gregg, one thing that became clear in discussions of function doc strings recently in Curecode is that it is impossible to fully describe the behavior of some programming functions and objects using just one name, one sentence, whatever. No matter how long you allow the description to be, any sufficiently complex thing won't be describable in that limit. And you *want* limits because people have to read and write these terms, even more so for fundamental stuff that will be used a lot. The use of small, preferably non-compound words will speed up the process of humans reading and writing layouts. Java failed this pop quiz, btw. This is why we have names for stuff (and people too: Does "Gregg" describe you?). A name serves as a placeholder for the knowlege you already have about the object in your head (preferably) or in the documentation. As long as we have good documentation, any small, easily distinguishable name will do. You will never fully describe the term, but by reading the documentation, or source, or through experience, the programmer will know what is meant. In this specific case, "panel" is a general term, but many GUIs have traditionally used the word "panel" to describe the corresponding concept in their systems. That term never fully describes the behavior of that object, but it makes a good, easy to remember name for a complex concept that the developer is expected to have to learn. By using PANEL, at least experienced developers will know that they will have to look things up, and inexperienced developers will have to look things up no matter what name we choose. You don't get the same benefit from the term BOARD, for instance, because while the English terms are similar, "board" doesn't have the historical connotations that "panel" does in the computing world, so it doesn't gain the benefit of them. |
Yes, I realize ithe irony in using such a long post to argue for short words, but in some ways it illustrates my point :) | |
Gregg 26-Jul-2010 [2278] | LOL. Thanks for the detailed and thoughtful post in any case. As I said, I can live with PANEL, which is good since I couldn't come up with anything better. |
Graham 26-Jul-2010 [2279] | call it jigsaw :) |
Gregg 26-Jul-2010 [2280] | Mosaic? ;-) |
Anton 27-Jul-2010 [2281] | Decoupage ? ;) |
Pekr 27-Jul-2010 [2282x2] | Deco ... what? :-) |
box, board, mosaic, matrix, sieve, die, wire, netting, tissue ... and the winner is - panel :-) | |
Henrik 5-Aug-2010 [2284x2] | small status update: Not much happening on the release/testing side. Bolek found a nasty bug in MAKE-FACE, causing FACETS to be lost. Cyphre and Ladislav continue to work on resizing and Bolek is working on styles. When the styles are properly adapted to the new resizng scheme, I can test the new dialogs properly. |
Of an interesting note, the new Google Images uses exactly the layout being discussed above. | |
Robert 5-Aug-2010 [2286] | And Cyphre is working on the richt-text part to work with the new-hostkit. |
Henrik 5-Aug-2010 [2287] | I'm going to see, if I can sell an ATTACH reactor to Carl. Maybe he has other ideas. :-) |
Anton 5-Aug-2010 [2288] | What will ATTACHE do ? |
Henrik 5-Aug-2010 [2289x2] | simply attach two fields in two faces, so that when the attacher updates that particular field, the attachee updates also. |
the R3 GUI does something like that already with a RELAY option, but it's cumbersome to use and less flexible. | |
Anton 5-Aug-2010 [2291] | Ok, that sounds like it could be useful. |
Henrik 5-Aug-2010 [2292] | view [ c: color-button s: slider attach c 'brightness s 'value ] or something like that. |
Robert 5-Aug-2010 [2293] | Isn't LINK a better word? |
older newer | first last |