cui/source/inc/connect.hxx | 43 +-- cui/source/tabpages/connect.cxx | 321 +++++++++++-------------- cui/uiconfig/ui/connectortabpage.ui | 146 +++++++---- extras/source/glade/libreoffice-catalog.xml.in | 3 include/svx/connctrl.hxx | 17 - svx/source/dialog/connctrl.cxx | 61 +--- 6 files changed, 293 insertions(+), 298 deletions(-)
New commits: commit 3120c9722f5c7553c78d638c3fd1f976f76bc9e9 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Fri Sep 28 10:30:11 2018 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Fri Sep 28 16:57:00 2018 +0200 weld SvxConnectionPage Change-Id: I155f0c037f0d1879cec4d0b511d60a276466b1bb Reviewed-on: https://gerrit.libreoffice.org/61077 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/cui/source/inc/connect.hxx b/cui/source/inc/connect.hxx index 5c034d2104af..a7e499743275 100644 --- a/cui/source/inc/connect.hxx +++ b/cui/source/inc/connect.hxx @@ -21,10 +21,8 @@ #include <svx/connctrl.hxx> #include <sfx2/tabdlg.hxx> -#include <vcl/fixed.hxx> -#include <vcl/field.hxx> -#include <vcl/lstbox.hxx> -#include <vcl/group.hxx> +#include <vcl/customweld.hxx> +#include <vcl/weld.hxx> #include <sfx2/basedlgs.hxx> class SdrView; @@ -34,36 +32,33 @@ class SvxConnectionPage : public SfxTabPage { private: static const sal_uInt16 pRanges[]; - VclPtr<ListBox> m_pLbType; - - VclPtr<FixedText> m_pFtLine1; - VclPtr<MetricField> m_pMtrFldLine1; - VclPtr<FixedText> m_pFtLine2; - VclPtr<MetricField> m_pMtrFldLine2; - VclPtr<FixedText> m_pFtLine3; - VclPtr<MetricField> m_pMtrFldLine3; - - VclPtr<MetricField> m_pMtrFldHorz1; - VclPtr<MetricField> m_pMtrFldVert1; - VclPtr<MetricField> m_pMtrFldHorz2; - VclPtr<MetricField> m_pMtrFldVert2; - - VclPtr<SvxXConnectionPreview> m_pCtlPreview; - const SfxItemSet& rOutAttrs; SfxItemSet aAttrSet; const SdrView* pView; MapUnit eUnit; + SvxXConnectionPreview m_aCtlPreview; + std::unique_ptr<weld::ComboBox> m_xLbType; + std::unique_ptr<weld::Label> m_xFtLine1; + std::unique_ptr<weld::MetricSpinButton> m_xMtrFldLine1; + std::unique_ptr<weld::Label> m_xFtLine2; + std::unique_ptr<weld::MetricSpinButton> m_xMtrFldLine2; + std::unique_ptr<weld::Label> m_xFtLine3; + std::unique_ptr<weld::MetricSpinButton> m_xMtrFldLine3; + std::unique_ptr<weld::MetricSpinButton> m_xMtrFldHorz1; + std::unique_ptr<weld::MetricSpinButton> m_xMtrFldVert1; + std::unique_ptr<weld::MetricSpinButton> m_xMtrFldHorz2; + std::unique_ptr<weld::MetricSpinButton> m_xMtrFldVert2; + std::unique_ptr<weld::CustomWeld> m_xCtlPreview; + void FillTypeLB(); - DECL_LINK( ChangeAttrEditHdl_Impl, Edit&, void ); - DECL_LINK( ChangeAttrListBoxHdl_Impl, ListBox&, void ); - void ChangeAttrHdl_Impl(void const *); + DECL_LINK(ChangeAttrEditHdl_Impl, weld::MetricSpinButton&, void); + DECL_LINK(ChangeAttrListBoxHdl_Impl, weld::ComboBox&, void); public: - SvxConnectionPage( vcl::Window* pWindow, const SfxItemSet& rInAttrs ); + SvxConnectionPage(TabPageParent pWindow, const SfxItemSet& rInAttrs); virtual ~SvxConnectionPage() override; virtual void dispose() override; diff --git a/cui/source/tabpages/connect.cxx b/cui/source/tabpages/connect.cxx index 2820e383434c..cffd7806beeb 100644 --- a/cui/source/tabpages/connect.cxx +++ b/cui/source/tabpages/connect.cxx @@ -68,29 +68,24 @@ SvxConnectionDialog::SvxConnectionDialog( vcl::Window* pParent, const SfxItemSet |* \************************************************************************/ -SvxConnectionPage::SvxConnectionPage( vcl::Window* pWindow, const SfxItemSet& rInAttrs ) - : SfxTabPage(pWindow ,"ConnectorTabPage" ,"cui/ui/connectortabpage.ui" - ,&rInAttrs) +SvxConnectionPage::SvxConnectionPage(TabPageParent pWindow, const SfxItemSet& rInAttrs) + : SfxTabPage(pWindow, "cui/ui/connectortabpage.ui", "ConnectorTabPage", &rInAttrs) , rOutAttrs(rInAttrs) , aAttrSet(*rInAttrs.GetPool()) , pView(nullptr) + , m_xLbType(m_xBuilder->weld_combo_box("LB_TYPE")) + , m_xFtLine1(m_xBuilder->weld_label("FT_LINE_1")) + , m_xMtrFldLine1(m_xBuilder->weld_metric_spin_button("MTR_FLD_LINE_1", FUNIT_CM)) + , m_xFtLine2(m_xBuilder->weld_label("FT_LINE_2")) + , m_xMtrFldLine2(m_xBuilder->weld_metric_spin_button("MTR_FLD_LINE_2", FUNIT_CM)) + , m_xFtLine3(m_xBuilder->weld_label("FT_LINE_3")) + , m_xMtrFldLine3(m_xBuilder->weld_metric_spin_button("MTR_FLD_LINE_3", FUNIT_CM)) + , m_xMtrFldHorz1(m_xBuilder->weld_metric_spin_button("MTR_FLD_HORZ_1", FUNIT_MM)) + , m_xMtrFldVert1(m_xBuilder->weld_metric_spin_button("MTR_FLD_VERT_1", FUNIT_MM)) + , m_xMtrFldHorz2(m_xBuilder->weld_metric_spin_button("MTR_FLD_HORZ_2", FUNIT_MM)) + , m_xMtrFldVert2(m_xBuilder->weld_metric_spin_button("MTR_FLD_VERT_2", FUNIT_MM)) + , m_xCtlPreview(new weld::CustomWeld(*m_xBuilder, "CTL_PREVIEW", m_aCtlPreview)) { - get(m_pLbType,"LB_TYPE"); - - get(m_pFtLine1,"FT_LINE_1"); - get(m_pMtrFldLine1,"MTR_FLD_LINE_1"); - get(m_pFtLine2,"FT_LINE_2"); - get(m_pMtrFldLine2,"MTR_FLD_LINE_2"); - get(m_pFtLine3,"FT_LINE_3"); - get(m_pMtrFldLine3,"MTR_FLD_LINE_3"); - - get(m_pMtrFldHorz1,"MTR_FLD_HORZ_1"); - get(m_pMtrFldVert1,"MTR_FLD_VERT_1"); - get(m_pMtrFldHorz2,"MTR_FLD_HORZ_2"); - get(m_pMtrFldVert2,"MTR_FLD_VERT_2"); - - get(m_pCtlPreview,"CTL_PREVIEW"); - SfxItemPool* pPool = rOutAttrs.GetPool(); DBG_ASSERT( pPool, "Where is the pool" ); eUnit = pPool->GetMetric( SDRATTR_EDGENODE1HORZDIST ); @@ -98,36 +93,33 @@ SvxConnectionPage::SvxConnectionPage( vcl::Window* pWindow, const SfxItemSet& rI FillTypeLB(); const FieldUnit eFUnit = GetModuleFieldUnit( rInAttrs ); - SetFieldUnit( *m_pMtrFldHorz1, eFUnit ); - SetFieldUnit( *m_pMtrFldHorz2, eFUnit ); - SetFieldUnit( *m_pMtrFldVert1, eFUnit ); - SetFieldUnit( *m_pMtrFldVert2, eFUnit ); - SetFieldUnit( *m_pMtrFldLine1, eFUnit ); - SetFieldUnit( *m_pMtrFldLine2, eFUnit ); - SetFieldUnit( *m_pMtrFldLine3, eFUnit ); + SetFieldUnit( *m_xMtrFldHorz1, eFUnit ); + SetFieldUnit( *m_xMtrFldHorz2, eFUnit ); + SetFieldUnit( *m_xMtrFldVert1, eFUnit ); + SetFieldUnit( *m_xMtrFldVert2, eFUnit ); + SetFieldUnit( *m_xMtrFldLine1, eFUnit ); + SetFieldUnit( *m_xMtrFldLine2, eFUnit ); + SetFieldUnit( *m_xMtrFldLine3, eFUnit ); if( eFUnit == FUNIT_MM ) { - m_pMtrFldHorz1->SetSpinSize( 50 ); - m_pMtrFldHorz2->SetSpinSize( 50 ); - m_pMtrFldVert1->SetSpinSize( 50 ); - m_pMtrFldVert2->SetSpinSize( 50 ); - m_pMtrFldLine1->SetSpinSize( 50 ); - m_pMtrFldLine2->SetSpinSize( 50 ); - m_pMtrFldLine3->SetSpinSize( 50 ); + m_xMtrFldHorz1->set_increments(50, 500, FUNIT_NONE); + m_xMtrFldHorz2->set_increments(50, 500, FUNIT_NONE); + m_xMtrFldVert1->set_increments(50, 500, FUNIT_NONE); + m_xMtrFldVert2->set_increments(50, 500, FUNIT_NONE); + m_xMtrFldLine1->set_increments(50, 500, FUNIT_NONE); + m_xMtrFldLine2->set_increments(50, 500, FUNIT_NONE); + m_xMtrFldLine3->set_increments(50, 500, FUNIT_NONE); } - // disable 3D border - m_pCtlPreview->SetBorderStyle(WindowBorderStyle::MONO); - - Link<Edit&,void> aLink( LINK( this, SvxConnectionPage, ChangeAttrEditHdl_Impl ) ); - m_pMtrFldHorz1->SetModifyHdl( aLink ); - m_pMtrFldVert1->SetModifyHdl( aLink ); - m_pMtrFldHorz2->SetModifyHdl( aLink ); - m_pMtrFldVert2->SetModifyHdl( aLink ); - m_pMtrFldLine1->SetModifyHdl( aLink ); - m_pMtrFldLine2->SetModifyHdl( aLink ); - m_pMtrFldLine3->SetModifyHdl( aLink ); - m_pLbType->SetSelectHdl( LINK( this, SvxConnectionPage, ChangeAttrListBoxHdl_Impl ) ); + Link<weld::MetricSpinButton&,void> aLink(LINK(this, SvxConnectionPage, ChangeAttrEditHdl_Impl)); + m_xMtrFldHorz1->connect_value_changed(aLink); + m_xMtrFldVert1->connect_value_changed(aLink); + m_xMtrFldHorz2->connect_value_changed(aLink); + m_xMtrFldVert2->connect_value_changed(aLink); + m_xMtrFldLine1->connect_value_changed(aLink); + m_xMtrFldLine2->connect_value_changed(aLink); + m_xMtrFldLine3->connect_value_changed(aLink); + m_xLbType->connect_changed(LINK(this, SvxConnectionPage, ChangeAttrListBoxHdl_Impl)); } SvxConnectionPage::~SvxConnectionPage() @@ -137,18 +129,7 @@ SvxConnectionPage::~SvxConnectionPage() void SvxConnectionPage::dispose() { - m_pLbType.clear(); - m_pFtLine1.clear(); - m_pMtrFldLine1.clear(); - m_pFtLine2.clear(); - m_pMtrFldLine2.clear(); - m_pFtLine3.clear(); - m_pMtrFldLine3.clear(); - m_pMtrFldHorz1.clear(); - m_pMtrFldVert1.clear(); - m_pMtrFldHorz2.clear(); - m_pMtrFldVert2.clear(); - m_pCtlPreview.clear(); + m_xCtlPreview.reset(); SfxTabPage::dispose(); } @@ -169,12 +150,12 @@ void SvxConnectionPage::Reset( const SfxItemSet* rAttrs ) if( pItem ) { long nValue = static_cast<const SdrEdgeNode1HorzDistItem*>( pItem )->GetValue(); - SetMetricValue( *m_pMtrFldHorz1, nValue, eUnit ); + SetMetricValue(*m_xMtrFldHorz1, nValue, eUnit); } else - m_pMtrFldHorz1->SetEmptyFieldValue(); + m_xMtrFldHorz1->set_text(""); - m_pMtrFldHorz1->SaveValue(); + m_xMtrFldHorz1->save_value(); // SdrEdgeNode2HorzDistItem pItem = GetItem( *rAttrs, SDRATTR_EDGENODE2HORZDIST ); @@ -183,12 +164,12 @@ void SvxConnectionPage::Reset( const SfxItemSet* rAttrs ) if( pItem ) { long nValue = static_cast<const SdrEdgeNode2HorzDistItem*>( pItem )->GetValue(); - SetMetricValue( *m_pMtrFldHorz2, nValue, eUnit ); + SetMetricValue(*m_xMtrFldHorz2, nValue, eUnit); } else - m_pMtrFldHorz2->SetEmptyFieldValue(); + m_xMtrFldHorz2->set_text(""); - m_pMtrFldHorz2->SaveValue(); + m_xMtrFldHorz2->save_value(); // SdrEdgeNode1VertDistItem pItem = GetItem( *rAttrs, SDRATTR_EDGENODE1VERTDIST ); @@ -197,12 +178,12 @@ void SvxConnectionPage::Reset( const SfxItemSet* rAttrs ) if( pItem ) { long nValue = static_cast<const SdrEdgeNode1VertDistItem*>( pItem )->GetValue(); - SetMetricValue( *m_pMtrFldVert1, nValue, eUnit ); + SetMetricValue(*m_xMtrFldVert1, nValue, eUnit); } else - m_pMtrFldVert1->SetEmptyFieldValue(); + m_xMtrFldVert1->set_text(""); - m_pMtrFldVert1->SaveValue(); + m_xMtrFldVert1->save_value(); // SdrEdgeNode2VertDistItem pItem = GetItem( *rAttrs, SDRATTR_EDGENODE2VERTDIST ); @@ -211,12 +192,12 @@ void SvxConnectionPage::Reset( const SfxItemSet* rAttrs ) if( pItem ) { long nValue = static_cast<const SdrEdgeNode2VertDistItem*>( pItem )->GetValue(); - SetMetricValue( *m_pMtrFldVert2, nValue, eUnit ); + SetMetricValue(*m_xMtrFldVert2, nValue, eUnit); } else - m_pMtrFldVert2->SetEmptyFieldValue(); + m_xMtrFldVert2->set_text(""); - m_pMtrFldVert2->SaveValue(); + m_xMtrFldVert2->save_value(); // SdrEdgeLine1DeltaItem pItem = GetItem( *rAttrs, SDRATTR_EDGELINE1DELTA ); @@ -225,12 +206,12 @@ void SvxConnectionPage::Reset( const SfxItemSet* rAttrs ) if( pItem ) { long nValue = static_cast<const SdrMetricItem*>( pItem )->GetValue(); - SetMetricValue( *m_pMtrFldLine1, nValue, eUnit ); + SetMetricValue(*m_xMtrFldLine1, nValue, eUnit); } else - m_pMtrFldLine1->SetEmptyFieldValue(); + m_xMtrFldLine1->set_text(""); - m_pMtrFldLine1->SaveValue(); + m_xMtrFldLine1->save_value(); // SdrEdgeLine2DeltaItem pItem = GetItem( *rAttrs, SDRATTR_EDGELINE2DELTA ); @@ -239,12 +220,12 @@ void SvxConnectionPage::Reset( const SfxItemSet* rAttrs ) if( pItem ) { long nValue = static_cast<const SdrMetricItem*>( pItem )->GetValue(); - SetMetricValue( *m_pMtrFldLine2, nValue, eUnit ); + SetMetricValue(*m_xMtrFldLine2, nValue, eUnit); } else - m_pMtrFldLine2->SetEmptyFieldValue(); + m_xMtrFldLine2->set_text(""); - m_pMtrFldLine2->SaveValue(); + m_xMtrFldLine2->save_value(); // SdrEdgeLine3DeltaItem pItem = GetItem( *rAttrs, SDRATTR_EDGELINE3DELTA ); @@ -253,12 +234,12 @@ void SvxConnectionPage::Reset( const SfxItemSet* rAttrs ) if( pItem ) { long nValue = static_cast<const SdrMetricItem*>( pItem )->GetValue(); - SetMetricValue( *m_pMtrFldLine3, nValue, eUnit ); + SetMetricValue(*m_xMtrFldLine3, nValue, eUnit); } else - m_pMtrFldLine3->SetEmptyFieldValue(); + m_xMtrFldLine3->set_text(""); - m_pMtrFldLine3->SaveValue(); + m_xMtrFldLine3->save_value(); // SdrEdgeLineDeltaAnzItem pItem = GetItem( *rAttrs, SDRATTR_EDGELINEDELTACOUNT ); @@ -269,21 +250,21 @@ void SvxConnectionPage::Reset( const SfxItemSet* rAttrs ) sal_uInt16 nValue = static_cast<const SdrEdgeLineDeltaCountItem*>( pItem )->GetValue(); if( nValue <= 2 ) { - m_pFtLine3->Enable( false ); - m_pMtrFldLine3->Enable( false ); - m_pMtrFldLine3->SetEmptyFieldValue(); + m_xFtLine3->set_sensitive(false); + m_xMtrFldLine3->set_sensitive(false); + m_xMtrFldLine3->set_text(""); } if( nValue <= 1 ) { - m_pFtLine2->Enable( false ); - m_pMtrFldLine2->Enable( false ); - m_pMtrFldLine2->SetEmptyFieldValue(); + m_xFtLine2->set_sensitive(false); + m_xMtrFldLine2->set_sensitive(false); + m_xMtrFldLine2->set_text(""); } if( nValue == 0 ) { - m_pFtLine1->Enable( false ); - m_pMtrFldLine1->Enable( false ); - m_pMtrFldLine1->SetEmptyFieldValue(); + m_xFtLine1->set_sensitive(false); + m_xMtrFldLine1->set_sensitive(false); + m_xMtrFldLine1->set_text(""); } } @@ -294,11 +275,11 @@ void SvxConnectionPage::Reset( const SfxItemSet* rAttrs ) if( pItem ) { SdrEdgeKind nValue = static_cast<const SdrEdgeKindItem*>( pItem )->GetValue(); - m_pLbType->SelectEntryPos( sal::static_int_cast< sal_uInt16 >(nValue) ); + m_xLbType->set_active(sal::static_int_cast<sal_uInt16>(nValue)); } else - m_pLbType->SetNoSelection(); - m_pLbType->SaveValue(); + m_xLbType->set_active(-1); + m_xLbType->save_value(); } /************************************************************************* @@ -312,60 +293,59 @@ bool SvxConnectionPage::FillItemSet( SfxItemSet* rAttrs) bool bModified = false; sal_Int32 nValue; - if( m_pMtrFldHorz1->IsValueChangedFromSaved() ) + if (m_xMtrFldHorz1->get_value_changed_from_saved()) { - nValue = GetCoreValue( *m_pMtrFldHorz1, eUnit ); + nValue = GetCoreValue(*m_xMtrFldHorz1, eUnit); rAttrs->Put( SdrEdgeNode1HorzDistItem( nValue ) ); bModified = true; } - if( m_pMtrFldHorz2->IsValueChangedFromSaved() ) + if (m_xMtrFldHorz2->get_value_changed_from_saved()) { - nValue = GetCoreValue( *m_pMtrFldHorz2, eUnit ); + nValue = GetCoreValue(*m_xMtrFldHorz2, eUnit); rAttrs->Put( SdrEdgeNode2HorzDistItem( nValue ) ); bModified = true; } - if( m_pMtrFldVert1->IsValueChangedFromSaved() ) + if (m_xMtrFldVert1->get_value_changed_from_saved()) { - nValue = GetCoreValue( *m_pMtrFldVert1, eUnit ); + nValue = GetCoreValue(*m_xMtrFldVert1, eUnit); rAttrs->Put( SdrEdgeNode1VertDistItem( nValue ) ); bModified = true; } - if( m_pMtrFldVert2->IsValueChangedFromSaved() ) + if (m_xMtrFldVert2->get_value_changed_from_saved()) { - nValue = GetCoreValue( *m_pMtrFldVert2, eUnit ); + nValue = GetCoreValue(*m_xMtrFldVert2, eUnit); rAttrs->Put( SdrEdgeNode2VertDistItem( nValue ) ); bModified = true; } - if( m_pMtrFldLine1->IsValueChangedFromSaved() ) + if (m_xMtrFldLine1->get_value_changed_from_saved()) { - nValue = GetCoreValue( *m_pMtrFldLine1, eUnit ); + nValue = GetCoreValue(*m_xMtrFldLine1, eUnit); rAttrs->Put( makeSdrEdgeLine1DeltaItem( nValue ) ); bModified = true; } - if( m_pMtrFldLine2->IsValueChangedFromSaved() ) + if (m_xMtrFldLine2->get_value_changed_from_saved()) { - nValue = GetCoreValue( *m_pMtrFldLine2, eUnit ); + nValue = GetCoreValue(*m_xMtrFldLine2, eUnit); rAttrs->Put( makeSdrEdgeLine2DeltaItem( nValue ) ); bModified = true; } - if( m_pMtrFldLine3->IsValueChangedFromSaved() ) + if (m_xMtrFldLine3->get_value_changed_from_saved()) { - nValue = GetCoreValue( *m_pMtrFldLine3, eUnit ); + nValue = GetCoreValue(*m_xMtrFldLine3, eUnit); rAttrs->Put( makeSdrEdgeLine3DeltaItem( nValue ) ); bModified = true; } - - sal_Int32 nPos = m_pLbType->GetSelectedEntryPos(); - if( m_pLbType->IsValueChangedFromSaved() ) + int nPos = m_xLbType->get_active(); + if (m_xLbType->get_value_changed_from_saved()) { - if( nPos != LISTBOX_ENTRY_NOTFOUND ) + if (nPos != -1) { rAttrs->Put( SdrEdgeKindItem( static_cast<SdrEdgeKind>(nPos) ) ); bModified = true; @@ -379,8 +359,8 @@ void SvxConnectionPage::Construct() { DBG_ASSERT( pView, "No valid View transfer!" ); - m_pCtlPreview->SetView( pView ); - m_pCtlPreview->Construct(); + m_aCtlPreview.SetView(pView); + m_aCtlPreview.Construct(); } /************************************************************************* @@ -389,103 +369,92 @@ void SvxConnectionPage::Construct() |* \************************************************************************/ -VclPtr<SfxTabPage> SvxConnectionPage::Create( TabPageParent pWindow, - const SfxItemSet* rAttrs ) +VclPtr<SfxTabPage> SvxConnectionPage::Create(TabPageParent pParent, + const SfxItemSet* rAttrs) { - return VclPtr<SvxConnectionPage>::Create( pWindow.pParent, *rAttrs ); + return VclPtr<SvxConnectionPage>::Create(pParent, *rAttrs); } -IMPL_LINK( SvxConnectionPage, ChangeAttrListBoxHdl_Impl, ListBox&, r, void ) -{ - ChangeAttrHdl_Impl(&r); -} -IMPL_LINK( SvxConnectionPage, ChangeAttrEditHdl_Impl, Edit&, r, void ) +IMPL_LINK_NOARG(SvxConnectionPage, ChangeAttrListBoxHdl_Impl, weld::ComboBox&, void) { - ChangeAttrHdl_Impl(&r); + int nPos = m_xLbType->get_active(); + if (nPos != -1) + { + aAttrSet.Put( SdrEdgeKindItem( static_cast<SdrEdgeKind>(nPos) ) ); + } + + m_aCtlPreview.SetAttributes(aAttrSet); + + // get the number of line displacements + sal_uInt16 nCount = m_aCtlPreview.GetLineDeltaCount(); + + m_xFtLine3->set_sensitive( nCount > 2 ); + m_xMtrFldLine3->set_sensitive( nCount > 2 ); + if( nCount > 2 ) + m_xMtrFldLine3->set_value(m_xMtrFldLine3->get_value(FUNIT_NONE), FUNIT_NONE); + else + m_xMtrFldLine3->set_text(""); + + m_xFtLine2->set_sensitive( nCount > 1 ); + m_xMtrFldLine2->set_sensitive( nCount > 1 ); + if( nCount > 1 ) + m_xMtrFldLine2->set_value(m_xMtrFldLine2->get_value(FUNIT_NONE), FUNIT_NONE); + else + m_xMtrFldLine2->set_text(""); + + m_xFtLine1->set_sensitive( nCount > 0 ); + m_xMtrFldLine1->set_sensitive( nCount > 0 ); + if( nCount > 0 ) + m_xMtrFldLine1->set_value(m_xMtrFldLine1->get_value(FUNIT_NONE), FUNIT_NONE); + else + m_xMtrFldLine1->set_text(""); } -void SvxConnectionPage::ChangeAttrHdl_Impl(void const * p) + +IMPL_LINK(SvxConnectionPage, ChangeAttrEditHdl_Impl, weld::MetricSpinButton&, r, void) { - if( p == m_pMtrFldHorz1 ) + if (&r == m_xMtrFldHorz1.get()) { - sal_Int32 nValue = GetCoreValue( *m_pMtrFldHorz1, eUnit ); + sal_Int32 nValue = GetCoreValue(*m_xMtrFldHorz1, eUnit); aAttrSet.Put( SdrEdgeNode1HorzDistItem( nValue ) ); } - if( p == m_pMtrFldHorz2 ) + if (&r == m_xMtrFldHorz2.get()) { - sal_Int32 nValue = GetCoreValue( *m_pMtrFldHorz2, eUnit ); + sal_Int32 nValue = GetCoreValue( *m_xMtrFldHorz2, eUnit ); aAttrSet.Put( SdrEdgeNode2HorzDistItem( nValue ) ); } - if( p == m_pMtrFldVert1 ) + if (&r == m_xMtrFldVert1.get()) { - sal_Int32 nValue = GetCoreValue( *m_pMtrFldVert1, eUnit ); + sal_Int32 nValue = GetCoreValue(*m_xMtrFldVert1, eUnit); aAttrSet.Put( SdrEdgeNode1VertDistItem( nValue ) ); } - if( p == m_pMtrFldVert2 ) + if (&r == m_xMtrFldVert2.get()) { - sal_Int32 nValue = GetCoreValue( *m_pMtrFldVert2, eUnit ); + sal_Int32 nValue = GetCoreValue(*m_xMtrFldVert2, eUnit); aAttrSet.Put( SdrEdgeNode2VertDistItem( nValue ) ); } - if( p == m_pMtrFldLine1 ) + if (&r == m_xMtrFldLine1.get()) { - sal_Int32 nValue = GetCoreValue( *m_pMtrFldLine1, eUnit ); + sal_Int32 nValue = GetCoreValue(*m_xMtrFldLine1, eUnit); aAttrSet.Put( makeSdrEdgeLine1DeltaItem( nValue ) ); } - if( p == m_pMtrFldLine2 ) + if (&r == m_xMtrFldLine2.get()) { - sal_Int32 nValue = GetCoreValue( *m_pMtrFldLine2, eUnit ); + sal_Int32 nValue = GetCoreValue(*m_xMtrFldLine2, eUnit); aAttrSet.Put( makeSdrEdgeLine2DeltaItem( nValue ) ); } - if( p == m_pMtrFldLine3 ) + if (&r == m_xMtrFldLine3.get()) { - sal_Int32 nValue = GetCoreValue( *m_pMtrFldLine3, eUnit ); + sal_Int32 nValue = GetCoreValue(*m_xMtrFldLine3, eUnit); aAttrSet.Put( makeSdrEdgeLine3DeltaItem( nValue ) ); } - - if( p == m_pLbType ) - { - sal_Int32 nPos = m_pLbType->GetSelectedEntryPos(); - if( nPos != LISTBOX_ENTRY_NOTFOUND ) - { - aAttrSet.Put( SdrEdgeKindItem( static_cast<SdrEdgeKind>(nPos) ) ); - } - } - - m_pCtlPreview->SetAttributes( aAttrSet ); - - if( p == m_pLbType ) - { - // get the number of line displacements - sal_uInt16 nCount = m_pCtlPreview->GetLineDeltaCount(); - - m_pFtLine3->Enable( nCount > 2 ); - m_pMtrFldLine3->Enable( nCount > 2 ); - if( nCount > 2 ) - m_pMtrFldLine3->SetValue( m_pMtrFldLine3->GetValue() ); - else - m_pMtrFldLine3->SetEmptyFieldValue(); - - m_pFtLine2->Enable( nCount > 1 ); - m_pMtrFldLine2->Enable( nCount > 1 ); - if( nCount > 1 ) - m_pMtrFldLine2->SetValue( m_pMtrFldLine2->GetValue() ); - else - m_pMtrFldLine2->SetEmptyFieldValue(); - - m_pFtLine1->Enable( nCount > 0 ); - m_pMtrFldLine1->Enable( nCount > 0 ); - if( nCount > 0 ) - m_pMtrFldLine1->SetValue( m_pMtrFldLine1->GetValue() ); - else - m_pMtrFldLine1->SetEmptyFieldValue(); - - } + m_aCtlPreview.SetAttributes(aAttrSet); } void SvxConnectionPage::FillTypeLB() @@ -500,12 +469,10 @@ void SvxConnectionPage::FillTypeLB() { const SdrEdgeKindItem* pEdgeKindItem = static_cast<const SdrEdgeKindItem*>( pItem ); sal_uInt16 nCount = pEdgeKindItem->GetValueCount(); - OUString aStr; - for( sal_uInt16 i = 0; i < nCount; i++ ) { - aStr = pEdgeKindItem->GetValueTextByPos( i ); - m_pLbType->InsertEntry( aStr ); + OUString aStr = pEdgeKindItem->GetValueTextByPos(i); + m_xLbType->append_text(aStr); } } } diff --git a/cui/uiconfig/ui/connectortabpage.ui b/cui/uiconfig/ui/connectortabpage.ui index 40c7d2777719..7fab7a025659 100644 --- a/cui/uiconfig/ui/connectortabpage.ui +++ b/cui/uiconfig/ui/connectortabpage.ui @@ -1,13 +1,42 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.18.3 --> +<!-- Generated with glade 3.22.1 --> <interface domain="cui"> <requires lib="gtk+" version="3.18"/> - <requires lib="LibreOffice" version="1.0"/> <object class="GtkAdjustment" id="adjustment1"> <property name="upper">100</property> <property name="step_increment">1</property> <property name="page_increment">10</property> </object> + <object class="GtkAdjustment" id="adjustment2"> + <property name="upper">100</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment3"> + <property name="upper">100</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment4"> + <property name="upper">100</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment5"> + <property name="upper">100</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment6"> + <property name="upper">100</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment7"> + <property name="upper">100</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> <object class="GtkBox" id="ConnectorTabPage"> <property name="visible">True</property> <property name="can_focus">False</property> @@ -30,10 +59,10 @@ <object class="GtkLabel" id="FT_TYPE"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="connectortabpage|FT_TYPE">_Type:</property> <property name="use_underline">True</property> <property name="mnemonic_widget">LB_TYPE</property> + <property name="xalign">0</property> </object> <packing> <property name="expand">False</property> @@ -42,9 +71,9 @@ </packing> </child> <child> - <object class="GtkComboBox" id="LB_TYPE"> + <object class="GtkComboBoxText" id="LB_TYPE"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can_focus">True</property> </object> <packing> <property name="expand">False</property> @@ -81,10 +110,10 @@ <object class="GtkLabel" id="FT_LINE_1"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="connectortabpage|FT_LINE_1">Line _1:</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">MTR_FLD_LINE_1:0.00cm</property> + <property name="mnemonic_widget">MTR_FLD_LINE_1</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> @@ -95,10 +124,10 @@ <object class="GtkLabel" id="FT_LINE_2"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="connectortabpage|FT_LINE_2">Line _2:</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">MTR_FLD_LINE_2:0.00cm</property> + <property name="mnemonic_widget">MTR_FLD_LINE_2</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> @@ -109,10 +138,10 @@ <object class="GtkLabel" id="FT_LINE_3"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="connectortabpage|FT_LINE_3">Line _3:</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">MTR_FLD_LINE_3:0.00cm</property> + <property name="mnemonic_widget">MTR_FLD_LINE_3</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> @@ -120,9 +149,10 @@ </packing> </child> <child> - <object class="GtkSpinButton" id="MTR_FLD_LINE_1:0.00cm"> + <object class="GtkSpinButton" id="MTR_FLD_LINE_1"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can_focus">True</property> + <property name="activates_default">True</property> <property name="adjustment">adjustment1</property> <property name="digits">2</property> </object> @@ -132,10 +162,11 @@ </packing> </child> <child> - <object class="GtkSpinButton" id="MTR_FLD_LINE_2:0.00cm"> + <object class="GtkSpinButton" id="MTR_FLD_LINE_2"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="adjustment">adjustment1</property> + <property name="can_focus">True</property> + <property name="activates_default">True</property> + <property name="adjustment">adjustment2</property> <property name="digits">2</property> </object> <packing> @@ -144,10 +175,11 @@ </packing> </child> <child> - <object class="GtkSpinButton" id="MTR_FLD_LINE_3:0.00cm"> + <object class="GtkSpinButton" id="MTR_FLD_LINE_3"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="adjustment">adjustment1</property> + <property name="can_focus">True</property> + <property name="activates_default">True</property> + <property name="adjustment">adjustment3</property> <property name="digits">2</property> </object> <packing> @@ -163,8 +195,8 @@ <object class="GtkLabel" id="label2"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="connectortabpage|label2">Line Skew</property> + <property name="xalign">0</property> <attributes> <attribute name="weight" value="bold"/> </attributes> @@ -199,10 +231,10 @@ <object class="GtkLabel" id="FT_HORZ_1"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="connectortabpage|FT_HORZ_1">_Begin horizontal:</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">MTR_FLD_HORZ_1:0.00mm</property> + <property name="mnemonic_widget">MTR_FLD_HORZ_1</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> @@ -213,10 +245,10 @@ <object class="GtkLabel" id="FT_HORZ_2"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="connectortabpage|FT_HORZ_2">End _horizontal:</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">MTR_FLD_HORZ_2:0.00mm</property> + <property name="mnemonic_widget">MTR_FLD_HORZ_2</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> @@ -227,10 +259,10 @@ <object class="GtkLabel" id="FT_VERT_1"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="connectortabpage|FT_VERT_1">Begin _vertical:</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">MTR_FLD_VERT_1:0.00mm</property> + <property name="mnemonic_widget">MTR_FLD_VERT_1</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> @@ -241,10 +273,10 @@ <object class="GtkLabel" id="FT_VERT_2"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="connectortabpage|FT_VERT_2">_End vertical:</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">MTR_FLD_VERT_2:0.00mm</property> + <property name="mnemonic_widget">MTR_FLD_VERT_2</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> @@ -252,10 +284,11 @@ </packing> </child> <child> - <object class="GtkSpinButton" id="MTR_FLD_HORZ_1:0.00mm"> + <object class="GtkSpinButton" id="MTR_FLD_HORZ_1"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="adjustment">adjustment1</property> + <property name="can_focus">True</property> + <property name="activates_default">True</property> + <property name="adjustment">adjustment4</property> <property name="digits">2</property> </object> <packing> @@ -264,10 +297,11 @@ </packing> </child> <child> - <object class="GtkSpinButton" id="MTR_FLD_HORZ_2:0.00mm"> + <object class="GtkSpinButton" id="MTR_FLD_HORZ_2"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="adjustment">adjustment1</property> + <property name="can_focus">True</property> + <property name="activates_default">True</property> + <property name="adjustment">adjustment5</property> <property name="digits">2</property> </object> <packing> @@ -276,10 +310,11 @@ </packing> </child> <child> - <object class="GtkSpinButton" id="MTR_FLD_VERT_1:0.00mm"> + <object class="GtkSpinButton" id="MTR_FLD_VERT_1"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="adjustment">adjustment1</property> + <property name="can_focus">True</property> + <property name="activates_default">True</property> + <property name="adjustment">adjustment6</property> <property name="digits">2</property> </object> <packing> @@ -288,10 +323,11 @@ </packing> </child> <child> - <object class="GtkSpinButton" id="MTR_FLD_VERT_2:0.00mm"> + <object class="GtkSpinButton" id="MTR_FLD_VERT_2"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="adjustment">adjustment1</property> + <property name="can_focus">True</property> + <property name="activates_default">True</property> + <property name="adjustment">adjustment7</property> <property name="digits">2</property> </object> <packing> @@ -307,8 +343,8 @@ <object class="GtkLabel" id="label3"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="connectortabpage|label3">Line Spacing</property> + <property name="xalign">0</property> <attributes> <attribute name="weight" value="bold"/> </attributes> @@ -329,15 +365,33 @@ </packing> </child> <child> - <object class="svxlo-SvxXConnectionPreview" id="CTL_PREVIEW:border"> + <object class="GtkScrolledWindow"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="tooltip_text" translatable="yes" context="connectortabpage|CTL_PREVIEW|tooltip_text">Preview</property> <property name="hexpand">True</property> <property name="vexpand">True</property> - <child internal-child="accessible"> - <object class="AtkObject" id="CTL_PREVIEW:border-atkobject"> - <property name="AtkObject::accessible-name" translatable="yes" context="connectortabpage|CTL_PREVIEW-atkobject">Example</property> + <property name="hscrollbar_policy">never</property> + <property name="vscrollbar_policy">never</property> + <property name="shadow_type">in</property> + <child> + <object class="GtkViewport"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkDrawingArea" id="CTL_PREVIEW"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_STRUCTURE_MASK</property> + <property name="tooltip_text" translatable="yes" context="connectortabpage|CTL_PREVIEW|tooltip_text">Preview</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <child internal-child="accessible"> + <object class="AtkObject" id="CTL_PREVIEW-atkobject"> + <property name="AtkObject::accessible-name" translatable="yes" context="connectortabpage|CTL_PREVIEW-atkobject">Example</property> + </object> + </child> + </object> + </child> </object> </child> </object> diff --git a/extras/source/glade/libreoffice-catalog.xml.in b/extras/source/glade/libreoffice-catalog.xml.in index 19bef6a8ae5d..c69a6dac3b1f 100644 --- a/extras/source/glade/libreoffice-catalog.xml.in +++ b/extras/source/glade/libreoffice-catalog.xml.in @@ -200,9 +200,6 @@ <glade-widget-class title="SvxXLinePreview" name="svxlo-SvxXLinePreview" generic-name="Line Preview Window" parent="GtkDrawingArea" icon-name="widget-gtk-drawingarea"/> - <glade-widget-class title="SvxXConnectionPreview" name="svxlo-SvxXConnectionPreview" - generic-name="Connector Line Preview Window" parent="GtkDrawingArea" - icon-name="widget-gtk-drawingarea"/> <glade-widget-class title="Svx 3D Light Control" name="svxlo-SvxLightCtl3D" generic-name="3D Light Control" parent="GtkDrawingArea" icon-name="widget-gtk-drawingarea"/> diff --git a/include/svx/connctrl.hxx b/include/svx/connctrl.hxx index 0f35c31cf1aa..45cc99588d4f 100644 --- a/include/svx/connctrl.hxx +++ b/include/svx/connctrl.hxx @@ -23,7 +23,7 @@ #include <svx/svxdllapi.h> #include <tools/gen.hxx> #include <tools/wintypes.hxx> -#include <vcl/ctrl.hxx> +#include <vcl/customweld.hxx> #include <vcl/event.hxx> #include <vcl/outdev.hxx> #include <memory> @@ -40,34 +40,33 @@ class SdrPage; |* SvxXConnectionPreview |* \************************************************************************/ -class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxXConnectionPreview : public Control +class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxXConnectionPreview : public weld::CustomWidgetController { friend class SvxConnectionPage; private: + MapMode aNewMapMode; SdrEdgeObj* pEdgeObj; std::unique_ptr<SdrPage> pSdrPage; const SdrView* pView; - SVX_DLLPRIVATE void SetStyles(); SVX_DLLPRIVATE void AdaptSize(); + SVX_DLLPRIVATE void SetMapMode(const MapMode& rNewMapMode) { aNewMapMode = rNewMapMode; } + SVX_DLLPRIVATE const MapMode& GetMapMode() const { return aNewMapMode; } public: - SvxXConnectionPreview( vcl::Window* pParent, WinBits nStyle); + SvxXConnectionPreview(); + virtual void SetDrawingArea(weld::DrawingArea* pDrawingArea) override; virtual ~SvxXConnectionPreview() override; - virtual void dispose() override; virtual void Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override; virtual void Resize() override; - virtual Size GetOptimalSize() const override; - virtual void MouseButtonDown( const MouseEvent& rMEvt ) override; + virtual void MouseButtonDown(const MouseEvent& rMEvt) override; void SetAttributes( const SfxItemSet& rInAttrs ); sal_uInt16 GetLineDeltaCount(); void Construct(); void SetView( const SdrView* pSdrView ) { pView = pSdrView; } - - virtual void DataChanged( const DataChangedEvent& rDCEvt ) override; }; #endif // INCLUDED_SVX_CONNCTRL_HXX diff --git a/svx/source/dialog/connctrl.cxx b/svx/source/dialog/connctrl.cxx index d6bbf653f569..dd0905875e29 100644 --- a/svx/source/dialog/connctrl.cxx +++ b/svx/source/dialog/connctrl.cxx @@ -35,42 +35,32 @@ #include <vcl/settings.hxx> #include <memory> -SvxXConnectionPreview::SvxXConnectionPreview( vcl::Window* pParent, WinBits nStyle) - : Control(pParent, nStyle) - , pEdgeObj(nullptr) +SvxXConnectionPreview::SvxXConnectionPreview() + : pEdgeObj(nullptr) , pView(nullptr) { SetMapMode(MapMode(MapUnit::Map100thMM)); - SetStyles(); } -VCL_BUILDER_FACTORY_CONSTRUCTOR(SvxXConnectionPreview, 0) - -SvxXConnectionPreview::~SvxXConnectionPreview() +void SvxXConnectionPreview::SetDrawingArea(weld::DrawingArea* pDrawingArea) { - disposeOnce(); + weld::CustomWidgetController::SetDrawingArea(pDrawingArea); + Size aSize(pDrawingArea->get_ref_device().LogicToPixel(Size(118 , 121), MapMode(MapUnit::MapAppFont))); + pDrawingArea->set_size_request(aSize.Width(), aSize.Height()); + SetOutputSizePixel(aSize); } -void SvxXConnectionPreview::dispose() +SvxXConnectionPreview::~SvxXConnectionPreview() { - pSdrPage.reset(); - Control::dispose(); } void SvxXConnectionPreview::Resize() { - Control::Resize(); - AdaptSize(); Invalidate(); } -Size SvxXConnectionPreview::GetOptimalSize() const -{ - return LogicToPixel(Size(118 , 121), MapMode(MapUnit::MapAppFont)); -} - void SvxXConnectionPreview::AdaptSize() { // Adapt size @@ -89,7 +79,7 @@ void SvxXConnectionPreview::AdaptSize() MapMode aDisplayMap( aMapMode ); Point aNewPos; Size aNewSize; - const Size aWinSize = PixelToLogic( GetOutputSizePixel(), aDisplayMap ); + const Size aWinSize = GetDrawingArea()->get_ref_device().PixelToLogic(GetOutputSizePixel(), aDisplayMap); const long nWidth = aWinSize.Width(); const long nHeight = aWinSize.Height(); if (aRect.GetHeight() == 0) @@ -123,7 +113,7 @@ void SvxXConnectionPreview::AdaptSize() aNewPos.setX( ( nWidth - aNewSize.Width() ) >> 1 ); aNewPos.setY( ( nHeight - aNewSize.Height() ) >> 1 ); - aDisplayMap.SetOrigin( LogicToLogic( aNewPos, aMapMode, aDisplayMap ) ); + aDisplayMap.SetOrigin(OutputDevice::LogicToLogic(aNewPos, aMapMode, aDisplayMap)); SetMapMode( aDisplayMap ); // Origin @@ -206,6 +196,14 @@ void SvxXConnectionPreview::Construct() void SvxXConnectionPreview::Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle&) { + rRenderContext.Push(PushFlags::ALL); + + rRenderContext.SetMapMode(GetMapMode()); + + const StyleSettings& rStyles = Application::GetSettings().GetStyleSettings(); + rRenderContext.SetDrawMode(rStyles.GetHighContrastMode() ? OUTPUT_DRAWMODE_CONTRAST : OUTPUT_DRAWMODE_COLOR); + rRenderContext.SetBackground(Wallpaper(rStyles.GetFieldColor())); + if (pSdrPage) { // This will not work anymore. To not start at Adam and Eve, i will @@ -231,6 +229,8 @@ void SvxXConnectionPreview::Paint(vcl::RenderContext& rRenderContext, const tool // do processing aPainter.ProcessDisplay(aDisplayInfo); } + + rRenderContext.Pop(); } void SvxXConnectionPreview::SetAttributes( const SfxItemSet& rInAttrs ) @@ -240,7 +240,6 @@ void SvxXConnectionPreview::SetAttributes( const SfxItemSet& rInAttrs ) Invalidate(); } - // Get number of lines which are offset based on the preview object sal_uInt16 SvxXConnectionPreview::GetLineDeltaCount() @@ -291,7 +290,8 @@ void SvxXConnectionPreview::MouseButtonDown( const MouseEvent& rMEvt ) aMapMode.SetScaleY( aYFrac ); SetMapMode( aMapMode ); - Size aOutSize( GetOutputSize() ); + Size aOutSize(GetOutputSizePixel()); + aOutSize = GetDrawingArea()->get_ref_device().PixelToLogic(aOutSize); Point aPt( aMapMode.GetOrigin() ); long nX = static_cast<long>( ( static_cast<double>(aOutSize.Width()) - ( static_cast<double>(aOutSize.Width()) * static_cast<double>(*pMultFrac) ) ) / 2.0 + 0.5 ); @@ -307,21 +307,4 @@ void SvxXConnectionPreview::MouseButtonDown( const MouseEvent& rMEvt ) } } -void SvxXConnectionPreview::SetStyles() -{ - const StyleSettings& rStyles = Application::GetSettings().GetStyleSettings(); - SetDrawMode( GetSettings().GetStyleSettings().GetHighContrastMode() ? OUTPUT_DRAWMODE_CONTRAST : OUTPUT_DRAWMODE_COLOR ); - SetBackground( Wallpaper( rStyles.GetFieldColor() ) ); -} - -void SvxXConnectionPreview::DataChanged( const DataChangedEvent& rDCEvt ) -{ - Control::DataChanged( rDCEvt ); - - if ((rDCEvt.GetType() == DataChangedEventType::SETTINGS) && (rDCEvt.GetFlags() & AllSettingsFlags::STYLE) ) - { - SetStyles(); - } -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits