Files
libreoffice/dbaccess/source/ui/control/FieldDescControl.cxx
Noel Grandin 1c4025babd vclwidget: change all vcl::window fields to be wrapped in VclPtr
and update the VclWidget clang plugin to
- warn about unconverted fields
- .clear() all VclPtr fields in dispose() methods

Change-Id: I6e657c215bc6807efd992555399b3b1fc16c89b5

2	1	accessibility/inc/accessibility/extended/accessibleiconchoicectrlentry.hxx
2	1	accessibility/inc/accessibility/extended/accessibletabbarbase.hxx
1	1	accessibility/inc/accessibility/extended/accessibletablistbox.hxx
1	1	accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx
3	2	accessibility/inc/accessibility/extended/listboxaccessible.hxx
1	1	accessibility/inc/accessibility/extended/textwindowaccessibility.hxx
2	1	accessibility/inc/accessibility/standard/vclxaccessiblemenubar.hxx
2	1	accessibility/inc/accessibility/standard/vclxaccessiblestatusbar.hxx
4	4	accessibility/inc/accessibility/standard/vclxaccessiblestatusbaritem.hxx
2	1	accessibility/inc/accessibility/standard/vclxaccessibletabcontrol.hxx
2	1	accessibility/inc/accessibility/standard/vclxaccessibletabpage.hxx
3	2	accessibility/inc/accessibility/standard/vclxaccessibletabpagewindow.hxx
7	6	accessibility/inc/accessibility/standard/vclxaccessibletoolboxitem.hxx
3	3	accessibility/source/extended/AccessibleToolPanelDeck.cxx
2	2	accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx
2	2	accessibility/source/extended/AccessibleToolPanelDeckTabBarItem.cxx
1	1	accessibility/source/extended/accessibleiconchoicectrlentry.cxx
3	3	accessibility/source/extended/textwindowaccessibility.cxx
3	3	accessibility/source/standard/vclxaccessibleradiobutton.cxx
1	1	accessibility/source/standard/vclxaccessibletabpagewindow.cxx
1	1	avmedia/inc/mediacontrol.hxx
1	2	avmedia/source/framework/mediacontrol.cxx
1	1	avmedia/source/framework/mediaplayer.cxx
7	7	avmedia/source/viewer/mediaevent_impl.cxx
2	1	avmedia/source/viewer/mediaevent_impl.hxx
1	2	avmedia/source/viewer/mediawindow_impl.cxx
1	1	avmedia/source/viewer/mediawindow_impl.hxx
1	1	basctl/source/basicide/basicrenderable.hxx
1	0	basctl/source/basicide/baside2.cxx
7	5	basctl/source/basicide/baside2.hxx
13	2	basctl/source/basicide/baside2b.cxx
3	3	basctl/source/basicide/baside3.cxx
14	14	basctl/source/basicide/basides1.cxx
4	4	basctl/source/basicide/basides2.cxx
2	2	basctl/source/basicide/basides3.cxx
6	6	basctl/source/basicide/basidesh.cxx
14	1	basctl/source/basicide/bastypes.cxx
15	0	basctl/source/basicide/brkdlg.cxx
8	6	basctl/source/basicide/brkdlg.hxx
11	0	basctl/source/basicide/layout.cxx
5	2	basctl/source/basicide/layout.hxx
11	0	basctl/source/basicide/linenumberwindow.cxx
3	1	basctl/source/basicide/linenumberwindow.hxx
14	0	basctl/source/basicide/macrodlg.cxx
15	15	basctl/source/basicide/macrodlg.hxx
45	1	basctl/source/basicide/moduldl2.cxx
32	1	basctl/source/basicide/moduldlg.cxx
36	26	basctl/source/basicide/moduldlg.hxx
20	0	basctl/source/dlged/managelang.cxx
2	1	basctl/source/inc/accessibledialogcontrolshape.hxx
2	1	basctl/source/inc/accessibledialogwindow.hxx
2	2	basctl/source/inc/baside3.hxx
4	4	basctl/source/inc/basidesh.hxx
5	4	basctl/source/inc/bastypes.hxx
3	2	basctl/source/inc/dlged.hxx
12	10	basctl/source/inc/managelang.hxx
1	1	chart2/inc/ChartModel.hxx
2	1	chart2/source/controller/accessibility/AccessibleViewForwarder.hxx
2	2	chart2/source/controller/dialogs/ChartTypeDialogController.hxx
1	2	chart2/source/controller/dialogs/dlg_ChartType.cxx
2	10	chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx
1	0	chart2/source/controller/dialogs/dlg_DataEditor.cxx
4	6	chart2/source/controller/dialogs/dlg_DataSource.cxx
17	0	chart2/source/controller/dialogs/dlg_InsertAxis_Grid.cxx
6	8	chart2/source/controller/dialogs/dlg_View3D.cxx
2	2	chart2/source/controller/dialogs/res_BarGeometry.hxx
19	19	chart2/source/controller/dialogs/res_DataLabel.hxx
23	23	chart2/source/controller/dialogs/res_Trendline.hxx
14	0	chart2/source/controller/dialogs/tp_3D_SceneAppearance.cxx
6	4	chart2/source/controller/dialogs/tp_3D_SceneAppearance.hxx
18	0	chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx
9	7	chart2/source/controller/dialogs/tp_3D_SceneGeometry.hxx
14	1	chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
16	16	chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx
17	0	chart2/source/controller/dialogs/tp_AxisLabel.cxx
17	17	chart2/source/controller/dialogs/tp_AxisLabel.hxx
24	0	chart2/source/controller/dialogs/tp_AxisPositions.cxx
20	18	chart2/source/controller/dialogs/tp_AxisPositions.hxx
44	19	chart2/source/controller/dialogs/tp_ChartType.cxx
3	3	chart2/source/controller/dialogs/tp_ChartType.hxx
28	0	chart2/source/controller/dialogs/tp_DataSource.cxx
22	20	chart2/source/controller/dialogs/tp_DataSource.hxx
12	0	chart2/source/controller/dialogs/tp_LegendPosition.cxx
3	1	chart2/source/controller/dialogs/tp_LegendPosition.hxx
16	0	chart2/source/controller/dialogs/tp_PolarOptions.cxx
8	6	chart2/source/controller/dialogs/tp_PolarOptions.hxx
24	0	chart2/source/controller/dialogs/tp_RangeChooser.cxx
15	13	chart2/source/controller/dialogs/tp_RangeChooser.hxx
35	0	chart2/source/controller/dialogs/tp_Scale.cxx
34	32	chart2/source/controller/dialogs/tp_Scale.hxx
24	0	chart2/source/controller/dialogs/tp_SeriesToAxis.cxx
19	17	chart2/source/controller/dialogs/tp_SeriesToAxis.hxx
7	0	chart2/source/controller/dialogs/tp_TitleRotation.cxx
7	7	chart2/source/controller/dialogs/tp_TitleRotation.hxx
13	0	chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.cxx
5	3	chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.hxx
1	1	chart2/source/controller/inc/dlg_ChartType.hxx
1	1	chart2/source/controller/inc/dlg_CreationWizard_UNO.hxx
1	1	chart2/source/controller/inc/dlg_DataEditor.hxx
4	4	chart2/source/controller/inc/dlg_DataSource.hxx
8	6	chart2/source/controller/inc/dlg_InsertAxis_Grid.hxx
4	4	chart2/source/controller/inc/dlg_View3D.hxx
27	27	chart2/source/controller/inc/res_ErrorBar.hxx
5	5	chart2/source/controller/inc/res_LegendPosition.hxx
14	14	chart2/source/controller/inc/res_Titles.hxx
1	1	chart2/source/controller/main/ChartController.hxx
2	3	chart2/source/controller/main/ChartWindow.cxx
1	1	chart2/source/controller/main/ChartWindow.hxx
6	6	chart2/source/controller/main/ShapeController.cxx
1	1	chart2/source/view/charttypes/GL3DBarChart.cxx
1	1	chart2/source/view/inc/GL3DBarChart.hxx
1	1	chart2/source/view/main/ChartView.cxx
155	50	compilerplugins/clang/vclwidgets.cxx
23	0	cui/source/customize/acccfg.cxx
95	20	cui/source/customize/cfg.cxx
1	0	cui/source/customize/cfgutil.cxx
1	0	cui/source/customize/eventdlg.cxx
1	1	cui/source/customize/eventdlg.hxx
12	0	cui/source/customize/macropg.cxx
8	6	cui/source/customize/macropg_impl.hxx
17	0	cui/source/customize/selector.cxx
20	0	cui/source/dialogs/SpellDialog.cxx
17	0	cui/source/dialogs/about.cxx
56	26	cui/source/dialogs/colorpicker.cxx
19	0	cui/source/dialogs/cuicharmap.cxx
29	1	cui/source/dialogs/cuifmsearch.cxx
84	2	cui/source/dialogs/cuigaldlg.cxx
72	0	cui/source/dialogs/cuigrfflt.cxx
15	0	cui/source/dialogs/cuiimapwnd.cxx
11	0	cui/source/dialogs/cuitbxform.cxx
41	0	cui/source/dialogs/dlgname.cxx
79	5	cui/source/dialogs/hangulhanjadlg.cxx
5	0	cui/source/dialogs/hldocntp.cxx
15	0	cui/source/dialogs/hldoctp.cxx
20	1	cui/source/dialogs/hlinettp.cxx
14	0	cui/source/dialogs/hlmailtp.cxx
15	0	cui/source/dialogs/hlmarkwn.cxx
9	5	cui/source/dialogs/hltpbase.cxx
18	0	cui/source/dialogs/hyphen.cxx
18	2	cui/source/dialogs/iconcdlg.cxx
45	0	cui/source/dialogs/insdlg.cxx
13	0	cui/source/dialogs/insrc.cxx
20	0	cui/source/dialogs/linkdlg.cxx
13	8	cui/source/dialogs/multipat.cxx
12	0	cui/source/dialogs/newtabledlg.cxx
9	9	cui/source/dialogs/passwdomdlg.cxx
13	0	cui/source/dialogs/pastedlg.cxx
7	0	cui/source/dialogs/postdlg.cxx
18	0	cui/source/dialogs/scriptdlg.cxx
11	0	cui/source/dialogs/showcols.cxx
14	0	cui/source/dialogs/splitcelldlg.cxx
25	0	cui/source/dialogs/srchxtra.cxx
39	0	cui/source/dialogs/thesdlg.cxx
13	0	cui/source/dialogs/zoom.cxx
29	0	cui/source/factory/cuiexp.cxx
0	2	cui/source/factory/dlgfact.cxx
2	3	cui/source/factory/dlgfact.hxx
3	1	cui/source/inc/ControlFocusHelper.hxx
20	20	cui/source/inc/SpellDialog.hxx
9	7	cui/source/inc/about.hxx
14	12	cui/source/inc/acccfg.hxx
26	26	cui/source/inc/align.hxx
62	52	cui/source/inc/autocdlg.hxx
29	29	cui/source/inc/backgrnd.hxx
34	32	cui/source/inc/border.hxx
44	33	cui/source/inc/cfg.hxx
1	1	cui/source/inc/cfgutil.hxx
95	85	cui/source/inc/chardlg.hxx
14	12	cui/source/inc/connect.hxx
12	10	cui/source/inc/cuicharmap.hxx
27	27	cui/source/inc/cuifmsearch.hxx
41	29	cui/source/inc/cuigaldlg.hxx
24	10	cui/source/inc/cuigrfflt.hxx
1	1	cui/source/inc/cuihyperdlg.hxx
7	5	cui/source/inc/cuiimapwnd.hxx
3	1	cui/source/inc/cuioptgenrl.hxx
3	1	cui/source/inc/cuisrchdlg.hxx
145	135	cui/source/inc/cuitabarea.hxx
57	53	cui/source/inc/cuitabline.hxx
3	1	cui/source/inc/cuitbxform.hxx
5	5	cui/source/inc/dbregister.hxx
17	12	cui/source/inc/dlgname.hxx
15	11	cui/source/inc/dstribut.hxx
21	21	cui/source/inc/grfpage.hxx
49	43	cui/source/inc/hangulhanjadlg.hxx
5	5	cui/source/inc/hldocntp.hxx
7	5	cui/source/inc/hldoctp.hxx
11	9	cui/source/inc/hlinettp.hxx
6	4	cui/source/inc/hlmailtp.hxx
7	5	cui/source/inc/hlmarkwn.hxx
7	7	cui/source/inc/hltpbase.hxx
10	8	cui/source/inc/hyphen.hxx
14	12	cui/source/inc/iconcdlg.hxx
29	25	cui/source/inc/insdlg.hxx
5	3	cui/source/inc/insrc.hxx
12	10	cui/source/inc/labdlg.hxx
12	10	cui/source/inc/linkdlg.hxx
19	17	cui/source/inc/measure.hxx
6	6	cui/source/inc/multipat.hxx
4	2	cui/source/inc/newtabledlg.hxx
30	30	cui/source/inc/numfmt.hxx
64	64	cui/source/inc/numpages.hxx
13	13	cui/source/inc/optasian.hxx
17	13	cui/source/inc/optdict.hxx
18	18	cui/source/inc/optlingu.hxx
4	4	cui/source/inc/optpath.hxx
29	29	cui/source/inc/page.hxx
71	59	cui/source/inc/paragrph.hxx
6	4	cui/source/inc/pastedlg.hxx
7	7	cui/source/inc/postdlg.hxx
11	9	cui/source/inc/scriptdlg.hxx
9	7	cui/source/inc/selector.hxx
4	2	cui/source/inc/showcols.hxx
6	4	cui/source/inc/splitcelldlg.hxx
10	6	cui/source/inc/srchxtra.hxx
28	26	cui/source/inc/swpossizetabpage.hxx
29	27	cui/source/inc/tabstpge.hxx
20	17	cui/source/inc/textanim.hxx
19	16	cui/source/inc/textattr.hxx
15	8	cui/source/inc/thesdlg.hxx
34	28	cui/source/inc/transfrm.hxx
5	5	cui/source/inc/treeopt.hxx
13	13	cui/source/inc/zoom.hxx
4	2	cui/source/options/certpath.cxx
4	4	cui/source/options/certpath.hxx
17	0	cui/source/options/connpooloptions.cxx
10	8	cui/source/options/connpooloptions.hxx
11	0	cui/source/options/cuisrchdlg.cxx
5	2	cui/source/options/dbregister.cxx
14	0	cui/source/options/doclinkdialog.cxx
6	4	cui/source/options/doclinkdialog.hxx
10	2	cui/source/options/fontsubs.cxx
12	12	cui/source/options/fontsubs.hxx
26	0	cui/source/options/optaboutconfig.cxx
10	6	cui/source/options/optaboutconfig.hxx
9	0	cui/source/options/optaccessibility.cxx
9	9	cui/source/options/optaccessibility.hxx
13	0	cui/source/options/optasian.cxx
16	0	cui/source/options/optbasic.cxx
8	6	cui/source/options/optbasic.hxx
5	0	cui/source/options/optchart.cxx
5	5	cui/source/options/optchart.hxx
29	32	cui/source/options/optcolor.cxx
4	4	cui/source/options/optcolor.hxx
16	0	cui/source/options/optctl.cxx
8	6	cui/source/options/optctl.hxx
31	0	cui/source/options/optdict.cxx
21	2	cui/source/options/optfltr.cxx
12	10	cui/source/options/optfltr.hxx
54	0	cui/source/options/optgdlg.cxx
47	45	cui/source/options/optgdlg.hxx
12	2	cui/source/options/optgenrl.cxx
26	0	cui/source/options/opthtml.cxx
18	16	cui/source/options/opthtml.hxx
45	4	cui/source/options/optinet2.cxx
37	35	cui/source/options/optinet2.hxx
29	6	cui/source/options/optjava.cxx
23	21	cui/source/options/optjava.hxx
28	0	cui/source/options/optjsearch.cxx
22	20	cui/source/options/optjsearch.hxx
31	4	cui/source/options/optlingu.cxx
17	0	cui/source/options/optmemory.cxx
9	7	cui/source/options/optmemory.hxx
44	5	cui/source/options/optopencl.cxx
21	20	cui/source/options/optopencl.hxx
4	2	cui/source/options/optpath.cxx
17	0	cui/source/options/optsave.cxx
19	19	cui/source/options/optsave.hxx
19	0	cui/source/options/optupdt.cxx
12	10	cui/source/options/optupdt.hxx
39	0	cui/source/options/personalization.cxx
20	16	cui/source/options/personalization.hxx
18	0	cui/source/options/securityoptions.cxx
10	8	cui/source/options/securityoptions.hxx
11	10	cui/source/options/treeopt.cxx
4	2	cui/source/options/webconninfo.cxx
4	4	cui/source/options/webconninfo.hxx
24	0	cui/source/tabpages/align.cxx
106	7	cui/source/tabpages/autocdlg.cxx
27	0	cui/source/tabpages/backgrnd.cxx
34	0	cui/source/tabpages/border.cxx
115	1	cui/source/tabpages/chardlg.cxx
22	0	cui/source/tabpages/connect.cxx
32	0	cui/source/tabpages/dstribut.cxx
18	0	cui/source/tabpages/grfpage.cxx
20	0	cui/source/tabpages/labdlg.cxx
10	10	cui/source/tabpages/macroass.cxx
25	0	cui/source/tabpages/measure.cxx
25	1	cui/source/tabpages/numfmt.cxx
60	1	cui/source/tabpages/numpages.cxx
29	0	cui/source/tabpages/page.cxx
99	0	cui/source/tabpages/paragrph.cxx
37	0	cui/source/tabpages/swpossizetabpage.cxx
34	1	cui/source/tabpages/tabstpge.cxx
26	0	cui/source/tabpages/textanim.cxx
24	0	cui/source/tabpages/textattr.cxx
72	0	cui/source/tabpages/tparea.cxx
14	1	cui/source/tabpages/tpbitmap.cxx
28	4	cui/source/tabpages/tpcolor.cxx
28	0	cui/source/tabpages/tpgradnt.cxx
21	0	cui/source/tabpages/tphatch.cxx
29	0	cui/source/tabpages/tpline.cxx
25	0	cui/source/tabpages/tplnedef.cxx
18	0	cui/source/tabpages/tplneend.cxx
17	0	cui/source/tabpages/tpshadow.cxx
58	0	cui/source/tabpages/transfrm.cxx
42	0	dbaccess/source/ext/macromigration/macromigrationpages.cxx
20	14	dbaccess/source/ext/macromigration/macromigrationpages.hxx
1	1	dbaccess/source/ext/macromigration/rangeprogressbar.hxx
0	1	dbaccess/source/ui/app/AppDetailPageHelper.cxx
2	1	dbaccess/source/ui/app/AppDetailView.cxx
2	2	dbaccess/source/ui/app/AppDetailView.hxx
1	1	dbaccess/source/ui/app/AppTitleWindow.cxx
1	1	dbaccess/source/ui/app/AppTitleWindow.hxx
4	10	dbaccess/source/ui/app/AppView.cxx
4	4	dbaccess/source/ui/app/AppView.hxx
1	0	dbaccess/source/ui/app/subcomponentmanager.cxx
7	16	dbaccess/source/ui/browser/brwview.cxx
1	2	dbaccess/source/ui/browser/dbtreeview.cxx
1	1	dbaccess/source/ui/browser/dbtreeview.hxx
10	0	dbaccess/source/ui/browser/genericcontroller.cxx
68	41	dbaccess/source/ui/control/FieldDescControl.cxx
2	2	dbaccess/source/ui/control/TableGrantCtrl.cxx
3	1	dbaccess/source/ui/control/VertSplitView.cxx
3	3	dbaccess/source/ui/control/curledit.cxx
1	0	dbaccess/source/ui/control/sqledit.cxx
16	0	dbaccess/source/ui/dlg/CollectionView.cxx
4	8	dbaccess/source/ui/dlg/ConnectionHelper.cxx
4	5	dbaccess/source/ui/dlg/ConnectionHelper.hxx
19	0	dbaccess/source/ui/dlg/ConnectionPage.cxx
13	11	dbaccess/source/ui/dlg/ConnectionPage.hxx
12	0	dbaccess/source/ui/dlg/ConnectionPageSetup.cxx
4	2	dbaccess/source/ui/dlg/ConnectionPageSetup.hxx
113	1	dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx
61	48	dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx
2	1	dbaccess/source/ui/dlg/DbAdminImpl.hxx
13	0	dbaccess/source/ui/dlg/QueryPropertiesDialog.cxx
20	0	dbaccess/source/ui/dlg/RelationDlg.cxx
30	1	dbaccess/source/ui/dlg/TextConnectionHelper.cxx
21	19	dbaccess/source/ui/dlg/TextConnectionHelper.hxx
19	5	dbaccess/source/ui/dlg/UserAdmin.cxx
4	4	dbaccess/source/ui/dlg/UserAdmin.hxx
22	0	dbaccess/source/ui/dlg/admincontrols.cxx
14	13	dbaccess/source/ui/dlg/admincontrols.hxx
1	1	dbaccess/source/ui/dlg/adminpages.hxx
6	0	dbaccess/source/ui/dlg/adtabdlg.cxx
57	31	dbaccess/source/ui/dlg/advancedsettings.cxx
28	28	dbaccess/source/ui/dlg/advancedsettings.hxx
19	0	dbaccess/source/ui/dlg/dbfindex.cxx
11	9	dbaccess/source/ui/dlg/dbfindex.hxx
7	4	dbaccess/source/ui/dlg/dbwizsetup.cxx
86	16	dbaccess/source/ui/dlg/detailpages.cxx
45	35	dbaccess/source/ui/dlg/detailpages.hxx
7	0	dbaccess/source/ui/dlg/directsql.cxx
8	8	dbaccess/source/ui/dlg/dlgsave.cxx
13	0	dbaccess/source/ui/dlg/dlgsize.cxx
14	0	dbaccess/source/ui/dlg/dsselect.cxx
6	5	dbaccess/source/ui/dlg/dsselect.hxx
30	0	dbaccess/source/ui/dlg/generalpage.cxx
15	11	dbaccess/source/ui/dlg/generalpage.hxx
9	0	dbaccess/source/ui/dlg/indexdialog.cxx
2	2	dbaccess/source/ui/dlg/indexfieldscontrol.cxx
5	0	dbaccess/source/ui/dlg/paramdialog.cxx
21	0	dbaccess/source/ui/dlg/queryfilter.cxx
18	0	dbaccess/source/ui/dlg/queryorder.cxx
9	2	dbaccess/source/ui/dlg/sqlmessage.cxx
3	0	dbaccess/source/ui/dlg/tablespage.cxx
3	3	dbaccess/source/ui/dlg/tablespage.hxx
11	0	dbaccess/source/ui/dlg/textconnectionsettings.cxx
8	7	dbaccess/source/ui/inc/CollectionView.hxx
2	1	dbaccess/source/ui/inc/ConnectionLine.hxx
2	1	dbaccess/source/ui/inc/ConnectionLineAccess.hxx
35	35	dbaccess/source/ui/inc/FieldDescControl.hxx
2	1	dbaccess/source/ui/inc/JAccess.hxx
1	1	dbaccess/source/ui/inc/JoinController.hxx
2	2	dbaccess/source/ui/inc/JoinDesignView.hxx
13	13	dbaccess/source/ui/inc/JoinTableView.hxx
1	1	dbaccess/source/ui/inc/QueryDesignView.hxx
5	4	dbaccess/source/ui/inc/QueryPropertiesDialog.hxx
1	1	dbaccess/source/ui/inc/QueryTextView.hxx
2	2	dbaccess/source/ui/inc/QueryViewSwitch.hxx
3	3	dbaccess/source/ui/inc/RelationControl.hxx
11	9	dbaccess/source/ui/inc/RelationDlg.hxx
1	1	dbaccess/source/ui/inc/RelationTableView.hxx
1	1	dbaccess/source/ui/inc/TableConnection.hxx
1	1	dbaccess/source/ui/inc/TableDesignHelpBar.hxx
3	3	dbaccess/source/ui/inc/TableDesignView.hxx
2	1	dbaccess/source/ui/inc/TableFieldDescription.hxx
2	2	dbaccess/source/ui/inc/TableGrantCtrl.hxx
1	1	dbaccess/source/ui/inc/TableWindow.hxx
2	1	dbaccess/source/ui/inc/TableWindowAccess.hxx
2	2	dbaccess/source/ui/inc/TableWindowListBox.hxx
1	1	dbaccess/source/ui/inc/TableWindowTitle.hxx
1	1	dbaccess/source/ui/inc/TokenWriter.hxx
3	3	dbaccess/source/ui/inc/VertSplitView.hxx
13	11	dbaccess/source/ui/inc/WCPage.hxx
6	6	dbaccess/source/ui/inc/WColumnSelect.hxx
5	5	dbaccess/source/ui/inc/WCopyTable.hxx
12	11	dbaccess/source/ui/inc/WNameMatch.hxx
3	1	dbaccess/source/ui/inc/WTabPage.hxx
13	9	dbaccess/source/ui/inc/WTypeSelect.hxx
6	6	dbaccess/source/ui/inc/adtabdlg.hxx
5	5	dbaccess/source/ui/inc/brwview.hxx
1	1	dbaccess/source/ui/inc/curledit.hxx
4	3	dbaccess/source/ui/inc/datasourceconnector.hxx
3	3	dbaccess/source/ui/inc/dbwizsetup.hxx
7	7	dbaccess/source/ui/inc/directsql.hxx
4	2	dbaccess/source/ui/inc/dlgsize.hxx
9	9	dbaccess/source/ui/inc/indexdialog.hxx
2	2	dbaccess/source/ui/inc/indexfieldscontrol.hxx
2	1	dbaccess/source/ui/inc/linkeddocuments.hxx
5	5	dbaccess/source/ui/inc/paramdialog.hxx
2	2	dbaccess/source/ui/inc/querycontainerwindow.hxx
13	11	dbaccess/source/ui/inc/queryfilter.hxx
10	8	dbaccess/source/ui/inc/queryorder.hxx
1	1	dbaccess/source/ui/inc/sqledit.hxx
3	1	dbaccess/source/ui/inc/textconnectionsettings.hxx
2	1	dbaccess/source/ui/inc/undosqledit.hxx
5	5	dbaccess/source/ui/inc/unodatbr.hxx
1	1	dbaccess/source/ui/misc/ToolBoxHelper.cxx
23	0	dbaccess/source/ui/misc/WCPage.cxx
17	0	dbaccess/source/ui/misc/WColumnSelect.cxx
5	5	dbaccess/source/ui/misc/WCopyTable.cxx
20	0	dbaccess/source/ui/misc/WNameMatch.cxx
41	13	dbaccess/source/ui/misc/WTypeSelect.cxx
1	0	dbaccess/source/ui/misc/singledoccontroller.cxx
5	4	dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx
1	1	dbaccess/source/ui/querydesign/JoinController.cxx
2	4	dbaccess/source/ui/querydesign/JoinDesignView.cxx
25	25	dbaccess/source/ui/querydesign/JoinTableView.cxx
1	1	dbaccess/source/ui/querydesign/QTableWindow.cxx
1	1	dbaccess/source/ui/querydesign/QueryDesignFieldUndoAct.hxx
2	1	dbaccess/source/ui/querydesign/QueryDesignUndoAction.hxx
29	30	dbaccess/source/ui/querydesign/QueryDesignView.cxx
1	1	dbaccess/source/ui/querydesign/QueryMoveTabWinUndoAct.hxx
1	1	dbaccess/source/ui/querydesign/QuerySizeTabWinUndoAct.hxx
9	9	dbaccess/source/ui/querydesign/QueryTabConnUndoAction.cxx
1	1	dbaccess/source/ui/querydesign/QueryTabConnUndoAction.hxx
3	5	dbaccess/source/ui/querydesign/QueryTabWinUndoAct.cxx
3	3	dbaccess/source/ui/querydesign/QueryTabWinUndoAct.hxx
24	30	dbaccess/source/ui/querydesign/QueryTableView.cxx
1	2	dbaccess/source/ui/querydesign/QueryTextView.cxx
12	10	dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
6	6	dbaccess/source/ui/querydesign/SelectionBrowseBox.hxx
1	1	dbaccess/source/ui/querydesign/TableConnection.cxx
1	0	dbaccess/source/ui/querydesign/TableFieldDescription.cxx
2	3	dbaccess/source/ui/querydesign/TableWindow.cxx
4	4	dbaccess/source/ui/querydesign/TableWindowAccess.cxx
1	1	dbaccess/source/ui/querydesign/TableWindowListBox.cxx
3	5	dbaccess/source/ui/querydesign/TableWindowTitle.cxx
1	2	dbaccess/source/ui/querydesign/limitboxcontroller.cxx
2	1	dbaccess/source/ui/querydesign/limitboxcontroller.hxx
2	3	dbaccess/source/ui/querydesign/querycontainerwindow.cxx
5	0	dbaccess/source/ui/querydesign/querydlg.cxx
5	5	dbaccess/source/ui/querydesign/querydlg.hxx
3	2	dbaccess/source/ui/relationdesign/RelationTableView.cxx
1	2	dbaccess/source/ui/tabledesign/FieldDescGenWin.cxx
1	1	dbaccess/source/ui/tabledesign/FieldDescGenWin.hxx
5	4	dbaccess/source/ui/tabledesign/TEditControl.cxx
6	6	dbaccess/source/ui/tabledesign/TEditControl.hxx
1	2	dbaccess/source/ui/tabledesign/TableDesignHelpBar.cxx
3	14	dbaccess/source/ui/tabledesign/TableDesignView.cxx
3	12	dbaccess/source/ui/tabledesign/TableFieldDescWin.cxx
3	3	dbaccess/source/ui/tabledesign/TableFieldDescWin.hxx
4	3	dbaccess/source/ui/tabledesign/TableUndo.hxx
1	1	dbaccess/source/ui/uno/DBTypeWizDlgSetup.cxx
3	3	dbaccess/source/ui/uno/composerdialogs.cxx
1	1	dbaccess/source/ui/uno/copytablewizard.cxx
4	4	desktop/source/app/cmdlinehelp.hxx
10	0	desktop/source/deployment/gui/dp_gui_dependencydialog.cxx
3	1	desktop/source/deployment/gui/dp_gui_dependencydialog.hxx
36	7	desktop/source/deployment/gui/dp_gui_dialog2.cxx
22	20	desktop/source/deployment/gui/dp_gui_dialog2.hxx
3	11	desktop/source/deployment/gui/dp_gui_extlistbox.cxx
3	3	desktop/source/deployment/gui/dp_gui_extlistbox.hxx
5	12	desktop/source/deployment/gui/dp_gui_theextmgr.cxx
3	3	desktop/source/deployment/gui/dp_gui_theextmgr.hxx
15	1	desktop/source/deployment/gui/dp_gui_updatedialog.cxx
15	15	desktop/source/deployment/gui/dp_gui_updatedialog.hxx
7	0	desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx
7	7	desktop/source/deployment/gui/dp_gui_updateinstalldialog.hxx
22	7	desktop/source/deployment/gui/license_dialog.cxx
2	1	editeng/source/editeng/impedit.hxx
2	1	editeng/source/editeng/textconv.hxx
1	1	editeng/source/misc/hangulhanja.cxx
2	2	editeng/source/misc/splwrap.cxx
6	0	extensions/source/abpilot/abpfinalpage.cxx
7	6	extensions/source/abpilot/abpfinalpage.hxx
2	1	extensions/source/abpilot/admininvokationimpl.hxx
10	1	extensions/source/abpilot/admininvokationpage.cxx
4	3	extensions/source/abpilot/admininvokationpage.hxx
12	0	extensions/source/abpilot/fieldmappingpage.cxx
5	3	extensions/source/abpilot/fieldmappingpage.hxx
10	0	extensions/source/abpilot/tableselectionpage.cxx
4	2	extensions/source/abpilot/tableselectionpage.hxx
11	0	extensions/source/abpilot/typeselectionpage.cxx
13	12	extensions/source/abpilot/typeselectionpage.hxx
1	1	extensions/source/abpilot/unodialogabp.cxx
4	3	extensions/source/bibliography/bibbeam.cxx
2	2	extensions/source/bibliography/bibbeam.hxx
5	2	extensions/source/bibliography/bibcont.cxx
2	2	extensions/source/bibliography/bibcont.hxx
1	0	extensions/source/bibliography/bibmod.cxx
1	1	extensions/source/bibliography/bibshortcuthandler.hxx
18	9	extensions/source/bibliography/bibview.cxx
23	11	extensions/source/bibliography/bibview.hxx
85	35	extensions/source/bibliography/datman.cxx
3	2	extensions/source/bibliography/datman.hxx
1	0	extensions/source/bibliography/framectr.cxx
55	7	extensions/source/bibliography/general.cxx
57	41	extensions/source/bibliography/general.hxx
1	0	extensions/source/bibliography/toolbar.cxx
2	2	extensions/source/bibliography/toolbar.hxx
39	0	extensions/source/dbpilots/commonpagesdbp.cxx
17	11	extensions/source/dbpilots/commonpagesdbp.hxx
12	0	extensions/source/dbpilots/controlwizard.cxx
7	6	extensions/source/dbpilots/controlwizard.hxx
15	0	extensions/source/dbpilots/gridwizard.cxx
8	6	extensions/source/dbpilots/gridwizard.hxx
48	2	extensions/source/dbpilots/groupboxwiz.cxx
18	10	extensions/source/dbpilots/groupboxwiz.hxx
33	0	extensions/source/dbpilots/listcombowizard.cxx
12	6	extensions/source/dbpilots/listcombowizard.hxx
7	6	extensions/source/plugin/inc/plugin/plctrl.hxx
3	4	extensions/source/propctrlr/browserline.cxx
4	4	extensions/source/propctrlr/browserline.hxx
2	2	extensions/source/propctrlr/browserview.cxx
1	1	extensions/source/propctrlr/browserview.hxx
2	7	extensions/source/propctrlr/commoncontrol.cxx
1	1	extensions/source/propctrlr/commoncontrol.hxx
1	1	extensions/source/propctrlr/controlfontdialog.cxx
25	2	extensions/source/propctrlr/formlinkdialog.cxx
6	5	extensions/source/propctrlr/formlinkdialog.hxx
11	0	extensions/source/propctrlr/listselectiondlg.cxx
3	1	extensions/source/propctrlr/listselectiondlg.hxx
11	0	extensions/source/propctrlr/newdatatype.cxx
4	2	extensions/source/propctrlr/newdatatype.hxx
1	0	extensions/source/propctrlr/propcontroller.cxx
2	2	extensions/source/propctrlr/propcontroller.hxx
1	5	extensions/source/propctrlr/propertyeditor.cxx
1	1	extensions/source/propctrlr/propertyeditor.hxx
3	0	extensions/source/propctrlr/selectlabeldialog.cxx
3	3	extensions/source/propctrlr/selectlabeldialog.hxx
5	11	extensions/source/propctrlr/standardcontrol.cxx
2	2	extensions/source/propctrlr/standardcontrol.hxx
5	0	extensions/source/propctrlr/taborder.cxx
5	5	extensions/source/propctrlr/taborder.hxx
14	0	extensions/source/scanner/grid.cxx
6	5	extensions/source/scanner/grid.hxx
31	1	extensions/source/scanner/sanedlg.cxx
24	24	extensions/source/scanner/sanedlg.hxx
13	0	filter/source/flash/impswfdialog.cxx
9	8	filter/source/flash/impswfdialog.hxx
1	1	filter/source/flash/swfdialog.cxx
122	2	filter/source/pdf/impdialog.cxx
99	93	filter/source/pdf/impdialog.hxx
1	1	filter/source/pdf/pdfdialog.cxx
2	2	filter/source/pdf/pdffilter.cxx
1	1	filter/source/svg/svgdialog.cxx
3	7	filter/source/xsltdialog/xmlfilterdialogcomponent.cxx
29	2	filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
17	13	filter/source/xsltdialog/xmlfiltersettingsdialog.hxx
4	2	filter/source/xsltdialog/xmlfiltertabdialog.cxx
4	4	filter/source/xsltdialog/xmlfiltertabdialog.hxx
12	0	filter/source/xsltdialog/xmlfiltertabpagebasic.cxx
6	5	filter/source/xsltdialog/xmlfiltertabpagebasic.hxx
14	0	filter/source/xsltdialog/xmlfiltertabpagexslt.cxx
9	8	filter/source/xsltdialog/xmlfiltertabpagexslt.hxx
15	1	filter/source/xsltdialog/xmlfiltertestdialog.cxx
15	15	filter/source/xsltdialog/xmlfiltertestdialog.hxx
8	11	forms/source/richtext/richtextimplcontrol.cxx
7	7	forms/source/richtext/richtextimplcontrol.hxx
2	8	forms/source/solar/control/navtoolbar.cxx
2	2	forms/source/solar/inc/navtoolbar.hxx
10	8	formula/source/ui/dlg/ControlHelper.hxx
33	33	formula/source/ui/dlg/formula.cxx
12	0	formula/source/ui/dlg/funcpage.cxx
4	2	formula/source/ui/dlg/funcpage.hxx
39	16	formula/source/ui/dlg/funcutl.cxx
20	0	formula/source/ui/dlg/parawin.cxx
25	25	formula/source/ui/dlg/parawin.hxx
11	0	formula/source/ui/dlg/structpg.cxx
3	1	formula/source/ui/dlg/structpg.hxx
1	1	fpicker/source/office/OfficeControlAccess.hxx
6	8	fpicker/source/office/PlacesListBox.cxx
6	6	fpicker/source/office/PlacesListBox.hxx
5	3	fpicker/source/office/QueryFolderName.hxx
3	2	fpicker/source/office/asyncfilepicker.hxx
3	7	fpicker/source/office/commonpicker.cxx
2	1	fpicker/source/office/commonpicker.hxx
34	9	fpicker/source/office/iodlg.cxx
11	11	fpicker/source/office/iodlg.hxx
3	2	fpicker/source/office/iodlgimp.cxx
25	27	fpicker/source/office/iodlgimp.hxx
2	4	framework/inc/classes/fwktabwindow.hxx
2	1	framework/inc/dispatch/closedispatcher.hxx
1	1	framework/inc/helper/vclstatusindicator.hxx
4	3	framework/inc/uielement/buttontoolbarcontroller.hxx
1	1	framework/inc/uielement/comboboxtoolbarcontroller.hxx
3	2	framework/inc/uielement/complextoolbarcontroller.hxx
2	1	framework/inc/uielement/dropdownboxtoolbarcontroller.hxx
1	1	framework/inc/uielement/edittoolbarcontroller.hxx
6	5	framework/inc/uielement/generictoolbarcontroller.hxx
2	1	framework/inc/uielement/spinfieldtoolbarcontroller.hxx
2	1	framework/inc/uielement/statusbaritem.hxx
6	5	framework/inc/uielement/statusbarmanager.hxx
1	1	framework/inc/uielement/toolbarmanager.hxx
1	1	framework/inc/uielement/toolbarmerger.hxx
1	2	framework/source/helper/vclstatusindicator.cxx
4	4	framework/source/services/tabwindowservice.cxx
1	1	framework/source/uielement/buttontoolbarcontroller.cxx
1	3	framework/source/uielement/comboboxtoolbarcontroller.cxx
1	1	framework/source/uielement/complextoolbarcontroller.cxx
1	3	framework/source/uielement/dropdownboxtoolbarcontroller.cxx
1	3	framework/source/uielement/edittoolbarcontroller.cxx
1	1	framework/source/uielement/generictoolbarcontroller.cxx
1	3	framework/source/uielement/spinfieldtoolbarcontroller.cxx
25	26	framework/source/uielement/statusbarmanager.cxx
4	4	framework/source/uielement/toolbarmanager.cxx
2	1	include/dbaccess/ToolBoxHelper.hxx
4	3	include/dbaccess/genericcontroller.hxx
2	1	include/editeng/splwrap.hxx
4	2	include/formula/funcutl.hxx
6	10	include/sfx2/basedlgs.hxx
5	3	include/sfx2/checkin.hxx
4	4	include/sfx2/childwin.hxx
46	40	include/sfx2/dinfdlg.hxx
2	3	include/sfx2/fcontnr.hxx
2	1	include/sfx2/frame.hxx
8	9	include/sfx2/infobar.hxx
1	1	include/sfx2/ipclient.hxx
12	12	include/sfx2/mgetempl.hxx
2	2	include/sfx2/newstyle.hxx
16	14	include/sfx2/passwd.hxx
22	21	include/sfx2/printopt.hxx
1	1	include/sfx2/prnmon.hxx
2	1	include/sfx2/sidebar/SidebarPanelBase.hxx
3	3	include/sfx2/stbitem.hxx
10	10	include/sfx2/tabdlg.hxx
10	10	include/sfx2/templatedlg.hxx
4	4	include/sfx2/templateinfodlg.hxx
1	1	include/sfx2/thumbnailview.hxx
1	1	include/sfx2/thumbnailviewitem.hxx
2	1	include/sfx2/viewsh.hxx
5	4	include/svtools/GraphicExportOptionsDialog.hxx
7	6	include/svtools/PlaceEditDialog.hxx
13	13	include/svtools/ServerDetailsControls.hxx
2	1	include/svtools/accessibleruler.hxx
4	4	include/svtools/addresstemplate.hxx
8	8	include/svtools/brwbox.hxx
4	1	include/svtools/brwhead.hxx
4	4	include/svtools/calendar.hxx
4	4	include/svtools/colrdlg.hxx
5	5	include/svtools/editbrowsebox.hxx
3	1	include/svtools/fileview.hxx
2	2	include/svtools/generictoolboxcontroller.hxx
2	1	include/svtools/genericunodialog.hxx
7	7	include/svtools/prnsetup.hxx
3	1	include/svtools/simptabl.hxx
2	0	include/svtools/tabbar.hxx
2	2	include/svtools/treelistbox.hxx
6	7	include/svtools/wizardmachine.hxx
5	5	include/svtools/wizdlg.hxx
2	1	include/svx/AccessibleShapeTreeInfo.hxx
25	25	include/svx/bmpmask.hxx
18	16	include/svx/compressgraphicdialog.hxx
4	2	include/svx/contdlg.hxx
29	27	include/svx/ctredlin.hxx
1	1	include/svx/dialcontrol.hxx
5	5	include/svx/fillctrl.hxx
1	1	include/svx/fmshell.hxx
7	3	include/svx/fontworkgallery.hxx
16	16	include/svx/hdft.hxx
9	9	include/svx/imapdlg.hxx
1	1	include/svx/lboxctrl.hxx
1	1	include/svx/linkwarn.hxx
21	19	include/svx/optgrid.hxx
8	6	include/svx/passwd.hxx
24	22	include/svx/rubydialog.hxx
1	1	include/svx/ruler.hxx
2	1	include/svx/sidebar/Popup.hxx
50	50	include/svx/srchdlg.hxx
2	2	include/svx/svdedxv.hxx
2	2	include/svx/svdpntv.hxx
4	3	include/svx/tbxcolorupdate.hxx
3	2	include/tools/errinf.hxx
9	11	include/vcl/builder.hxx
2	2	include/vcl/button.hxx
3	3	include/vcl/combobox.hxx
2	2	include/vcl/controllayout.hxx
2	1	include/vcl/cursor.hxx
1	1	include/vcl/dialog.hxx
7	7	include/vcl/dockwin.hxx
2	1	include/vcl/event.hxx
1	1	include/vcl/field.hxx
1	1	include/vcl/fixed.hxx
2	2	include/vcl/floatwin.hxx
1	1	include/vcl/fltcall.hxx
17	13	include/vcl/layout.hxx
4	4	include/vcl/lstbox.hxx
1	1	include/vcl/menu.hxx
8	8	include/vcl/msgbox.hxx
4	4	include/vcl/opengl/OpenGLContext.hxx
1	1	include/vcl/seleng.hxx
1	1	include/vcl/split.hxx
1	1	include/vcl/syswin.hxx
2	2	include/vcl/tabdlg.hxx
1	1	include/vcl/tabpage.hxx
1	1	include/vcl/taskpanelist.hxx
2	2	include/vcl/toolbox.hxx
4	3	include/vcl/vclevent.hxx
39	1	include/vcl/vclptr.hxx
1	1	include/vcl/waitobj.hxx
2	2	include/vcl/window.hxx
8	1	reportdesign/source/ui/dlg/AddField.cxx
9	0	reportdesign/source/ui/dlg/CondFormat.cxx
14	3	reportdesign/source/ui/dlg/Condition.cxx
16	16	reportdesign/source/ui/dlg/Condition.hxx
13	0	reportdesign/source/ui/dlg/DateTime.cxx
2	0	reportdesign/source/ui/dlg/Formula.cxx
58	17	reportdesign/source/ui/dlg/GroupsSorting.cxx
1	1	reportdesign/source/ui/dlg/Navigator.cxx
12	0	reportdesign/source/ui/dlg/PageNumber.cxx
6	6	reportdesign/source/ui/inc/CondFormat.hxx
8	7	reportdesign/source/ui/inc/DateTime.hxx
4	4	reportdesign/source/ui/inc/DesignView.hxx
3	3	reportdesign/source/ui/inc/Formula.hxx
10	10	reportdesign/source/ui/inc/GroupsSorting.hxx
7	6	reportdesign/source/ui/inc/PageNumber.hxx
1	1	reportdesign/source/ui/inc/ReportController.hxx
1	1	reportdesign/source/ui/inc/ReportSection.hxx
4	4	reportdesign/source/ui/inc/ReportWindow.hxx
1	1	reportdesign/source/ui/inc/ScrollHelper.hxx
2	2	reportdesign/source/ui/inc/SectionView.hxx
1	1	reportdesign/source/ui/inc/SectionWindow.hxx
1	1	reportdesign/source/ui/inc/StartMarker.hxx
6	6	reportdesign/source/ui/inc/ViewsWindow.hxx
1	1	reportdesign/source/ui/inc/dlgedfunc.hxx
1	1	reportdesign/source/ui/inc/propbrw.hxx
9	3	reportdesign/source/ui/report/DesignView.cxx
1	0	reportdesign/source/ui/report/ReportSection.cxx
2	0	reportdesign/source/ui/report/ReportWindow.cxx
1	0	reportdesign/source/ui/report/ScrollHelper.cxx
1	0	reportdesign/source/ui/report/SectionWindow.cxx
1	0	reportdesign/source/ui/report/StartMarker.cxx
1	0	reportdesign/source/ui/report/ViewsWindow.cxx
1	0	reportdesign/source/ui/report/propbrw.cxx
2	1	sc/inc/AccessibleFilterMenu.hxx
2	1	sc/inc/AccessibleFilterMenuItem.hxx
2	2	sc/inc/scmod.hxx
2	1	sc/inc/scopetools.hxx
1	1	sc/inc/waitoff.hxx
12	12	sc/source/ui/Accessibility/AccessibleText.cxx
12	1	sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx
9	1	sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx
9	1	sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx
25	3	sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx
22	3	sc/source/ui/StatisticsDialogs/SamplingDialog.cxx
18	1	sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx
22	2	sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx
5	0	sc/source/ui/app/inputhdl.cxx
7	7	sc/source/ui/app/scmod.cxx
2	4	sc/source/ui/attrdlg/scdlgfact.hxx
30	0	sc/source/ui/attrdlg/scuiexp.cxx
14	0	sc/source/ui/attrdlg/tabpages.cxx
18	0	sc/source/ui/cctrl/checklistmenu.cxx
23	0	sc/source/ui/condformat/colorformat.cxx
24	0	sc/source/ui/condformat/condformatdlg.cxx
4	1	sc/source/ui/condformat/condformatmgr.cxx
37	3	sc/source/ui/dbgui/PivotLayoutDialog.cxx
10	2	sc/source/ui/dbgui/PivotLayoutTreeListBase.cxx
1	1	sc/source/ui/dbgui/PivotLayoutTreeListLabel.cxx
17	0	sc/source/ui/dbgui/consdlg.cxx
13	0	sc/source/ui/dbgui/dapidata.cxx
23	0	sc/source/ui/dbgui/dapitype.cxx
15	0	sc/source/ui/dbgui/dbnamdlg.cxx
39	0	sc/source/ui/dbgui/dpgroupdlg.cxx
32	0	sc/source/ui/dbgui/filtdlg.cxx
18	0	sc/source/ui/dbgui/pfiltdlg.cxx
78	0	sc/source/ui/dbgui/pvfundlg.cxx
18	0	sc/source/ui/dbgui/scendlg.cxx
22	0	sc/source/ui/dbgui/scuiasciiopt.cxx
12	0	sc/source/ui/dbgui/scuiimoptdlg.cxx
19	0	sc/source/ui/dbgui/sfiltdlg.cxx
13	0	sc/source/ui/dbgui/sortdlg.cxx
11	0	sc/source/ui/dbgui/subtdlg.cxx
12	0	sc/source/ui/dbgui/textimportoptions.cxx
26	4	sc/source/ui/dbgui/tpsort.cxx
18	0	sc/source/ui/dbgui/tpsubt.cxx
59	0	sc/source/ui/dbgui/validate.cxx
1	1	sc/source/ui/dialogs/searchresults.cxx
3	3	sc/source/ui/docshell/tablink.cxx
10	0	sc/source/ui/docshell/tpstat.cxx
0	2	sc/source/ui/drawfunc/fupoor.cxx
1	0	sc/source/ui/formdlg/dwfunctr.cxx
2	1	sc/source/ui/inc/AccessibleCsvControl.hxx
1	1	sc/source/ui/inc/AccessibleEditObject.hxx
2	2	sc/source/ui/inc/AccessibleText.hxx
5	4	sc/source/ui/inc/AnalysisOfVarianceDialog.hxx
2	1	sc/source/ui/inc/ExponentialSmoothingDialog.hxx
2	1	sc/source/ui/inc/MovingAverageDialog.hxx
28	27	sc/source/ui/inc/PivotLayoutDialog.hxx
2	1	sc/source/ui/inc/PivotLayoutTreeListBase.hxx
16	15	sc/source/ui/inc/RandomNumberGeneratorDialog.hxx
15	14	sc/source/ui/inc/SamplingDialog.hxx
11	10	sc/source/ui/inc/StatisticsInputOutputDialog.hxx
14	13	sc/source/ui/inc/StatisticsTwoVariableDialog.hxx
4	4	sc/source/ui/inc/acredlin.hxx
9	9	sc/source/ui/inc/anyrefdg.hxx
12	12	sc/source/ui/inc/areasdlg.hxx
8	5	sc/source/ui/inc/checklistmenu.hxx
15	14	sc/source/ui/inc/colorformat.hxx
11	8	sc/source/ui/inc/condformatdlg.hxx
4	4	sc/source/ui/inc/condformatmgr.hxx
6	5	sc/source/ui/inc/conflictsdlg.hxx
17	17	sc/source/ui/inc/consdlg.hxx
2	1	sc/source/ui/inc/content.hxx
9	2	sc/source/ui/inc/corodlg.hxx
6	4	sc/source/ui/inc/crdlg.hxx
13	12	sc/source/ui/inc/crnrdlg.hxx
5	3	sc/source/ui/inc/dapidata.hxx
12	11	sc/source/ui/inc/dapitype.hxx
10	9	sc/source/ui/inc/datafdlg.hxx
19	17	sc/source/ui/inc/datastreamdlg.hxx
18	18	sc/source/ui/inc/dbnamdlg.hxx
6	4	sc/source/ui/inc/delcldlg.hxx
10	9	sc/source/ui/inc/delcodlg.hxx
28	27	sc/source/ui/inc/dpgroupdlg.hxx
1	1	sc/source/ui/inc/dwfunctr.hxx
21	20	sc/source/ui/inc/filldlg.hxx
60	60	sc/source/ui/inc/filtdlg.hxx
12	12	sc/source/ui/inc/foptmgr.hxx
2	2	sc/source/ui/inc/fupoor.hxx
2	2	sc/source/ui/inc/gridwin.hxx
3	3	sc/source/ui/inc/groupdlg.hxx
8	8	sc/source/ui/inc/highred.hxx
5	4	sc/source/ui/inc/inputhdl.hxx
5	4	sc/source/ui/inc/inscldlg.hxx
26	26	sc/source/ui/inc/inscodlg.hxx
13	13	sc/source/ui/inc/instbdlg.hxx
3	1	sc/source/ui/inc/lbseldlg.hxx
8	7	sc/source/ui/inc/linkarea.hxx
4	2	sc/source/ui/inc/mtrindlg.hxx
8	7	sc/source/ui/inc/mvtabdlg.hxx
6	5	sc/source/ui/inc/namecrea.hxx
13	12	sc/source/ui/inc/namedefdlg.hxx
14	14	sc/source/ui/inc/namedlg.hxx
4	4	sc/source/ui/inc/namepast.hxx
1	1	sc/source/ui/inc/navipi.hxx
4	4	sc/source/ui/inc/notemark.hxx
5	5	sc/source/ui/inc/opredlin.hxx
67	60	sc/source/ui/inc/optsolver.hxx
21	21	sc/source/ui/inc/pfiltdlg.hxx
5	5	sc/source/ui/inc/prevwsh.hxx
8	7	sc/source/ui/inc/protectiondlg.hxx
46	42	sc/source/ui/inc/pvfundlg.hxx
1	1	sc/source/ui/inc/reffact.hxx
14	12	sc/source/ui/inc/retypepassdlg.hxx
10	9	sc/source/ui/inc/scendlg.hxx
22	22	sc/source/ui/inc/scuiasciiopt.hxx
15	13	sc/source/ui/inc/scuiautofmt.hxx
12	12	sc/source/ui/inc/scuiimoptdlg.hxx
22	21	sc/source/ui/inc/scuitphfedit.hxx
1	1	sc/source/ui/inc/searchresults.hxx
3	3	sc/source/ui/inc/sharedocdlg.hxx
4	2	sc/source/ui/inc/shtabdlg.hxx
6	5	sc/source/ui/inc/simpref.hxx
11	7	sc/source/ui/inc/solveroptions.hxx
11	10	sc/source/ui/inc/solvrdlg.hxx
5	3	sc/source/ui/inc/sortdlg.hxx
6	6	sc/source/ui/inc/sortkeydlg.hxx
4	3	sc/source/ui/inc/strindlg.hxx
3	1	sc/source/ui/inc/subtdlg.hxx
8	3	sc/source/ui/inc/tabbgcolordlg.hxx
13	12	sc/source/ui/inc/tabopdlg.hxx
7	4	sc/source/ui/inc/tabpages.hxx
5	5	sc/source/ui/inc/tabview.hxx
6	6	sc/source/ui/inc/textimportoptions.hxx
16	16	sc/source/ui/inc/tpcalc.hxx
3	3	sc/source/ui/inc/tpcompatibility.hxx
3	2	sc/source/ui/inc/tpdefaults.hxx
12	12	sc/source/ui/inc/tpformula.hxx
7	6	sc/source/ui/inc/tphf.hxx
5	5	sc/source/ui/inc/tpprint.hxx
17	17	sc/source/ui/inc/tpsort.hxx
5	5	sc/source/ui/inc/tpstat.hxx
13	13	sc/source/ui/inc/tpsubt.hxx
24	24	sc/source/ui/inc/tptable.hxx
12	12	sc/source/ui/inc/tpusrlst.hxx
44	44	sc/source/ui/inc/tpview.hxx
34	28	sc/source/ui/inc/validate.hxx
11	9	sc/source/ui/inc/xmlsourcedlg.hxx
4	1	sc/source/ui/miscdlgs/acredlin.cxx
8	10	sc/source/ui/miscdlgs/anyrefdg.cxx
11	0	sc/source/ui/miscdlgs/conflictsdlg.cxx
15	0	sc/source/ui/miscdlgs/crdlg.cxx
19	1	sc/source/ui/miscdlgs/crnrdlg.cxx
14	0	sc/source/ui/miscdlgs/datafdlg.cxx
27	0	sc/source/ui/miscdlgs/datastreamdlg.cxx
15	0	sc/source/ui/miscdlgs/delcldlg.cxx
19	4	sc/source/ui/miscdlgs/delcodlg.cxx
26	0	sc/source/ui/miscdlgs/filldlg.cxx
11	3	sc/source/ui/miscdlgs/groupdlg.cxx
7	1	sc/source/ui/miscdlgs/highred.cxx
14	4	sc/source/ui/miscdlgs/inscldlg.cxx
22	0	sc/source/ui/miscdlgs/inscodlg.cxx
13	0	sc/source/ui/miscdlgs/instbdlg.cxx
12	0	sc/source/ui/miscdlgs/lbseldlg.cxx
13	0	sc/source/ui/miscdlgs/linkarea.cxx
12	0	sc/source/ui/miscdlgs/mtrindlg.cxx
13	0	sc/source/ui/miscdlgs/mvtabdlg.cxx
14	0	sc/source/ui/miscdlgs/namecrea.cxx
94	1	sc/source/ui/miscdlgs/optsolver.cxx
13	0	sc/source/ui/miscdlgs/protectiondlg.cxx
24	1	sc/source/ui/miscdlgs/retypepassdlg.cxx
23	0	sc/source/ui/miscdlgs/scuiautofmt.cxx
3	1	sc/source/ui/miscdlgs/sharedocdlg.cxx
12	0	sc/source/ui/miscdlgs/shtabdlg.cxx
11	0	sc/source/ui/miscdlgs/simpref.cxx
27	0	sc/source/ui/miscdlgs/solveroptions.cxx
17	1	sc/source/ui/miscdlgs/solvrdlg.cxx
12	0	sc/source/ui/miscdlgs/strindlg.cxx
23	0	sc/source/ui/miscdlgs/tabbgcolordlg.cxx
19	0	sc/source/ui/miscdlgs/tabopdlg.cxx
21	0	sc/source/ui/namedlg/namedefdlg.cxx
14	1	sc/source/ui/namedlg/namedlg.cxx
4	1	sc/source/ui/namedlg/namepast.cxx
7	0	sc/source/ui/navipi/content.cxx
21	1	sc/source/ui/optdlg/calcoptionsdlg.cxx
17	16	sc/source/ui/optdlg/calcoptionsdlg.hxx
10	0	sc/source/ui/optdlg/opredlin.cxx
16	0	sc/source/ui/optdlg/tpcalc.cxx
7	0	sc/source/ui/optdlg/tpcompatibility.cxx
8	0	sc/source/ui/optdlg/tpdefaults.cxx
17	0	sc/source/ui/optdlg/tpformula.cxx
9	0	sc/source/ui/optdlg/tpprint.cxx
12	0	sc/source/ui/optdlg/tpusrlst.cxx
43	0	sc/source/ui/optdlg/tpview.cxx
12	0	sc/source/ui/pagedlg/areasdlg.cxx
26	0	sc/source/ui/pagedlg/scuitphfedit.cxx
8	0	sc/source/ui/pagedlg/tphf.cxx
27	0	sc/source/ui/pagedlg/tptable.cxx
14	0	sc/source/ui/sidebar/AlignmentPropertyPanel.cxx
11	9	sc/source/ui/sidebar/AlignmentPropertyPanel.hxx
10	0	sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx
7	5	sc/source/ui/sidebar/CellAppearancePropertyPanel.hxx
12	0	sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx
8	7	sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx
4	4	sc/source/ui/vba/vbaeventshelper.cxx
14	13	sc/source/ui/view/gridwin.cxx
1	1	sc/source/ui/view/gridwin2.cxx
4	4	sc/source/ui/view/prevwsh.cxx
15	15	sc/source/ui/view/reffact.cxx
1	1	sc/source/ui/view/tabview.cxx
3	4	sc/source/ui/view/tabview5.cxx
20	1	sc/source/ui/xmlsource/xmlsourcedlg.cxx
1	1	sd/inc/Outliner.hxx
105	3	sd/source/filter/html/pubdlg.cxx
8	8	sd/source/ui/accessibility/AccessibleSlideSorterView.cxx
19	5	sd/source/ui/animations/CustomAnimationCreateDialog.cxx
2	2	sd/source/ui/animations/CustomAnimationCreateDialog.hxx
120	58	sd/source/ui/animations/CustomAnimationDialog.cxx
4	4	sd/source/ui/animations/CustomAnimationDialog.hxx
1	1	sd/source/ui/animations/CustomAnimationList.cxx
20	3	sd/source/ui/animations/CustomAnimationPane.cxx
17	17	sd/source/ui/animations/CustomAnimationPane.hxx
14	1	sd/source/ui/animations/SlideTransitionPane.cxx
13	13	sd/source/ui/animations/SlideTransitionPane.hxx
1	1	sd/source/ui/annotations/annotationtag.hxx
10	3	sd/source/ui/annotations/annotationwindow.cxx
5	4	sd/source/ui/annotations/annotationwindow.hxx
11	2	sd/source/ui/controller/slidelayoutcontroller.cxx
2	2	sd/source/ui/dlg/PaneChildWindows.cxx
17	0	sd/source/ui/dlg/PhotoAlbumDialog.cxx
13	11	sd/source/ui/dlg/PhotoAlbumDialog.hxx
13	0	sd/source/ui/dlg/RemoteDialog.cxx
5	3	sd/source/ui/dlg/RemoteDialog.hxx
1	1	sd/source/ui/dlg/RemoteDialogClientBox.hxx
20	2	sd/source/ui/dlg/animobjs.cxx
4	2	sd/source/ui/dlg/brkdlg.cxx
11	25	sd/source/ui/dlg/copydlg.cxx
29	0	sd/source/ui/dlg/custsdlg.cxx
61	61	sd/source/ui/dlg/dlgass.cxx
15	0	sd/source/ui/dlg/dlgfield.cxx
19	0	sd/source/ui/dlg/dlgsnap.cxx
47	19	sd/source/ui/dlg/headerfooterdlg.cxx
12	0	sd/source/ui/dlg/ins_paste.cxx
9	0	sd/source/ui/dlg/inspagob.cxx
16	0	sd/source/ui/dlg/layeroptionsdlg.cxx
15	0	sd/source/ui/dlg/masterlayoutdlg.cxx
9	0	sd/source/ui/dlg/morphdlg.cxx
13	3	sd/source/ui/dlg/paragr.cxx
33	0	sd/source/ui/dlg/present.cxx
26	1	sd/source/ui/dlg/prntopts.cxx
7	7	sd/source/ui/dlg/sddlgfact.cxx
1	2	sd/source/ui/dlg/sddlgfact.hxx
10	0	sd/source/ui/dlg/sdpreslt.cxx
3	1	sd/source/ui/dlg/sdtreelb.cxx
15	0	sd/source/ui/dlg/sduiexp.cxx
19	0	sd/source/ui/dlg/tpaction.cxx
42	0	sd/source/ui/dlg/tpoption.cxx
16	0	sd/source/ui/dlg/vectdlg.cxx
1	1	sd/source/ui/framework/factories/ChildWindowPane.cxx
4	8	sd/source/ui/framework/factories/FullScreenPane.cxx
1	1	sd/source/ui/framework/factories/Pane.cxx
5	3	sd/source/ui/func/fupoor.cxx
1	1	sd/source/ui/inc/AccessibleDocumentViewBase.hxx
2	1	sd/source/ui/inc/AccessibleSlideSorterView.hxx
4	4	sd/source/ui/inc/BreakDlg.hxx
2	1	sd/source/ui/inc/FormShellManager.hxx
1	1	sd/source/ui/inc/Ruler.hxx
2	2	sd/source/ui/inc/ViewShell.hxx
1	1	sd/source/ui/inc/Window.hxx
2	1	sd/source/ui/inc/WindowUpdater.hxx
23	23	sd/source/ui/inc/animobjs.hxx
11	11	sd/source/ui/inc/copydlg.hxx
21	20	sd/source/ui/inc/custsdlg.hxx
6	5	sd/source/ui/inc/dlgfield.hxx
11	9	sd/source/ui/inc/dlgsnap.hxx
2	1	sd/source/ui/inc/framework/Pane.hxx
3	3	sd/source/ui/inc/fupoor.hxx
6	6	sd/source/ui/inc/headerfooterdlg.hxx
4	2	sd/source/ui/inc/ins_paste.hxx
4	3	sd/source/ui/inc/inspagob.hxx
9	6	sd/source/ui/inc/layeroptionsdlg.hxx
7	5	sd/source/ui/inc/masterlayoutdlg.hxx
5	4	sd/source/ui/inc/morphdlg.hxx
2	2	sd/source/ui/inc/navigatr.hxx
25	23	sd/source/ui/inc/present.hxx
20	19	sd/source/ui/inc/prntopts.hxx
85	84	sd/source/ui/inc/pubdlg.hxx
6	5	sd/source/ui/inc/sdpreslt.hxx
2	2	sd/source/ui/inc/sdtreelb.hxx
1	1	sd/source/ui/inc/taskpane/SlideSorterCacheDisplay.hxx
16	15	sd/source/ui/inc/tpaction.hxx
32	30	sd/source/ui/inc/tpoption.hxx
11	10	sd/source/ui/inc/vectdlg.hxx
1	1	sd/source/ui/slideshow/slideshow.cxx
6	8	sd/source/ui/slideshow/slideshowimpl.cxx
6	6	sd/source/ui/slideshow/slideshowimpl.hxx
2	2	sd/source/ui/table/TableDesignPane.hxx
2	2	sd/source/ui/view/FormShellManager.cxx
1	0	sd/source/ui/view/sdruler.cxx
1	1	sd/source/ui/view/sdview2.cxx
1	0	sd/source/ui/view/sdwindow.cxx
1	1	sd/source/ui/view/viewshe2.cxx
1	1	sd/source/ui/view/viewshel.cxx
6	6	sfx2/inc/srchdlg.hxx
8	10	sfx2/source/appl/childwin.cxx
1	1	sfx2/source/appl/fileobj.hxx
2	1	sfx2/source/appl/helpinterceptor.hxx
20	4	sfx2/source/appl/impldde.cxx
2	2	sfx2/source/appl/lnkbase2.cxx
65	14	sfx2/source/appl/newhelp.cxx
33	25	sfx2/source/appl/newhelp.hxx
8	8	sfx2/source/appl/workwin.cxx
1	1	sfx2/source/control/thumbnailview.cxx
1	1	sfx2/source/control/thumbnailviewacc.cxx
3	2	sfx2/source/control/thumbnailviewacc.hxx
2	3	sfx2/source/control/thumbnailviewitem.cxx
2	0	sfx2/source/dialog/alienwarn.cxx
23	4	sfx2/source/dialog/backingwindow.cxx
29	29	sfx2/source/dialog/backingwindow.hxx
10	3	sfx2/source/dialog/basedlgs.cxx
13	0	sfx2/source/dialog/checkin.cxx
88	14	sfx2/source/dialog/dinfdlg.cxx
4	6	sfx2/source/dialog/dockwin.cxx
11	0	sfx2/source/dialog/documentfontsdialog.cxx
1	1	sfx2/source/dialog/filedlgimpl.hxx
8	23	sfx2/source/dialog/infobar.cxx
14	0	sfx2/source/dialog/inputdlg.cxx
12	0	sfx2/source/dialog/mgetempl.cxx
1	1	sfx2/source/dialog/navigat.cxx
2	0	sfx2/source/dialog/newstyle.cxx
4	4	sfx2/source/dialog/partwnd.cxx
22	0	sfx2/source/dialog/passwd.cxx
30	0	sfx2/source/dialog/printopt.cxx
2	1	sfx2/source/dialog/recfloat.cxx
4	4	sfx2/source/dialog/securitypage.cxx
11	8	sfx2/source/dialog/splitwin.cxx
6	0	sfx2/source/dialog/srchdlg.cxx
22	22	sfx2/source/dialog/tabdlg.cxx
5	1	sfx2/source/dialog/templateinfodlg.cxx
4	5	sfx2/source/dialog/templdlg.cxx
29	2	sfx2/source/dialog/versdlg.cxx
11	11	sfx2/source/doc/new.cxx
12	2	sfx2/source/doc/templatedlg.cxx
2	2	sfx2/source/inc/alienwarn.hxx
3	1	sfx2/source/inc/documentfontsdialog.hxx
6	4	sfx2/source/inc/inputdlg.hxx
1	1	sfx2/source/inc/recfloat.hxx
5	5	sfx2/source/inc/splitwin.hxx
5	5	sfx2/source/inc/templdgi.hxx
21	19	sfx2/source/inc/versdlg.hxx
6	6	sfx2/source/inc/workwin.hxx
12	12	sfx2/source/sidebar/FocusManager.cxx
5	5	sfx2/source/sidebar/FocusManager.hxx
15	4	sfx2/source/sidebar/PanelTitleBar.cxx
3	1	sfx2/source/sidebar/PanelTitleBar.hxx
1	1	sfx2/source/sidebar/SidebarChildWindow.cxx
9	9	sfx2/source/sidebar/SidebarController.cxx
2	2	sfx2/source/sidebar/SidebarController.hxx
6	10	sfx2/source/sidebar/SidebarPanelBase.cxx
1	1	sfx2/source/statbar/stbitem.cxx
1	1	sfx2/source/toolbox/imgmgr.cxx
11	15	sfx2/source/toolbox/tbxitem.cxx
1	1	sfx2/source/view/frame.cxx
1	1	sfx2/source/view/frame2.cxx
7	7	sfx2/source/view/impframe.hxx
2	2	sfx2/source/view/impviewframe.hxx
1	1	sfx2/source/view/printer.cxx
1	1	sfx2/source/view/sfxbasecontroller.cxx
2	2	sfx2/source/view/viewfrm.cxx
2	2	sfx2/source/view/viewprn.cxx
2	2	starmath/inc/ElementsDockingWindow.hxx
85	71	starmath/inc/dialog.hxx
3	3	starmath/inc/edit.hxx
3	3	starmath/inc/toolbox.hxx
1	1	starmath/inc/view.hxx
2	1	starmath/source/ElementsDockingWindow.cxx
2	2	starmath/source/accessibility.hxx
141	0	starmath/source/dialog.cxx
4	6	starmath/source/edit.cxx
4	4	starmath/source/toolbox.cxx
1	1	starmath/source/view.cxx
1	1	svtools/inc/vclxaccessibleheaderbar.hxx
2	1	svtools/inc/vclxaccessibleheaderbaritem.hxx
14	14	svtools/source/brwbox/brwbox1.cxx
16	16	svtools/source/brwbox/brwbox2.cxx
12	0	svtools/source/brwbox/brwhead.cxx
12	0	svtools/source/brwbox/datwin.cxx
6	4	svtools/source/brwbox/datwin.hxx
1	1	svtools/source/brwbox/ebbcontrols.cxx
4	2	svtools/source/brwbox/editbrowsebox.cxx
15	4	svtools/source/contnr/fileview.cxx
2	2	svtools/source/contnr/imivctl.hxx
2	2	svtools/source/contnr/imivctl1.cxx
11	0	svtools/source/contnr/simptabl.cxx
1	1	svtools/source/contnr/svtabbx.cxx
1	1	svtools/source/contnr/treelistbox.cxx
15	27	svtools/source/control/calendar.cxx
4	4	svtools/source/control/inettbc.cxx
2	2	svtools/source/control/roadmap.cxx
21	15	svtools/source/control/tabbar.cxx
6	6	svtools/source/control/toolbarmenu.cxx
1	1	svtools/source/control/toolbarmenuimp.hxx
1	1	svtools/source/control/valueacc.cxx
2	2	svtools/source/control/valueimp.hxx
16	0	svtools/source/dialogs/PlaceEditDialog.cxx
4	0	svtools/source/dialogs/addresstemplate.cxx
1	0	svtools/source/dialogs/colrdlg.cxx
8	0	svtools/source/dialogs/prnsetup.cxx
11	4	svtools/source/dialogs/restartdialog.cxx
1	6	svtools/source/dialogs/roadmapwizard.cxx
5	5	svtools/source/dialogs/wizardmachine.cxx
6	2	svtools/source/dialogs/wizdlg.cxx
13	0	svtools/source/filter/GraphicExportOptionsDialog.cxx
33	0	svtools/source/filter/exportdialog.cxx
33	33	svtools/source/filter/exportdialog.hxx
1	1	svtools/source/hatchwindow/hatchwindow.cxx
1	1	svtools/source/inc/hatchwindow.hxx
2	2	svtools/source/inc/svimpbox.hxx
2	2	svtools/source/misc/dialogcontrolling.cxx
8	12	svtools/source/table/tablecontrol_impl.cxx
3	3	svtools/source/table/tablecontrol_impl.hxx
2	2	svtools/source/toolpanel/paneltabbarpeer.cxx
1	1	svtools/source/toolpanel/paneltabbarpeer.hxx
2	2	svtools/source/toolpanel/toolpaneldeckpeer.cxx
1	1	svtools/source/toolpanel/toolpaneldeckpeer.hxx
1	1	svtools/source/uno/addrtempuno.cxx
2	4	svtools/source/uno/generictoolboxcontroller.cxx
1	2	svtools/source/uno/genericunodialog.cxx
3	3	svtools/source/uno/popupwindowcontroller.cxx
1	1	svtools/source/uno/treecontrolpeer.hxx
10	10	svtools/source/uno/wizard/unowizard.cxx
1	1	svtools/source/uno/wizard/wizardshell.hxx
3	1	svx/inc/extrusiondepthdialog.hxx
3	3	svx/inc/galbrws2.hxx
1	1	svx/inc/svdibrow.hxx
2	2	svx/inc/tbunosearchcontrollers.hxx
1	0	svx/source/accessibility/AccessibleShapeTreeInfo.cxx
3	3	svx/source/accessibility/GraphCtlAccessibleContext.cxx
25	8	svx/source/dialog/_bmpmask.cxx
20	1	svx/source/dialog/_contdlg.cxx
25	0	svx/source/dialog/compressgraphicdialog.cxx
4	4	svx/source/dialog/contimp.hxx
42	10	svx/source/dialog/ctredlin.cxx
45	2	svx/source/dialog/docrecovery.cxx
6	326	svx/source/dialog/fontwork.cxx
16	0	svx/source/dialog/hdft.cxx
10	2	svx/source/dialog/imapdlg.cxx
1	0	svx/source/dialog/linkwarn.cxx
27	0	svx/source/dialog/optgrid.cxx
1	1	svx/source/dialog/orienthelper.cxx
15	0	svx/source/dialog/passwd.cxx
33	0	svx/source/dialog/rubydialog.cxx
43	1	svx/source/dialog/srchdlg.cxx
1	0	svx/source/dialog/svxruler.cxx
159	162	svx/source/fmcomp/gridcell.cxx
3	3	svx/source/fmcomp/gridctrl.cxx
109	12	svx/source/form/datanavi.cxx
2	2	svx/source/form/filtnav.cxx
1	2	svx/source/form/fmPropBrw.cxx
2	2	svx/source/form/fmexpl.cxx
13	2	svx/source/form/tabwin.cxx
1	1	svx/source/form/xfm_addcondition.cxx
1	2	svx/source/gallery2/galbrws1.cxx
1	1	svx/source/gallery2/galbrws1.hxx
8	8	svx/source/gallery2/galbrws2.cxx
2	1	svx/source/inc/AccessibleFrameSelector.hxx
1	1	svx/source/inc/GraphCtlAccessibleContext.hxx
1	1	svx/source/inc/charmapacc.hxx
2	1	svx/source/inc/datalistener.hxx
72	62	svx/source/inc/datanavi.hxx
22	16	svx/source/inc/docrecovery.hxx
1	1	svx/source/inc/filtnav.hxx
1	1	svx/source/inc/fmexch.hxx
1	1	svx/source/inc/fmexpl.hxx
2	1	svx/source/inc/fmvwimp.hxx
6	6	svx/source/inc/gridcell.hxx
2	1	svx/source/inc/svxrectctaccessiblecontext.hxx
4	2	svx/source/inc/tabwin.hxx
1	1	svx/source/inc/tbxform.hxx
17	0	svx/source/sidebar/area/AreaPropertyPanel.cxx
12	8	svx/source/sidebar/area/AreaPropertyPanel.hxx
17	0	svx/source/sidebar/graphic/GraphicPropertyPanel.cxx
11	8	svx/source/sidebar/graphic/GraphicPropertyPanel.hxx
4	2	svx/source/sidebar/insert/InsertPropertyPanel.cxx
2	2	svx/source/sidebar/insert/InsertPropertyPanel.hxx
23	0	svx/source/sidebar/line/LinePropertyPanel.cxx
16	13	svx/source/sidebar/line/LinePropertyPanel.hxx
24	5	svx/source/sidebar/paragraph/ParaLineSpacingControl.cxx
11	9	svx/source/sidebar/paragraph/ParaLineSpacingControl.hxx
20	0	svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
13	10	svx/source/sidebar/paragraph/ParaPropertyPanel.hxx
23	0	svx/source/sidebar/possize/PosSizePropertyPanel.cxx
17	14	svx/source/sidebar/possize/PosSizePropertyPanel.hxx
15	0	svx/source/sidebar/text/TextPropertyPanel.cxx
8	5	svx/source/sidebar/text/TextPropertyPanel.hxx
3	3	svx/source/sidebar/tools/Popup.cxx
5	7	svx/source/svdraw/sdrpaintwindow.cxx
11	11	svx/source/svdraw/svdedxv.cxx
8	9	svx/source/svdraw/svdibrow.cxx
1	1	svx/source/svdraw/svdmrkv.cxx
8	12	svx/source/svdraw/svdpntv.cxx
2	2	svx/source/svdraw/svdview.cxx
14	1	svx/source/tbxctrls/bulletsnumbering.cxx
8	6	svx/source/tbxctrls/colorwindow.hxx
33	0	svx/source/tbxctrls/extrusioncontrols.cxx
6	2	svx/source/tbxctrls/extrusioncontrols.hxx
2	2	svx/source/tbxctrls/fillctrl.cxx
22	0	svx/source/tbxctrls/fontworkgallery.cxx
17	6	svx/source/tbxctrls/lboxctrl.cxx
16	0	svx/source/tbxctrls/tbcontrl.cxx
2	3	svx/source/tbxctrls/tbunocontroller.cxx
2	4	svx/source/tbxctrls/tbunosearchcontrollers.cxx
29	2	svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx
21	19	svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.hxx
1	2	svx/source/unodialogs/textconversiondlgs/chinese_translation_unodialog.cxx
2	1	svx/source/unodialogs/textconversiondlgs/chinese_translation_unodialog.hxx
6	1	svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.cxx
6	6	svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.hxx
1	1	svx/source/unodraw/recoveryui.cxx
1	1	svx/source/unodraw/unoshtxt.cxx
3	2	sw/inc/PostItMgr.hxx
5	5	sw/inc/SidebarWin.hxx
4	2	sw/inc/colwd.hxx
1	1	sw/inc/hhcwrp.hxx
1	1	sw/inc/postithelper.hxx
1	1	sw/inc/viewsh.hxx
22	9	sw/qa/tiledrendering/tiledrendering.cxx
1	1	sw/source/core/access/accdoc.hxx
1	1	sw/source/core/access/accfrmobj.cxx
2	1	sw/source/core/access/accfrmobj.hxx
1	1	sw/source/core/view/viewsh.cxx
17	4	sw/source/ui/chrdlg/break.cxx
10	0	sw/source/ui/chrdlg/chardlg.cxx
21	1	sw/source/ui/chrdlg/drpcps.cxx
20	0	sw/source/ui/chrdlg/numpara.cxx
10	0	sw/source/ui/chrdlg/swuiccoll.cxx
93	34	sw/source/ui/config/mailconfigpage.cxx
4	0	sw/source/ui/config/optcomp.cxx
42	0	sw/source/ui/config/optload.cxx
165	0	sw/source/ui/config/optpage.cxx
9	1	sw/source/ui/dbui/addresslistdialog.cxx
9	9	sw/source/ui/dbui/addresslistdialog.hxx
39	23	sw/source/ui/dbui/createaddresslistdialog.cxx
20	18	sw/source/ui/dbui/createaddresslistdialog.hxx
28	5	sw/source/ui/dbui/customizeaddresslistdialog.cxx
12	8	sw/source/ui/dbui/customizeaddresslistdialog.hxx
29	4	sw/source/ui/dbui/dbinsdlg.cxx
2	0	sw/source/ui/dbui/dbtablepreviewdialog.cxx
2	2	sw/source/ui/dbui/dbtablepreviewdialog.hxx
111	33	sw/source/ui/dbui/mmaddressblockpage.cxx
53	46	sw/source/ui/dbui/mmaddressblockpage.hxx
15	0	sw/source/ui/dbui/mmdocselectpage.cxx
10	9	sw/source/ui/dbui/mmdocselectpage.hxx
21	0	sw/source/ui/dbui/mmgreetingspage.cxx
27	25	sw/source/ui/dbui/mmgreetingspage.hxx
11	0	sw/source/ui/dbui/mmlayoutpage.cxx
11	11	sw/source/ui/dbui/mmlayoutpage.hxx
19	0	sw/source/ui/dbui/mmmergepage.cxx
10	8	sw/source/ui/dbui/mmmergepage.hxx
41	3	sw/source/ui/dbui/mmoutputpage.cxx
42	42	sw/source/ui/dbui/mmoutputpage.hxx
33	3	sw/source/ui/dbui/mmoutputtypepage.cxx
7	5	sw/source/ui/dbui/mmoutputtypepage.hxx
18	0	sw/source/ui/dbui/mmpreparemergepage.cxx
10	8	sw/source/ui/dbui/mmpreparemergepage.hxx
2	1	sw/source/ui/dbui/selectdbtabledialog.cxx
2	2	sw/source/ui/dbui/selectdbtabledialog.hxx
12	0	sw/source/ui/dialog/abstract.cxx
15	0	sw/source/ui/dialog/ascfldlg.cxx
18	1	sw/source/ui/dialog/docstdlg.cxx
0	1	sw/source/ui/dialog/swdlgfact.cxx
2	3	sw/source/ui/dialog/swdlgfact.hxx
15	0	sw/source/ui/dialog/swmessdialog.cxx
25	0	sw/source/ui/dialog/swuiexp.cxx
74	0	sw/source/ui/dialog/uiregionsw.cxx
13	0	sw/source/ui/dialog/wordcountdialog.cxx
11	0	sw/source/ui/dochdl/selglos.cxx
21	0	sw/source/ui/envelp/envfmt.cxx
12	10	sw/source/ui/envelp/envfmt.hxx
14	0	sw/source/ui/envelp/envlop1.cxx
17	0	sw/source/ui/envelp/envprt.cxx
9	7	sw/source/ui/envelp/envprt.hxx
80	0	sw/source/ui/envelp/label1.cxx
35	0	sw/source/ui/envelp/labfmt.cxx
22	19	sw/source/ui/envelp/labfmt.hxx
9	0	sw/source/ui/envelp/labprt.cxx
11	11	sw/source/ui/envelp/labprt.hxx
54	0	sw/source/ui/envelp/mailmrge.cxx
58	52	sw/source/ui/envelp/swuilabimp.hxx
14	0	sw/source/ui/fldui/DropDownFieldDialog.cxx
5	0	sw/source/ui/fldui/changedb.cxx
18	0	sw/source/ui/fldui/flddb.cxx
13	12	sw/source/ui/fldui/flddb.hxx
12	0	sw/source/ui/fldui/flddinf.cxx
7	6	sw/source/ui/fldui/flddinf.hxx
21	0	sw/source/ui/fldui/flddok.cxx
15	14	sw/source/ui/fldui/flddok.hxx
3	0	sw/source/ui/fldui/fldedt.cxx
31	0	sw/source/ui/fldui/fldfunc.cxx
26	25	sw/source/ui/fldui/fldfunc.hxx
15	0	sw/source/ui/fldui/fldref.cxx
10	9	sw/source/ui/fldui/fldref.hxx
22	0	sw/source/ui/fldui/fldvar.cxx
17	16	sw/source/ui/fldui/fldvar.hxx
14	0	sw/source/ui/fldui/inpdlg.cxx
10	0	sw/source/ui/fldui/javaedit.cxx
25	1	sw/source/ui/frmdlg/column.cxx
32	5	sw/source/ui/frmdlg/cption.cxx
91	4	sw/source/ui/frmdlg/frmpage.cxx
20	0	sw/source/ui/frmdlg/wrap.cxx
148	26	sw/source/ui/index/cnttab.cxx
12	1	sw/source/ui/index/multmrk.cxx
19	11	sw/source/ui/index/swuiidxmrk.cxx
9	0	sw/source/ui/misc/bookmark.cxx
27	4	sw/source/ui/misc/docfnote.cxx
12	0	sw/source/ui/misc/glosbib.cxx
35	6	sw/source/ui/misc/glossary.cxx
18	17	sw/source/ui/misc/impfnote.hxx
10	0	sw/source/ui/misc/insfnote.cxx
22	0	sw/source/ui/misc/linenum.cxx
26	2	sw/source/ui/misc/num.cxx
36	3	sw/source/ui/misc/outline.cxx
17	0	sw/source/ui/misc/pgfnote.cxx
28	1	sw/source/ui/misc/pggrid.cxx
28	2	sw/source/ui/misc/srtdlg.cxx
12	0	sw/source/ui/misc/titlepage.cxx
12	0	sw/source/ui/table/colwd.cxx
14	0	sw/source/ui/table/convert.cxx
11	0	sw/source/ui/table/instable.cxx
12	0	sw/source/ui/table/mergetbl.cxx
12	0	sw/source/ui/table/rowht.cxx
14	0	sw/source/ui/table/splittbl.cxx
67	5	sw/source/ui/table/tabledlg.cxx
22	1	sw/source/ui/table/tautofmt.cxx
12	0	sw/source/ui/utlui/swrenamexnameddlg.cxx
33	0	sw/source/uibase/dbui/dbui.cxx
12	1	sw/source/uibase/dbui/mailmergechildwindow.cxx
1	1	sw/source/uibase/docvw/HeaderFooterWin.cxx
4	3	sw/source/uibase/docvw/PageBreakWin.cxx
3	8	sw/source/uibase/docvw/PostItMgr.cxx
6	11	sw/source/uibase/docvw/SidebarWin.cxx
3	4	sw/source/uibase/docvw/srcedtw.cxx
12	1	sw/source/uibase/envelp/syncbtn.cxx
6	4	sw/source/uibase/inc/DropDownFieldDialog.hxx
1	1	sw/source/uibase/inc/FrameControl.hxx
1	1	sw/source/uibase/inc/FrameControlsManager.hxx
2	2	sw/source/uibase/inc/HeaderFooterWin.hxx
1	1	sw/source/uibase/inc/PageBreakWin.hxx
4	4	sw/source/uibase/inc/abstract.hxx
9	8	sw/source/uibase/inc/ascfldlg.hxx
4	3	sw/source/uibase/inc/bookmark.hxx
8	7	sw/source/uibase/inc/break.hxx
5	5	sw/source/uibase/inc/changedb.hxx
11	11	sw/source/uibase/inc/chrdlg.hxx
28	28	sw/source/uibase/inc/column.hxx
3	3	sw/source/uibase/inc/conttree.hxx
14	14	sw/source/uibase/inc/convert.hxx
15	15	sw/source/uibase/inc/cption.hxx
25	25	sw/source/uibase/inc/dbinsdlg.hxx
13	7	sw/source/uibase/inc/dbui.hxx
12	11	sw/source/uibase/inc/docstdlg.hxx
1	1	sw/source/uibase/inc/drawbase.hxx
17	16	sw/source/uibase/inc/drpcps.hxx
10	9	sw/source/uibase/inc/envlop.hxx
3	3	sw/source/uibase/inc/fldedt.hxx
2	1	sw/source/uibase/inc/fldmgr.hxx
83	80	sw/source/uibase/inc/frmpage.hxx
7	6	sw/source/uibase/inc/glosbib.hxx
12	12	sw/source/uibase/inc/glossary.hxx
6	4	sw/source/uibase/inc/inpdlg.hxx
2	2	sw/source/uibase/inc/inputwin.hxx
10	10	sw/source/uibase/inc/insfnote.hxx
11	11	sw/source/uibase/inc/instable.hxx
10	10	sw/source/uibase/inc/javaedit.hxx
1	1	sw/source/uibase/inc/label.hxx
16	15	sw/source/uibase/inc/linenum.hxx
10	10	sw/source/uibase/inc/mailconfigpage.hxx
3	1	sw/source/uibase/inc/mailmergechildwindow.hxx
1	1	sw/source/uibase/inc/mailmergehelper.hxx
47	42	sw/source/uibase/inc/mailmrge.hxx
3	1	sw/source/uibase/inc/mergetbl.hxx
3	2	sw/source/uibase/inc/multmrk.hxx
2	2	sw/source/uibase/inc/navipi.hxx
24	24	sw/source/uibase/inc/num.hxx
15	14	sw/source/uibase/inc/numpara.hxx
4	4	sw/source/uibase/inc/optcomp.hxx
38	36	sw/source/uibase/inc/optload.hxx
138	130	sw/source/uibase/inc/optpage.hxx
12	11	sw/source/uibase/inc/outline.hxx
13	12	sw/source/uibase/inc/pgfnote.hxx
24	22	sw/source/uibase/inc/pggrid.hxx
1	1	sw/source/uibase/inc/prcntfld.hxx
6	6	sw/source/uibase/inc/pview.hxx
3	3	sw/source/uibase/inc/redlndlg.hxx
65	63	sw/source/uibase/inc/regionsw.hxx
4	2	sw/source/uibase/inc/rowht.hxx
4	1	sw/source/uibase/inc/selglos.hxx
1	1	sw/source/uibase/inc/shdwcrsr.hxx
6	4	sw/source/uibase/inc/splittbl.hxx
3	3	sw/source/uibase/inc/srcedtw.hxx
32	32	sw/source/uibase/inc/srtdlg.hxx
7	5	sw/source/uibase/inc/swmessdialog.hxx
4	2	sw/source/uibase/inc/swrenamexnameddlg.hxx
2	1	sw/source/uibase/inc/swruler.hxx
9	9	sw/source/uibase/inc/swuiccoll.hxx
109	105	sw/source/uibase/inc/swuicnttab.hxx
45	45	sw/source/uibase/inc/swuiidxmrk.hxx
3	1	sw/source/uibase/inc/syncbtn.hxx
13	13	sw/source/uibase/inc/tautofmt.hxx
12	12	sw/source/uibase/inc/titlepage.hxx
10	10	sw/source/uibase/inc/view.hxx
13	13	sw/source/uibase/inc/wordcountdialog.hxx
2	2	sw/source/uibase/inc/workctrl.hxx
15	14	sw/source/uibase/inc/wrap.hxx
1	1	sw/source/uibase/misc/redlndlg.cxx
7	0	sw/source/uibase/misc/swruler.cxx
1	1	sw/source/uibase/ribbar/inputwin.cxx
2	1	sw/source/uibase/ribbar/workctrl.cxx
1	0	sw/source/uibase/shells/txtattr.cxx
1	0	sw/source/uibase/shells/txtcrsr.cxx
1	1	sw/source/uibase/sidebar/PageColumnControl.cxx
1	1	sw/source/uibase/sidebar/PageColumnControl.hxx
1	1	sw/source/uibase/sidebar/PageMarginControl.cxx
1	1	sw/source/uibase/sidebar/PageMarginControl.hxx
1	1	sw/source/uibase/sidebar/PageOrientationControl.cxx
1	1	sw/source/uibase/sidebar/PageOrientationControl.hxx
4	0	sw/source/uibase/sidebar/PagePropertyPanel.cxx
4	4	sw/source/uibase/sidebar/PagePropertyPanel.hxx
1	1	sw/source/uibase/sidebar/PageSizeControl.cxx
1	1	sw/source/uibase/sidebar/PageSizeControl.hxx
12	0	sw/source/uibase/sidebar/WrapPropertyPanel.cxx
8	7	sw/source/uibase/sidebar/WrapPropertyPanel.hxx
45	42	sw/source/uibase/table/tablepg.hxx
23	14	sw/source/uibase/uiview/pview.cxx
7	7	sw/source/uibase/uiview/view.cxx
1	5	sw/source/uibase/uiview/viewling.cxx
8	8	sw/source/uibase/uiview/viewmdi.cxx
1	0	sw/source/uibase/utlui/content.cxx
1	0	sw/source/uibase/utlui/glbltree.cxx
19	4	sw/source/uibase/utlui/gloslst.cxx
2	3	sw/source/uibase/utlui/navipi.cxx
1	0	tools/source/ref/errinf.cxx
15	0	uui/source/authfallbackdlg.cxx
7	5	uui/source/authfallbackdlg.hxx
12	0	uui/source/fltdlg.cxx
4	2	uui/source/fltdlg.hxx
25	0	uui/source/logindlg.cxx
17	15	uui/source/logindlg.hxx
13	0	uui/source/masterpasscrtdlg.cxx
5	3	uui/source/masterpasscrtdlg.hxx
12	0	uui/source/masterpassworddlg.cxx
4	2	uui/source/masterpassworddlg.hxx
15	0	uui/source/nameclashdlg.cxx
7	5	uui/source/nameclashdlg.hxx
15	0	uui/source/passworddlg.cxx
7	5	uui/source/passworddlg.hxx
15	0	uui/source/secmacrowarnings.cxx
10	9	uui/source/secmacrowarnings.hxx
14	0	uui/source/unknownauthdlg.cxx
6	4	uui/source/unknownauthdlg.hxx
12	4	vcl/generic/print/genprnpsp.cxx
40	2	vcl/generic/print/prtsetup.cxx
24	20	vcl/generic/print/prtsetup.hxx
3	3	vcl/inc/brdwin.hxx
2	2	vcl/inc/dndevdis.hxx
7	6	vcl/inc/ilstbox.hxx
55	54	vcl/inc/printdlg.hxx
5	4	vcl/inc/salframe.hxx
18	23	vcl/inc/svdata.hxx
1	1	vcl/inc/toolbox.h
2	1	vcl/inc/unx/i18n_status.hxx
29	29	vcl/inc/window.h
9	0	vcl/source/app/salvtables.cxx
19	11	vcl/source/app/svapp.cxx
2	0	vcl/source/app/svdata.cxx
9	0	vcl/source/app/vclevent.cxx
14	14	vcl/source/control/button.cxx
3	5	vcl/source/control/combobox.cxx
4	0	vcl/source/control/ctrl.cxx
1	0	vcl/source/control/fixed.cxx
15	3	vcl/source/control/ilstbox.cxx
4	12	vcl/source/control/lstbox.cxx
12	16	vcl/source/control/tabctrl.cxx
1	1	vcl/source/edit/textview.cxx
8	15	vcl/source/edit/vclmedit.cxx
2	4	vcl/source/gdi/print3.cxx
1	0	vcl/source/window/accel.cxx
2	3	vcl/source/window/accessibility.cxx
1	1	vcl/source/window/brdwin.cxx
5	17	vcl/source/window/btndlg.cxx
15	12	vcl/source/window/builder.cxx
1	1	vcl/source/window/clipping.cxx
2	2	vcl/source/window/cursor.cxx
4	3	vcl/source/window/dialog.cxx
10	10	vcl/source/window/dlgctrl.cxx
3	3	vcl/source/window/dndevdis.cxx
8	9	vcl/source/window/dockmgr.cxx
10	6	vcl/source/window/dockwin.cxx
20	3	vcl/source/window/event.cxx
4	2	vcl/source/window/floatwin.cxx
4	2	vcl/source/window/introwin.cxx
20	15	vcl/source/window/layout.cxx
10	10	vcl/source/window/menu.cxx
3	3	vcl/source/window/menubarwindow.cxx
2	2	vcl/source/window/menufloatingwindow.cxx
11	11	vcl/source/window/mouse.cxx
6	17	vcl/source/window/msgbox.cxx
1	1	vcl/source/window/paint.cxx
45	18	vcl/source/window/printdlg.cxx
1	0	vcl/source/window/split.cxx
3	3	vcl/source/window/splitwin.cxx
18	19	vcl/source/window/stacking.cxx
1	0	vcl/source/window/syswin.cxx
2	1	vcl/source/window/tabdlg.cxx
7	12	vcl/source/window/taskpanelist.cxx
5	4	vcl/source/window/toolbox.cxx
21	22	vcl/source/window/window.cxx
16	18	vcl/source/window/window2.cxx
7	7	vcl/source/window/winproc.cxx
1	3	vcl/unx/generic/app/i18n_status.cxx
18	4	vcl/unx/generic/printer/cupsmgr.cxx
3	2	vcl/workben/icontest.cxx
1	1	vcl/workben/mtfdemo.cxx
13	6	vcl/workben/vcldemo.cxx
3	3	xmlsecurity/inc/xmlsecurity/certificatechooser.hxx
22	17	xmlsecurity/inc/xmlsecurity/certificateviewer.hxx
18	18	xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx
22	18	xmlsecurity/inc/xmlsecurity/macrosecurity.hxx
3	1	xmlsecurity/source/dialogs/certificatechooser.cxx
44	1	xmlsecurity/source/dialogs/certificateviewer.cxx
16	1	xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
38	1	xmlsecurity/source/dialogs/macrosecurity.cxx
2015-04-10 10:20:39 +01:00

