diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2017-10-08 17:48:15 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2017-10-14 01:49:01 +0200 |
commit | 6250b856defa4d49469cb455c1eef53de02f623d (patch) | |
tree | 21818d7c490038b94ad639f4d1966dd9de0a025c /sc/source/ui/inc | |
parent | 3b21902aa85df7631c9efb20dd408df005295b22 (diff) |
implement new more user friendly data provider dlg
This is still a work in progress.
Change-Id: I1e68c86acc810eec068b1f184b2307c51d9b58df
Reviewed-on: https://gerrit.libreoffice.org/43259
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Diffstat (limited to 'sc/source/ui/inc')
-rw-r--r-- | sc/source/ui/inc/dataproviderdlg.hxx | 63 | ||||
-rw-r--r-- | sc/source/ui/inc/datatableview.hxx | 14 | ||||
-rw-r--r-- | sc/source/ui/inc/hdrcont.hxx | 2 |
3 files changed, 45 insertions, 34 deletions
diff --git a/sc/source/ui/inc/dataproviderdlg.hxx b/sc/source/ui/inc/dataproviderdlg.hxx index ec519b4e9e35..5a45fb7cce39 100644 --- a/sc/source/ui/inc/dataproviderdlg.hxx +++ b/sc/source/ui/inc/dataproviderdlg.hxx @@ -16,51 +16,54 @@ #include <vcl/dialog.hxx> #include <vcl/layout.hxx> #include <vcl/lstbox.hxx> +#include <vcl/listctrl.hxx> +#include <vcl/button.hxx> -#include "address.hxx" -#include "datamapper.hxx" -#include "dataprovider.hxx" +#include "datatableview.hxx" -class ScDocShell; -class SvtURLBox; -class ScRange; -class ComboBox; +#include <memory> -namespace sc { +class ScDocument; +class ScDataProviderBaseControl; +class ScDBData; -class DataProviderDlg : public ModalDialog +class ScDataProviderDlg : public ModalDialog { - ScDocShell *mpDocShell; +private: - VclPtr<SvtURLBox> m_pCbUrl; - VclPtr<PushButton> m_pBtnBrowse; - VclPtr<OKButton> m_pBtnOk; - VclPtr<ListBox> m_pCBData; - VclPtr<ListBox> m_pCBProvider; - VclPtr<Edit> m_pEdID; + std::shared_ptr<ScDocument> mpDoc; + VclPtr<ScDataTableView> mpTable; + VclPtr<ListControl> mpList; + VclPtr<MenuBar> mpBar; + VclPtr<ScDataProviderBaseControl> mpDataProviderCtrl; - DECL_LINK(UpdateClickHdl, Button*, void); - DECL_LINK(UpdateComboBoxHdl, ComboBox&, void); - DECL_LINK(BrowseHdl, Button*, void); - DECL_LINK(EditHdl, Edit&, void); - DECL_LINK(SelectHdl, ListBox&, void); + ScDBData* pDBData; - void UpdateEnable(); + void InitMenu(); - std::shared_ptr<ExternalDataSource> mpDataSource; + DECL_LINK( StartMenuHdl, Menu*, bool ); + DECL_LINK( ColumnMenuHdl, Menu*, bool ); + DECL_LINK( ImportHdl, Window*, void ); public: - DataProviderDlg(ScDocShell *pDocShell, vcl::Window* pParent); - virtual ~DataProviderDlg() override; + + ScDataProviderDlg(vcl::Window* pWindow, std::shared_ptr<ScDocument> pDoc); + + virtual ~ScDataProviderDlg() override; virtual void dispose() override; - void Init(); + virtual void MouseButtonUp( const MouseEvent& rMEvt ) override; - void StartImport(); -}; + void applyAndQuit(); + void cancelAndQuit(); -} + void deleteColumn(); + void splitColumn(); + void mergeColumns(); + + void import(); +}; -#endif // INCLUDED_SC_SOURCE_UI_INC_DATAPROVIDERDLG_HXX +#endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/inc/datatableview.hxx b/sc/source/ui/inc/datatableview.hxx index 69c06cabe055..467309b7026e 100644 --- a/sc/source/ui/inc/datatableview.hxx +++ b/sc/source/ui/inc/datatableview.hxx @@ -35,9 +35,10 @@ class ScDataTableColView : public ScHeaderControl public: - ScDataTableColView(vcl::Window* pParent, ScDocument* pDoc, SelectionEngine* pSelectionEngine); + ScDataTableColView(vcl::Window* pParent, SelectionEngine* pSelectionEngine); void SetPos(SCCOLROW nRow); + void Init(ScDocument* pDoc); virtual SCCOLROW GetPos() const override; virtual sal_uInt16 GetEntrySize(SCCOLROW nPos) const override; @@ -54,9 +55,10 @@ class ScDataTableRowView : public ScHeaderControl public: - ScDataTableRowView(vcl::Window* pParent, ScDocument* pDoc, SelectionEngine* pSelectionEngine); + ScDataTableRowView(vcl::Window* pParent, SelectionEngine* pSelectionEngine); void SetPos(SCCOLROW nRow); + void Init(ScDocument* pDoc); virtual SCCOLROW GetPos() const override; virtual sal_uInt16 GetEntrySize(SCCOLROW nPos) const override; @@ -91,8 +93,14 @@ class SC_DLLPUBLIC ScDataTableView : public Control DECL_LINK( ScrollHdl, ScrollBar*, void ); +protected: + + virtual Size GetOptimalSize() const override; + public: - ScDataTableView(vcl::Window* pParent, std::shared_ptr<ScDocument> pDoc); + ScDataTableView(vcl::Window* pParent); + + void Init(std::shared_ptr<ScDocument> pDoc); ~ScDataTableView() override; diff --git a/sc/source/ui/inc/hdrcont.hxx b/sc/source/ui/inc/hdrcont.hxx index 6410e2ce142c..b84981aa17a5 100644 --- a/sc/source/ui/inc/hdrcont.hxx +++ b/sc/source/ui/inc/hdrcont.hxx @@ -31,7 +31,7 @@ class ScTabView; -class ScHeaderControl : public vcl::Window +class SC_DLLPUBLIC ScHeaderControl : public vcl::Window { private: SelectionEngine* pSelEngine; |