r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3 GUI]

GiuseppeC
26-Jan-2011
[5772]
Been away for a while. As the GUI documentation been produced ?
Ladislav
27-Jan-2011
[5773x3]
Regarding the relations between Init-size, Min-size and Max-size:


1) it is possible (using resizing) to specify any size at any time

2) the size specified is used for resizing, but, the Min-size and 
Max-size values (specified either by the style designer, or, eventually 
overridden by the user) are always respected, not triggering any 
error, if the user tried to resize "out of bounds"; instead, the 
limits are just used to keep the size "in bounds"
3) only the ones not knowing the resizing rules may be surprised
What I dislike about triggering an error is the fact, that it introduces 
an exception to the above set of rules.
In my opinion, using a style, the user "automatically" agrees to 
the Min-size and Max-size as specified by the style designer, unless 
he adjusts the values as he sees fit.
Pekr
27-Jan-2011
[5776]
I might agree with Ladislav, it just needs to be docced ...
Kaj
27-Jan-2011
[5777x2]
The problem is that a user doesn't see what he is agreeing to, as 
it is elsewhere in the style. *All* users will be surprised because 
they initially don't know the resizing rules, and not getting hints 
is not a good way to learn them
I agree that a system without errors is nice, but then the userfriendly 
alternative is to have true style overrides
Rebolek
27-Jan-2011
[5779]
Kaj, I agree but, well...
Kaj
27-Jan-2011
[5780]
I know, Ladislav's death...
Rebolek
27-Jan-2011
[5781]
:-)
Ladislav
27-Jan-2011
[5782]
system without errors is nice

 - system without errors is necessary, I do not want the app to error 
 out always the user pulls the border too far
Kaj
27-Jan-2011
[5783]
Then you need true style overrides
Ladislav
27-Jan-2011
[5784]
?
Kaj
27-Jan-2011
[5785]
Logic
Ladislav
27-Jan-2011
[5786]
I am curious, what do you mean, do you mean, that such overrides 
are not possible?
Kaj
27-Jan-2011
[5787]
You are against them
Ladislav
27-Jan-2011
[5788]
How?
Kaj
27-Jan-2011
[5789]
I mean overriding the style in the layout, what you have been discussing 
for a day
Ladislav
27-Jan-2011
[5790]
Do you mean I suggested I was against allowing the user to set his 
preferred limits?
Kaj
27-Jan-2011
[5791]
I thought you are against effecting them fully?
Ladislav
27-Jan-2011
[5792]
No, I was just against breaking the resizing rule #2
Kaj
27-Jan-2011
[5793]
That is about effecting user preferences fully
Ladislav
27-Jan-2011
[5794]
How?
Kaj
27-Jan-2011
[5795]
What you are effectively saying is that a userfriendly dialect is 
impossible. I don't think that's acceptable
Ladislav
27-Jan-2011
[5796]
User can either use the limits, or define different, if he wishes 
so
Kaj
27-Jan-2011
[5797]
When a user specifies 100x100 you don't want to execute that
Ladislav
27-Jan-2011
[5798]
For me "user friendly" means "following simple rules, that a user 
can know"
Kaj
27-Jan-2011
[5799]
For me userfriendly means easily discoverable
Ladislav
27-Jan-2011
[5800]
I do want to execute resize to 100x100, which is done respecting 
rule #2
Kaj
27-Jan-2011
[5801]
Yes, so you don't want to draw a 100x100 item
Ladislav
27-Jan-2011
[5802]
I do want to draw the item resized to 100x100, using the established 
rules
Kaj
27-Jan-2011
[5803]
Yes, so you don't want to draw a 100x100 item
Ladislav
27-Jan-2011
[5804]
see above
Kaj
27-Jan-2011
[5805]
Yes, so you don't want to draw a 100x100 item
Ladislav
27-Jan-2011
[5806]
see above
Kaj
27-Jan-2011
[5807x2]
Yes, so you don't want to draw a 100x100 item
User deadlock
Ladislav
27-Jan-2011
[5809]
Could you please repeat for somebody not able to remember what he 
read 1 second before?
Kaj
27-Jan-2011
[5810]
No
Ladislav
27-Jan-2011
[5811]
Thanks
Maxim
27-Jan-2011
[5812]
hahhaha
Rebolek
27-Jan-2011
[5813]
the basic question is, what is the meaning of pair! in layout? is 
it size that user wants or is it size that user wants to be used 
for some inner magic?
Kaj
27-Jan-2011
[5814x2]
Yes
If it is not used in a userfriendly way, it shouldn't be there at 
all
Maxim
27-Jan-2011
[5816]
when a concept of default size is there, that is usually what you 
want the pair to be.  when it goes beyon min or max bounds, usually 
you want to push these to at least match the default size...   the 
developper is expressly asking for an adjustment to the default.


the thing is that when a widget is in an auto-resizing layout, asking 
for 100x100 might not actually give you that size, because all the 
widgets are subject to the layout in which they are displayed.  in 
row/columns, you will be subject to equalizing other lateral sizes 
in the list and may be given more space in the longitudinal size, 
such that in fact, your button may be larger than what you asked 
for.


the only way to force a 100x100 button is for the gui to support 
static sizing within a dynamic layout, or support max-size and set 
it to the exact same as default size effectively making it a static 
sized button.
Ladislav
27-Jan-2011
[5817]
Yes, Max.
Rebolek
27-Jan-2011
[5818]
You can write preprocessor that will convert every [button "text" 
100x100] into [button "text" [min-size: 100x100 init-size: 100x100 
max-size: 100x100] and that's all. But there's strong opposition 
to having this directly in dialect.
Maxim
27-Jan-2011
[5819]
just sharing my 15 years of experience building/analysing dynamic 
resizing layout engines.
Ladislav
27-Jan-2011
[5820]
You can write preprocessor that will convert every [button 

text" 100x100] into [button "text" [min-size: 100x100 init-size: 
100x100 max-size: 100x100] and that's all. But there's strong opposition 
to having this directly in dialect." - it is certainly possible to 
have such "statically sized" style, but that is not what the majority 
of users would need
Maxim
27-Jan-2011
[5821]
Glass, for example,  just makes you get *at least* that space and 
won't change the resizing model of the style on its own... you have 
to ask it manually to become static by using other switches.