summaryrefslogtreecommitdiff
path: root/toolkit/doc/layout/TODO
blob: fdffa7fad5aac32565106ed0e5fa6b66953ad572 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
-*-outline-*-

* CWS
** Move everything & development into new layout-dialogs CWS

** cleanups
*** Add XRadioButton2 and layout::VCLXRadioButton with
    {get,set}RadioGroup.  Remove import.cxx RadioGroups::RadioGroup,
    VCLXRadioButton::getFirstActionListener () and [actionListener
    juggling in] layout::RadioButton_impl::SetClickHdl() and
    EnableRadioCheck() layout::RadioButton_impl::Check.
*** layout/import.hxx: what's this generator stuff?
#if 0
// generator
class Widget
*** root.hxx:
/*
  TODO: (ricardo) I think we should cut on LayoutRoot, stripping out its widget
  proxy interface (just make it return the root widget).

*** root.cxx:
LayoutWidget::~LayoutWidget()
{
    /* should we dispose of the references...? */
    // at least of its children... Or should root?
*** root.cxx:
LayoutRoot::~LayoutRoot()
{
// TODO: we want to delete the top level LayoutWidget...


* portability
** --enable-layout does not compile on Sun?
[SunStudio12 on Linux works...]

TODO: Try not including layout-pre.hxx twice, but use
layout-pre-header.hxx and layout-pre-source.hxx (both include an
un-multiple-inclusion-shielded layout-pre.hxx).

"/export/home/fstrba/devel-cvs/ooo-build/build/ooh680-m1/layout/workben/zoom.cxx", line 412: Error: layout is not a member of layout.
"/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*.
"/export/home/fstrba/devel-cvs/ooo-build/build/ooh680-m1/layout/workben/zoom.cxx", line 431: Error: layout is not a member of layout.
"/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*.
"/export/home/fstrba/devel-cvs/ooo-build/build/ooh680-m1/layout/workben/zoom.cxx", line 441: Error: layout is not a member of layout.
"/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*.
6 Error(s) detected.

    #412
    ( ( layout :: layout :: RadioButton * ) pCaller ) ; } long SvxZoomDialog :: UserHdl ( layout :: RadioButton * pBtn )
    {
    fprintf ( ( & __iob [ 2 ] ) , "SvxZoomDialog::UserHdl\n" ) ;
    bModified |= 1 ;
    if ( pBtn == & aUserBtn )
    {
    aUserEdit . Enable ( ) ;
    aUserEdit . GrabFocus ( ) ;
    }
    else
    aUserEdit . Disable ( ) ;
    return 0 ;
    }

** LayoutDialogs compilation errors on Windows
in VCL headers there, need to include more headers to also get stuff like HWND defined.

* code
** features
*** Symbols on MoreButton/AdvancedButton?

*** support more widgets (as necessary)
**** see toolkit/source/awt/vclxtoolkit.cxx and svtools/source/uno/unoiface.cxx
**** SubDialog
**** Pull-down menu
**** embed custom widget
**** embed old .src TAB
**** have a LAYOUT TAB be embedded in an old .src dialog
**** FileControl?
**** roadmap?
**** datefield?
**** patternfield?
**** patternbox?
**** dockingarea?
**** errorbox?
**** groupbox?
**** menubutton?
**** messbox?
**** simpleanimation?

*** support cnt:cnt:? 
*** support using label (verb) on yes/ok no/cancel buttons for some platforms
but keep using yes/no on Windows, eg?
*** remove -DTEST_LAYOUT=1 from util/makefile.mk?

** fixes
*** missing properties
	'title' -> 'Set Zoom'
Missing prop Title
Missing prop ValueStep
Missing prop Radiogroup
Missing prop Default
*** bug in wordcountdialog: right alignment of numbers `jump' when resizing
       the dialog.  the 0 and 00 are never exactly aligned.
*** look into code duplication: source/core/*.
*** Remove magic constants
fHorAlign = fVerAlign = 0.5; --> float const [CENTER?] = 0.5;

** include full translations
*** zoom
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/' 
*** wordcount
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
*** sortdlg
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
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
*** insert-sheet
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
*** move-copy-sheet
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
*** find-and-replace
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

* i18n
    + forget java property files nonsense
	- dump old wiki pointers into layout/doc for reference
    + share code with vcl/source/gdi/impimagetree.cxx
    + 'layout.zip'?
    + support multiple translatable attributes
    + ? rewrite tralay from scratch (in python, perl, c++?) ?


* distributing: [LayoutDialogs]
git diff 5db78fc5 layout scp2 > layout-dialogs-layout.diff
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' ' '
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

Soo...

m237: fc105178

#git diff  offapi toolkit > layout-dialogs-offapi-toolkit.diff

git diff fc105178 layout | sed 's@^\([+-]\{3\}\) \(a\|b\)/@\1 @' > layout-dialogs-layout.diff
git diff fc105178 config_office scp2 | sed 's@^\([+-]\{3\}\) \(a\|b\)/@\1 @' > layout-dialogs-config_office-scp2.diff
git diff fc105178 svx sw | sed 's@^\([+-]\{3\}\) \(a\|b\)/@\1 @' > layout-dialogs-svx-sw.diff

m241: 5e9b2546
m241': b8e24264
m241'': 53ddc663
m1: fbde8234
m1': d1f42c99
m1'': 1a8dec5c
m1'''': c93389f7

* porting
** Zoom dialog
*** list of radio buttons indented: workben/zoom-indent.xml ?
** Word Count dialog
** Recover dialog (redesign)
** pivotfilter dialog (Kohei?)
** paragraph dialog


TODO


* play with / improve Ricardo's editor
** broken after new uno registration

   it barfs on
   
    void selectedWidget( Widget *pWidget )
    {
        clear();

   it looks like a window is deleted twice.

** this is not meant to be a production level tool, but still,
   it can be improved I think :-)

* improve Kohei's converter (poke him on IRC (afternoons) about this)

** current hack: workben/run-s2x

   . Imported into layout

	+ Kohei wrote the start of a nice script to convert ugly,
	  obsolete resource files to nice new XML files ;-)
		+ unfortunately it is buggy.
		+ see ooo-build/scratch/layout-src2xml/*
		+ we should move this into the git repo.
	+ bug to fix: case problems in XML
		+ XML produced has wrong case items, and names are
		  different to those we (and AWT) expects ->
		  de-stdlycapsise
		+ cf. layout/source/core/helper.cxx:
			toUnoNaming, anyFromString
			setProperties
			+ NB. we want to have nice 'clean' looking non-stdlycaps XML
		+ also toolkit/source/awt/vclxwindows.cxx /ImplGetPropertyIds/
		+ also toolkit/source/helper/property.cxx
	+ bug to fix: property name problems
		+ often the resource name strings (cf. legacy resource
		  compiler in rsc/) don't match the awt toolkit properties
		+ ie. need to map Label="foo" to Text="foo" (or whatever).

* OLD notes

+ Before OOoCon
    + editor polish
	+ cut / paste
	+ export xml
	+ "import .src"
	[ use native VCL menus ... ]
    + dialogs:
	+ porting 'Format' dialog.
	+ wrapper code - improving ...
    + XML fixes
	+ "load" command for shared fragments
    + slides:
	+ UNO object hierarchy for a given window ...

+ Later
    + dual-compile code under VCL & 'layout' and compare
      event ordering (eg.).
	+ test-tool
    + scrolled-pane impl.