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
15class 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:
22LayoutWidget::~LayoutWidget()
23{
24    /* should we dispose of the references...? */
25    // at least of its children... Or should root?
26*** root.cxx:
27LayoutRoot::~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
36TODO: Try not including layout-pre.hxx twice, but use
37layout-pre-header.hxx and layout-pre-source.hxx (both include an
38un-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*.
466 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
64in 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
91but 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'
97Missing prop Title
98Missing prop ValueStep
99Missing prop Radiogroup
100Missing 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
105fHorAlign = fVerAlign = 0.5; --> float const [CENTER?] = 0.5;
106
107** include full translations
108*** zoom
109grep 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
111grep 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
113grep 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
114grep 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
116grep 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
118grep -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
120grep 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]
132git diff 5db78fc5 layout scp2 > layout-dialogs-layout.diff
133git diff 5db78fc5 |grep -v gitignore | grep 'git a'|grep -Ev 'a/(layout|scp2)/'|sed -e's@.*git a/@@' -e 's@/.*@@' | sort -u | tr '\n' ' '
134git 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
136Soo...
137
138m237: fc105178
139
140#git diff  offapi toolkit > layout-dialogs-offapi-toolkit.diff
141
142git diff fc105178 layout | sed 's@^\([+-]\{3\}\) \(a\|b\)/@\1 @' > layout-dialogs-layout.diff
143git diff fc105178 config_office scp2 | sed 's@^\([+-]\{3\}\) \(a\|b\)/@\1 @' > layout-dialogs-config_office-scp2.diff
144git diff fc105178 svx sw | sed 's@^\([+-]\{3\}\) \(a\|b\)/@\1 @' > layout-dialogs-svx-sw.diff
145
146m241: 5e9b2546
147m241': b8e24264
148m241'': 53ddc663
149m1: fbde8234
150m1': d1f42c99
151m1'': 1a8dec5c
152m1'''': 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
163TODO
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