merge the formfield patch from ooo-build
[ooovba.git] / toolkit / doc / layout / notes.txt
blob63bb16487a31de08337671a688cded851a3b03a5
1 --- How layout / hierarchy should work ---
3 On-screen:
5 +-------------------+
6 | Label:   [Entry]  |
7 | - - - - - - - - - |                  |
8 |             [ Ok ]|
9 +-------------------+
11 AWT Window hierarcy:
12         Window
13                 + Label
14                 + Entry
15                 + Ok
17         ie. unchanged, and backwards compatible - a flat
18 representation.
20 Toolkit Hierachy
22         WindowContainer [Bin?]
23                 + Vbox
24                         + HBox
25                                 + Label
26                                 + Entry
27                 + Alignment
28                         + Ok
30         the layout process would happen inside the toolkit code
31 (perhaps eventually genericisd itself), and the result from the
32 (re-)layout process would be a set of SetPosition/SetSize calls made
33 to VCL.
35 --- code pointers ---
37 ** AWT interfaces:
38     + offapi/com/sun/star/awt/* - eg. XButton.idl
39         + 'XLayoutConstrains.idl' [ published & mis-named ! ]
41     + We can build 'Layout' into the AWT at the toolkit level
42         + this should be fairly easy, and wouldn't touch VCL much.
44 ** Toolkit (awt) implementation:
45     + toolkit/source/awt/vclxwindows.cxx:
46         + much of the implementation lurks in here ...
47     + The size information is in 'vclxwindows.cxx' ...
49     + toolkit/source/helper/unowrapper.cxx
50         + factories / code to associate UNO peers with VCL windows
51         + pWindow->
53 --- Tests ---
55 Integration tests:
56     cf. http://www.openoffice.org/issues/show_bug.cgi?id=78747
59 --- more thoughts ---
61 ** Extra Design constraints: [!?]
62         + accessibility
63         + QA test-tool-age ... - tests ~will need re-write (unfortunately)
65 * New functionality we would like:
66         + ShowAll (vs. Show/Hide) && HideAll ...
68 Necessary to re- build && deliver svtools/ having delivered toolkit ...
69     rm unxlngi6.pro/slo/textwindowaccessibility.* # first ...
71 ** Layout containers:
72     + XIndexAccess ? - sorted container (?)
74 * Consider 'XLayoutRoot' top-level ...
75     + inherit from XNameContainer - widgets by name / id ...
76     + hack a VCL dialog ?
77         + we need a handle we can pass back of some form:
78         + XWindowPeer getPeer() ... [ can use that I guess ? ]
79     + also need a service interface ?
80         + or parameters passed as Anys ? [ugh]
82 * Decided
83     + use 'layout' by itself & small patches
84       to toolkit/ in ooo-build.
86 * TODO:
87     + need a 'queueResize' method ...
88         + trigger on show/hide ...
89     + allocateSize should take an awt::Rectangle ...
90     + impl. XLayoutRoot
91     + special cases:
92         + radio-button-group
93         + notebook
95 * svx/source/dialog/zoom*
97 Michael's Todo:
98     + handle MetricField: 'unit' enum etc. - introspection ? or ...
99     + make OK/Cancel buttons function as they should ...
100     + merge layout-svtools.diff into CWS as last step before inclusion ...
101     + FixedLine:
102         + get sizing right ...
103         + hook up new virtual methods into toolkit/ (m225) - i#80754
104         + copy the crud from toolkit's custom vclxwindows.cxx
105           "calcMinimumSize" logic ...
106     + get ok/help/cancel buttons working ...
108     + fix / rationalise property adding in toolkit ...
109         + simplify it with the new VCLWindow base :-)
110         + simplify it ...
111             + spreadsheet ...
112         + VCLXImageConsumer - can't be instantiated itself
113              anyway ! -> bin the 'true' & just add all these
114              props unconditionally ...  
116     + switch construction attributes into their own xmlns to
117       avoid treading on other properties ...