World: r3wp
[!REBOL3 GUI]
older newer | first last |
GrahamC 17-Mar-2011 [6842] | I'd like to keep to convention as much as possible because you might be coding in 3 different languages at the same time |
Pekr 17-Mar-2011 [6843x2] | No worry - even if you will be coding in RED, it will not have GUI, so :-) |
But - jokes aside, I am starting to like the idea of having PANEL/VPANEL, and GROUP/VGROUP ..... | |
Henrik 17-Mar-2011 [6845] | Pekr, so your convention would be opposite of Graham's? :-) |
Pekr 17-Mar-2011 [6846] | No, the same .... where's the opposition? |
GrahamC 17-Mar-2011 [6847] | it's the same |
Pekr 17-Mar-2011 [6848] | If I understand Graham correctly, he suggest to have default a horizontal alignment = compatible with underlying align/valign. Hence what he imo proposes (and I agree with), is to remove "H" letter from PANEL/GROUP |
Henrik 17-Mar-2011 [6849] | Graham: Why not leave panel and hpanel as synonyms, and group/hgroup ? Pekr: I am starting to like the idea of having PANEL/VPANEL, and GROUP/VGROUP ..... so, you have to agree on the flow direction. :-) |
Rebolek 17-Mar-2011 [6850] | Henrik, I think that Graham and Pekr really want the same thing. Panel and hpanel as synonyms, in other words - panel/vpanel. :) |
GrahamC 17-Mar-2011 [6851] | I was saying that group & hgroup are to be synonyms |
Henrik 17-Mar-2011 [6852] | Rebolek, yes, I was just teasing. Perhaps it's not a bad idea. VID itself also has a default direction that it lays out in, which can't be seen in layout code. |
Pekr 17-Mar-2011 [6853x4] | One general question to GUI/gfx gurus. I know it is very preliminary, but - what about scaling? I mean - playing with my phone, I wonder, if it is facility of mobile OS, or particular app is receiving some zooming info, and acts accordingly? Are we ready for something like that? Because just recently, what we do is - resize. But we don't scale (fonts). It is just question of catching particular OS events, and create particular actors? |
What I am seeins is, that e.g. in mobile Opera, zooming in/out, steel keeps content nicely resized/scaled. And even very small fonts are nicely readable .... | |
I do remember, in R2 initial VID implementation (the times Holger was at RT), there was some facility to support scaling at "raster" level? But IIRC it was never used, or the result was ugly? I don't remember anymore. Because I can imagine two ways of how to do it - having some good raster level methods, or to scale particular UI elements. | |
The best way to check probably would be to buy some Windows 7 tablet, e.g. Galaxy tab 1, as R3 should work there out of the box - imo no chance to see R3 ported to any other mobile system in foreseable future, unless there is some background effort we don't know about ... | |
Rebolek 17-Mar-2011 [6857] | I saw scalling mentioned in some early VID documentation and probably some facets were reserved for it, but that's all that has been done I think. |
Pekr 17-Mar-2011 [6858] | Is there a plan to use 'switch-panel function in future, along with its transition effects (fly-outs)? |
Henrik 17-Mar-2011 [6859] | I'm thinking about a style that is basically a fancy text list with the specific purpose of using it as a panel switcher. But specifically the animation part, it may be better to have some kind of actor (on-switch?) where the animation is handled and can be specified separately. |
Rebolek 17-Mar-2011 [6860] | SWITCH-PANEL isn't needed anymore, as this functionality is covered (much better) by SET-PANEL-CONTENT. Transition effects are possible, but I would rather wait for timers, so they can be real non-blocking animations unlike old fly-outs. |
Henrik 17-Mar-2011 [6861] | Rebolek's response is more valid than mine. |
Rebolek 17-Mar-2011 [6862] | Old flyouts changed offset in loop, so if you switch panel's show-mode to 'fixed, you can make this effect very easily. You can also animate resizing this way, but GUI will be blocked because show is handled inside loop and not using timer event. But if you keep the loop short, user won't notice that the GUI is blocked. |
Pekr 17-Mar-2011 [6863] | ah, timers - those are not part of R3 core yet, are they? |
Rebolek 17-Mar-2011 [6864] | nope. |
Henrik 17-Mar-2011 [6865] | We had a small discussion about MAX-SIZE this morning. In short, I don't like it and think it's not needed. Everyone else loves it, so it won't go away. Therefore I'm proposing a RESTRAIN facet (name not final). Without explaining what it is, can you guess what this does: Before: bar: box [ facets: [ init-size: 100x2 min-size: 20x2 max-size: 10000x2 ] ] After: bar: box [ facets: [ init-size: 20x2 restrain: [vertical] ] ] |
Oldes 17-Mar-2011 [6866] | why it's a block? |
Henrik 17-Mar-2011 [6867] | Decided that it may not need to be a block: Another suggestion is words: HORIZONTAL, H, VERTICAL, V, or BOTH. |
Rebolek 17-Mar-2011 [6868] | I propose -1 as unlimited value. |
Oldes 17-Mar-2011 [6869x3] | also if you give me such a piece of code (both), I'm not sure what the results will be, but I'm not following the developement so I don't know details about resizing. |
for example, when I would use bar, what size it will have? 100x2, 20x2 or max-widthx2? | |
with max-width i mean max available width of course. | |
Rebolek 17-Mar-2011 [6872] | For max-width you would use max-size: -1x2 |
Oldes 17-Mar-2011 [6873] | you mean the max width which the resizer could use? Do I understand it well that the BAR shoudl be something like HR tag in html? Then it should be possible to specify width in percent, shouldn't it? |
Pekr 17-Mar-2011 [6874] | restrain is not typical word of my english vocabulary (I know, my fault), and even reading its 20 meanings gives me almost zero idea of what it does. |
Henrik 17-Mar-2011 [6875x2] | Oldes, it means a full width line across the widht of the parent face |
Using max-size: -1x2 still requires you to know the Y value, if you are using it as an option in layout, so you need to study the style code to know it. Hence the need for RESTRAIN. | |
Rebolek 17-Mar-2011 [6877] | Your example is not layout but stylize example, but ok. |
Robert 17-Mar-2011 [6878] | facets: I'm all for keeping one single place to keep all these properties and throw everything in there. No further sub-structuring. Why? Because this would require a MECE approach (which is IMO a very subjective thing) and I have to remember more things. Now I know the stuff is in: facets/<some-meaningful-word> |
Henrik 17-Mar-2011 [6879] | Rebolek, same issue: STYLIZE may be used by a third party person, not knowing the original style size or not wanting to depend on it, if the original style changes. |
Pekr 17-Mar-2011 [6880] | Robert - OK, then lelt's keep the organized a bit by spacing (new lines) and comments, as I suggested ... that might be enough imo and grouping certain areas together helps users to faster identify particular related facet? |
Robert 17-Mar-2011 [6881] | No problem with this. What I would like to have is a way that I can write: ? text-table/facets And get a dump of all available facets and a description what it's for. |
jocko 17-Mar-2011 [6882] | Hi, guys Once again, congratulations for the excellent work done. As Rebolek suggested in ALTME, I have some modifications to submit (of course, to check from your side) for the next r3-gui release. I must first mention that I just realized this morning that the r3.exe pre-compiled version of march 11th was not working properly, bugging with some very simple text displays (probably an old version). That's the reason why I did not update the demo with the most recent r3-gui file. By the way, the build date displayed by the exe remains the same whatever the real building date. I don't know how we could have an automatic update of the build version. Rebuilding from your sources (march 11th) allowed the demo to work properly apart from some appearence differences (I have even seen some bugs solved compared to my demo version). However, I will wait for your next weekly release ;-) to update my demo. Coming back to the propositions of modifications : It seems that there are definitions problems, or incompatibilities in r3-gui (around line 66) ;-- circle: [pair! | number! | number!] circle: [pair! | pair! |number! | number!] in r3-gui (around line 1729) ;-- scale: [decimal! decimal!] scale: [pair!] also, I overload the drawing style by this code : stylize [ drawing: sensor [ about: "Simple scalar vector draw block. Can be clicked." tags: [input tab] facets: [ init-size: 100x100 ] options: [ drawing: [block!] init-size: [pair!] ] actors: [ on-make: [ ; if block? drw: face/facets/drawing [ ; bind face/gob/draw: copy drw face/facets] ] ;-- JC on-draw: [face/facets/drawing] ] ] ] Concerning the discussion of this morning on groups and panels, I would also prefer to have a default horizontal arrangement, and only precise when vertical: group, panel, vgroup, vpanel. A side effect is that it would remain compatible with Carl's doc. By the way, it seems that tight is vtight. Logically, it should be htight. That's all for the moment. When debugging the last demos, I may find other issues. |
Henrik 17-Mar-2011 [6883] | From R3 GUI sources: tight: vtight [] ; for compatibility right now, will be removed (in case you don't have access to source comments) |
BrianH 17-Mar-2011 [6884x2] | Both of these loom wrong, Janko: ;-- circle: [pair! | number! | number!] circle: [pair! | pair! |number! | number!] Wouldn't it be this instead? circle: [pair! | number! number!] |
loom -> look | |
jocko 17-Mar-2011 [6886] | yes you 're right. Surprisingly the second works. |
Ladislav 18-Mar-2011 [6887x2] | My notes to the HPANEL versus PANEL issue: * Carl appears to prefer PANEL * unfortunately, the situation is not as easy as it looks at the first look, since Carl's documentation uses the word 'panel' it yet another sense, every style able to contain faces, such as a group, etc. is called "a panel" in Carl's documentation, which would immediately lead to confusions, requring rewrite * e.g. the INSERT-PANEL-CONTENT, or some other function names would be confusing because of the above mentioned issue, since the function in fact inserts content to any "face containing style", not just to HPANELs So, the amount of rewriting both the code and the documentation would be quite big. |
Everyone else loves it - I expect a little more objective statements than this. In fact, I don't "love" MAX-SIZE at all. I just know (you have proven it), that some relevant frameworks (like the OSX GUI) include it. I am sure that is the reason, why Carl insists on it as well. So, if we want Carl to "throw our changes to the R3-GUI to the basket", we can remove the MAX-SIZE to achieve that goal. | |
Henrik 18-Mar-2011 [6889] | Ladislav, Carl told me that MAX-SIZE was necessary so that buttons would not become unnecessarily wide, but it is the wrong way to solve such a problem, much like putting a rock under the gas pedal to prevent the kid from going more than 30 mph in dad's car. Nevertheless, when (hopefully) we get some parts automated here, I will never need to deal with MAX-SIZE again directly. And OSX does not provide maximum size for widgets, only windows. |
Pekr 18-Mar-2011 [6890] | Henrik - two things - first you should consult Carl (if he is available to RMA), and second - Ladislav will probably state, if there is a way of how to adapt his alghoritm, so that we can work without the MAX-SIZE? I personally don't mind MAX-SIZE anymore, as I have to set xy things anyway - hints, init-size, min-size, as needed. And if I am a style authoer, then I can always set MAX-SIZE to some artificial value, so :-) |
Henrik 18-Mar-2011 [6891] | Pekr, a solution has been found, so no worries. |
older newer | first last |