Ben

On 12 Nov 2013, at 19:46, b...@openinworld.com wrote:

> Bahman Movaqar wrote:
>> On 11/12/2013 17:29, Benjamin wrote:
>> >>> On 11 Nov 2013, at 20:08, Bahman Movaqar <bah...@bahmanm.com >>> 
>> >>> <mailto:bah...@bahmanm.com>
>> >>> <mailto:bah...@bahmanm.com>> wrote:
>> >>>
>> >>>>
>> >>>> When a window is resized, every Row/ColumnLayoutdistributes the width
>> >>>> and height evenly among any widget or nested layouts it contains.  In
>> >>>> turn, widgets try to fill as much space as possible.  Therefore after
>> >>>> resizing text box and button have become so huge and the space
>> >>>> between the radio buttons has increased so much.
>> >>>> Is that correct?
>> >>>
>> >>> It’s correct in the sense it is expected regarding to the layout you
>> >>> use :)
>> >>>
>> >>>> If yes, I have a couple of points to mention:
>> >>>>
>> >>>> 1. A text box, specially in the case of TextModel and
>> >>>>    TextInputFieldModel, where it's basically a single line entry
>> >>>>    (ENTER is not allowed), should not change height (growing width
>> >>>>    is understandable and desired).  The height of a text box
>> >>>>    (specially a single line one) should only be calculated based on
>> >>>>    the font family and font size.
>> >>>>
>> >>> TextModel is for more that one line :)
>> >>> TextInputField could eventually be forced to be one line, but I think
>> >>> it’s too much of a restriction.
>> >>
>> >> I am 100% sure I didn't tell TextInputField to accept one line.  It
>> >> doesn't accept ENTER and I don't understand how a "multi-line" text
>> >> entry widget can work without accepting new line character :-)
>> >> Yes, TextInputField wraps the text but that's doesn't count as
>> >> multi-line entry :-)  More importantly it is unexpected behaviour from
>> >> user's PoV; I have never seen a single text entry widget wrap the text.
>> >>
>> >> Or maybe I'm doing something wrong?
>> >
>> > I do not understand sorry :(
>> 
>> Put in other words:
>>  1.  The default behaviour (if there's any other behaviour) of a text box in 
>> Spec, doesn't accept ENTER.  A multi-line text entry without ENTER doesn't 
>> make sense, no?

What enter does then ?

>>  2.  The default behaviour of a Spec text box, wraps the text entered if the 
>> length exceeds the display length of the widget.  This is very unorthodox 
>> and wrong *from user's perspective*.

What is expected ?

Which widget of text ?
This behaviour is actually Morphic behaviour, not Spec.
But anyway, it can/should be fixed/improved :)

> I have to support point 2 above.  In general terms...
> For a single line text box, I would expect it to scroll text horizontally out 
> of view.
> I would expect initially at least two lines for a wrapping text box, after 
> which it can be free to grow vertically as needed.
> 
> cheers -ben
>> >
>> >>
>> >>>
>> >>>> 1.
>> >>>>
>> >>>>
>> >>>>
>> >>>> 2. A button should not change height and width, unless specifically
>> >>>>    mentioned otherwise.
>> >>>>
>> >>> Why ?
>> >>
>> >> Because if the button changes height/width it loses the visual element
>> >> which users use to recognise buttons across a screen. Just like a
>> >> single-line text entry, a button's height, if not manually set, is
>> >> determined only by the font family and font size.
>> >> And regarding changing the button width, I've very rarely seen
>> >> applications that resize their buttons when the screen is resized.
>> >> Usually people put constraints over this. I'm not stating that this
>> >> definitely should be some UI framework's internal mehcanism. Perhaps a
>> >> simple method like `isCalculatedSize: aBoolean` with a TRUE default is
>> >> enough.
>> >
>> > That’s true changing the size is often not desired.
>> >
>> > Adding a flag can be a solution :)
>> > But as it brings some more complexity in the layouting ( which is already 
>> > > quite too complex and too big) it was not considered until now :)
>> 
>> Makes sense.
>> 
>> >
>> >>
>> >>>> 3. It's not usually desirable that the spacing between radio buttons
>> >>>>    change.
>> >>>>
>> >>> That’s true :)
>> >>> But how to know that two radio buttons are close one to the other ?
>> >>
>> >> Right.  That's the reason radio button groups are, AFAIK, always
>> >> implemented as widgets.
>> >
>> > Yes, but morphic do not do that :P
>> > Myabe I should introduce a model for that, and have my own encapsulation :)
>> 
>> Perfect idea. And along with some documentation please :-D
>> 
>> >
>> >>
>> >>>
>> >>>> 4. Usually there's a way to specify how to distribute the
>> >>>>    width/height between layouts and widgets inside a layout (usually
>> >>>>    based on a percentage).
>> >>>>
>> >>> There in spec as well :)
>> >>> You can have a look at:
>> >>> add:origin:corner:offsetOrigin:offsetCorner:
>> >>>
>> >> Hmm...couldn't figure out the logic.  Though it seems simple when
>> >> looking at the code :-)
>> >
>> > Here you entrer in some twilight zone :P
>> >
>> > add:origin:corner:offsetOrigin:offsetCorner:
>> >
>> >
>> > This screen shows an origin in x0,y0 and a corner in x1,y1.
>> > Their values are between 0 and 1, and represent a _proportional_ value of 
>> > the > container.
>> 
>> By the gods!  How was I supposed to know the values were supposed to be 0><1 
>> !? :-) Thank you for this tip!

Everybody should know that :P

>> 
>> >
>> > Then, each of this corners can be shifted in x and y by a _fixed_ value 
>> > (in > pixels)
>> 
>> So basically `add: #buttonGreet origin: 0.3@0.2 corner: 0.7@0.5 
>> offsetOrigin: 0@0 offsetCorner: 0@0` would add a button in a center'ish 
>> position within its container, right?

It should do something like this yes :)


>> I wonder what am I doing wrong since it has no effect whatsoever?

What is the result ?

Ben

>> 
>> Thanks,
>> 
>> -- 
>> Bahman Movaqar  (http://BahmanM.com)
>> 
>> ERP Evaluation, Implementation & Deployment Consultant
>> PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com)
>> 
>>  
> 
> 
> 

Reply via email to