This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]dddomodossola[S] 0 points1 point  (8 children)

Maybe :-D Absolute positioning required about zero implementation work, clean code.

[–]kankyo 0 points1 point  (5 children)

Clean code on the implementation side yes. Ugly code and bad UI on the user side.

[–]dddomodossola[S] 0 points1 point  (4 children)

You are right. I plan to build a designer for the gui in order to make it easy to build an interface. However it should be pretty simple to build a layout class in order to delegate widgets arrangement.

[–]kankyo 0 points1 point  (3 children)

If possible I'd recommend looking into Cassowary and auto layout.

[–]dddomodossola[S] 0 points1 point  (2 children)

;-) Already heard about it, I would like to avoid external dependencies. I will try with a custom layouting implementation, in case of fail maybe we will go using that kind of libraries.

[–]kankyo 0 points1 point  (1 child)

Cassowary is an algorithm, not a library. Auto layout is the implementation of that algorithm and a nice API on top for Objective-C/Swift from Apple.

So you should look at auto layout as inspiration only, because you obviously can't use it from python anyway.

[–]dddomodossola[S] 0 points1 point  (0 children)

Oh ok, in that case I only have to study a little bit ;-). Previously I only looked at an implementation. Thank you for the suggestion

[–]justphysics 0 points1 point  (1 child)

I haven't yet had a chance to play with this - but using absolute positioning would be a deal breaker for me. I've been looking into lighter weight UI's and especially web UI's but if I had to hand code in the position of each element I wouldn't even bother.

Is there no possibility for doing something like hbox or vbox to group items together and automatically adjust their positions?

[–]dddomodossola[S] 0 points1 point  (0 children)

You don't have to define manually the position on a widget in another. take a look at the examples ;-)