LibreOffice Module sc (master)  1
dataproviderdlg.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  */
9 
10 #ifndef INCLUDED_SC_SOURCE_UI_INC_DATAPROVIDERDLG_HXX
11 #define INCLUDED_SC_SOURCE_UI_INC_DATAPROVIDERDLG_HXX
12 
13 #include <sal/config.h>
14 
15 #include <com/sun/star/awt/XWindow.hpp>
16 #include <vcl/idle.hxx>
17 #include <vcl/weld.hxx>
18 #include "datatableview.hxx"
19 #include <memory>
20 
21 class ScDocument;
24 class ScDBData;
25 
27 {
28 private:
29  std::shared_ptr<ScDocument> mxDoc;
30  std::unique_ptr<weld::Menu> mxStartMenu;
31  std::unique_ptr<weld::Menu> mxColumnMenu;
32  std::unique_ptr<weld::Container> mxBox;
33  css::uno::Reference<css::awt::XWindow> m_xTableParent;
35  std::unique_ptr<weld::ScrolledWindow> mxScroll;
36  std::unique_ptr<weld::Container> mxList;
37  std::unique_ptr<ScDataProviderBaseControl> mxDataProviderCtrl;
38  std::unique_ptr<weld::ComboBox> mxDBRanges;
39 
40  std::vector<std::unique_ptr<ScDataTransformationBaseControl>> maControls;
41 
43 
44  sal_uInt32 mnIndex;
46 
47  void InitMenu();
48 
49  DECL_LINK(StartMenuHdl, const OString&, void);
50  DECL_LINK(ColumnMenuHdl, const OString&, void);
51  DECL_LINK(ImportHdl, ScDataProviderBaseControl*, void);
52  DECL_LINK(ScrollToEnd, Timer*, void);
53 
54 public:
55  ScDataProviderDlg(weld::Window* pWindow, std::shared_ptr<ScDocument> pDoc,
56  const ScDocument* pDocument);
57  virtual ~ScDataProviderDlg() override;
58 
59  void applyAndQuit();
60  void cancelAndQuit();
61 
62  void deleteColumn();
63  void splitColumn();
64  void mergeColumns();
65  void textTransformation();
66  void sortTransformation();
67  void aggregateFunction();
68  void numberTransformation();
69  void deletefromList(sal_uInt32 nIndex);
72 
73  void import(ScDocument& rDoc, bool bInternal = false);
74 };
75 
76 #endif
77 
78 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
std::unique_ptr< ScDataProviderBaseControl > mxDataProviderCtrl
std::shared_ptr< ScDocument > mxDoc
std::unique_ptr< weld::ScrolledWindow > mxScroll
std::unique_ptr< weld::Menu > mxColumnMenu
std::unique_ptr< weld::Container > mxBox
std::unique_ptr< weld::Menu > mxStartMenu
css::uno::Reference< css::awt::XWindow > m_xTableParent
void deletefromList(sal_uInt32 nIndex)
virtual ~ScDataProviderDlg() override
ScDataProviderDlg(weld::Window *pWindow, std::shared_ptr< ScDocument > pDoc, const ScDocument *pDocument)
std::unique_ptr< weld::ComboBox > mxDBRanges
VclPtr< ScDataTableView > mxTable
std::vector< std::unique_ptr< ScDataTransformationBaseControl > > maControls
std::unique_ptr< weld::Container > mxList
DECL_LINK(StartMenuHdl, const OString &, void)