[Libreoffice-commits] core.git: framework/inc framework/source solenv/sanitizers svtools/uiconfig svtools/UIConfig_svt.mk

2020-06-26 Thread Caolán McNamara (via logerrit)
 framework/inc/uielement/spinfieldtoolbarcontroller.hxx|4 
 framework/source/uielement/spinfieldtoolbarcontroller.cxx |  249 ++
 solenv/sanitizers/ui/svt.suppr|1 
 svtools/UIConfig_svt.mk   |1 
 svtools/uiconfig/ui/spinfieldcontrol.ui   |   29 +
 5 files changed, 146 insertions(+), 138 deletions(-)

New commits:
commit 07875e36f7f8aab16e5a1e5e78c189e572d57bf8
Author: Caolán McNamara 
AuthorDate: Thu Jun 25 21:24:03 2020 +0100
Commit: Caolán McNamara 
CommitDate: Fri Jun 26 15:44:11 2020 +0200

weld SpinfieldControl

Change-Id: I1696105ead648c86076f05f50f6286e9a3a932d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97218
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/framework/inc/uielement/spinfieldtoolbarcontroller.hxx 
b/framework/inc/uielement/spinfieldtoolbarcontroller.hxx
index 8445110b896b..3e2af6c78719 100644
--- a/framework/inc/uielement/spinfieldtoolbarcontroller.hxx
+++ b/framework/inc/uielement/spinfieldtoolbarcontroller.hxx
@@ -56,14 +56,14 @@ class SpinfieldToolbarController final : public 
ComplexToolbarController
 void Modify();
 void GetFocus();
 void LoseFocus();
-bool PreNotify( NotifyEvent const & rNEvt );
+void Activate();
 
+OUString FormatOutputString(double fValue);
 private:
 virtual void executeControlCommand( const css::frame::ControlCommand& 
rControlCommand ) override;
 virtual css::uno::Sequence< css::beans::PropertyValue> 
getExecuteArgs(sal_Int16 KeyModifier) const override;
 
 bool impl_getValue( const css::uno::Any& rAny, sal_Int32& nValue, 
double& fValue, bool& bFloat );
-OUString impl_formatOutputString( double fValue );
 
 bool  m_bFloat,
   m_bMaxSet,
diff --git a/framework/source/uielement/spinfieldtoolbarcontroller.cxx 
b/framework/source/uielement/spinfieldtoolbarcontroller.cxx
index db3f9d67781c..1dad7b918683 100644
--- a/framework/source/uielement/spinfieldtoolbarcontroller.cxx
+++ b/framework/source/uielement/spinfieldtoolbarcontroller.cxx
@@ -26,8 +26,8 @@
 #include 
 
 #include 
+#include 
 #include 
-#include 
 #include 
 #include 
 #include 
@@ -46,101 +46,135 @@ namespace framework
 // Unfortunaltly the events are notified through virtual methods instead
 // of Listeners.
 
-class SpinfieldControl : public SpinField
+class SpinfieldControl final : public InterimItemWindow
 {
-public:
-SpinfieldControl( vcl::Window* pParent, WinBits nStyle, 
SpinfieldToolbarController* pSpinfieldToolbarController );
-virtual ~SpinfieldControl() override;
-virtual void dispose() override;
-
-virtual void Up() override;
-virtual void Down() override;
-virtual void First() override;
-virtual void Last() override;
-virtual void Modify() override;
-virtual void GetFocus() override;
-virtual void LoseFocus() override;
-virtual bool PreNotify( NotifyEvent& rNEvt ) override;
-
-private:
-SpinfieldToolbarController* m_pSpinfieldToolbarController;
-};
+public:
+SpinfieldControl(vcl::Window* pParent, SpinfieldToolbarController* 
pSpinfieldToolbarController);
+virtual ~SpinfieldControl() override;
+virtual void dispose() override;
 
