summaryrefslogtreecommitdiff
path: root/sc/source/ui/inc
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2017-10-08 17:48:15 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2017-10-14 01:49:01 +0200
commit6250b856defa4d49469cb455c1eef53de02f623d (patch)
tree21818d7c490038b94ad639f4d1966dd9de0a025c /sc/source/ui/inc
parent3b21902aa85df7631c9efb20dd408df005295b22 (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.hxx63
-rw-r--r--sc/source/ui/inc/datatableview.hxx14
-rw-r--r--sc/source/ui/inc/hdrcont.hxx2
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;