World: r3wp
[!REBOL3 GUI]
older newer | first last |
Rebolek 17-Feb-2011 [6088] | How on earth I define, in stylize level, how is options block mapped to facets? Why do you want to do that? Let's say I want to write KNOB style. I can set for example it's value, color and size, so options would be something like: options: [ level: [percent!] knob-color: [tuple!] knob-size: [integer!] ; it's round, so diameter is enough for size ] Then I can use knob-color, knob-size... in draw block without any manual mapping. |
Pekr 17-Feb-2011 [6089] | You see, you have mess in naming, no wonder you don't know what I am talking about! |
Maxim 17-Feb-2011 [6090] | what mess? |
Pekr 17-Feb-2011 [6091x6] | Options you put here, are inline options, whereas what I am talking about is the options block from the dialect level, which maps to facets! |
http://curecode.org/rebol3/ticket.rsp?id=1847&cursor=7 | |
Uh oh, trying another way: button "OK options [my-field: "test"] Where is the 'my-field processed? That is the 'options I talk about, which I want added to stylize ... | |
And because style has 'options block, which maps to inlined parameters ("OK" string in above example), what I am claiming is a name clash/confusion here ... | |
hence the ticket ... | |
I can rephrase the question - how does user define, creating a style, what might be declared in an options block (dialect level, my-field: "test"), and how is such options block being evaluated, and values being assigned to facets? | |
Cyphre 17-Feb-2011 [6097] | Pekr, values that are specifiedin OPTIONS field in layout by user are set in the face/facets context. |
Ladislav 17-Feb-2011 [6098x3] | Let's assume I set button in bounds (between what min-size/max-size allows): I tried various scenarios, and I almost never got button of requested size. - yes, the size is always a result of resizing rules, as applied in a specific style. There are two methods working quite differently, the first one is used by vgroup/hgroup, the second one by vpanel/hpanel. If none is what you like, then there is a possibility, that you would like to have a completely different style, with different resizing rules... |
If you really want to have a completely different style, with different resizing rules, you should carefully write down your requirements/ideas so, that it would be clear how it would work. | |
- In regards to above point, I really wonder, if buttons should be resizable at all. I said - resizable, not settable. I wonder, if I would like buttons to be of consistent size. I might try with face/resizes?: false, if that would make the trick. If you set the RESIZES attribute to OFF, you get a completely different behaviour, than what you expect: - the resizing algorithm will leave the button untouched, which means, that it does neither compute the position, nor the size, and the button would just "float" - the next version will contain more than 20 different examples, Cyphre's visibility example manipulating the RESIZES attribute included - if you just want the resizing algorithm to not change the size of an element, while allowing the resizing algorithm to compute the position of the element, you should do it differently. Just set the INIT-SIZE, MIN-SIZE and MAX-SIZE of the element all to the same pair. You will notice, that the size of the element will not change, no matter what, only the position may change. | |
Cyphre 17-Feb-2011 [6101] | Pekr, regarding your OPTIONS vs. FACETS naming. I don't see any problem here. It's normal, especially in Rebol, that word symbols can be used differently in different contexts: in style context - the OPTIONS means 'inline options' in layout context - the OPTIONS means 'face options' Also from the beginner POV...it is easier to understand word OPTIONS in the layout dialect than FACETS no? |
Pekr 17-Feb-2011 [6102x2] | Ladislav - I might wait for examples, but - what is the main difference between - floating vs computing the position of the element? I somehow can't imagine it. Will it be shown in the examples? |
Cyphre - what you just said says it all. I don't care for different context and word meaning, if those contexts are so close one to each other, that it might confuss users :-) | |
Ladislav 17-Feb-2011 [6104] | yes, you shall find out, in general, "floating" means - the resizing algorithm influences neither the size nor the position in any way, i.e. the element "floats unnoticed by the resizing algorithm" |
Pekr 17-Feb-2011 [6105x2] | I think I understand the difference, but I was not easily able to see what is what, unless I studied it more deeply, and unless Ladislav told me during our meeting, that layout level 'options does not necessarily directly map to face/facets .... |
aha, so floating might mean, that the elemetns xy offset stays the same, so that e.g. button stay upon the area, or something like that? Is that usefull? :-) | |
Rebolek 17-Feb-2011 [6107] | Yes. |
Pekr 17-Feb-2011 [6108x2] | - if you just want the resizing algorithm to not change the size of an element, while allowing the resizing algorithm to compute the position of the element, you should do it differently. Just set the INIT-SIZE, MIN-SIZE and MAX-SIZE of the element all to the same pair - this is the worse solution from the two offered, while more usefull. I can imagine I simply don't want buttons being resizable. Then 'resizes field does not express the meaning of the word, as in fact it does not resize, but it also floats, which is imo not that much usefull. In order to prohibit e.g. button from resizing, I need to derive the styles, and remove the init-size options from being set. |
IIRC there were also some other "tags", allowing to describe parameters as HIDDEN, etc. - where are those set? I forgot .... | |
Ladislav 17-Feb-2011 [6110] | Hmm, you don't have to forbid setting INIT-SIZE. As I mentioned, it suffices to make sure INIT-SIZE, MIN-SIZE and MAX-SIZE are all equal. |
Rebolek 17-Feb-2011 [6111] | float faces are very useful, Pekr. |
Pekr 17-Feb-2011 [6112x3] | How can I assure that for the end user? :-) So you mean - if user does not want button to resize, he has to be sure, those values are identical .... |
Rebolek - are float faces something like absolute CSS positions? | |
I would prefer 'resizes, 'floats or other fields, which would take care of it internally. But not sure. That is why I asked where other valueas as HIDDEN (that one I remember) are set? Are that flags/tags? | |
Rebolek 17-Feb-2011 [6115] | Yes, absolute positioning. You can't do for example drag'n'drop without that. |
Pekr 17-Feb-2011 [6116] | ok, moving to pub to watch Sparta vs Liverpool :-) |
Ladislav 17-Feb-2011 [6117] | The properties like HIDDEN, etc. are implemented somehow, (implementation detail! don't ask - but you can check the SHOW-FACE function, if you insist you need to know) |
Cyphre 17-Feb-2011 [6118] | Pekr, you said "layout level 'options does not necessarily directly map to face/facets"...that's why I don't want to rename OPTIONS to FACETS in the layout block. Also so far you are the only one who has problem understanding the 'options in layout vs. 'options in style definition and in fact you haven't proposed any concrete solution (evenin your CC ticket). I'm not saying I'm against reasonable change here but since there is no good viable solution(and noone except you cares) we should either wait until it pops out from someones head or just let it be as it is now. |
Pekr 18-Feb-2011 [6119] | Cyphre - let's be realistic - I am the only one, because in fact I am most probably the only one, who is investigating GUI in such a deep manner, if not at all. This is imo a result of bad RT's treatment of R3, which is bringing REBOL into isolation even further more, making less and less ppl interested with almost zero RT's action ... and that's the reality ... |
GrahamC 18-Feb-2011 [6120] | sadly you are right Pekr |
Ladislav 18-Feb-2011 [6121] | Wrong, reasons: - those values clearly *are* options the user specifies - the fact that some options may be inlined (i.e. the name may be used in another context) does not change that in any way - what is "deep" about saying you don't like a name (in an arguable case) is beyond my understanding - renaming to "facets" would not help anybody including Pekr as he surely knows |
Pekr 18-Feb-2011 [6122x2] | OK, and I think you are wrong too, and we can let it that way :-) the fact that some options may be inlined (i.e. the name may be used in another context) does not change that in any way - yes, it does. So far I can only follow my brain logic, which simply was confused. Well, I could admit, that I am dumb :-) But the chances are, that some other ppl might be confused too, so my answer is: - style/options does NOT clearly define, what options user can set in dialect options block, because that block, is SUPERSET of the style/options. It allows you even to define whatever word, without the word being a regular facet field: >> view [b: button options [ble: func [][print "huh?"]] do [b/facets/ble]] huh? I wonder if that might even be a security issue, to pass such a function via the options block? So - how is that options block even closely similar to what style/options is? Those two have completly different meaning/functionality :-) |
Ladislav - let's not just take it personally :-) For me, and as you can see, it is a good experience to experiment with the GUI, as I am gaining some internals knowledge. I published the tickets for RMA team to consider the consequences, and it is up to you, to react accordingly. So - if you guys feel that it is ok, then just dismiss the ticket, ad the comment there, and it will server for future GUI users as a knowledge base, that's all ... | |
Henrik 18-Feb-2011 [6124] | pekr, short story: you want the OPTIONS word in the layout block to be FACETS instead? |
Ladislav 18-Feb-2011 [6125] | - style/options does NOT clearly define, what options user can set in dialect options block - yes, I wrote that above, style/options specify just the inline options (different context). Since you did not get that, what you would need instead would be to rename them to style/inline-options? |
Pekr 18-Feb-2011 [6126] | Henrik - short answer - I would like to have it aligned, but - the naming is tricky, as I like dialect level options word. Hence my second proposition was to rename face/options to face/inline-option, but that stil does not describe, that dialect level options "maps" to facets ... So so far I am not sure, how to resolve this, I just pointed it out ... |
Henrik 18-Feb-2011 [6127x2] | This is part of Carl's original design and I imagine that he made the idea of "slots" as you call it, so there is a simple way to map grouped areas of code to faces, when they are created. Note in the source, the definition of a style and a face are right next to eachother. So it becomes "how do I create a face from a model of a face, as quickly and easily as possible?" |
The source is gui-object.r3 | |
Pekr 18-Feb-2011 [6129] | What Ladislav proposes is interesting, because it leads my thoughts even further, and then my concepts probably break anyway :-) Imagine: style [ options: ; renamed facets inline-options: ] Because then writing "button "OK" options [field: value]" could lead users to think, that they are directly setting facets (options, if renamed), which is not the case either, as there is an abstraction in between the options and its mapping to facets. Besides that I think, that Carl would surely not like to give-up on facets name (although for me as non-englishman) the word has not meaning, although I know it exists in vocabulary ... |
Henrik 18-Feb-2011 [6130] | So, what he does is create an object that contains "slots" that are relevant to the style, and then another object with "slots" that are relevant to the face. |
Ladislav 18-Feb-2011 [6131] | But, otherwise, I do not see any urgent need to do any renaming, since in button 50x20, hardly anybody would have any trouble understanding, that the 50x20 value is an option user is allowed to specify, similarly, as any option in the Options block... |
Pekr 18-Feb-2011 [6132x2] | slots, fields, attributes, parameters, options ... so many words to choose from :-) |
Yes, no problem if explained - just my thought chain was - how is that I can see some values being specified in an options block in a dialect level, which I can't see defined in style/options? That is all. If documented, maybe no confusion is going to happen. And maybe - not all ppl will think the way I was ... | |
Henrik 18-Feb-2011 [6134x2] | You named them "slots" first, so that was the word I use, but the words you use there are distinctly different. because this is an attempt at creating a sane interface for the face. In VID, you didn't have that. There was one single object and it was flat, and therefore could become large. |
IMHO, if OPTIONS in layout were to go, I would replace it with WITH. | |
Ladislav 18-Feb-2011 [6136] | the WITH word was used before, but, I guess, that Carl found the OPTIONS word more acceptable, otherwise he would have continued to use the WITH word, in my opinion. |
Pekr 18-Feb-2011 [6137] | IIRC, I recomended the word OPTIONS to Carl back then :-¨) |
older newer | first last |