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