1764 lines
59 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include "FieldDescControl.hxx"
#include "FieldControls.hxx"
#include <tools/diagnose_ex.h>
#include "TableDesignHelpBar.hxx"
#include <vcl/scrbar.hxx>
#include <vcl/button.hxx>
#include <vcl/svapp.hxx>
#include <vcl/fixed.hxx>
#include <vcl/msgbox.hxx>
#include <vector>
#include "FieldDescriptions.hxx"
#include "dlgattr.hxx"
#include <svx/numfmtsh.hxx>
#include <svx/svxids.hrc>
#include <svx/algitem.hxx>
#include <svl/itempool.hxx>
#include <svl/zforlist.hxx>
#include <svl/rngitem.hxx>
#include <svl/intitem.hxx>
#include <svl/numuno.hxx>
#include <svtools/transfer.hxx>
#include <com/sun/star/lang/XUnoTunnel.hpp>
#include <com/sun/star/util/NumberFormat.hpp>
#include <com/sun/star/util/XNumberFormatPreviewer.hpp>
#include <com/sun/star/util/XNumberFormatTypes.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include "QEnumTypes.hxx"
#include "dbaccess_helpid.hrc"
#include <connectivity/dbtools.hxx>
#include <connectivity/dbconversion.hxx>
#include <comphelper/numbers.hxx>
#include <comphelper/string.hxx>
#include "UITools.hxx"
#include <boost/scoped_ptr.hpp>
#include "dbu_control.hrc"
#include "dbu_tbl.hrc"
#include <osl/diagnose.h>
using namespace dbaui;
using namespace dbtools;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::sdbc;
using namespace ::com::sun::star::util;
// For the Controls on the OFieldDescGenPage
#define CONTROL_SPACING_X 18 // 6
#define CONTROL_SPACING_Y 4
#define CONTROL_WIDTH_1 160 // 100
#define CONTROL_WIDTH_2 100 // 60
#define CONTROL_WIDTH_3 250
#define CONTROL_WIDTH_4 (CONTROL_WIDTH_3 - 20 - 5)
#define HSCROLL_STEP 20
namespace
{
template< typename T1, typename T2> void lcl_HideAndDeleteControl(short& _nPos,VclPtr<T1>& _pControl, VclPtr<T2>& _pControlText)
{
if ( _pControl )
{
--_nPos;
_pControl->Hide();
_pControlText->Hide();
_pControl.clear();
_pControlText.clear();
}
}
}
// class OFieldDescControl
OFieldDescControl::OFieldDescControl( vcl::Window* pParent, OTableDesignHelpBar* pHelpBar )
:TabPage( pParent, WB_3DLOOK | WB_DIALOGCONTROL )
,pHelp( pHelpBar )
,pLastFocusWindow(NULL)
,m_pActFocusWindow(NULL)
,pDefaultText(NULL)
,pRequiredText(NULL)
,pAutoIncrementText(NULL)
,pTextLenText(NULL)
,pNumTypeText(NULL)
,pLengthText(NULL)
,pScaleText(NULL)
,pFormatText(NULL)
,pBoolDefaultText(NULL)
,m_pColumnNameText(NULL)
,m_pTypeText(NULL)
,m_pAutoIncrementValueText(NULL)
,pRequired(NULL)
,pNumType(NULL)
,pAutoIncrement(NULL)
,pDefault(NULL)
,pTextLen(NULL)
,pLength(NULL)
,pScale(NULL)
,pFormatSample(NULL)
,pBoolDefault(NULL)
,m_pColumnName(NULL)
,m_pType(NULL)
,m_pAutoIncrementValue(NULL)
,pFormat(NULL)
,m_pVertScroll( NULL )
,m_pHorzScroll( NULL )
,m_pPreviousType()
,m_nPos(-1)
,aYes(ModuleRes(STR_VALUE_YES))
,aNo(ModuleRes(STR_VALUE_NO))
,m_nOldVThumb( 0 )
,m_nOldHThumb( 0 )
,m_nWidth(50)
,m_bAdded(false)
,m_bRightAligned(false)
,pActFieldDescr(NULL)
{
Contruct();
}
void OFieldDescControl::Contruct()
{
m_pVertScroll = new ScrollBar(this, WB_VSCROLL | WB_REPEAT | WB_DRAG);
m_pHorzScroll = new ScrollBar(this, WB_HSCROLL | WB_REPEAT | WB_DRAG);
m_pVertScroll->SetScrollHdl(LINK(this, OFieldDescControl, OnScroll));
m_pHorzScroll->SetScrollHdl(LINK(this, OFieldDescControl, OnScroll));
m_pVertScroll->Show();
m_pHorzScroll->Show();
m_pVertScroll->EnableClipSiblings();
m_pHorzScroll->EnableClipSiblings();
m_pVertScroll->SetLineSize(1);
m_pVertScroll->SetPageSize(1);
m_pHorzScroll->SetLineSize(1);
m_pHorzScroll->SetPageSize(1);
m_nOldVThumb = m_nOldHThumb = 0;
}
OFieldDescControl::~OFieldDescControl()
{
dispose();
}
void OFieldDescControl::dispose()
{
{
boost::scoped_ptr<vcl::Window> aTemp(m_pVertScroll);
m_pVertScroll = NULL;
}
{
boost::scoped_ptr<vcl::Window> aTemp(m_pHorzScroll);
m_pHorzScroll = NULL;
}
if ( m_bAdded )
::dbaui::notifySystemWindow(this,this,::comphelper::mem_fun(&TaskPaneList::RemoveWindow));
pLastFocusWindow = NULL;
// Destroy children
DeactivateAggregate( tpDefault );
DeactivateAggregate( tpRequired );
DeactivateAggregate( tpTextLen );
DeactivateAggregate( tpNumType );
DeactivateAggregate( tpScale );
DeactivateAggregate( tpLength );
DeactivateAggregate( tpFormat );
DeactivateAggregate( tpAutoIncrement );
DeactivateAggregate( tpBoolDefault );
DeactivateAggregate( tpColumnName );
DeactivateAggregate( tpType );
DeactivateAggregate( tpAutoIncrementValue );
pHelp.clear();
pLastFocusWindow.clear();
m_pActFocusWindow.clear();
pDefaultText.clear();
pRequiredText.clear();
pAutoIncrementText.clear();
pTextLenText.clear();
pNumTypeText.clear();
pLengthText.clear();
pScaleText.clear();
pFormatText.clear();
pBoolDefaultText.clear();
m_pColumnNameText.clear();
m_pTypeText.clear();
m_pAutoIncrementValueText.clear();
pRequired.clear();
pNumType.clear();
pAutoIncrement.clear();
pDefault.clear();
pTextLen.clear();
pLength.clear();
pScale.clear();
pFormatSample.clear();
pBoolDefault.clear();
m_pColumnName.clear();
m_pType.clear();
m_pAutoIncrementValue.clear();
pFormat.clear();
m_pVertScroll.clear();
m_pHorzScroll.clear();
TabPage::dispose();
}
OUString OFieldDescControl::BoolStringPersistent(const OUString& rUIString) const
{
if (rUIString == aNo)
return OUString('0');
if (rUIString == aYes)
return OUString('1');
return OUString();
}
OUString OFieldDescControl::BoolStringUI(const OUString& rPersistentString) const
{
// Older versions may store a language dependent string as a default
if (rPersistentString == aYes || rPersistentString == aNo)
return rPersistentString;
if (comphelper::string::equals(rPersistentString, '0'))
return aNo;
if (comphelper::string::equals(rPersistentString, '1'))
return aYes;
return ModuleRes(STR_VALUE_NONE).toString();
}
void OFieldDescControl::Init()
{
Reference< ::com::sun::star::util::XNumberFormatter > xFormatter = GetFormatter();
::dbaui::setEvalDateFormatForFormatter(xFormatter);
}
IMPL_LINK(OFieldDescControl, OnScroll, ScrollBar*, /*pBar*/)
{
ScrollAllAggregates();
return 0;
}
namespace
{
void getMaxXPosition(vcl::Window* _pWindow,long& _rnMaxXPosition)
{
if (_pWindow)
{
long nTemp = _pWindow->GetSizePixel().Width() + _pWindow->GetPosPixel().X();
_rnMaxXPosition = ::std::max(_rnMaxXPosition, nTemp);
}
}
}
void OFieldDescControl::CheckScrollBars()
{
// Calculate the ScrollBars' new position
Size szOverallSize = GetSizePixel();
long nHScrollHeight = m_pHorzScroll->GetSizePixel().Height();
long nVScrollWidth = m_pVertScroll->GetSizePixel().Width();
long nNewHWidth = szOverallSize.Width() - nVScrollWidth;
long nNewVHeight = szOverallSize.Height() - nHScrollHeight;
bool bNeedHScrollBar(false), bNeedVScrollBar(false);
// Adjust the areas
// Do I actually need ScrollBars?
// horizontal :
long lMaxXPosition = 0;
Control* ppAggregates[] = { pRequired, pNumType, pAutoIncrement, pDefault, pTextLen, pLength, pScale, pFormat, m_pColumnName, m_pType,m_pAutoIncrementValue};
for (sal_uInt16 i=0; i<sizeof(ppAggregates)/sizeof(ppAggregates[0]); ++i)
getMaxXPosition(ppAggregates[i],lMaxXPosition);
lMaxXPosition += m_pHorzScroll->GetThumbPos() * HSCROLL_STEP;
long lMaxXAvailable = szOverallSize.Width();
bNeedHScrollBar = lMaxXPosition > lMaxXAvailable;
// Might change
// Vertical
// How many Controls do I have?
sal_uInt16 nActive = CountActiveAggregates();
// Which one is the last one that fits?
sal_uInt16 nLastVisible;
const sal_Int32 nControlHeight = GetMaxControlHeight();
const sal_Int32 nControl_Spacing_y = LogicToPixel(Size(0, CONTROL_SPACING_Y),MAP_APPFONT).Height();
if (bNeedHScrollBar)
nLastVisible = static_cast<sal_uInt16>((szOverallSize.Height() - nControl_Spacing_y - nHScrollHeight) / (nControl_Spacing_y + nControlHeight));
else
nLastVisible = static_cast<sal_uInt16>((szOverallSize.Height() - nControl_Spacing_y) / (nControl_Spacing_y + nControlHeight));
bNeedVScrollBar = nActive>nLastVisible;
if (bNeedVScrollBar)
{
// When originally calculating lMaxXAvailable we did not take into account that we have a VScrollBar, so we need to do that now
lMaxXAvailable -= nVScrollWidth;
if (!bNeedHScrollBar && (lMaxXPosition > lMaxXAvailable))
{
// The vertical one now necessitates a horizontal one
bNeedHScrollBar = true;
// Adjust nLastVisible
nLastVisible = static_cast<sal_uInt16>((szOverallSize.Height() - nControl_Spacing_y - nHScrollHeight) / (nControl_Spacing_y + nControlHeight));
// bNeedVScrollBar does NOT change: it's already set to sal_True and nLastVisible will only decrease
}
}
// Now we can really position them and set their parameters
if (bNeedVScrollBar)
{
m_pVertScroll->Show();
m_pVertScroll->SetRangeMax(nActive - nLastVisible);
m_pVertScroll->SetPosSizePixel( Point(nNewHWidth, 0), Size(nVScrollWidth, szOverallSize.Height()) );
}
else
{
m_pVertScroll->Hide();
m_pVertScroll->SetRangeMax(0);
m_pVertScroll->SetThumbPos(0);
}
if (bNeedHScrollBar)
{
m_pHorzScroll->Show();
m_pHorzScroll->SetRangeMax((lMaxXPosition - lMaxXAvailable + HSCROLL_STEP - 1 )/HSCROLL_STEP);
m_pHorzScroll->SetPosSizePixel( Point(0, nNewVHeight), Size(bNeedVScrollBar ? nNewHWidth : szOverallSize.Width(), nHScrollHeight) );
}
else
{
m_pHorzScroll->Hide();
m_pHorzScroll->SetRangeMax(0);
m_pHorzScroll->SetThumbPos(0);
}
}
void OFieldDescControl::Resize()
{
CheckScrollBars();
ScrollAllAggregates();
}
inline void OFieldDescControl::ScrollAggregate(Control* pText, Control* pInput, Control* pButton, long nDeltaX, long nDeltaY)
{
if (!pText)
return;
pText->SetPosPixel(pText->GetPosPixel() + Point(nDeltaX, nDeltaY));
pInput->SetPosPixel(pInput->GetPosPixel() + Point(nDeltaX, nDeltaY));
if (pButton)
pButton->SetPosPixel(pButton->GetPosPixel() + Point(nDeltaX, nDeltaY));
}
void OFieldDescControl::ScrollAllAggregates()
{
long nDeltaX = 0, nDeltaY = 0;
if (m_nOldHThumb != m_pHorzScroll->GetThumbPos())
{
nDeltaX = (m_nOldHThumb - m_pHorzScroll->GetThumbPos()) * HSCROLL_STEP;
m_nOldHThumb = m_pHorzScroll->GetThumbPos();
}
if (m_nOldVThumb != m_pVertScroll->GetThumbPos())
{
const sal_Int32 nControlHeight = GetMaxControlHeight();
const sal_Int32 nControl_Spacing_y = LogicToPixel(Size(0, CONTROL_SPACING_Y),MAP_APPFONT).Height();
nDeltaY = (m_nOldVThumb - m_pVertScroll->GetThumbPos()) * (nControl_Spacing_y + nControlHeight);
m_nOldVThumb = m_pVertScroll->GetThumbPos();
}
if (nDeltaX || nDeltaY)
{
Control* ppAggregates[] = { pRequired, pNumType
, pAutoIncrement, pDefault
, pTextLen, pLength
, pScale, m_pColumnName
, m_pType, m_pAutoIncrementValue};
Control* ppAggregatesText[] = { pRequiredText, pNumTypeText
, pAutoIncrementText, pDefaultText
, pTextLenText, pLengthText
, pScaleText, m_pColumnNameText
, m_pTypeText, m_pAutoIncrementValueText};
OSL_ENSURE(sizeof(ppAggregates)/sizeof(ppAggregates[0]) == sizeof(ppAggregatesText)/sizeof(ppAggregatesText[0]),"Lists are not identical!");
for (sal_uInt16 i=0; i<sizeof(ppAggregates)/sizeof(ppAggregates[0]); ++i)
ScrollAggregate(ppAggregatesText[i],ppAggregates[i],NULL,nDeltaX, nDeltaY);
ScrollAggregate(pFormatText,pFormatSample,pFormat,nDeltaX, nDeltaY);
}
}
sal_uInt16 OFieldDescControl::CountActiveAggregates() const
{
Control* ppAggregates[] = { pRequired, pNumType, pAutoIncrement, pDefault, pTextLen, pLength, pScale, pFormat, m_pColumnName, m_pType,m_pAutoIncrementValue};
sal_uInt16 nVisibleAggregates = 0;
for (sal_uInt16 i=0; i<sizeof(ppAggregates)/sizeof(ppAggregates[0]); ++i)
if (ppAggregates[i])
++nVisibleAggregates;
return nVisibleAggregates;
}
sal_Int32 OFieldDescControl::GetMaxControlHeight() const
{
Size aHeight;
Control* ppAggregates[] = { pRequired, pNumType, pAutoIncrement, pDefault, pTextLen, pLength, pScale, pFormat, m_pColumnName, m_pType,m_pAutoIncrementValue};
for (sal_uInt16 i=0; i<sizeof(ppAggregates)/sizeof(ppAggregates[0]); ++i)
{
if ( ppAggregates[i] )
{
const Size aTemp(ppAggregates[i]->GetOptimalSize());
if ( aTemp.Height() > aHeight.Height() )
aHeight.Height() = aTemp.Height();
}
}
return aHeight.Height();
}
void OFieldDescControl::SetReadOnly( bool bReadOnly )
{
// Enable/disable Controls
Control* ppAggregates[] = { pRequired, pNumType
, pAutoIncrement, pDefault
, pTextLen, pLength
, pScale, m_pColumnName
, m_pType, m_pAutoIncrementValue
, pFormat};
Control* ppAggregatesText[] = { pRequiredText, pNumTypeText
, pAutoIncrementText, pDefaultText
, pTextLenText, pLengthText
, pScaleText, m_pColumnNameText
, m_pTypeText, m_pAutoIncrementValueText
, pFormatText};
OSL_ENSURE(sizeof(ppAggregates)/sizeof(ppAggregates[0]) == sizeof(ppAggregatesText)/sizeof(ppAggregatesText[0]),"Lists are not identical!");
for (sal_uInt16 i=0; i<sizeof(ppAggregates)/sizeof(ppAggregates[0]); ++i)
{
if ( ppAggregatesText[i] )
ppAggregatesText[i]->Enable( !bReadOnly );
if ( ppAggregates[i] )
ppAggregates[i]->Enable( !bReadOnly );
}
}
OUString OFieldDescControl::GetControlText( sal_uInt16 nControlId )
{
// Read out the Controls' texts
switch( nControlId )
{
case FIELD_PROPERTY_BOOL_DEFAULT:
if (pBoolDefault)
return pBoolDefault->GetSelectEntry();
break;
case FIELD_PROPERTY_DEFAULT:
if (pDefault)
return pDefault->GetText();
break;
case FIELD_PROPERTY_REQUIRED:
if (pRequired)
return pRequired->GetSelectEntry();
break;
case FIELD_PROPERTY_TEXTLEN:
if (pTextLen)
return OUString::number(pTextLen->GetValue());
break;
case FIELD_PROPERTY_NUMTYPE:
if (pNumType)
return pNumType->GetSelectEntry();
break;
case FIELD_PROPERTY_AUTOINC:
if (pAutoIncrement)
return pAutoIncrement->GetSelectEntry();
break;
case FIELD_PROPERTY_LENGTH:
if (pLength)
return pLength->GetText();
break;
case FIELD_PROPERTY_SCALE:
if (pScale)
return pScale->GetText();
break;
case FIELD_PROPERTY_FORMAT:
if (pFormatSample)
return pFormatSample->GetText();
break;
case FIELD_PROPERTY_COLUMNNAME:
if(m_pColumnName)
return m_pColumnName->GetText();
break;
case FIELD_PROPERTY_TYPE:
if(m_pType)
return m_pType->GetSelectEntry();
break;
case FIELD_PROPERTY_AUTOINCREMENT:
if(m_pAutoIncrementValue)
return m_pAutoIncrementValue->GetText();
}
return OUString();
}
void OFieldDescControl::SetControlText( sal_uInt16 nControlId, const OUString& rText )
{
// Set the Controls' texts
switch( nControlId )
{
case FIELD_PROPERTY_BOOL_DEFAULT:
if (pBoolDefault)
{
OUString sOld = pBoolDefault->GetSelectEntry();
pBoolDefault->SelectEntry(rText);
if (sOld != rText)
LINK(this, OFieldDescControl, ChangeHdl).Call(pBoolDefault);
}
break;
case FIELD_PROPERTY_DEFAULT:
if (pDefault)
{
pDefault->SetText(rText);
UpdateFormatSample(pActFieldDescr);
}
break;
case FIELD_PROPERTY_REQUIRED:
if (pRequired)
pRequired->SelectEntry(rText);
break;
case FIELD_PROPERTY_TEXTLEN:
if (pTextLen)
pTextLen->SetText(rText);
break;
case FIELD_PROPERTY_NUMTYPE:
if (pNumType)
pNumType->SelectEntry(rText);
break;
case FIELD_PROPERTY_AUTOINC:
if (pAutoIncrement)
{
OUString sOld = pAutoIncrement->GetSelectEntry();
pAutoIncrement->SelectEntry(rText);
if (sOld != rText)
LINK(this, OFieldDescControl, ChangeHdl).Call(pAutoIncrement);
}
break;
case FIELD_PROPERTY_LENGTH:
if (pLength)
pLength->SetText(rText);
break;
case FIELD_PROPERTY_SCALE:
if (pScale)
pScale->SetText(rText);
break;
case FIELD_PROPERTY_FORMAT:
if (pActFieldDescr)
UpdateFormatSample(pActFieldDescr);
break;
case FIELD_PROPERTY_COLUMNNAME:
if(m_pColumnName)
m_pColumnName->SetText(rText);
break;
case FIELD_PROPERTY_TYPE:
if(m_pType)
m_pType->SelectEntry(rText);
break;
case FIELD_PROPERTY_AUTOINCREMENT:
if(m_pAutoIncrementValue)
m_pAutoIncrementValue->SetText(rText);
break;
}
}
IMPL_LINK( OFieldDescControl, FormatClickHdl, Button *, /*pButton*/ )
{
// Create temporary Column, which is used for data exchange with Dialog
if( !pActFieldDescr )
return 0;
sal_Int32 nOldFormatKey(pActFieldDescr->GetFormatKey());
SvxCellHorJustify rOldJustify = pActFieldDescr->GetHorJustify();
Reference< XNumberFormatsSupplier > xSupplier = GetFormatter()->getNumberFormatsSupplier();
SvNumberFormatsSupplierObj* pSupplierImpl = SvNumberFormatsSupplierObj::getImplementation( xSupplier );
if (!pSupplierImpl)
return 0;
SvNumberFormatter* pFormatter = pSupplierImpl->GetNumberFormatter();
if(::dbaui::callColumnFormatDialog(this,pFormatter,pActFieldDescr->GetType(),nOldFormatKey,rOldJustify,true))
{
bool bModified = false;
if(nOldFormatKey != pActFieldDescr->GetFormatKey())
{
pActFieldDescr->SetFormatKey( nOldFormatKey );
bModified = true;
}
if(rOldJustify != pActFieldDescr->GetHorJustify())
{
pActFieldDescr->SetHorJustify( rOldJustify );
bModified = true;
}
if(bModified)
{
SetModified(true);
UpdateFormatSample(pActFieldDescr);
}
}
return 0;
}
void OFieldDescControl::SetModified(bool /*bModified*/)
{
}
IMPL_LINK( OFieldDescControl, ChangeHdl, ListBox *, pListBox )
{
if ( !pActFieldDescr )
return 0;
if ( pListBox->IsValueChangedFromSaved() )
SetModified(true);
// Special treatment for Boold fields
if(pListBox == pRequired && pBoolDefault )
{
// If pRequired = sal_True then the sal_Bool field must NOT contain <<none>>
OUString sDef = BoolStringUI(::comphelper::getString(pActFieldDescr->GetControlDefault()));
if(pRequired->GetSelectEntryPos() == 0) // Yes
{
pBoolDefault->RemoveEntry(OUString(ModuleRes(STR_VALUE_NONE)));
if (sDef != aYes && sDef != aNo)
pBoolDefault->SelectEntryPos(1); // No as a default
else
pBoolDefault->SelectEntry(sDef);
}
else if(pBoolDefault->GetEntryCount() < 3)
{
pBoolDefault->InsertEntry(OUString(ModuleRes(STR_VALUE_NONE)));
pBoolDefault->SelectEntry(sDef);
}
}
// A special treatment only for AutoIncrement
if (pListBox == pAutoIncrement)
{
if(pListBox->GetSelectEntryPos() == 1)
{ // no
DeactivateAggregate( tpAutoIncrementValue );
if(pActFieldDescr->IsPrimaryKey())
DeactivateAggregate( tpRequired );
else if( pActFieldDescr->getTypeInfo()->bNullable )
{
ActivateAggregate( tpRequired );
if(pRequired)
{
if( pActFieldDescr->IsNullable() )
pRequired->SelectEntryPos( 1 ); // no
else
pRequired->SelectEntryPos( 0 ); // yes
}
}
ActivateAggregate( tpDefault );
}
else
{
DeactivateAggregate( tpRequired );
DeactivateAggregate( tpDefault );
ActivateAggregate( tpAutoIncrementValue );
}
// Move all up
ArrangeAggregates();
}
if(pListBox == m_pType)
{
TOTypeInfoSP pTypeInfo = getTypeInfo(m_pType->GetSelectEntryPos());
pActFieldDescr->FillFromTypeInfo(pTypeInfo,true,false); // SetType(pTypeInfo);
DisplayData(pActFieldDescr);
CellModified(-1, m_pType->GetPos());
}
return 0;
}
// Rearrange all Controls, such that they are in fixed order and really on top
// of the DescriptionPage
void OFieldDescControl::ArrangeAggregates()
{
// A Control's description
struct AGGREGATE_DESCRIPTION
{
VclPtr<Control> pctrlInputControl; // The actual Control for input
VclPtr<Control> pctrlTextControl; // The corresponding Label
sal_uInt16 nPosSizeArgument; // The second argument for SetPosSize
};
AGGREGATE_DESCRIPTION adAggregates[] = {
{ m_pColumnName, m_pColumnNameText, 1},
{ m_pType, m_pTypeText, 1},
{ pAutoIncrement, pAutoIncrementText, 1 },
{ m_pAutoIncrementValue, m_pAutoIncrementValueText, 3 },
{ pNumType, pNumTypeText, 1 },
{ pRequired, pRequiredText, 1 },
{ pTextLen, pTextLenText, 1 },
{ pLength, pLengthText, 1 },
{ pScale, pScaleText, 1 },
{ pDefault, pDefaultText, 3 },
{ pFormatSample, pFormatText, 4 },
{ pBoolDefault, pBoolDefaultText, 1 },
};
long nMaxWidth = 0;
for (size_t i=0; i<sizeof(adAggregates)/sizeof(adAggregates[0]); i++)
{
if (adAggregates[i].pctrlTextControl)
{
nMaxWidth = ::std::max<long>(OutputDevice::GetTextWidth(adAggregates[i].pctrlTextControl->GetText()),nMaxWidth);
}
}
OSL_ENSURE(nMaxWidth != 0,"Invalid width!");
// And go ...
int nCurrentControlPos = 0;
Control* pZOrderPredecessor = NULL;
for (size_t i=0; i<sizeof(adAggregates)/sizeof(adAggregates[0]); i++)
{
if (adAggregates[i].pctrlInputControl)
{
SetPosSize(adAggregates[i].pctrlTextControl, nCurrentControlPos, 0);
SetPosSize(adAggregates[i].pctrlInputControl, nCurrentControlPos, adAggregates[i].nPosSizeArgument);
// Set the z-order in a way such that the Controls can be traversed in the same sequence in which they have been arranged here
adAggregates[i].pctrlTextControl->SetZOrder(pZOrderPredecessor, pZOrderPredecessor ? WINDOW_ZORDER_BEHIND : WINDOW_ZORDER_FIRST);
adAggregates[i].pctrlInputControl->SetZOrder(adAggregates[i].pctrlTextControl, WINDOW_ZORDER_BEHIND );
pZOrderPredecessor = adAggregates[i].pctrlInputControl;
if (adAggregates[i].pctrlInputControl == pFormatSample)
{
pFormat->SetZOrder(pZOrderPredecessor, WINDOW_ZORDER_BEHIND);
pZOrderPredecessor = pFormat;
}
++nCurrentControlPos;
}
}
// Special treatment for the Format Controls
if (pFormat)
{
Point ptSamplePos(pFormatSample->GetPosPixel());
Size szSampleSize(pFormatSample->GetSizePixel());
pFormat->SetPosPixel(Point(ptSamplePos.X() + szSampleSize.Width() + 5, ptSamplePos.Y()));
}
// Finally, put the ScrollBars at the top of the z-order
m_pVertScroll->SetZOrder(NULL, WINDOW_ZORDER_FIRST);
m_pHorzScroll->SetZOrder(NULL, WINDOW_ZORDER_FIRST);
}
void OFieldDescControl::ActivateAggregate( EControlType eType )
{
// Create Controls
switch( eType )
{
case tpDefault:
if( pDefault )
return;
m_nPos++;
pDefaultText = CreateText(STR_DEFAULT_VALUE);
pDefault = new OPropEditCtrl( this, STR_HELP_DEFAULT_VALUE, FIELD_PROPERTY_DEFAULT, WB_BORDER );
InitializeControl(pDefault,HID_TAB_ENT_DEFAULT,false);
break;
case tpAutoIncrementValue:
if( m_pAutoIncrementValue || !isAutoIncrementValueEnabled() )
return;
m_nPos++;
m_pAutoIncrementValueText = CreateText(STR_AUTOINCREMENT_VALUE);
m_pAutoIncrementValue = new OPropEditCtrl( this, STR_HELP_AUTOINCREMENT_VALUE, FIELD_PROPERTY_AUTOINCREMENT, WB_BORDER );
m_pAutoIncrementValue->SetText( getAutoIncrementValue() );
InitializeControl(m_pAutoIncrementValue,HID_TAB_AUTOINCREMENTVALUE,false);
break;
case tpRequired:
{
if( pRequired )
return;
Reference< XDatabaseMetaData> xMetaData = getMetaData();
if(xMetaData.is() && xMetaData->supportsNonNullableColumns())
{
m_nPos++;
pRequiredText = CreateText(STR_FIELD_REQUIRED);
pRequired = new OPropListBoxCtrl( this, STR_HELP_FIELD_REQUIRED, FIELD_PROPERTY_REQUIRED, WB_DROPDOWN);
pRequired->InsertEntry( aYes );
pRequired->InsertEntry( aNo );
pRequired->SelectEntryPos(1);
InitializeControl(pRequired,HID_TAB_ENT_REQUIRED,true);
}
}
break;
case tpAutoIncrement:
{
if( pAutoIncrement )
return;
m_nPos++;
pAutoIncrementText = CreateText(STR_FIELD_AUTOINCREMENT);
pAutoIncrement = new OPropListBoxCtrl( this, STR_HELP_AUTOINCREMENT, FIELD_PROPERTY_AUTOINC, WB_DROPDOWN );
pAutoIncrement->InsertEntry( aYes );
pAutoIncrement->InsertEntry( aNo );
pAutoIncrement->SelectEntryPos(0);
InitializeControl(pAutoIncrement,HID_TAB_ENT_AUTOINCREMENT,true);
}
break;
case tpTextLen:
if( pTextLen )
return;
m_nPos++;
pTextLenText = CreateText(STR_TEXT_LENGTH);
pTextLen = CreateNumericControl(STR_HELP_TEXT_LENGTH, FIELD_PROPERTY_TEXTLEN,HID_TAB_ENT_TEXT_LEN);
break;
case tpType:
if( m_pType)
return;
m_nPos++;
m_pTypeText = CreateText(STR_TAB_FIELD_DATATYPE);
m_pType = new OPropListBoxCtrl( this, STR_HELP_AUTOINCREMENT, FIELD_PROPERTY_TYPE, WB_DROPDOWN );
m_pType->SetDropDownLineCount(20);
{
const OTypeInfoMap* pTypeInfo = getTypeInfo();
OTypeInfoMap::const_iterator aIter = pTypeInfo->begin();
OTypeInfoMap::const_iterator aEnd = pTypeInfo->end();
for(;aIter != aEnd;++aIter)
m_pType->InsertEntry( aIter->second->aUIName );
}
m_pType->SelectEntryPos(0);
InitializeControl(m_pType,HID_TAB_ENT_TYPE,true);
break;
case tpColumnName:
if( m_pColumnName )
return;
m_nPos++;
{
sal_Int32 nMax = EDIT_NOLIMIT;
OUString aTmpString;
try
{
Reference< XDatabaseMetaData> xMetaData = getMetaData();
if ( xMetaData.is() )
{
nMax = xMetaData->getMaxColumnNameLength();
aTmpString = xMetaData->getExtraNameCharacters();
}
}
catch (const Exception&)
{
DBG_UNHANDLED_EXCEPTION();
}
m_pColumnNameText = CreateText(STR_TAB_FIELD_NAME);
m_pColumnName = new OPropColumnEditCtrl( this,
aTmpString,
STR_HELP_DEFAULT_VALUE,
FIELD_PROPERTY_COLUMNNAME,
WB_BORDER );
m_pColumnName->SetMaxTextLen(nMax ? nMax : EDIT_NOLIMIT);
m_pColumnName->setCheck( isSQL92CheckEnabled(getConnection()) );
}
InitializeControl(m_pColumnName,HID_TAB_ENT_COLUMNNAME,false);
break;
case tpNumType:
if( pNumType )
return;
m_nPos++;
pNumTypeText = CreateText(STR_NUMERIC_TYPE);
pNumType = new OPropListBoxCtrl( this, STR_HELP_NUMERIC_TYPE, FIELD_PROPERTY_NUMTYPE, WB_DROPDOWN );
pNumType->SetDropDownLineCount(5);
pNumType->InsertEntry( OUString("Byte") );
pNumType->InsertEntry( OUString("SmallInt") );
pNumType->InsertEntry( OUString("Integer") );
pNumType->InsertEntry( OUString("Single") );
pNumType->InsertEntry( OUString("Double") );
pNumType->SelectEntryPos(2);
InitializeControl(pNumType,HID_TAB_ENT_NUMTYP,true);
break;
case tpLength:
if( pLength )
return;
m_nPos++;
pLengthText = CreateText(STR_LENGTH);
pLength = CreateNumericControl(STR_HELP_LENGTH, FIELD_PROPERTY_LENGTH,HID_TAB_ENT_LEN);
break;
case tpScale:
if( pScale )
return;
m_nPos++;
pScaleText = CreateText(STR_SCALE);
pScale = CreateNumericControl(STR_HELP_SCALE, FIELD_PROPERTY_SCALE,HID_TAB_ENT_SCALE);
break;
case tpFormat:
if (!pFormat)
{
m_nPos++;
pFormatText = CreateText(STR_FORMAT);
pFormatSample = new OPropEditCtrl( this, STR_HELP_FORMAT_CODE, -1, WB_BORDER );
pFormatSample->SetReadOnly(true);
pFormatSample->Enable(false);
InitializeControl(pFormatSample,HID_TAB_ENT_FORMAT_SAMPLE,false);
pFormat = new PushButton( this, ModuleRes(PB_FORMAT) );
const sal_Int32 nControlHeight = GetMaxControlHeight();
pFormat->SetSizePixel(Size(nControlHeight, nControlHeight));
pFormat->SetClickHdl( LINK( this, OFieldDescControl, FormatClickHdl ) );
InitializeControl(pFormat,HID_TAB_ENT_FORMAT,false);
}
UpdateFormatSample(pActFieldDescr);
break;
case tpBoolDefault:
if (pBoolDefault)
return;
m_nPos++;
pBoolDefaultText = CreateText(STR_DEFAULT_VALUE);
pBoolDefault = new OPropListBoxCtrl( this, STR_HELP_BOOL_DEFAULT, FIELD_PROPERTY_BOOL_DEFAULT, WB_DROPDOWN );
pBoolDefault->SetDropDownLineCount(3);
pBoolDefault->InsertEntry(OUString(ModuleRes(STR_VALUE_NONE)));
pBoolDefault->InsertEntry(aYes);
pBoolDefault->InsertEntry(aNo);
InitializeControl(pBoolDefault,HID_TAB_ENT_BOOL_DEFAULT,false);
break;
}
}
void OFieldDescControl::InitializeControl(Control* _pControl,const OString& _sHelpId,bool _bAddChangeHandler)
{
_pControl->SetHelpId(_sHelpId);
if ( _bAddChangeHandler )
static_cast<OPropListBoxCtrl*>(_pControl)->SetSelectHdl(LINK(this,OFieldDescControl,ChangeHdl));
_pControl->SetGetFocusHdl(LINK(this, OFieldDescControl, OnControlFocusGot));
_pControl->SetLoseFocusHdl(LINK(this, OFieldDescControl, OnControlFocusLost));
_pControl->EnableClipSiblings();
}
FixedText* OFieldDescControl::CreateText(sal_uInt16 _nTextRes)
{
FixedText* pFixedText = new FixedText( this );
pFixedText->SetText( ModuleRes(_nTextRes) );
pFixedText->EnableClipSiblings();
return pFixedText;
}
OPropNumericEditCtrl* OFieldDescControl::CreateNumericControl(sal_uInt16 _nHelpStr,short _nProperty,const OString& _sHelpId)
{
OPropNumericEditCtrl* pControl = new OPropNumericEditCtrl( this, _nHelpStr, _nProperty, WB_BORDER );
pControl->SetDecimalDigits(0);
pControl->SetMin(0);
pControl->SetMax(0x7FFFFFFF); // Should be changed outside, if needed
pControl->SetStrictFormat(true);
InitializeControl(pControl,_sHelpId,false);
return pControl;
}
void OFieldDescControl::DeactivateAggregate( EControlType eType )
{
pLastFocusWindow = NULL;
// Destroy Controls
switch( eType )
{
case tpDefault:
lcl_HideAndDeleteControl(m_nPos,pDefault,pDefaultText);
break;
case tpAutoIncrementValue:
lcl_HideAndDeleteControl(m_nPos,m_pAutoIncrementValue,m_pAutoIncrementValueText);
break;
case tpColumnName:
lcl_HideAndDeleteControl(m_nPos,m_pColumnName,m_pColumnNameText);
break;
case tpType:
lcl_HideAndDeleteControl(m_nPos,m_pType,m_pTypeText);
break;
case tpAutoIncrement:
lcl_HideAndDeleteControl(m_nPos,pAutoIncrement,pAutoIncrementText);
break;
case tpRequired:
lcl_HideAndDeleteControl(m_nPos,pRequired,pRequiredText);
break;
case tpTextLen:
lcl_HideAndDeleteControl(m_nPos,pTextLen,pTextLenText);
break;
case tpNumType:
lcl_HideAndDeleteControl(m_nPos,pNumType,pNumTypeText);
break;
case tpLength:
lcl_HideAndDeleteControl(m_nPos,pLength,pLengthText);
break;
case tpScale:
lcl_HideAndDeleteControl(m_nPos,pScale,pScaleText);
break;
case tpFormat:
// TODO: we have to check if we have to increment m_nPos again
lcl_HideAndDeleteControl(m_nPos,pFormat,pFormatText);
if ( pFormatSample )
{
pFormatSample->Hide();
pFormatSample.clear();
}
break;
case tpBoolDefault:
lcl_HideAndDeleteControl(m_nPos,pBoolDefault,pBoolDefaultText);
break;
}
}
void OFieldDescControl::SetPosSize( VclPtr<Control>& rControl, long nRow, sal_uInt16 nCol )
{
// Calculate size
const sal_Int32 nControlHeight = GetMaxControlHeight();
Size aSize(0,nControlHeight);
if ( isRightAligned() && nCol )
aSize.Width() = LogicToPixel(Size(m_nWidth, 0),MAP_APPFONT).Width();
else
{
switch( nCol )
{
case 0:
default:
aSize.Width() = CONTROL_WIDTH_1;
break;
case 1:
aSize.Width() = CONTROL_WIDTH_2;
break;
case 3:
aSize.Width() = CONTROL_WIDTH_3;
break;
case 4:
aSize.Width() = CONTROL_WIDTH_4;
break;
}
}
// Calculate Position
Point aPosition;
switch( nCol )
{
case 0:
aPosition.X() = 0;
aPosition.Y() = 1;
break;
case 1:
case 3:
case 4:
if ( isRightAligned() )
{
Size aOwnSize = GetSizePixel();
aPosition.X() = aOwnSize.Width() - aSize.Width();
}
else
aPosition.X() = CONTROL_WIDTH_1 + CONTROL_SPACING_X;
break;
default:
aPosition.X() = 0;
}
rControl->SetSizePixel( aSize );
aSize = rControl->GetSizePixel( );
const sal_Int32 nControl_Spacing_y = LogicToPixel(Size(0, CONTROL_SPACING_Y),MAP_APPFONT).Height();
aPosition.Y() += ((nRow+1)*nControl_Spacing_y) +
(nRow*nControlHeight);
// Display Control
rControl->SetPosSizePixel( aPosition, aSize );
aSize = rControl->GetSizePixel();
rControl->Show();
}
void OFieldDescControl::DisplayData(OFieldDescription* pFieldDescr )
{
pActFieldDescr = pFieldDescr;
if(!pFieldDescr)
{
DeactivateAggregate( tpDefault );
DeactivateAggregate( tpRequired );
DeactivateAggregate( tpTextLen );
DeactivateAggregate( tpNumType );
DeactivateAggregate( tpScale );
DeactivateAggregate( tpLength );
DeactivateAggregate( tpFormat );
DeactivateAggregate( tpAutoIncrement );
DeactivateAggregate( tpBoolDefault );
DeactivateAggregate( tpColumnName );
DeactivateAggregate( tpType );
DeactivateAggregate( tpAutoIncrementValue );
m_pPreviousType = TOTypeInfoSP();
// Reset the saved focus' pointer
pLastFocusWindow = NULL;
if ( m_bAdded )
{
::dbaui::notifySystemWindow(this,this,::comphelper::mem_fun(&TaskPaneList::RemoveWindow));
m_bAdded = false;
}
return;
}
if ( !m_bAdded )
{
::dbaui::notifySystemWindow(this,this,::comphelper::mem_fun(&TaskPaneList::AddWindow));
m_bAdded = true;
}
TOTypeInfoSP pFieldType;
if( pFieldDescr )
pFieldType = pFieldDescr->getTypeInfo();
ActivateAggregate( tpColumnName );
ActivateAggregate( tpType );
OSL_ENSURE(pFieldType.get(),"We need a type information here!");
// If the type has changed, substitute Controls
if( m_pPreviousType != pFieldType )
{
// Reset the saved focus' pointer
pLastFocusWindow = NULL;
// Controls, which must NOT be displayed again
DeactivateAggregate( tpNumType );
// determine which controls we should show and which not
// 1. the required control
if ( pFieldType->bNullable )
ActivateAggregate( tpRequired );
else
DeactivateAggregate( tpRequired );
// 2. the autoincrement
if ( pFieldType->bAutoIncrement )
{
DeactivateAggregate( tpRequired );
DeactivateAggregate( tpDefault );
ActivateAggregate( tpAutoIncrement );
ActivateAggregate( tpAutoIncrementValue );
}
else
{
DeactivateAggregate( tpAutoIncrement );
DeactivateAggregate( tpAutoIncrementValue );
if(pFieldType->bNullable)
ActivateAggregate( tpRequired );
else
DeactivateAggregate( tpRequired );
ActivateAggregate( tpDefault );
}
// 3. the scale and precision
if (pFieldType->nPrecision)
{
ActivateAggregate( tpLength );
pLength->SetMax(::std::max<sal_Int32>(pFieldType->nPrecision,pFieldDescr->GetPrecision()));
pLength->SetSpecialReadOnly(pFieldType->aCreateParams.isEmpty());
}
else
DeactivateAggregate( tpLength );
if (pFieldType->nMaximumScale)
{
ActivateAggregate( tpScale );
pScale->SetMax(::std::max<sal_Int32>(pFieldType->nMaximumScale,pFieldDescr->GetScale()));
pScale->SetMin(pFieldType->nMinimumScale);
static const char s_sPRECISION[] = "PRECISION";
pScale->SetSpecialReadOnly(pFieldType->aCreateParams.isEmpty() || pFieldType->aCreateParams == s_sPRECISION);
}
else
DeactivateAggregate( tpScale );
// and now look for type specific things
switch( pFieldType->nType )
{
case DataType::CHAR:
case DataType::VARCHAR:
case DataType::LONGVARCHAR:
DeactivateAggregate( tpLength );
DeactivateAggregate( tpBoolDefault );
ActivateAggregate( tpDefault );
ActivateAggregate( tpFormat );
if (pFieldType->nPrecision)
{
ActivateAggregate( tpTextLen );
pTextLen->SetMax(::std::max<sal_Int32>(pFieldType->nPrecision,pFieldDescr->GetPrecision()));
pTextLen->SetSpecialReadOnly(pFieldType->aCreateParams.isEmpty());
}
else
DeactivateAggregate( tpTextLen );
break;
case DataType::DATE:
case DataType::TIME:
case DataType::TIMESTAMP:
DeactivateAggregate( tpLength ); // we don't need a length for date types
DeactivateAggregate( tpTextLen );
DeactivateAggregate( tpBoolDefault );
ActivateAggregate( tpDefault );
ActivateAggregate( tpFormat );
break;
case DataType::BIT:
if ( !pFieldType->aCreateParams.isEmpty() )
{
DeactivateAggregate( tpFormat );
DeactivateAggregate( tpTextLen );
DeactivateAggregate( tpBoolDefault );
break;
}
// run through
case DataType::BOOLEAN:
DeactivateAggregate( tpTextLen );
DeactivateAggregate( tpFormat );
DeactivateAggregate( tpDefault );
ActivateAggregate( tpBoolDefault );
break;
case DataType::DECIMAL:
case DataType::NUMERIC:
case DataType::BIGINT:
case DataType::FLOAT:
case DataType::DOUBLE:
case DataType::TINYINT:
case DataType::SMALLINT:
case DataType::INTEGER:
case DataType::REAL:
DeactivateAggregate( tpTextLen );
DeactivateAggregate( tpBoolDefault );
ActivateAggregate( tpFormat );
break;
case DataType::BINARY:
case DataType::VARBINARY:
DeactivateAggregate( tpDefault );
DeactivateAggregate( tpRequired );
DeactivateAggregate( tpTextLen );
DeactivateAggregate( tpBoolDefault );
ActivateAggregate( tpFormat );
break;
case DataType::LONGVARBINARY:
case DataType::SQLNULL:
case DataType::OBJECT:
case DataType::DISTINCT:
case DataType::STRUCT:
case DataType::ARRAY:
case DataType::BLOB:
case DataType::CLOB:
case DataType::REF:
case DataType::OTHER:
DeactivateAggregate( tpFormat );
DeactivateAggregate( tpTextLen );
DeactivateAggregate( tpBoolDefault );
break;
default:
OSL_FAIL("Unknown type");
}
m_pPreviousType = pFieldType;
}
if(pFieldDescr)
{
if(pFieldDescr->IsPrimaryKey())
{
DeactivateAggregate( tpRequired );
}
else if ( !pAutoIncrement && pFieldType.get() )
{
if ( pFieldType->bNullable )
ActivateAggregate( tpRequired );
else
DeactivateAggregate( tpRequired );
}
}
// Initialize Controls
if( pAutoIncrement )
{
if ( pFieldDescr->IsAutoIncrement() )
{
pAutoIncrement->SelectEntryPos( 0 ); // yes
ActivateAggregate( tpAutoIncrementValue );
if ( m_pAutoIncrementValue )
m_pAutoIncrementValue->SetText(pFieldDescr->GetAutoIncrementValue());
DeactivateAggregate( tpRequired );
DeactivateAggregate( tpDefault );
}
else
{
// disable autoincrement value because it should only be visible when autoincrement is to true
DeactivateAggregate( tpAutoIncrementValue );
pAutoIncrement->SelectEntryPos( 1 ); // no
ActivateAggregate( tpDefault );
// Affects pRequired
if(!pFieldDescr->IsPrimaryKey())
ActivateAggregate( tpRequired );
}
}
if( pDefault )
{
pDefault->SetText( getControlDefault(pFieldDescr) );
pDefault->ClearModifyFlag();
}
if( pBoolDefault )
{
// If pRequired = sal_True then the sal_Bool field must NOT contain <<none>>
OUString sValue;
pFieldDescr->GetControlDefault() >>= sValue;
OUString sDef = BoolStringUI(sValue);
// Make sure that <<none>> is only present if the field can be NULL
if ( ( pFieldType.get() && !pFieldType->bNullable ) || !pFieldDescr->IsNullable() )
{
pFieldDescr->SetIsNullable(ColumnValue::NO_NULLS); // The type says so
pBoolDefault->RemoveEntry(OUString(ModuleRes(STR_VALUE_NONE)));
if ( sDef != aYes && sDef != aNo )
pBoolDefault->SelectEntryPos(1); // No as a default
else
pBoolDefault->SelectEntry(sDef);
pFieldDescr->SetControlDefault(makeAny(OUString(BoolStringPersistent(pBoolDefault->GetSelectEntry()))));
}
else if(pBoolDefault->GetEntryCount() < 3)
{
pBoolDefault->InsertEntry(OUString(ModuleRes(STR_VALUE_NONE)));
pBoolDefault->SelectEntry(sDef);
}
else
pBoolDefault->SelectEntry(sDef);
}
if( pRequired )
{
if( pFieldDescr->IsNullable() )
pRequired->SelectEntryPos( 1 ); // no
else
pRequired->SelectEntryPos( 0 ); // yes
}
if( pTextLen )
{
pTextLen->SetText( OUString::number(pFieldDescr->GetPrecision()) );
pTextLen->ClearModifyFlag();
}
if( pNumType )
{
OSL_FAIL("OFieldDescControl::DisplayData: invalid num type!");
}
if( pLength )
pLength->SetText( OUString::number(pFieldDescr->GetPrecision()) );
if( pScale )
pScale->SetText( OUString::number(pFieldDescr->GetScale()) );
if( pFormat )
UpdateFormatSample(pFieldDescr);
if(m_pColumnName)
m_pColumnName->SetText(pFieldDescr->GetName());
if(m_pType)
{
sal_Int32 nPos = pFieldType.get() ? m_pType->GetEntryPos(OUString(pFieldDescr->getTypeInfo()->aUIName)) : LISTBOX_ENTRY_NOTFOUND;
if(nPos == LISTBOX_ENTRY_NOTFOUND)
{
const OTypeInfoMap* pMap = getTypeInfo();
OTypeInfoMap::const_iterator aIter = pMap->find(pFieldType.get() ? pFieldDescr->getTypeInfo()->nType : pFieldDescr->GetType());
if(aIter == pMap->end() && !pMap->empty())
{
aIter = pMap->begin();
if(pFieldDescr->GetPrecision() > aIter->second->nPrecision)
pFieldDescr->SetPrecision(aIter->second->nPrecision);
if(pFieldDescr->GetScale() > aIter->second->nMaximumScale)
pFieldDescr->SetScale(0);
if(!aIter->second->bNullable && pFieldDescr->IsNullable())
pFieldDescr->SetIsNullable(ColumnValue::NO_NULLS);
if(!aIter->second->bAutoIncrement && pFieldDescr->IsAutoIncrement())
pFieldDescr->SetAutoIncrement(false);
}
if ( aIter != pMap->end() )
{
pFieldDescr->SetType(aIter->second);
}
}
m_pType->SelectEntry(pFieldDescr->getTypeInfo()->aUIName);
}
// Enable/disable Controls
bool bRead(IsReadOnly());
ArrangeAggregates();
CheckScrollBars();
ScrollAllAggregates();
SetReadOnly( bRead );
}
IMPL_LINK(OFieldDescControl, OnControlFocusGot, Control*, pControl )
{
OUString strHelpText;
OPropNumericEditCtrl* pNumeric = dynamic_cast< OPropNumericEditCtrl* >( pControl );
if ( pNumeric )
{
pNumeric->SaveValue();
strHelpText = pNumeric->GetHelp();
}
OPropColumnEditCtrl* pColumn = dynamic_cast< OPropColumnEditCtrl* >( pControl );
if ( pColumn )
{
pColumn->SaveValue();
strHelpText = pColumn->GetHelp();
}
OPropEditCtrl* pEdit = dynamic_cast< OPropEditCtrl* >( pControl );
if ( pEdit )
{
pEdit->SaveValue();
strHelpText = pEdit->GetHelp();
}
OPropListBoxCtrl* pListBox = dynamic_cast< OPropListBoxCtrl* >( pControl );
if ( pListBox )
{
pListBox->SaveValue();
strHelpText = pListBox->GetHelp();
}
if (pControl == pFormat)
strHelpText = ModuleRes(STR_HELP_FORMAT_BUTTON);
if (!strHelpText.isEmpty() && (pHelp != nullptr))
pHelp->SetHelpText(strHelpText);
m_pActFocusWindow = pControl;
return 0L;
}
IMPL_LINK(OFieldDescControl, OnControlFocusLost, Control*, pControl )
{
if ((pControl == pLength) || (pControl == pTextLen) || (pControl == pScale))
{
OPropNumericEditCtrl* pConverted = static_cast<OPropNumericEditCtrl*>(pControl);
if (pConverted->IsModified())
CellModified(-1, pConverted->GetPos());
}
if(pControl == m_pColumnName)
{
OPropColumnEditCtrl* pConverted = static_cast<OPropColumnEditCtrl*>(pControl);
if (pConverted->IsModified())
CellModified(-1, pConverted->GetPos());
}
else if ((pControl == pDefault) || (pControl == pFormatSample) || (pControl == m_pAutoIncrementValue) )
{
OPropEditCtrl* pConverted = static_cast<OPropEditCtrl*>(pControl);
if (pConverted->IsModified())
CellModified(-1, pConverted->GetPos());
}
else if ((pControl == pRequired) || (pControl == pNumType) || (pControl == pAutoIncrement) || (pControl == pBoolDefault) || (pControl == m_pType))
{
OPropListBoxCtrl* pConverted = static_cast<OPropListBoxCtrl*>(pControl);
if (pConverted->IsModified())
CellModified(-1, pConverted->GetPos());
}
if (pControl == pDefault)
UpdateFormatSample(pActFieldDescr);
implFocusLost(pControl);
return 0L;
}
void OFieldDescControl::SaveData( OFieldDescription* pFieldDescr )
{
if( !pFieldDescr )
return;
// Read out Controls
OUString sDefault;
if (pDefault)
{
sDefault = pDefault->GetText();
}
else if (pBoolDefault)
{
sDefault = BoolStringPersistent(pBoolDefault->GetSelectEntry());
}
if ( !sDefault.isEmpty() )
pFieldDescr->SetControlDefault(makeAny(sDefault));
else
pFieldDescr->SetControlDefault(Any());
if((pRequired && pRequired->GetSelectEntryPos() == 0) || pFieldDescr->IsPrimaryKey() || (pBoolDefault && pBoolDefault->GetEntryCount() == 2)) // yes
pFieldDescr->SetIsNullable( ColumnValue::NO_NULLS );
else
pFieldDescr->SetIsNullable( ColumnValue::NULLABLE );
if ( pAutoIncrement )
pFieldDescr->SetAutoIncrement( pAutoIncrement->GetSelectEntryPos() == 0 );
if( pTextLen )
pFieldDescr->SetPrecision( static_cast<sal_Int32>(pTextLen->GetValue()) );
else if( pLength )
pFieldDescr->SetPrecision( static_cast<sal_Int32>(pLength->GetValue()) );
if( pScale )
pFieldDescr->SetScale( static_cast<sal_Int32>(pScale->GetValue()) );
if(m_pColumnName)
pFieldDescr->SetName(m_pColumnName->GetText());
if ( m_pAutoIncrementValue && isAutoIncrementValueEnabled() )
pFieldDescr->SetAutoIncrementValue(m_pAutoIncrementValue->GetText());
}
void OFieldDescControl::UpdateFormatSample(OFieldDescription* pFieldDescr)
{
if ( pFieldDescr && pFormatSample )
pFormatSample->SetText(getControlDefault(pFieldDescr,false));
}
void OFieldDescControl::GetFocus()
{
// Set the Focus to the Control that has been active last
TabPage::GetFocus();
if( pLastFocusWindow )
{
pLastFocusWindow->GrabFocus();
pLastFocusWindow = NULL;
}
}
void OFieldDescControl::implFocusLost(vcl::Window* _pWhich)
{
OSL_ENSURE(!_pWhich || IsChild(_pWhich), "OFieldDescControl::implFocusLost : invalid window !");
// Remember the active Control
if (!pLastFocusWindow)
pLastFocusWindow = _pWhich;
// Reset HelpText
if (pHelp && !pHelp->HasChildPathFocus())
pHelp->SetHelpText( OUString() );
}
void OFieldDescControl::LoseFocus()
{
implFocusLost(NULL);
TabPage::LoseFocus();
}
bool OFieldDescControl::isCopyAllowed()
{
bool bAllowed = (m_pActFocusWindow != nullptr) &&
(m_pActFocusWindow == pDefault || m_pActFocusWindow == pFormatSample ||
m_pActFocusWindow == pTextLen || m_pActFocusWindow == pLength ||
m_pActFocusWindow == pScale || m_pActFocusWindow == m_pColumnName ||
m_pActFocusWindow == m_pAutoIncrementValue) &&
!static_cast<Edit*>(m_pActFocusWindow.get())->GetSelected().isEmpty();
return bAllowed;
}
bool OFieldDescControl::isCutAllowed()
{
bool bAllowed = (m_pActFocusWindow != nullptr) &&
(m_pActFocusWindow == pDefault || m_pActFocusWindow == pFormatSample ||
m_pActFocusWindow == pTextLen || m_pActFocusWindow == pLength ||
m_pActFocusWindow == pScale || m_pActFocusWindow == m_pColumnName ||
m_pActFocusWindow == m_pAutoIncrementValue) &&
!static_cast<Edit*>(m_pActFocusWindow.get())->GetSelected().isEmpty();
return bAllowed;
}
bool OFieldDescControl::isPasteAllowed()
{
bool bAllowed = (m_pActFocusWindow != nullptr) &&
(m_pActFocusWindow == pDefault || m_pActFocusWindow == pFormatSample ||
m_pActFocusWindow == pTextLen || m_pActFocusWindow == pLength ||
m_pActFocusWindow == pScale || m_pActFocusWindow == m_pColumnName ||
m_pActFocusWindow == m_pAutoIncrementValue);
if ( bAllowed )
{
TransferableDataHelper aTransferData(TransferableDataHelper::CreateFromSystemClipboard(GetParent()));
bAllowed = aTransferData.HasFormat(SotClipboardFormatId::STRING);
}
return bAllowed;
}
void OFieldDescControl::cut()
{
if(isCutAllowed())
static_cast<Edit*>(m_pActFocusWindow.get())->Cut();
}
void OFieldDescControl::copy()
{
if(isCopyAllowed()) // this only checks if the focus window is valid
static_cast<Edit*>(m_pActFocusWindow.get())->Copy();
}
void OFieldDescControl::paste()
{
if(m_pActFocusWindow) // this only checks if the focus window is valid
static_cast<Edit*>(m_pActFocusWindow.get())->Paste();
}
bool OFieldDescControl::isTextFormat(const OFieldDescription* _pFieldDescr, sal_uInt32& _nFormatKey) const
{
_nFormatKey = _pFieldDescr->GetFormatKey();
bool bTextFormat = true;
try
{
if (!_nFormatKey)
{
Reference< ::com::sun::star::util::XNumberFormatTypes> xNumberTypes(GetFormatter()->getNumberFormatsSupplier()->getNumberFormats(),UNO_QUERY);
OSL_ENSURE(xNumberTypes.is(),"XNumberFormatTypes is null!");
_nFormatKey = ::dbtools::getDefaultNumberFormat( _pFieldDescr->GetType(),
_pFieldDescr->GetScale(),
_pFieldDescr->IsCurrency(),
xNumberTypes,
GetLocale());
}
sal_Int32 nNumberFormat = ::comphelper::getNumberFormatType(GetFormatter(),_nFormatKey);
bTextFormat = (nNumberFormat == ::com::sun::star::util::NumberFormat::TEXT);
}
catch(const Exception&)
{
}
return bTextFormat;
}
OUString OFieldDescControl::getControlDefault( const OFieldDescription* _pFieldDescr, bool _bCheck) const
{
OUString sDefault;
bool bCheck = !_bCheck || _pFieldDescr->GetControlDefault().hasValue();
if ( bCheck )
{
sal_uInt32 nFormatKey;
try
{
double nValue = 0.0;
bool bTextFormat = isTextFormat(_pFieldDescr,nFormatKey);
if ( _pFieldDescr->GetControlDefault() >>= sDefault )
{
if ( !bTextFormat )
{
if ( !sDefault.isEmpty() )
{
try
{
nValue = GetFormatter()->convertStringToNumber(nFormatKey,sDefault);
}
catch(const Exception&)
{
return OUString(); // return empty string for format example
}
}
}
}
else
_pFieldDescr->GetControlDefault() >>= nValue;
Reference< ::com::sun::star::util::XNumberFormatter> xNumberFormatter = GetFormatter();
Reference<XPropertySet> xFormSet = xNumberFormatter->getNumberFormatsSupplier()->getNumberFormats()->getByKey(nFormatKey);
OSL_ENSURE(xFormSet.is(),"XPropertySet is null!");
OUString sFormat;
xFormSet->getPropertyValue("FormatString") >>= sFormat;
if ( !bTextFormat )
{
Locale aLocale;
::comphelper::getNumberFormatProperty(xNumberFormatter,nFormatKey,OUString("Locale")) >>= aLocale;
sal_Int32 nNumberFormat = ::comphelper::getNumberFormatType(xNumberFormatter,nFormatKey);
if( (nNumberFormat & ::com::sun::star::util::NumberFormat::DATE) == ::com::sun::star::util::NumberFormat::DATE
|| (nNumberFormat & ::com::sun::star::util::NumberFormat::DATETIME) == ::com::sun::star::util::NumberFormat::DATETIME )
{
nValue = DBTypeConversion::toNullDate(DBTypeConversion::getNULLDate(xNumberFormatter->getNumberFormatsSupplier()),nValue);
}
Reference< ::com::sun::star::util::XNumberFormatPreviewer> xPreviewer(xNumberFormatter,UNO_QUERY);
OSL_ENSURE(xPreviewer.is(),"XNumberFormatPreviewer is null!");
sDefault = xPreviewer->convertNumberToPreviewString(sFormat,nValue,aLocale,sal_True);
}
else if ( !(_bCheck && sDefault.isEmpty()) )
sDefault = xNumberFormatter->formatString(nFormatKey, sDefault.isEmpty() ? sFormat : sDefault);
}
catch(const Exception&)
{
}
}
return sDefault;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */