summaryrefslogtreecommitdiff
path: root/toolkit/doc/layout/notes.txt
blob: 63bb16487a31de08337671a688cded851a3b03a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
--- How layout / hierarchy should work ---

On-screen:

+-------------------+
| Label:   [Entry]  |
| - - - - - - - - - |                  |
|             [ Ok ]|
+-------------------+

AWT Window hierarcy:
	Window
		+ Label
		+ Entry
		+ Ok

	ie. unchanged, and backwards compatible - a flat
representation.

Toolkit Hierachy

	WindowContainer [Bin?]
		+ Vbox
			+ HBox
				+ Label
				+ Entry
		+ Alignment
			+ Ok

	the layout process would happen inside the toolkit code
(perhaps eventually genericisd itself), and the result from the
(re-)layout process would be a set of SetPosition/SetSize calls made
to VCL.

--- code pointers ---

** AWT interfaces:
    + offapi/com/sun/star/awt/* - eg. XButton.idl
	+ 'XLayoutConstrains.idl' [ published & mis-named ! ]

    + We can build 'Layout' into the AWT at the toolkit level
	+ this should be fairly easy, and wouldn't touch VCL much.

** Toolkit (awt) implementation:
    + toolkit/source/awt/vclxwindows.cxx:
	+ much of the implementation lurks in here ...
    + The size information is in 'vclxwindows.cxx' ...

    + toolkit/source/helper/unowrapper.cxx
	+ factories / code to associate UNO peers with VCL windows
	+ pWindow->

--- Tests ---

Integration tests:
    cf. http://www.openoffice.org/issues/show_bug.cgi?id=78747


--- more thoughts ---

** Extra Design constraints: [!?]
	+ accessibility
	+ QA test-tool-age ... - tests ~will need re-write (unfortunately)

* New functionality we would like:
	+ ShowAll (vs. Show/Hide) && HideAll ...

Necessary to re- build && deliver svtools/ having delivered toolkit ...
    rm unxlngi6.pro/slo/textwindowaccessibility.* # first ...

** Layout containers:
    + XIndexAccess ? - sorted container (?)

* Consider 'XLayoutRoot' top-level ...
    + inherit from XNameContainer - widgets by name / id ...
    + hack a VCL dialog ?
	+ we need a handle we can pass back of some form:
	+ XWindowPeer getPeer() ... [ can use that I guess ? ]
    + also need a service interface ?
	+ or parameters passed as Anys ? [ugh]

* Decided
    + use 'layout' by itself & small patches
      to toolkit/ in ooo-build.

* TODO:
    + need a 'queueResize' method ...
	+ trigger on show/hide ...
    + allocateSize should take an awt::Rectangle ...
    + impl. XLayoutRoot
    + special cases:
        + radio-button-group
	+ notebook

* svx/source/dialog/zoom*

Michael's Todo:
    + handle MetricField: 'unit' enum etc. - introspection ? or ...
    + make OK/Cancel buttons function as they should ...
    + merge layout-svtools.diff into CWS as last step before inclusion ...
    + FixedLine:
	+ get sizing right ...
	+ hook up new virtual methods into toolkit/ (m225) - i#80754
	+ copy the crud from toolkit's custom vclxwindows.cxx
	  "calcMinimumSize" logic ...
    + get ok/help/cancel buttons working ...

    + fix / rationalise property adding in toolkit ...
	+ simplify it with the new VCLWindow base :-)
	+ simplify it ...
	    + spreadsheet ...
	+ VCLXImageConsumer - can't be instantiated itself
             anyway ! -> bin the 'true' & just add all these
	     props unconditionally ...	

    + switch construction attributes into their own xmlns to
      avoid treading on other properties ...