update dev300-m58
[ooovba.git] / toolkit / doc / layout / TODO
blobfdffa7fad5aac32565106ed0e5fa6b66953ad572
1 -*-outline-*-
3 * CWS
4 ** Move everything & development into new layout-dialogs CWS
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:
18   TODO: (ricardo) I think we should cut on LayoutRoot, stripping out its widget
19   proxy interface (just make it return the root widget).
21 *** root.cxx:
22 LayoutWidget::~LayoutWidget()
24     /* should we dispose of the references...? */
25     // at least of its children... Or should root?
26 *** root.cxx:
27 LayoutRoot::~LayoutRoot()
29 // TODO: we want to delete the top level LayoutWidget...
32 * portability
33 ** --enable-layout does not compile on Sun?
34 [SunStudio12 on Linux works...]
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).
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.
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     }
63 ** LayoutDialogs compilation errors on Windows
64 in VCL headers there, need to include more headers to also get stuff like HWND defined.
66 * code
67 ** features
68 *** Symbols on MoreButton/AdvancedButton?
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?
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?
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;
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
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++?) ?
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
136 Soo...
138 m237: fc105178
140 #git diff  offapi toolkit > layout-dialogs-offapi-toolkit.diff
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
146 m241: 5e9b2546
147 m241': b8e24264
148 m241'': 53ddc663
149 m1: fbde8234
150 m1': d1f42c99
151 m1'': 1a8dec5c
152 m1'''': c93389f7
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
163 TODO
166 * play with / improve Ricardo's editor
167 ** broken after new uno registration
169    it barfs on
170    
171     void selectedWidget( Widget *pWidget )
172     {
173         clear();
175    it looks like a window is deleted twice.
177 ** this is not meant to be a production level tool, but still,
178    it can be improved I think :-)
180 * improve Kohei's converter (poke him on IRC (afternoons) about this)
182 ** current hack: workben/run-s2x
184    . Imported into layout
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).
206 * OLD notes
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 ...
222 + Later
223     + dual-compile code under VCL & 'layout' and compare
224       event ordering (eg.).
225         + test-tool
226     + scrolled-pane impl.