Changes between Version 2 and Version 6 of Ticket #3887


Ignore:
Timestamp:
Jan 9, 2008, 8:08:39 AM (14 years ago)
Author:
bill
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #3887

    • Property Owner changed from bill to Adam Peller
  • Ticket #3887 – Description

    v2 v6  
    33http://www.alistapart.com/articles/conflictingabsolutepositions
    44
    5 try to do pane layout in CSS rather than JS.   There still needs to be some JS, to test if (for example) tab labels overflow from one line to two lines, but may be able to make browser window resizing on FF smoother for the common case.
     5try to do pane layout in CSS rather than JS.   There are three goals to this:
     6
     71. make resizing smoother.   It's especially bad on FF but IE also shows a little lag on resizing something big like themeTester.html
     8
     92. ideally it would also solve the problem of having layout containers inside hiddens divs (IE, a hidden content pane), which currently isn't supported because when the layout container initializes it fails trying to do calls like getMarginBox(), which returns 0 since it can't figure out the real answer.  But not sure if that's feasible to avoid, since we still need to do some JS calculations, like to get the height of the tab labels in a TabContainer (which depends on the font size and whether or not the labels overflow from one row to two rows).
     10
     113. avoid race conditions on initialization.  The layout widgets in 0.4 had lots of setTimeout() calls because initial size calculations would fail or give incorrect answers, and in 1.0 we go to pains to never call setMarginBox() immediately followed by getContentBox(), which fails since the margin box size doesn't actually readjust until the whole block of JS code finishes executing.
     12
    613
    714Even SplitContainer/AccordionContainer may be convertible.  See attached split.html for an example (it basically divides the screen into three equal section, each of which has a 10px divider and the remaining space is for content).