xref: /aoo42x/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