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