xref: /aoo41x/main/toolkit/doc/layout/TODO (revision cdf0e10c)
1 -*-outline-*-
2 
3 * CWS
4 ** Move everything & development into new layout-dialogs CWS
5 
6 ** cleanups
7 *** Add XRadioButton2 and layout::VCLXRadioButton with
8     {get,set}RadioGroup.  Remove import.cxx RadioGroups::RadioGroup,
9     VCLXRadioButton::getFirstActionListener () and [actionListener
10     juggling in] layout::RadioButton_impl::SetClickHdl() and
11     EnableRadioCheck() layout::RadioButton_impl::Check.
12 *** layout/import.hxx: what's this generator stuff?
13 #if 0
14 // generator
15 class Widget
16 *** root.hxx:
17 /*
18   TODO: (ricardo) I think we should cut on LayoutRoot, stripping out its widget
19   proxy interface (just make it return the root widget).
20 
21 *** root.cxx:
22 LayoutWidget::~LayoutWidget()
23 {
24     /* should we dispose of the references...? */
25     // at least of its children... Or should root?
26 *** root.cxx:
27 LayoutRoot::~LayoutRoot()
28 {
29 // TODO: we want to delete the top level LayoutWidget...
30 
31 
32 * portability
33 ** --enable-layout does not compile on Sun?
34 [SunStudio12 on Linux works...]
35 
36 TODO: Try not including layout-pre.hxx twice, but use
37 layout-pre-header.hxx and layout-pre-source.hxx (both include an
38 un-multiple-inclusion-shielded layout-pre.hxx).
39 
40 "/export/home/fstrba/devel-cvs/ooo-build/build/ooh680-m1/layout/workben/zoom.cxx", line 412: Error: layout is not a member of layout.
41 "/export/home/fstrba/devel-cvs/ooo-build/build/ooh680-m1/layout/workben/zoom.cxx", line 412: Error: Formal argument 1 of type layout::RadioButton* in call to SvxZoomDialog::UserHdl(layout::RadioButton*) is being passed RadioButton*.
42 "/export/home/fstrba/devel-cvs/ooo-build/build/ooh680-m1/layout/workben/zoom.cxx", line 431: Error: layout is not a member of layout.
43 "/export/home/fstrba/devel-cvs/ooo-build/build/ooh680-m1/layout/workben/zoom.cxx", line 431: Error: Formal argument 1 of type layout::MetricField* in call to SvxZoomDialog::SpinHdl(layout::MetricField*) is being passed MetricField*.
44 "/export/home/fstrba/devel-cvs/ooo-build/build/ooh680-m1/layout/workben/zoom.cxx", line 441: Error: layout is not a member of layout.
45 "/export/home/fstrba/devel-cvs/ooo-build/build/ooh680-m1/layout/workben/zoom.cxx", line 441: Error: Formal argument 1 of type layout::Button* in call to SvxZoomDialog::OKHdl(layout::Button*) is being passed Button*.
46 6 Error(s) detected.
47 
48     #412
49     ( ( layout :: layout :: RadioButton * ) pCaller ) ; } long SvxZoomDialog :: UserHdl ( layout :: RadioButton * pBtn )
50     {
51     fprintf ( ( & __iob [ 2 ] ) , "SvxZoomDialog::UserHdl\n" ) ;
52     bModified |= 1 ;
53     if ( pBtn == & aUserBtn )
54     {
55     aUserEdit . Enable ( ) ;
56     aUserEdit . GrabFocus ( ) ;
57     }
58     else
59     aUserEdit . Disable ( ) ;
60     return 0 ;
61     }
62 
63 ** LayoutDialogs compilation errors on Windows
64 in VCL headers there, need to include more headers to also get stuff like HWND defined.
65 
66 * code
67 ** features
68 *** Symbols on MoreButton/AdvancedButton?
69 
70 *** support more widgets (as necessary)
71 **** see toolkit/source/awt/vclxtoolkit.cxx and svtools/source/uno/unoiface.cxx
72 **** SubDialog
73 **** Pull-down menu
74 **** embed custom widget
75 **** embed old .src TAB
76 **** have a LAYOUT TAB be embedded in an old .src dialog
77 **** FileControl?
78 **** roadmap?
79 **** datefield?
80 **** patternfield?
81 **** patternbox?
82 **** dockingarea?
83 **** errorbox?
84 **** groupbox?
85 **** menubutton?
86 **** messbox?
87 **** simpleanimation?
88 
89 *** support cnt:cnt:?
90 *** support using label (verb) on yes/ok no/cancel buttons for some platforms
91 but keep using yes/no on Windows, eg?
92 *** remove -DTEST_LAYOUT=1 from util/makefile.mk?
93 
94 ** fixes
95 *** missing properties
96 	'title' -> 'Set Zoom'
97 Missing prop Title
98 Missing prop ValueStep
99 Missing prop Radiogroup
100 Missing prop Default
101 *** bug in wordcountdialog: right alignment of numbers `jump' when resizing
102        the dialog.  the 0 and 00 are never exactly aligned.
103 *** look into code duplication: source/core/*.
104 *** Remove magic constants
105 fHorAlign = fVerAlign = 0.5; --> float const [CENTER?] = 0.5;
106 
107 ** include full translations
108 *** zoom
109 grep zoom.src svx/source/dialog/localize.sdf | awk -F'\t' '{printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", "layout", "janneke\\vc\\layout-cws\\toolkit\\workben\\layout\\zoom.xml", $3, "layout", $6 "_label", "", "", $8, "0", $10, $11, $12, "", $14, $15}' | sed -e 's/\(\(FL\|STR\)_[^\t]*\)_label/\1_text/' -e 's/\t_label/\tRID_SVXDLG_ZOOM_title/'
110 *** wordcount
111 grep wordcountdialog.src sw/source/ui/dialog/localize.sdf | awk -F'\t' '{printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", "layout", "janneke\\vc\\layout-cws\\toolkit\\workben\\layout\\workben.xml", $3, "layout", $6 "_label", "", "", $8, "0", $10, $11, $12, "", $14, $15}' | sed -e 's/FL_\([A-Z]*\)_label/FL_\1_text/' -e 's/\t_label/\tDLG_WORDCOUNT_title/'s
112 *** sortdlg
113 grep sortdlg.src ../../../sc/source/ui/src/localize.sdf | awk -F'\t' '{printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", "layout", "janneke\\vc\\layout-cws\\toolkit\\workben\\layout\\sort-options.xml", $3, "layout", $6 "_label", "", "", $8, "0", $10, $11, $12, "", $14, $15}' | sed -e 's/\(\(FL\|STR\)_[^\t]*\)_label/\1_text/' -e 's/\t_label/\tRID_SCDLG_SORT_title/' | grep -E '	(nl|de|en-US)	' > localize-str.sdf
114 grep sortdlg.src sc/source/ui/src/localize.sdf | awk -F'\t' '{printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", "layout", "sc\\uiconfig\\layout\\sort-options.xml", $3, "layout", $6 "_label", "", "", $8, "0", $10, $11, $12, "", $14, $15}' | sed -e 's/\(\(FL\|STR\)_[^\t]*\)_label/\1_text/' -e 's/\t_label/\tRID_SCDLG_SORT_title/' > sc/uiconfig/layout/localize-sort-options.sdf
115 *** insert-sheet
116 grep instbdlg.src sc/source/ui/miscdlgs/localize.sdf | awk -F'\t' '{printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", "layout", "sc\\uiconfig\\layout\\insert-sheet.xml", $3, "layout", $6 "_label", "", "", $8, "0", $10, $11, $12, "", $14, $15}' | sed -e 's/\(\(FL\|STR\)_[^\t]*\)_label/\1_text/' -e 's/\t_label/\tRID_SCDLG_INSERT_TABLE_title/' > sc/uiconfig/layout/localize-insert-sheet.sdf
117 *** move-copy-sheet
118 grep -E 'miscdlgs.src.*(FT_DEST|FT_INSERT|STR_NEWDOC|RID_SCDLG_MOVETAB|BTN_COPY)' sc/source/ui/src/localize.sdf | awk -F'\t' '{printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", "layout", "sc\\uiconfig\\layout\\move-copy-sheet.xml", $3, "layout", $6 "_label", "", "", $8, "0", $10, $11, $12, "", $14, $15}' | sed -e 's/\(\(FL\|STR\)_[^\t]*\)_label/\1_text/' -e 's/\t_label/\tRID_SCDLG_MOVETAB_title/' > sc/uiconfig/layout/localize-move-copy-sheet.sdf
119 *** find-and-replace
120 grep srchdlg.src svx/source/dialog/localize.sdf | awk -F'\t' '{printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", "layout", "svx\\uiconfig\\layout\\find-and-replace.xml", $3, "layout", $6 "_label", "", "", $8, "0", $10, $11, $12, "", $14, $15}' | sed -e 's/\(\(FL\|STR\)_[^\t]*\)_label/\1_text/' -e 's/\t_label/\tRID_SVXDLG_SEARCH_title/' > svx/uiconfig/layout/localize-find-and-replace.sdf
121 
122 * i18n
123     + forget java property files nonsense
124 	- dump old wiki pointers into layout/doc for reference
125     + share code with vcl/source/gdi/impimagetree.cxx
126     + 'layout.zip'?
127     + support multiple translatable attributes
128     + ? rewrite tralay from scratch (in python, perl, c++?) ?
129 
130 
131 * distributing: [LayoutDialogs]
132 git diff 5db78fc5 layout scp2 > layout-dialogs-layout.diff
133 git diff 5db78fc5 |grep -v gitignore | grep 'git a'|grep -Ev 'a/(layout|scp2)/'|sed -e's@.*git a/@@' -e 's@/.*@@' | sort -u | tr '\n' ' '
134 git diff 5db78fc5 $(git diff 5db78fc5 |grep -v gitignore | grep 'git a'| grep -Ev 'a/(layout|scp2)/' | sed -e's@.*git a/@@' -e 's@/.*@@' | sort -u | tr '\n' ' ') > layout-dialogs.diff
135 
136 Soo...
137 
138 m237: fc105178
139 
140 #git diff  offapi toolkit > layout-dialogs-offapi-toolkit.diff
141 
142 git diff fc105178 layout | sed 's@^\([+-]\{3\}\) \(a\|b\)/@\1 @' > layout-dialogs-layout.diff
143 git diff fc105178 config_office scp2 | sed 's@^\([+-]\{3\}\) \(a\|b\)/@\1 @' > layout-dialogs-config_office-scp2.diff
144 git diff fc105178 svx sw | sed 's@^\([+-]\{3\}\) \(a\|b\)/@\1 @' > layout-dialogs-svx-sw.diff
145 
146 m241: 5e9b2546
147 m241': b8e24264
148 m241'': 53ddc663
149 m1: fbde8234
150 m1': d1f42c99
151 m1'': 1a8dec5c
152 m1'''': c93389f7
153 
154 * porting
155 ** Zoom dialog
156 *** list of radio buttons indented: workben/zoom-indent.xml ?
157 ** Word Count dialog
158 ** Recover dialog (redesign)
159 ** pivotfilter dialog (Kohei?)
160 ** paragraph dialog
161 
162 
163 TODO
164 
165 
166 * play with / improve Ricardo's editor
167 ** broken after new uno registration
168 
169    it barfs on
170 
171     void selectedWidget( Widget *pWidget )
172     {
173         clear();
174 
175    it looks like a window is deleted twice.
176 
177 ** this is not meant to be a production level tool, but still,
178    it can be improved I think :-)
179 
180 * improve Kohei's converter (poke him on IRC (afternoons) about this)
181 
182 ** current hack: workben/run-s2x
183 
184    . Imported into layout
185 
186 	+ Kohei wrote the start of a nice script to convert ugly,
187 	  obsolete resource files to nice new XML files ;-)
188 		+ unfortunately it is buggy.
189 		+ see ooo-build/scratch/layout-src2xml/*
190 		+ we should move this into the git repo.
191 	+ bug to fix: case problems in XML
192 		+ XML produced has wrong case items, and names are
193 		  different to those we (and AWT) expects ->
194 		  de-stdlycapsise
195 		+ cf. layout/source/core/helper.cxx:
196 			toUnoNaming, anyFromString
197 			setProperties
198 			+ NB. we want to have nice 'clean' looking non-stdlycaps XML
199 		+ also toolkit/source/awt/vclxwindows.cxx /ImplGetPropertyIds/
200 		+ also toolkit/source/helper/property.cxx
201 	+ bug to fix: property name problems
202 		+ often the resource name strings (cf. legacy resource
203 		  compiler in rsc/) don't match the awt toolkit properties
204 		+ ie. need to map Label="foo" to Text="foo" (or whatever).
205 
206 * OLD notes
207 
208 + Before OOoCon
209     + editor polish
210 	+ cut / paste
211 	+ export xml
212 	+ "import .src"
213 	[ use native VCL menus ... ]
214     + dialogs:
215 	+ porting 'Format' dialog.
216 	+ wrapper code - improving ...
217     + XML fixes
218 	+ "load" command for shared fragments
219     + slides:
220 	+ UNO object hierarchy for a given window ...
221 
222 + Later
223     + dual-compile code under VCL & 'layout' and compare
224       event ordering (eg.).
225 	+ test-tool
226     + scrolled-pane impl.
227 
228