-SpinfieldControl::SpinfieldControl( vcl::Window* pParent, WinBits nStyle, 
SpinfieldToolbarController* pSpinfieldToolbarController ) :
-SpinField( pParent, nStyle )
-, m_pSpinfieldToolbarController( pSpinfieldToolbarController )
-{
-}
+void set_value(double fValue);
 
-SpinfieldControl::~SpinfieldControl()
+void set_digits(int nDigits)
+{
+m_xWidget->set_digits(nDigits);
+}
+
+void set_min(double fMin)
+{
+m_xWidget->set_min(fMin);
+}
+
+void set_max(double fMax)
+{
+m_xWidget->set_max(fMax);
+}
+
+void set_step(double fStep)
+{
+m_xWidget->set_increments(fStep, fStep * 10);
+}
+
+OUString get_entry_text() const { return m_xWidget->get_text(); }
+
+DECL_LINK(ValueChangedHdl, weld::FormattedSpinButton&, void);
+DECL_LINK(FormatOutputHdl, weld::FormattedSpinButton&, void);
+DECL_LINK(ParseInputHdl, double*, bool);
+DECL_LINK(ModifyHdl, weld::Entry&, void);
+DECL_LINK(ActivateHdl, weld::Entry&, bool);
+DECL_LINK(FocusInHdl, weld::Widget&, void);
+DECL_LINK(FocusOutHdl, weld::Widget&, void);
+
+private:
+std::unique_ptr m_xWidget;
+SpinfieldToolbarController* m_pSpinfieldToolbarController;
+};
+
+SpinfieldControl::SpinfieldControl(vcl::Window* pParent, 
SpinfieldToolbarController* pSpinfieldToolbarController)
+: InterimItemWindow(pParent, "svt/ui/spinfieldcontrol.ui", 
"SpinFieldControl")
+, m_xWidget(m_xBuilder->weld_formatted_spin_button("spinbutton"))
+, m_pSpinfieldToolbarController(pSpinfieldToolbarController)
 {
-

[Libreoffice-commits] core.git: framework/inc framework/source solenv/sanitizers svtools/uiconfig svtools/UIConfig_svt.mk

2020-04-22 Thread Caolán McNamara (via logerrit)
 framework/inc/uielement/edittoolbarcontroller.hxx|2 
 framework/source/uielement/edittoolbarcontroller.cxx |  102 ---
 solenv/sanitizers/ui/svt.suppr   |1 
 svtools/UIConfig_svt.mk  |1 
 svtools/uiconfig/ui/editcontrol.ui   |   26 
 5 files changed, 77 insertions(+), 55 deletions(-)

New commits:
commit 0ea8aab3ed9defd45de4b64d7bfbbd05b3053e0a
Author: Caolán McNamara 
AuthorDate: Wed Apr 22 14:17:20 2020 +0100
Commit: Caolán McNamara 
CommitDate: Wed Apr 22 20:10:56 2020 +0200

weld EditControl

as used by the LibreLogo toolbar

Change-Id: Ice60d1f5146a58cab5bab44a12a2bdcf4dbd77ec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92703
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/framework/inc/uielement/edittoolbarcontroller.hxx 
b/framework/inc/uielement/edittoolbarcontroller.hxx
index 3344ed1319f2..193af5920634 100644
--- a/framework/inc/uielement/edittoolbarcontroller.hxx
+++ b/framework/inc/uielement/edittoolbarcontroller.hxx
@@ -51,7 +51,7 @@ class EditToolbarController final : public 
ComplexToolbarController
 void Modify();
 void GetFocus();
 void LoseFocus();
-bool PreNotify( NotifyEvent const & rNEvt );
+void Activate();
 
 private:
 virtual void executeControlCommand( const css::frame::ControlCommand& 
rControlCommand ) override;
diff --git a/framework/source/uielement/edittoolbarcontroller.cxx 
b/framework/source/uielement/edittoolbarcontroller.cxx
index 5b6cd39cd45d..52c5164629db 100644
--- a/framework/source/uielement/edittoolbarcontroller.cxx
+++ b/framework/source/uielement/edittoolbarcontroller.cxx
@@ -20,12 +20,11 @@
 #include 
 
 #include 
-
+#include 
 #include 
 #include 
 #include 
 #include 
-#include 
 
 using namespace ::com::sun::star;
 using namespace css::uno;
@@ -41,26 +40,37 @@ namespace framework
 // Unfortunaltly the events are notified through virtual methods instead
 // of Listeners.
 
-class EditControl : public Edit
+class EditControl : public InterimItemWindow
 {
-public:
-EditControl( vcl::Window* pParent, WinBits nStyle, 
EditToolbarController* pEditToolbarController );
-virtual ~EditControl() override;
-virtual void dispose() override;
+public:
+EditControl(vcl::Window* pParent, EditToolbarController* 
pEditToolbarController);
+virtual ~EditControl() override;
+virtual void dispose() override;
+
+OUString get_text() const { return m_xWidget->get_text(); }
+void set_text(const OUString& rText) { m_xWidget->set_text(rText); }
 
-virtual void Modify() override;
-virtual void GetFocus() override;
-virtual void LoseFocus() override;
-virtual bool PreNotify( NotifyEvent& rNEvt ) override;
+private:
+std::unique_ptr m_xWidget;
+EditToolbarController* m_pEditToolbarController;
 
-private:
-EditToolbarController* m_pEditToolbarController;
+DECL_LINK(FocusInHdl, weld::Widget&, void);
+DECL_LINK(FocusOutHdl, weld::Widget&, void);
+DECL_LINK(ModifyHdl, weld::Entry&, void);
+DECL_LINK(ActivateHdl, weld::Entry&, bool);
 };
 
-EditControl::EditControl( vcl::Window* pParent, WinBits nStyle, 
EditToolbarController* pEditToolbarController ) :
-Edit( pParent, nStyle )
-, m_pEditToolbarController( pEditToolbarController )
+EditControl::EditControl(vcl::Window* pParent, EditToolbarController* 
pEditToolbarController)
+: InterimItemWindow(pParent, "svt/ui/editcontrol.ui", "EditControl")
+, m_xWidget(m_xBuilder->weld_entry("entry"))
+, m_pEditToolbarController(pEditToolbarController)
 {
+m_xWidget->connect_focus_in(LINK(this, EditControl, FocusInHdl));
+m_xWidget->connect_focus_out(LINK(this, EditControl, FocusOutHdl));
+m_xWidget->connect_changed(LINK(this, EditControl, ModifyHdl));
+m_xWidget->connect_activate(LINK(this, EditControl, ActivateHdl));
+
+SetSizePixel(get_preferred_size());
 }
 
 EditControl::~EditControl()
@@ -71,39 +81,34 @@ EditControl::~EditControl()
 void EditControl::dispose()
 {
 m_pEditToolbarController = nullptr;
-Edit::dispose();
+m_xWidget.reset();
+InterimItemWindow::dispose();
 }
 
-void EditControl::Modify()
+IMPL_LINK_NOARG(EditControl, ModifyHdl, weld::Entry&, void)
 {
-Edit::Modify();
-if ( m_pEditToolbarController )
+if (m_pEditToolbarController)
 m_pEditToolbarController->Modify();
 }
 
-void EditControl::GetFocus()
+IMPL_LINK_NOARG(EditControl, FocusInHdl, weld::Widget&, void)
 {
-Edit::GetFocus();
-if ( m_pEditToolbarController )
+if (m_pEditToolbarController)
 m_pEditToolbarController->GetFocus();
 }
 
-void EditControl::LoseFocus()
+IMPL_LINK_NOARG(EditControl, FocusOutHdl, weld::Widget&, void)
 {
-Edit::LoseFocus();
 if ( m_pEditToolbarController )
 m_pEditToolbarController->LoseFocus();
 }
 
-bool