Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*************************************************************************
3 : : *
4 : : * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 : : *
6 : : * Copyright 2000, 2010 Oracle and/or its affiliates.
7 : : *
8 : : * OpenOffice.org - a multi-platform office productivity suite
9 : : *
10 : : * This file is part of OpenOffice.org.
11 : : *
12 : : * OpenOffice.org is free software: you can redistribute it and/or modify
13 : : * it under the terms of the GNU Lesser General Public License version 3
14 : : * only, as published by the Free Software Foundation.
15 : : *
16 : : * OpenOffice.org is distributed in the hope that it will be useful,
17 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 : : * GNU Lesser General Public License version 3 for more details
20 : : * (a copy is included in the LICENSE file that accompanied this code).
21 : : *
22 : : * You should have received a copy of the GNU Lesser General Public License
23 : : * version 3 along with OpenOffice.org. If not, see
24 : : * <http://www.openoffice.org/license.html>
25 : : * for a copy of the LGPLv3 License.
26 : : *
27 : : ************************************************************************/
28 : : #ifndef _CREATEADDRESSLISTDIALOG_HXX
29 : : #define _CREATEADDRESSLISTDIALOG_HXX
30 : :
31 : : #include <sfx2/basedlgs.hxx>
32 : :
33 : : #include <vcl/button.hxx>
34 : : #include <svtools/stdctrl.hxx>
35 : : #include <vcl/field.hxx>
36 : : #include <vcl/lstbox.hxx>
37 : : #include <vector>
38 : :
39 : : class SwAddressControl_Impl;
40 : : class SwMailMergeConfigItem;
41 : :
42 : : // container of the created database
43 : 0 : struct SwCSVData
44 : : {
45 : : ::std::vector< ::rtl::OUString > aDBColumnHeaders;
46 : : ::std::vector< ::std::vector< ::rtl::OUString> > aDBData;
47 : : };
48 : :
49 : : class SwFindEntryDialog;
50 : : class SwCreateAddressListDialog : public SfxModalDialog
51 : : {
52 : : FixedInfo m_aAddressInformation;
53 : : SwAddressControl_Impl* m_pAddressControl;
54 : :
55 : : PushButton m_aNewPB;
56 : : PushButton m_aDeletePB;
57 : : PushButton m_aFindPB;
58 : : PushButton m_aCustomizePB;
59 : :
60 : : FixedInfo m_aViewEntriesFI;
61 : : PushButton m_aStartPB;
62 : : PushButton m_aPrevPB;
63 : : NumericField m_aSetNoNF;
64 : : PushButton m_aNextPB;
65 : : PushButton m_aEndPB;
66 : :
67 : : FixedLine m_aSeparatorFL;
68 : :
69 : : OKButton m_aOK;
70 : : CancelButton m_aCancel;
71 : : HelpButton m_aHelp;
72 : :
73 : : String m_sAddressListFilterName;
74 : : String m_sURL;
75 : :
76 : : SwCSVData* m_pCSVData;
77 : : SwFindEntryDialog* m_pFindDlg;
78 : :
79 : : DECL_LINK(NewHdl_Impl, void *);
80 : : DECL_LINK(DeleteHdl_Impl, void *);
81 : : DECL_LINK(FindHdl_Impl, void *);
82 : : DECL_LINK(CustomizeHdl_Impl, PushButton*);
83 : : DECL_LINK(OkHdl_Impl, void *);
84 : : DECL_LINK(DBCursorHdl_Impl, PushButton*);
85 : : DECL_LINK(DBNumCursorHdl_Impl, void *);
86 : :
87 : : void UpdateButtons();
88 : :
89 : : public:
90 : : SwCreateAddressListDialog(
91 : : Window* pParent, const String& rURL, SwMailMergeConfigItem& rConfig);
92 : : ~SwCreateAddressListDialog();
93 : :
94 : 0 : const String& GetURL() const { return m_sURL; }
95 : : void Find( const String& rSearch, sal_Int32 nColumn);
96 : : };
97 : :
98 : : class SwFindEntryDialog : public ModelessDialog
99 : : {
100 : : FixedText m_aFindFT;
101 : : Edit m_aFindED;
102 : : CheckBox m_aFindOnlyCB;
103 : : ListBox m_aFindOnlyLB;
104 : :
105 : : PushButton m_aFindPB;
106 : : CancelButton m_aCancel;
107 : : HelpButton m_aHelp;
108 : :
109 : : SwCreateAddressListDialog* m_pParent;
110 : :
111 : : DECL_LINK(FindHdl_Impl, void *);
112 : : DECL_LINK(FindEnableHdl_Impl, void *);
113 : : DECL_LINK(CloseHdl_Impl, void *);
114 : :
115 : : public:
116 : : SwFindEntryDialog(SwCreateAddressListDialog* pParent);
117 : : ~SwFindEntryDialog();
118 : :
119 : 0 : ListBox& GetFieldsListBox(){return m_aFindOnlyLB;}
120 : : String GetFindString() const {return m_aFindED.GetText();}
121 : : };
122 : :
123 : : #endif
124 : :
125 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|