Ticket #1041 (closed defect: fixed)

Opened 15 months ago

Last modified 14 months ago

Implement Layouting API

Reported by: Joonas Lehtinen Owned by: Jouni Koivuviita
Priority: blocker Milestone: 5.0.0-beta-phase2 (release candidate)
Component: undefined Version: 5.0.0-pre
Keywords: Cc:
Known Issue description:
Hours estimate: 15 Deadline (dd.mm.yyyy):
Known Issue version (since): Known Issue title:
Hours done: Depends to:
Affects documentation: no
Known Issue workaround:
Affects release notes: yes Contract:

Description

See attachment.

Attachments

LayoutingAPI-final.pdf (83.2 kB) - added by Joonas Lehtinen 15 months ago.

Change History

Changed 15 months ago by Joonas Lehtinen

Changed 15 months ago by Joonas Lehtinen

  • hours_left set to 15

Changed 14 months ago by Jouni Koivuviita

  • owner changed from Jani Laakso to Jouni Koivuviita

Changed 14 months ago by Jouni Koivuviita

  • owner changed from Jouni Koivuviita to Joonas Lehtinen

Client-side implementation missing, only IOrderedLayout does some alignment and margin stuff.

Changed 14 months ago by Matti Tahvonen

  • owner changed from Joonas Lehtinen to Matti Tahvonen

I suggest we forget the idea that layout must be sizeable. Implementing Sizeable on client side is not very easy task and having Sizeable methods in both container and it's layout is very odd for programmer (like panel and its layout).

  • 100% width/height problems ( needs a lot of layout logic to be handled properly)
  • deciding when use to scrollbars or to clip content
  • basic layouts will need a lot more DOM elements on gwt-terminals client code

-> OrderedLayout? will be fat and buggy

Other enhancements ought to be pretty easily implemented.

Settings sizes in program layout can be set with:

  • panel
  • tabsheet
  • splitpanel
  • ExpandLayout? (needs horizontal orientation)

Changed 14 months ago by Matti Tahvonen

  • owner changed from Matti Tahvonen to Jouni Koivuviita

Changed 14 months ago by Jouni Koivuviita

  • status changed from new to assigned

Changed 14 months ago by Joonas Lehtinen

Just to check, Matti: is the current impl strategy (implements Sizeable without any additional logic, overflow auto and 1div+1table dom-structure) for OrderedLayout? ok to you.

Changed 14 months ago by Jani Laakso

  • priority changed from undefined to blocker
  • status changed from assigned to new
  • version set to 5.0.0-pre
  • milestone set to 5.0.0-beta-phase1

Changed 14 months ago by Jani Laakso

  • milestone changed from 5.0.0-beta-phase1 to 5.0.0-beta-phase2 (release candidate)

Changed 14 months ago by Matti Tahvonen

Yep, it's ok for me. I'm just working here :=) But I'm afraid that our layouts have too much to do now ( which makes their client side implementation too complicated with all the logic to layout themselves and to deal browsers differences in layouts and components inside them).

Tool (layouts in this case) that tackles every problem somehow rarely work good enough in real work. We have faced this problems previously with server-side Select component that did it all. Of course Swiss knife is an exception, but only for Mac Gyver.

But now we'll go on this route with a happy face and lets hope I'm wrong.

Changed 14 months ago by Jani Laakso

Two weeks left => We need code freeze ASAP => keep it simple => make compromises please!

Consequences: we will flush existing code (it is OK), re-design, re-implement after 5.0.0-beta is out.

Changed 14 months ago by Jani Laakso

  • status changed from new to closed
  • resolution set to fixed

Considering this done for beta, re-open if absolutely neccessary.

Note: See TracTickets for help on using tickets.