summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-09-17 14:36:37 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-09-18 10:05:15 +0200
commit5889fd4416cd9569c44e2d250ce5d027974bd243 (patch)
tree0f075f12ef5ac39007ef47b55c1f4c054ccfd336
parent9ac82acc8bdb7d4028b946e21f7222dbfafa5f62 (diff)
weld SvxMeasurePage
Change-Id: I08f177d74aff278c62f76e32a1401ff24f249c57 Reviewed-on: https://gerrit.libreoffice.org/60589 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--cui/source/inc/measure.hxx47
-rw-r--r--cui/source/tabpages/measure.cxx389
-rw-r--r--cui/uiconfig/ui/dimensionlinestabpage.ui122
-rw-r--r--extras/source/glade/libreoffice-catalog.xml.in8
-rw-r--r--include/svx/measctrl.hxx13
-rw-r--r--solenv/sanitizers/ui/cui.suppr1
-rw-r--r--svx/source/dialog/dlgctrl.cxx2
-rw-r--r--svx/source/dialog/measctrl.cxx96
8 files changed, 349 insertions, 329 deletions
diff --git a/cui/source/inc/measure.hxx b/cui/source/inc/measure.hxx
index 2a9fb17d2b65..a9af5c54ba7d 100644
--- a/cui/source/inc/measure.hxx
+++ b/cui/source/inc/measure.hxx
@@ -33,24 +33,6 @@ class SvxMeasurePage : public SvxTabPage
private:
static const sal_uInt16 pRanges[];
- VclPtr<MetricField> m_pMtrFldLineDist;
- VclPtr<MetricField> m_pMtrFldHelplineOverhang;
- VclPtr<MetricField> m_pMtrFldHelplineDist;
- VclPtr<MetricField> m_pMtrFldHelpline1Len;
- VclPtr<MetricField> m_pMtrFldHelpline2Len;
- VclPtr<TriStateBox> m_pTsbBelowRefEdge;
- VclPtr<MetricField> m_pMtrFldDecimalPlaces;
-
- VclPtr<SvxRectCtl> m_pCtlPosition;
- VclPtr<TriStateBox> m_pTsbAutoPosV;
- VclPtr<TriStateBox> m_pTsbAutoPosH;
- VclPtr<TriStateBox> m_pTsbShowUnit;
- VclPtr<ListBox> m_pLbUnit;
- VclPtr<TriStateBox> m_pTsbParallel;
- VclPtr<FixedText> m_pFtAutomatic;
-
- VclPtr<SvxXMeasurePreview> m_pCtlPreview;
-
const SfxItemSet& rOutAttrs;
SfxItemSet aAttrSet;
const SdrView* pView;
@@ -58,17 +40,36 @@ private:
bool bPositionModified;
+ RectCtl m_aCtlPosition;
+ SvxXMeasurePreview m_aCtlPreview;
+ std::unique_ptr<weld::MetricSpinButton> m_xMtrFldLineDist;
+ std::unique_ptr<weld::MetricSpinButton> m_xMtrFldHelplineOverhang;
+ std::unique_ptr<weld::MetricSpinButton> m_xMtrFldHelplineDist;
+ std::unique_ptr<weld::MetricSpinButton> m_xMtrFldHelpline1Len;
+ std::unique_ptr<weld::MetricSpinButton> m_xMtrFldHelpline2Len;
+ std::unique_ptr<weld::CheckButton> m_xTsbBelowRefEdge;
+ std::unique_ptr<weld::SpinButton> m_xMtrFldDecimalPlaces;
+ std::unique_ptr<weld::CheckButton> m_xTsbAutoPosV;
+ std::unique_ptr<weld::CheckButton> m_xTsbAutoPosH;
+ std::unique_ptr<weld::CheckButton> m_xTsbShowUnit;
+ std::unique_ptr<weld::ComboBox> m_xLbUnit;
+ std::unique_ptr<weld::CheckButton> m_xTsbParallel;
+ std::unique_ptr<weld::Label> m_xFtAutomatic;
+ std::unique_ptr<weld::CustomWeld> m_xCtlPosition;
+ std::unique_ptr<weld::CustomWeld> m_xCtlPreview;
+
void FillUnitLB();
- DECL_LINK( ClickAutoPosHdl_Impl, Button*, void );
- DECL_LINK( ChangeAttrEditHdl_Impl, Edit&, void );
- DECL_LINK( ChangeAttrListBoxHdl_Impl, ListBox&, void );
- DECL_LINK( ChangeAttrClickHdl_Impl, Button*, void );
+ DECL_LINK(ClickAutoPosHdl_Impl, weld::ToggleButton&, void);
+ DECL_LINK(ChangeAttrEditHdl_Impl, weld::MetricSpinButton&, void);
+ DECL_LINK(ChangeAttrSpinHdl_Impl, weld::SpinButton&, void);
+ DECL_LINK(ChangeAttrListBoxHdl_Impl, weld::ComboBox&, void);
+ DECL_LINK(ChangeAttrClickHdl_Impl, weld::ToggleButton&, void);
void ChangeAttrHdl_Impl(void const *);
public:
- SvxMeasurePage( vcl::Window* pWindow, const SfxItemSet& rInAttrs );
+ SvxMeasurePage(TabPageParent pWindow, const SfxItemSet& rInAttrs);
virtual ~SvxMeasurePage() override;
virtual void dispose() override;
diff --git a/cui/source/tabpages/measure.cxx b/cui/source/tabpages/measure.cxx
index 704016dd73ba..b46fcdb7e8fb 100644
--- a/cui/source/tabpages/measure.cxx
+++ b/cui/source/tabpages/measure.cxx
@@ -77,73 +77,63 @@ SvxMeasureDialog::SvxMeasureDialog( vcl::Window* pParent, const SfxItemSet& rInA
|*
\************************************************************************/
-SvxMeasurePage::SvxMeasurePage( vcl::Window* pWindow, const SfxItemSet& rInAttrs ) :
- SvxTabPage ( pWindow
- ,"DimensionLinesTabPage"
- ,"cui/ui/dimensionlinestabpage.ui"
- ,rInAttrs ),
- rOutAttrs ( rInAttrs ),
- aAttrSet ( *rInAttrs.GetPool() ),
- pView( nullptr ),
- eUnit( MapUnit::Map100thMM ),
- bPositionModified ( false )
+SvxMeasurePage::SvxMeasurePage(TabPageParent pWindow, const SfxItemSet& rInAttrs)
+ : SvxTabPage(pWindow, "cui/ui/dimensionlinestabpage.ui", "DimensionLinesTabPage", rInAttrs)
+ , rOutAttrs(rInAttrs)
+ , aAttrSet(*rInAttrs.GetPool())
+ , pView(nullptr)
+ , eUnit(MapUnit::Map100thMM)
+ , bPositionModified(false)
+ , m_aCtlPosition(this)
+ , m_xMtrFldLineDist(m_xBuilder->weld_metric_spin_button("MTR_LINE_DIST", FUNIT_MM))
+ , m_xMtrFldHelplineOverhang(m_xBuilder->weld_metric_spin_button("MTR_FLD_HELPLINE_OVERHANG", FUNIT_MM))
+ , m_xMtrFldHelplineDist(m_xBuilder->weld_metric_spin_button("MTR_FLD_HELPLINE_DIST", FUNIT_MM))
+ , m_xMtrFldHelpline1Len(m_xBuilder->weld_metric_spin_button("MTR_FLD_HELPLINE1_LEN", FUNIT_MM))
+ , m_xMtrFldHelpline2Len(m_xBuilder->weld_metric_spin_button("MTR_FLD_HELPLINE2_LEN", FUNIT_MM))
+ , m_xTsbBelowRefEdge(m_xBuilder->weld_check_button("TSB_BELOW_REF_EDGE"))
+ , m_xMtrFldDecimalPlaces(m_xBuilder->weld_spin_button("MTR_FLD_DECIMALPLACES"))
+ , m_xTsbAutoPosV(m_xBuilder->weld_check_button("TSB_AUTOPOSV"))
+ , m_xTsbAutoPosH(m_xBuilder->weld_check_button("TSB_AUTOPOSH"))
+ , m_xTsbShowUnit(m_xBuilder->weld_check_button("TSB_SHOW_UNIT"))
+ , m_xLbUnit(m_xBuilder->weld_combo_box("LB_UNIT"))
+ , m_xTsbParallel(m_xBuilder->weld_check_button("TSB_PARALLEL"))
+ , m_xFtAutomatic(m_xBuilder->weld_label("STR_MEASURE_AUTOMATIC"))
+ , m_xCtlPosition(new weld::CustomWeld(*m_xBuilder, "CTL_POSITION", m_aCtlPosition))
+ , m_xCtlPreview(new weld::CustomWeld(*m_xBuilder, "CTL_PREVIEW", m_aCtlPreview))
{
- get(m_pMtrFldLineDist, "MTR_LINE_DIST");
- get(m_pMtrFldHelplineOverhang, "MTR_FLD_HELPLINE_OVERHANG");
- get(m_pMtrFldHelplineDist, "MTR_FLD_HELPLINE_DIST");
- get(m_pMtrFldHelpline1Len, "MTR_FLD_HELPLINE1_LEN");
- get(m_pMtrFldHelpline2Len, "MTR_FLD_HELPLINE2_LEN");
- get(m_pTsbBelowRefEdge, "TSB_BELOW_REF_EDGE");
- get(m_pMtrFldDecimalPlaces, "MTR_FLD_DECIMALPLACES");
-
- get(m_pCtlPosition, "CTL_POSITION");
- get(m_pTsbAutoPosV, "TSB_AUTOPOSV");
- get(m_pTsbAutoPosH, "TSB_AUTOPOSH");
- get(m_pTsbShowUnit, "TSB_SHOW_UNIT");
- get(m_pLbUnit, "LB_UNIT");
- get(m_pTsbParallel, "TSB_PARALLEL");
-
- get(m_pCtlPreview, "CTL_PREVIEW");
- m_pCtlPreview->SetAttributes(rInAttrs);
-
- get(m_pFtAutomatic,"STR_MEASURE_AUTOMATIC");
+ m_aCtlPreview.SetAttributes(rInAttrs);
FillUnitLB();
const FieldUnit eFUnit = GetModuleFieldUnit( rInAttrs );
- SetFieldUnit( *m_pMtrFldLineDist, eFUnit );
- SetFieldUnit( *m_pMtrFldHelplineOverhang, eFUnit );
- SetFieldUnit( *m_pMtrFldHelplineDist, eFUnit );
- SetFieldUnit( *m_pMtrFldHelpline1Len, eFUnit );
- SetFieldUnit( *m_pMtrFldHelpline2Len, eFUnit );
+ SetFieldUnit( *m_xMtrFldLineDist, eFUnit );
+ SetFieldUnit( *m_xMtrFldHelplineOverhang, eFUnit );
+ SetFieldUnit( *m_xMtrFldHelplineDist, eFUnit );
+ SetFieldUnit( *m_xMtrFldHelpline1Len, eFUnit );
+ SetFieldUnit( *m_xMtrFldHelpline2Len, eFUnit );
if( eFUnit == FUNIT_MM )
{
- m_pMtrFldLineDist->SetSpinSize( 50 );
- m_pMtrFldHelplineOverhang->SetSpinSize( 50 );
- m_pMtrFldHelplineDist->SetSpinSize( 50 );
- m_pMtrFldHelpline1Len->SetSpinSize( 50 );
- m_pMtrFldHelpline2Len->SetSpinSize( 50 );
- }
-
- m_pTsbAutoPosV->SetClickHdl( LINK( this, SvxMeasurePage, ClickAutoPosHdl_Impl ) );
- m_pTsbAutoPosH->SetClickHdl( LINK( this, SvxMeasurePage, ClickAutoPosHdl_Impl ) );
-
- // set background and border of iconchoicectrl
- const StyleSettings& rStyles = Application::GetSettings().GetStyleSettings();
- m_pCtlPreview->SetBackground ( rStyles.GetWindowColor() );
- m_pCtlPreview->SetBorderStyle(WindowBorderStyle::MONO);
-
- Link<Edit&,void> aLink( LINK( this, SvxMeasurePage, ChangeAttrEditHdl_Impl ) );
- m_pMtrFldLineDist->SetModifyHdl( aLink );
- m_pMtrFldHelplineOverhang->SetModifyHdl( aLink );
- m_pMtrFldHelplineDist->SetModifyHdl( aLink );
- m_pMtrFldHelpline1Len->SetModifyHdl( aLink );
- m_pMtrFldHelpline2Len->SetModifyHdl( aLink );
- m_pMtrFldDecimalPlaces->SetModifyHdl( aLink );
- m_pTsbBelowRefEdge->SetClickHdl( LINK( this, SvxMeasurePage, ChangeAttrClickHdl_Impl ) );
- m_pTsbParallel->SetClickHdl( LINK( this, SvxMeasurePage, ChangeAttrClickHdl_Impl ) );
- m_pTsbShowUnit->SetClickHdl( LINK( this, SvxMeasurePage, ChangeAttrClickHdl_Impl ) );
- m_pLbUnit->SetSelectHdl( LINK( this, SvxMeasurePage, ChangeAttrListBoxHdl_Impl ) );
+ m_xMtrFldLineDist->set_increments(50, 500, FUNIT_NONE);
+ m_xMtrFldHelplineOverhang->set_increments(50, 500, FUNIT_NONE);
+ m_xMtrFldHelplineDist->set_increments(50, 500, FUNIT_NONE);
+ m_xMtrFldHelpline1Len->set_increments(50, 500, FUNIT_NONE);
+ m_xMtrFldHelpline2Len->set_increments(50, 500, FUNIT_NONE);
+ }
+
+ m_xTsbAutoPosV->connect_toggled(LINK( this, SvxMeasurePage, ClickAutoPosHdl_Impl));
+ m_xTsbAutoPosH->connect_toggled(LINK(this, SvxMeasurePage, ClickAutoPosHdl_Impl));
+
+ Link<weld::MetricSpinButton&,void> aLink(LINK(this, SvxMeasurePage, ChangeAttrEditHdl_Impl));
+ m_xMtrFldLineDist->connect_value_changed(aLink);
+ m_xMtrFldHelplineOverhang->connect_value_changed(aLink);
+ m_xMtrFldHelplineDist->connect_value_changed(aLink);
+ m_xMtrFldHelpline1Len->connect_value_changed(aLink);
+ m_xMtrFldHelpline2Len->connect_value_changed(aLink);
+ m_xMtrFldDecimalPlaces->connect_value_changed(LINK(this, SvxMeasurePage, ChangeAttrSpinHdl_Impl));
+ m_xTsbBelowRefEdge->connect_toggled(LINK(this, SvxMeasurePage, ChangeAttrClickHdl_Impl));
+ m_xTsbParallel->connect_toggled( LINK( this, SvxMeasurePage, ChangeAttrClickHdl_Impl));
+ m_xTsbShowUnit->connect_toggled(LINK(this, SvxMeasurePage, ChangeAttrClickHdl_Impl));
+ m_xLbUnit->connect_changed(LINK(this, SvxMeasurePage, ChangeAttrListBoxHdl_Impl));
}
SvxMeasurePage::~SvxMeasurePage()
@@ -153,21 +143,8 @@ SvxMeasurePage::~SvxMeasurePage()
void SvxMeasurePage::dispose()
{
- m_pMtrFldLineDist.clear();
- m_pMtrFldHelplineOverhang.clear();
- m_pMtrFldHelplineDist.clear();
- m_pMtrFldHelpline1Len.clear();
- m_pMtrFldHelpline2Len.clear();
- m_pTsbBelowRefEdge.clear();
- m_pMtrFldDecimalPlaces.clear();
- m_pCtlPosition.clear();
- m_pTsbAutoPosV.clear();
- m_pTsbAutoPosH.clear();
- m_pTsbShowUnit.clear();
- m_pLbUnit.clear();
- m_pTsbParallel.clear();
- m_pFtAutomatic.clear();
- m_pCtlPreview.clear();
+ m_xCtlPreview.reset();
+ m_xCtlPosition.reset();
SvxTabPage::dispose();
}
@@ -191,13 +168,13 @@ void SvxMeasurePage::Reset( const SfxItemSet* rAttrs )
if( pItem )
{
long nValue = static_cast<const SdrMetricItem*>( pItem )->GetValue();
- SetMetricValue( *m_pMtrFldLineDist, nValue, eUnit );
+ SetMetricValue( *m_xMtrFldLineDist, nValue, eUnit );
}
else
{
- m_pMtrFldLineDist->SetText( OUString() );
+ m_xMtrFldLineDist->set_text(OUString());
}
- m_pMtrFldLineDist->SaveValue();
+ m_xMtrFldLineDist->save_value();
// SdrMeasureHelplineOverhangItem
pItem = GetItem( *rAttrs, SDRATTR_MEASUREHELPLINEOVERHANG );
@@ -206,13 +183,13 @@ void SvxMeasurePage::Reset( const SfxItemSet* rAttrs )
if( pItem )
{
long nValue = static_cast<const SdrMetricItem*>( pItem )->GetValue();
- SetMetricValue( *m_pMtrFldHelplineOverhang, nValue, eUnit );
+ SetMetricValue( *m_xMtrFldHelplineOverhang, nValue, eUnit );
}
else
{
- m_pMtrFldHelplineOverhang->SetText( OUString() );
+ m_xMtrFldHelplineOverhang->set_text(OUString());
}
- m_pMtrFldHelplineOverhang->SaveValue();
+ m_xMtrFldHelplineOverhang->save_value();
// SdrMeasureHelplineDistItem
pItem = GetItem( *rAttrs, SDRATTR_MEASUREHELPLINEDIST );
@@ -221,13 +198,13 @@ void SvxMeasurePage::Reset( const SfxItemSet* rAttrs )
if( pItem )
{
long nValue = static_cast<const SdrMetricItem*>( pItem )->GetValue();
- SetMetricValue( *m_pMtrFldHelplineDist, nValue, eUnit );
+ SetMetricValue( *m_xMtrFldHelplineDist, nValue, eUnit );
}
else
{
- m_pMtrFldHelplineDist->SetText( OUString() );
+ m_xMtrFldHelplineDist->set_text(OUString());
}
- m_pMtrFldHelplineDist->SaveValue();
+ m_xMtrFldHelplineDist->save_value();
// SdrMeasureHelpline1LenItem
pItem = GetItem( *rAttrs, SDRATTR_MEASUREHELPLINE1LEN );
@@ -236,13 +213,13 @@ void SvxMeasurePage::Reset( const SfxItemSet* rAttrs )
if( pItem )
{
long nValue = static_cast<const SdrMetricItem*>( pItem )->GetValue();
- SetMetricValue( *m_pMtrFldHelpline1Len, nValue, eUnit );
+ SetMetricValue( *m_xMtrFldHelpline1Len, nValue, eUnit );
}
else
{
- m_pMtrFldHelpline1Len->SetText( OUString() );
+ m_xMtrFldHelpline1Len->set_text(OUString());
}
- m_pMtrFldHelpline1Len->SaveValue();
+ m_xMtrFldHelpline1Len->save_value();
// SdrMeasureHelpline2LenItem
pItem = GetItem( *rAttrs, SDRATTR_MEASUREHELPLINE2LEN );
@@ -251,26 +228,25 @@ void SvxMeasurePage::Reset( const SfxItemSet* rAttrs )
if( pItem )
{
long nValue = static_cast<const SdrMetricItem*>( pItem )->GetValue();
- SetMetricValue( *m_pMtrFldHelpline2Len, nValue, eUnit );
+ SetMetricValue( *m_xMtrFldHelpline2Len, nValue, eUnit );
}
else
{
- m_pMtrFldHelpline2Len->SetText( OUString() );
+ m_xMtrFldHelpline2Len->set_text(OUString());
}
- m_pMtrFldHelpline2Len->SaveValue();
+ m_xMtrFldHelpline2Len->save_value();
// SdrMeasureBelowRefEdgeItem
if( rAttrs->GetItemState( SDRATTR_MEASUREBELOWREFEDGE ) != SfxItemState::DONTCARE )
{
- m_pTsbBelowRefEdge->SetState( rAttrs->Get( SDRATTR_MEASUREBELOWREFEDGE ).
+ m_xTsbBelowRefEdge->set_state( rAttrs->Get( SDRATTR_MEASUREBELOWREFEDGE ).
GetValue() ? TRISTATE_TRUE : TRISTATE_FALSE );
- m_pTsbBelowRefEdge->EnableTriState( false );
}
else
{
- m_pTsbBelowRefEdge->SetState( TRISTATE_INDET );
+ m_xTsbBelowRefEdge->set_state( TRISTATE_INDET );
}
- m_pTsbBelowRefEdge->SaveValue();
+ m_xTsbBelowRefEdge->save_state();
// SdrMeasureDecimalPlacesItem
pItem = GetItem( *rAttrs, SDRATTR_MEASUREDECIMALPLACES );
@@ -279,60 +255,58 @@ void SvxMeasurePage::Reset( const SfxItemSet* rAttrs )
if( pItem )
{
sal_Int16 nValue = static_cast<const SdrMeasureDecimalPlacesItem*>( pItem )->GetValue();
- m_pMtrFldDecimalPlaces->SetValue( nValue );
+ m_xMtrFldDecimalPlaces->set_value(nValue);
}
else
{
- m_pMtrFldDecimalPlaces->SetText( OUString() );
+ m_xMtrFldDecimalPlaces->set_text(OUString());
}
- m_pMtrFldDecimalPlaces->SaveValue();
+ m_xMtrFldDecimalPlaces->save_value();
// SdrMeasureTextRota90Item
// Attention: negate !
if( rAttrs->GetItemState( SDRATTR_MEASURETEXTROTA90 ) != SfxItemState::DONTCARE )
{
- m_pTsbParallel->SetState( rAttrs->Get( SDRATTR_MEASURETEXTROTA90 ).
+ m_xTsbParallel->set_state( rAttrs->Get( SDRATTR_MEASURETEXTROTA90 ).
GetValue() ? TRISTATE_FALSE : TRISTATE_TRUE );
- m_pTsbParallel->EnableTriState( false );
}
else
{
- m_pTsbParallel->SetState( TRISTATE_INDET );
+ m_xTsbParallel->set_state( TRISTATE_INDET );
}
- m_pTsbParallel->SaveValue();
+ m_xTsbParallel->save_state();
// SdrMeasureShowUnitItem
if( rAttrs->GetItemState( SDRATTR_MEASURESHOWUNIT ) != SfxItemState::DONTCARE )
{
- m_pTsbShowUnit->SetState( rAttrs->Get( SDRATTR_MEASURESHOWUNIT ).
+ m_xTsbShowUnit->set_state( rAttrs->Get( SDRATTR_MEASURESHOWUNIT ).
GetValue() ? TRISTATE_TRUE : TRISTATE_FALSE );
- m_pTsbShowUnit->EnableTriState( false );
}
else
{
- m_pTsbShowUnit->SetState( TRISTATE_INDET );
+ m_xTsbShowUnit->set_state( TRISTATE_INDET );
}
- m_pTsbShowUnit->SaveValue();
+ m_xTsbShowUnit->save_state();
// SdrMeasureUnitItem
if( rAttrs->GetItemState( SDRATTR_MEASUREUNIT ) != SfxItemState::DONTCARE )
{
long nFieldUnit = static_cast<long>(rAttrs->Get( SDRATTR_MEASUREUNIT ).GetValue());
- for( sal_Int32 i = 0; i < m_pLbUnit->GetEntryCount(); ++i )
+ for (sal_Int32 i = 0; i < m_xLbUnit->get_count(); ++i)
{
- if ( reinterpret_cast<sal_IntPtr>(m_pLbUnit->GetEntryData( i )) == nFieldUnit )
+ if (m_xLbUnit->get_id(i).toInt32() == nFieldUnit)
{
- m_pLbUnit->SelectEntryPos( i );
+ m_xLbUnit->set_active(i);
break;
}
}
}
else
{
- m_pLbUnit->SetNoSelection();
+ m_xLbUnit->set_active(-1);
}
- m_pLbUnit->SaveValue();
+ m_xLbUnit->save_value();
// Position
if ( rAttrs->GetItemState( SDRATTR_MEASURETEXTVPOS ) != SfxItemState::DONTCARE )
@@ -342,9 +316,6 @@ void SvxMeasurePage::Reset( const SfxItemSet* rAttrs )
{
if ( rAttrs->GetItemState( SDRATTR_MEASURETEXTHPOS ) != SfxItemState::DONTCARE )
{
- m_pTsbAutoPosV->EnableTriState( false );
- m_pTsbAutoPosH->EnableTriState( false );
-
css::drawing::MeasureTextHorzPos eHPos =
rAttrs->Get( SDRATTR_MEASURETEXTHPOS ).GetValue();
RectPoint eRP = RectPoint::MM;
@@ -397,33 +368,33 @@ void SvxMeasurePage::Reset( const SfxItemSet* rAttrs )
if (eHPos == css::drawing::MeasureTextHorzPos_AUTO)
{
- m_pTsbAutoPosH->SetState( TRISTATE_TRUE );
+ m_xTsbAutoPosH->set_state( TRISTATE_TRUE );
nState = CTL_STATE::NOHORZ;
}
if (eVPos == css::drawing::MeasureTextVertPos_AUTO)
{
- m_pTsbAutoPosV->SetState( TRISTATE_TRUE );
+ m_xTsbAutoPosV->set_state( TRISTATE_TRUE );
nState |= CTL_STATE::NOVERT;
}
- m_pCtlPosition->SetState( nState );
- m_pCtlPosition->SetActualRP( eRP );
+ m_aCtlPosition.SetState(nState);
+ m_aCtlPosition.SetActualRP(eRP);
}
}
}
else
{
- m_pCtlPosition->Reset();
- m_pTsbAutoPosV->SetState( TRISTATE_INDET );
- m_pTsbAutoPosH->SetState( TRISTATE_INDET );
+ m_aCtlPosition.Reset();
+ m_xTsbAutoPosV->set_state( TRISTATE_INDET );
+ m_xTsbAutoPosH->set_state( TRISTATE_INDET );
}
// put the attributes to the preview-control,
// otherwise the control don't know about
// the settings of the dialog (#67930)
- ChangeAttrHdl_Impl( m_pTsbShowUnit );
- m_pCtlPreview->SetAttributes( *rAttrs );
+ ChangeAttrHdl_Impl(m_xTsbShowUnit.get());
+ m_aCtlPreview.SetAttributes(*rAttrs);
bPositionModified = false;
}
@@ -440,77 +411,77 @@ bool SvxMeasurePage::FillItemSet( SfxItemSet* rAttrs)
sal_Int32 nValue;
TriState eState;
- if( m_pMtrFldLineDist->IsValueChangedFromSaved() )
+ if( m_xMtrFldLineDist->get_value_changed_from_saved() )
{
- nValue = GetCoreValue( *m_pMtrFldLineDist, eUnit );
+ nValue = GetCoreValue( *m_xMtrFldLineDist, eUnit );
rAttrs->Put( makeSdrMeasureLineDistItem( nValue ) );
bModified = true;
}
- if( m_pMtrFldHelplineOverhang->IsValueChangedFromSaved() )
+ if( m_xMtrFldHelplineOverhang->get_value_changed_from_saved() )
{
- nValue = GetCoreValue( *m_pMtrFldHelplineOverhang, eUnit );
+ nValue = GetCoreValue( *m_xMtrFldHelplineOverhang, eUnit );
rAttrs->Put( makeSdrMeasureHelplineOverhangItem( nValue ) );
bModified = true;
}
- if( m_pMtrFldHelplineDist->IsValueChangedFromSaved() )
+ if( m_xMtrFldHelplineDist->get_value_changed_from_saved() )
{
- nValue = GetCoreValue( *m_pMtrFldHelplineDist, eUnit );
+ nValue = GetCoreValue( *m_xMtrFldHelplineDist, eUnit );
rAttrs->Put( makeSdrMeasureHelplineDistItem( nValue ) );
bModified = true;
}
- if( m_pMtrFldHelpline1Len->IsValueChangedFromSaved() )
+ if( m_xMtrFldHelpline1Len->get_value_changed_from_saved() )
{
- nValue = GetCoreValue( *m_pMtrFldHelpline1Len, eUnit );
+ nValue = GetCoreValue( *m_xMtrFldHelpline1Len, eUnit );
rAttrs->Put( makeSdrMeasureHelpline1LenItem( nValue ) );
bModified = true;
}
- if( m_pMtrFldHelpline2Len->IsValueChangedFromSaved() )
+ if( m_xMtrFldHelpline2Len->get_value_changed_from_saved() )
{
- nValue = GetCoreValue( *m_pMtrFldHelpline2Len, eUnit );
+ nValue = GetCoreValue( *m_xMtrFldHelpline2Len, eUnit );
rAttrs->Put( makeSdrMeasureHelpline2LenItem( nValue ) );
bModified = true;
}
- eState = m_pTsbBelowRefEdge->GetState();
- if( m_pTsbBelowRefEdge->IsValueChangedFromSaved() )
+ eState = m_xTsbBelowRefEdge->get_state();
+ if( m_xTsbBelowRefEdge->get_state_changed_from_saved() )
{
rAttrs->Put( SdrMeasureBelowRefEdgeItem( TRISTATE_TRUE == eState ) );
bModified = true;
}
- if( m_pMtrFldDecimalPlaces->IsValueChangedFromSaved() )
+ if( m_xMtrFldDecimalPlaces->get_value_changed_from_saved() )
{
- nValue = static_cast<sal_Int32>(m_pMtrFldDecimalPlaces->GetValue());
+ nValue = m_xMtrFldDecimalPlaces->get_value();
rAttrs->Put(
SdrMeasureDecimalPlacesItem(
sal::static_int_cast< sal_Int16 >( nValue ) ) );
bModified = true;
}
- eState = m_pTsbParallel->GetState();
- if( m_pTsbParallel->IsValueChangedFromSaved() )
+ eState = m_xTsbParallel->get_state();
+ if( m_xTsbParallel->get_state_changed_from_saved() )
{
rAttrs->Put( SdrMeasureTextRota90Item( TRISTATE_FALSE == eState ) );
bModified = true;
}
- eState = m_pTsbShowUnit->GetState();
- if( m_pTsbShowUnit->IsValueChangedFromSaved() )
+ eState = m_xTsbShowUnit->get_state();
+ if( m_xTsbShowUnit->get_state_changed_from_saved() )
{
rAttrs->Put( SdrYesNoItem(SDRATTR_MEASURESHOWUNIT, TRISTATE_TRUE == eState ) );
bModified = true;
}
- sal_Int32 nPos = m_pLbUnit->GetSelectedEntryPos();
- if( m_pLbUnit->IsValueChangedFromSaved() )
+ int nPos = m_xLbUnit->get_active();
+ if( m_xLbUnit->get_value_changed_from_saved() )
{
- if( nPos != LISTBOX_ENTRY_NOTFOUND )
+ if (nPos != -1)
{
- sal_uInt16 nFieldUnit = static_cast<sal_uInt16>(reinterpret_cast<sal_IntPtr>(m_pLbUnit->GetEntryData( nPos )));
+ sal_uInt16 nFieldUnit = m_xLbUnit->get_id(nPos).toUInt32();
FieldUnit _eUnit = static_cast<FieldUnit>(nFieldUnit);
rAttrs->Put( SdrMeasureUnitItem( _eUnit ) );
bModified = true;
@@ -523,7 +494,7 @@ bool SvxMeasurePage::FillItemSet( SfxItemSet* rAttrs)
css::drawing::MeasureTextVertPos eVPos, eOldVPos;
css::drawing::MeasureTextHorzPos eHPos, eOldHPos;
- RectPoint eRP = m_pCtlPosition->GetActualRP();
+ RectPoint eRP = m_aCtlPosition.GetActualRP();
switch( eRP )
{
default:
@@ -546,10 +517,10 @@ bool SvxMeasurePage::FillItemSet( SfxItemSet* rAttrs)
case RectPoint::RB: eVPos = css::drawing::MeasureTextVertPos_WEST;
eHPos = css::drawing::MeasureTextHorzPos_RIGHTOUTSIDE; break;
}
- if (m_pTsbAutoPosH->GetState() == TRISTATE_TRUE)
+ if (m_xTsbAutoPosH->get_state() == TRISTATE_TRUE)
eHPos = css::drawing::MeasureTextHorzPos_AUTO;
- if (m_pTsbAutoPosV->GetState() == TRISTATE_TRUE)
+ if (m_xTsbAutoPosV->get_state() == TRISTATE_TRUE)
eVPos = css::drawing::MeasureTextVertPos_AUTO;
if ( rAttrs->GetItemState( SDRATTR_MEASURETEXTVPOS ) != SfxItemState::DONTCARE )
@@ -604,162 +575,169 @@ void SvxMeasurePage::Construct()
// floatingpoint-values' is not clear, but has to be done another way - if needed.
// Checked on original aw080, is just commented out there, too.
- // m_pCtlPreview->pMeasureObj->SetModel( pView->GetModel() );
- m_pCtlPreview->Invalidate();
+ m_aCtlPreview.Invalidate();
}
-VclPtr<SfxTabPage> SvxMeasurePage::Create( TabPageParent pWindow,
- const SfxItemSet* rAttrs )
+VclPtr<SfxTabPage> SvxMeasurePage::Create(TabPageParent pParent,
+ const SfxItemSet* rAttrs)
{
- return VclPtr<SvxMeasurePage>::Create( pWindow.pParent, *rAttrs );
+ return VclPtr<SvxMeasurePage>::Create(pParent, *rAttrs);
}
void SvxMeasurePage::PointChanged( vcl::Window* pWindow, RectPoint /*eRP*/ )
{
- ChangeAttrHdl_Impl( pWindow );
+ ChangeAttrHdl_Impl(pWindow);
}
-void SvxMeasurePage::PointChanged( weld::DrawingArea*, RectPoint /*eRP*/ )
+void SvxMeasurePage::PointChanged(weld::DrawingArea* pDrawingArea, RectPoint /*eRP*/)
{
- ChangeAttrHdl_Impl( m_pCtlPosition );
+ ChangeAttrHdl_Impl(pDrawingArea);
}
-IMPL_LINK( SvxMeasurePage, ClickAutoPosHdl_Impl, Button*, p, void )
+IMPL_LINK( SvxMeasurePage, ClickAutoPosHdl_Impl, weld::ToggleButton&, rBox, void )
{
- if( m_pTsbAutoPosH->GetState() == TRISTATE_TRUE )
+ if (m_xTsbAutoPosH->get_state() == TRISTATE_TRUE)
{
- switch( m_pCtlPosition->GetActualRP() )
+ switch( m_aCtlPosition.GetActualRP() )
{
case RectPoint::LT:
case RectPoint::RT:
- m_pCtlPosition->SetActualRP( RectPoint::MT );
+ m_aCtlPosition.SetActualRP( RectPoint::MT );
break;
case RectPoint::LM:
case RectPoint::RM:
- m_pCtlPosition->SetActualRP( RectPoint::MM );
+ m_aCtlPosition.SetActualRP( RectPoint::MM );
break;
case RectPoint::LB:
case RectPoint::RB:
- m_pCtlPosition->SetActualRP( RectPoint::MB );
+ m_aCtlPosition.SetActualRP( RectPoint::MB );
break;
default: ;//prevent warning
}
}
- if( m_pTsbAutoPosV->GetState() == TRISTATE_TRUE )
+ if (m_xTsbAutoPosV->get_state() == TRISTATE_TRUE)
{
- switch( m_pCtlPosition->GetActualRP() )
+ switch( m_aCtlPosition.GetActualRP() )
{
case RectPoint::LT:
case RectPoint::LB:
- m_pCtlPosition->SetActualRP( RectPoint::LM );
+ m_aCtlPosition.SetActualRP( RectPoint::LM );
break;
case RectPoint::MT:
case RectPoint::MB:
- m_pCtlPosition->SetActualRP( RectPoint::MM );
+ m_aCtlPosition.SetActualRP( RectPoint::MM );
break;
case RectPoint::RT:
case RectPoint::RB:
- m_pCtlPosition->SetActualRP( RectPoint::RM );
+ m_aCtlPosition.SetActualRP( RectPoint::RM );
break;
default: ;//prevent warning
}
}
- ChangeAttrHdl_Impl( p );
+ ChangeAttrHdl_Impl(&rBox);
+}
+
+IMPL_LINK(SvxMeasurePage, ChangeAttrClickHdl_Impl, weld::ToggleButton&, r, void)
+{
+ ChangeAttrHdl_Impl(&r);
}
-IMPL_LINK( SvxMeasurePage, ChangeAttrClickHdl_Impl, Button*, p, void )
+IMPL_LINK(SvxMeasurePage, ChangeAttrListBoxHdl_Impl, weld::ComboBox&, rBox, void)
{
- ChangeAttrHdl_Impl(p);
+ ChangeAttrHdl_Impl(&rBox);
}
-IMPL_LINK( SvxMeasurePage, ChangeAttrListBoxHdl_Impl, ListBox&, rBox, void )
+
+IMPL_LINK(SvxMeasurePage, ChangeAttrEditHdl_Impl, weld::MetricSpinButton&, rBox, void)
{
ChangeAttrHdl_Impl(&rBox);
}
-IMPL_LINK( SvxMeasurePage, ChangeAttrEditHdl_Impl, Edit&, rBox, void )
+
+IMPL_LINK( SvxMeasurePage, ChangeAttrSpinHdl_Impl, weld::SpinButton&, rBox, void )
{
ChangeAttrHdl_Impl(&rBox);
}
+
void SvxMeasurePage::ChangeAttrHdl_Impl( void const * p )
{
- if( p == m_pMtrFldLineDist )
+ if (p == m_xMtrFldLineDist.get())
{
- sal_Int32 nValue = GetCoreValue( *m_pMtrFldLineDist, eUnit );
+ sal_Int32 nValue = GetCoreValue( *m_xMtrFldLineDist, eUnit );
aAttrSet.Put( makeSdrMeasureLineDistItem( nValue ) );
}
- if( p == m_pMtrFldHelplineOverhang )
+ if (p == m_xMtrFldHelplineOverhang.get())
{
- sal_Int32 nValue = GetCoreValue( *m_pMtrFldHelplineOverhang, eUnit );
+ sal_Int32 nValue = GetCoreValue( *m_xMtrFldHelplineOverhang, eUnit );
aAttrSet.Put( makeSdrMeasureHelplineOverhangItem( nValue) );
}
- if( p == m_pMtrFldHelplineDist )
+ if (p == m_xMtrFldHelplineDist.get())
{
- sal_Int32 nValue = GetCoreValue( *m_pMtrFldHelplineDist, eUnit );
+ sal_Int32 nValue = GetCoreValue( *m_xMtrFldHelplineDist, eUnit );
aAttrSet.Put( makeSdrMeasureHelplineDistItem( nValue) );
}
- if( p == m_pMtrFldHelpline1Len )
+ if (p == m_xMtrFldHelpline1Len.get())
{
- sal_Int32 nValue = GetCoreValue( *m_pMtrFldHelpline1Len, eUnit );
+ sal_Int32 nValue = GetCoreValue( *m_xMtrFldHelpline1Len, eUnit );
aAttrSet.Put( makeSdrMeasureHelpline1LenItem( nValue ) );
}
- if( p == m_pMtrFldHelpline2Len )
+ if (p == m_xMtrFldHelpline2Len.get())
{
- sal_Int32 nValue = GetCoreValue( *m_pMtrFldHelpline2Len, eUnit );
+ sal_Int32 nValue = GetCoreValue( *m_xMtrFldHelpline2Len, eUnit );
aAttrSet.Put( makeSdrMeasureHelpline2LenItem( nValue ) );
}
- if( p == m_pTsbBelowRefEdge )
+ if (p == m_xTsbBelowRefEdge.get())
{
- TriState eState = m_pTsbBelowRefEdge->GetState();
+ TriState eState = m_xTsbBelowRefEdge->get_state();
if( eState != TRISTATE_INDET )
aAttrSet.Put( SdrMeasureBelowRefEdgeItem( TRISTATE_TRUE == eState ) );
}
- if( p == m_pMtrFldDecimalPlaces )
+ if (p == m_xMtrFldDecimalPlaces.get())
{
sal_Int16 nValue = sal::static_int_cast< sal_Int16 >(
- m_pMtrFldDecimalPlaces->GetValue() );
+ m_xMtrFldDecimalPlaces->get_value() );
aAttrSet.Put( SdrMeasureDecimalPlacesItem( nValue ) );
}
- if( p == m_pTsbParallel )
+ if (p == m_xTsbParallel.get())
{
- TriState eState = m_pTsbParallel->GetState();
+ TriState eState = m_xTsbParallel->get_state();
if( eState != TRISTATE_INDET )
aAttrSet.Put( SdrMeasureTextRota90Item( TRISTATE_FALSE == eState ) );
}
- if( p == m_pTsbShowUnit )
+ if (p == m_xTsbShowUnit.get())
{
- TriState eState = m_pTsbShowUnit->GetState();
+ TriState eState = m_xTsbShowUnit->get_state();
if( eState != TRISTATE_INDET )
aAttrSet.Put( SdrYesNoItem( SDRATTR_MEASURESHOWUNIT, TRISTATE_TRUE == eState ) );
}
- if( p == m_pLbUnit )
+ if (p == m_xLbUnit.get())
{
- sal_Int32 nPos = m_pLbUnit->GetSelectedEntryPos();
- if( nPos != LISTBOX_ENTRY_NOTFOUND )
+ int nPos = m_xLbUnit->get_active();
+ if (nPos != -1)
{
- sal_uInt16 nFieldUnit = static_cast<sal_uInt16>(reinterpret_cast<sal_IntPtr>(m_pLbUnit->GetEntryData( nPos )));
+ sal_uInt16 nFieldUnit = m_xLbUnit->get_id(nPos).toUInt32();
FieldUnit _eUnit = static_cast<FieldUnit>(nFieldUnit);
aAttrSet.Put( SdrMeasureUnitItem( _eUnit ) );
}
}
- if( p == m_pTsbAutoPosV || p == m_pTsbAutoPosH || p == m_pCtlPosition )
+ if (p == m_xTsbAutoPosV.get() || p == m_xTsbAutoPosH.get() || p == m_aCtlPosition.GetDrawingArea())
{
bPositionModified = true;
// Position
- RectPoint eRP = m_pCtlPosition->GetActualRP();
+ RectPoint eRP = m_aCtlPosition.GetActualRP();
css::drawing::MeasureTextVertPos eVPos;
css::drawing::MeasureTextHorzPos eHPos;
@@ -788,27 +766,27 @@ void SvxMeasurePage::ChangeAttrHdl_Impl( void const * p )
CTL_STATE nState = CTL_STATE::NONE;
- if (m_pTsbAutoPosH->GetState() == TRISTATE_TRUE)
+ if (m_xTsbAutoPosH->get_state() == TRISTATE_TRUE)
{
eHPos = css::drawing::MeasureTextHorzPos_AUTO;
nState = CTL_STATE::NOHORZ;
}
- if (m_pTsbAutoPosV->GetState() == TRISTATE_TRUE)
+ if (m_xTsbAutoPosV->get_state() == TRISTATE_TRUE)
{
eVPos = css::drawing::MeasureTextVertPos_AUTO;
nState |= CTL_STATE::NOVERT;
}
- if( p == m_pTsbAutoPosV || p == m_pTsbAutoPosH )
- m_pCtlPosition->SetState( nState );
+ if (p == m_xTsbAutoPosV.get() || p == m_xTsbAutoPosH.get())
+ m_aCtlPosition.SetState( nState );
aAttrSet.Put( SdrMeasureTextVPosItem( eVPos ) );
aAttrSet.Put( SdrMeasureTextHPosItem( eHPos ) );
}
- m_pCtlPreview->SetAttributes( aAttrSet );
- m_pCtlPreview->Invalidate();
+ m_aCtlPreview.SetAttributes(aAttrSet);
+ m_aCtlPreview.Invalidate();
}
void SvxMeasurePage::FillUnitLB()
@@ -816,18 +794,17 @@ void SvxMeasurePage::FillUnitLB()
// fill ListBox with metrics
FieldUnit nUnit = FUNIT_NONE;
- OUString aStrMetric( m_pFtAutomatic->GetText());
- sal_Int32 nPos = m_pLbUnit->InsertEntry( aStrMetric );
- m_pLbUnit->SetEntryData( nPos, reinterpret_cast<void*>(nUnit) );
+ OUString aStrMetric(m_xFtAutomatic->get_label());
+ m_xLbUnit->append(OUString::number(nUnit), aStrMetric);
for( sal_uInt32 i = 0; i < SvxFieldUnitTable::Count(); ++i )
{
aStrMetric = SvxFieldUnitTable::GetString(i);
nUnit = SvxFieldUnitTable::GetValue(i);
- nPos = m_pLbUnit->InsertEntry( aStrMetric );
- m_pLbUnit->SetEntryData( nPos, reinterpret_cast<void*>(nUnit) );
+ m_xLbUnit->append(OUString::number(nUnit), aStrMetric);
}
}
+
void SvxMeasurePage::PageCreated(const SfxAllItemSet& aSet)
{
const OfaPtrItem* pOfaPtrItem = aSet.GetItem<OfaPtrItem>(SID_OBJECT_LIST, false);
diff --git a/cui/uiconfig/ui/dimensionlinestabpage.ui b/cui/uiconfig/ui/dimensionlinestabpage.ui
index 497ee0276f49..5c4b4595d8be 100644
--- a/cui/uiconfig/ui/dimensionlinestabpage.ui
+++ b/cui/uiconfig/ui/dimensionlinestabpage.ui
@@ -1,8 +1,7 @@
<?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="lower">-10</property>
<property name="upper">10</property>
@@ -14,6 +13,30 @@
<property name="step_increment">1</property>
<property name="page_increment">10</property>
</object>
+ <object class="GtkAdjustment" id="adjustment3">
+ <property name="lower">-10</property>
+ <property name="upper">10</property>
+ <property name="step_increment">0.10000000000000001</property>
+ <property name="page_increment">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment4">
+ <property name="lower">-10</property>
+ <property name="upper">10</property>
+ <property name="step_increment">0.10000000000000001</property>
+ <property name="page_increment">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment5">
+ <property name="lower">-10</property>
+ <property name="upper">10</property>
+ <property name="step_increment">0.10000000000000001</property>
+ <property name="page_increment">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment6">
+ <property name="lower">-10</property>
+ <property name="upper">10</property>
+ <property name="step_increment">0.10000000000000001</property>
+ <property name="page_increment">1</property>
+ </object>
<object class="GtkBox" id="DimensionLinesTabPage">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -48,11 +71,11 @@
<object class="GtkLabel" id="FT_LINE_DIST">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.4699999988079071</property>
<property name="label" translatable="yes" context="dimensionlinestabpage|FT_LINE_DIST">Line _distance:</property>
<property name="use_underline">True</property>
- <property name="mnemonic_widget">MTR_LINE_DIST:0.00mm</property>
+ <property name="mnemonic_widget">MTR_LINE_DIST</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.4699999988079071</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -63,10 +86,10 @@
<object class="GtkLabel" id="FT_HELPLINE_OVERHANG">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="dimensionlinestabpage|FT_HELPLINE_OVERHANG">Guide _overhang:</property>
<property name="use_underline">True</property>
- <property name="mnemonic_widget">MTR_FLD_HELPLINE_OVERHANG:0.00mm</property>
+ <property name="mnemonic_widget">MTR_FLD_HELPLINE_OVERHANG</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -77,10 +100,10 @@
<object class="GtkLabel" id="FT_HELPLINE_DIST">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="dimensionlinestabpage|FT_HELPLINE_DIST">_Guide distance:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">MTR_FLD_HELPLINE_DIST:0.00mm</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -91,10 +114,10 @@
<object class="GtkLabel" id="FT_HELPLINE1_LEN">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="dimensionlinestabpage|FT_HELPLINE1_LEN">_Left guide:</property>
<property name="use_underline">True</property>
- <property name="mnemonic_widget">MTR_FLD_HELPLINE1_LEN:0.00mm</property>
+ <property name="mnemonic_widget">MTR_FLD_HELPLINE1_LEN</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -105,10 +128,10 @@
<object class="GtkLabel" id="FT_HELPLINE2_LEN">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="dimensionlinestabpage|FT_HELPLINE2_LEN">_Right guide:</property>
<property name="use_underline">True</property>
- <property name="mnemonic_widget">MTR_FLD_HELPLINE2_LEN:0.00mm</property>
+ <property name="mnemonic_widget">MTR_FLD_HELPLINE2_LEN</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -119,10 +142,10 @@
<object class="GtkLabel" id="FT_DECIMALPLACES">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="dimensionlinestabpage|FT_DECIMALPLACES">Decimal _places:</property>
<property name="use_underline">True</property>
- <property name="mnemonic_widget">MTR_FLD_DECIMALPLACES:0</property>
+ <property name="mnemonic_widget">MTR_FLD_DECIMALPLACES</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -148,9 +171,10 @@
</packing>
</child>
<child>
- <object class="GtkSpinButton" id="MTR_LINE_DIST:0.00mm">
+ <object class="GtkSpinButton" id="MTR_LINE_DIST">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="activates_default">True</property>
<property name="adjustment">adjustment1</property>
<property name="digits">2</property>
</object>
@@ -160,10 +184,11 @@
</packing>
</child>
<child>
- <object class="GtkSpinButton" id="MTR_FLD_HELPLINE_OVERHANG:0.00mm">
+ <object class="GtkSpinButton" id="MTR_FLD_HELPLINE_OVERHANG">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="adjustment">adjustment1</property>
+ <property name="activates_default">True</property>
+ <property name="adjustment">adjustment3</property>
<property name="digits">2</property>
</object>
<packing>
@@ -175,7 +200,8 @@
<object class="GtkSpinButton" id="MTR_FLD_HELPLINE_DIST:0.00mm">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="adjustment">adjustment1</property>
+ <property name="activates_default">True</property>
+ <property name="adjustment">adjustment4</property>
<property name="digits">2</property>
</object>
<packing>
@@ -184,10 +210,11 @@
</packing>
</child>
<child>
- <object class="GtkSpinButton" id="MTR_FLD_HELPLINE1_LEN:0.00mm">
+ <object class="GtkSpinButton" id="MTR_FLD_HELPLINE1_LEN">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="adjustment">adjustment1</property>
+ <property name="activates_default">True</property>
+ <property name="adjustment">adjustment5</property>
<property name="digits">2</property>
</object>
<packing>
@@ -196,10 +223,11 @@
</packing>
</child>
<child>
- <object class="GtkSpinButton" id="MTR_FLD_HELPLINE2_LEN:0.00mm">
+ <object class="GtkSpinButton" id="MTR_FLD_HELPLINE2_LEN">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="adjustment">adjustment1</property>
+ <property name="activates_default">True</property>
+ <property name="adjustment">adjustment6</property>
<property name="digits">2</property>
</object>
<packing>
@@ -208,9 +236,10 @@
</packing>
</child>
<child>
- <object class="GtkSpinButton" id="MTR_FLD_DECIMALPLACES:0">
+ <object class="GtkSpinButton" id="MTR_FLD_DECIMALPLACES">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="activates_default">True</property>
<property name="adjustment">adjustment2</property>
</object>
<packing>
@@ -226,8 +255,8 @@
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="dimensionlinestabpage|label1">Line</property>
+ <property name="xalign">0</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
@@ -262,9 +291,9 @@
<object class="GtkLabel" id="FT_POSITION">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="dimensionlinestabpage|FT_POSITION">_Text position</property>
<property name="use_underline">True</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@@ -284,11 +313,29 @@
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
- <object class="svxlo-SvxRectCtl" id="CTL_POSITION">
+ <object class="GtkScrolledWindow" id="frameselwin">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can_focus">True</property>
<property name="halign">start</property>
<property name="valign">center</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_POSITION">
+ <property name="visible">True</property>
+ <property name="can_focus">True</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="halign">start</property>
+ <property name="valign">center</property>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
<packing>
<property name="expand">False</property>
@@ -374,7 +421,7 @@
</packing>
</child>
<child>
- <object class="GtkComboBox" id="LB_UNIT">
+ <object class="GtkComboBoxText" id="LB_UNIT">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
@@ -394,8 +441,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="dimensionlinestabpage|label2">Legend</property>
+ <property name="xalign">0</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
@@ -427,9 +474,24 @@
</packing>
</child>
<child>
- <object class="svxlo-SvxXMeasurePreview" id="CTL_PREVIEW:border">
+ <object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can_focus">False</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>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
<packing>
<property name="expand">False</property>
diff --git a/extras/source/glade/libreoffice-catalog.xml.in b/extras/source/glade/libreoffice-catalog.xml.in
index e79db6624283..b1fc5ff12330 100644
--- a/extras/source/glade/libreoffice-catalog.xml.in
+++ b/extras/source/glade/libreoffice-catalog.xml.in
@@ -230,9 +230,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="SvxXMeasurePreview" name="svxlo-SvxXMeasurePreview"
- generic-name="Dimension 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"/>
@@ -344,11 +341,8 @@
<glade-widget-class title="Assign Fields Control" name="swuilo-SwAssignFieldsControl"
generic-name="Assign Fields Control" parent="GtkDrawingArea"
icon-name="widget-gtk-drawingarea"/>
- <glade-widget-class title="Rectangle Control" name="svxlo-SvxRectCtl"
- generic-name="Rectangle Control" parent="GtkDrawingArea"
- icon-name="widget-gtk-drawingarea"/>
<glade-widget-class title="Emboss Control" name="cuilo-EmbossControl"
- generic-name="Emboss Control" parent="svxlo-SvxRectCtl"
+ generic-name="Emboss Control" parent="GtkDrawingArea"
icon-name="widget-gtk-drawingarea"/>
<glade-widget-class title="Frame Direction ListBox" name="svxlo-FrameDirectionListBox"
generic-name="FrameDirectionListBox" parent="GtkComboBox"
diff --git a/include/svx/measctrl.hxx b/include/svx/measctrl.hxx
index 4cdbb84a60e5..c3d2d4391769 100644
--- a/include/svx/measctrl.hxx
+++ b/include/svx/measctrl.hxx
@@ -19,7 +19,7 @@
#ifndef INCLUDED_SVX_MEASCTRL_HXX
#define INCLUDED_SVX_MEASCTRL_HXX
-#include <vcl/ctrl.hxx>
+#include <vcl/customweld.hxx>
#include <svx/svxdllapi.h>
#include <memory>
@@ -27,27 +27,26 @@ class SfxItemSet;
class SdrMeasureObj;
class SdrModel;
-class SVX_DLLPUBLIC SvxXMeasurePreview : public Control
+class SVX_DLLPUBLIC SvxXMeasurePreview : public weld::CustomWidgetController
{
friend class SvxMeasurePage;
private:
+ MapMode m_aMapMode;
SdrMeasureObj* pMeasureObj;
std::unique_ptr<SdrModel> pModel;
+ void ResizeImpl(const Size& rSize);
public:
- SvxXMeasurePreview(vcl::Window* pParent, WinBits nStyle);
+ SvxXMeasurePreview();
+ virtual void SetDrawingArea(weld::DrawingArea* pDrawingArea) override;
virtual ~SvxXMeasurePreview() override;
- virtual void dispose() override;
virtual void Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect) override;
virtual void Resize() override;
virtual void MouseButtonDown(const MouseEvent& rMEvt) override;
- virtual Size GetOptimalSize() const override;
void SetAttributes(const SfxItemSet& rInAttrs);
-
- virtual void DataChanged(const DataChangedEvent& rDCEvt) override;
};
#endif
diff --git a/solenv/sanitizers/ui/cui.suppr b/solenv/sanitizers/ui/cui.suppr
index d2f4bbb2de26..334714624ce2 100644
--- a/solenv/sanitizers/ui/cui.suppr
+++ b/solenv/sanitizers/ui/cui.suppr
@@ -195,7 +195,6 @@ cui/uiconfig/ui/connpooloptions.ui://GtkLabel[@id='driverlabel'] orphan-label
cui/uiconfig/ui/connpooloptions.ui://GtkLabel[@id='driver'] orphan-label
cui/uiconfig/ui/databaselinkdialog.ui://GtkLabel[@id='alttitle'] orphan-label
cui/uiconfig/ui/dimensionlinestabpage.ui://GtkLabel[@id='FT_POSITION'] orphan-label
-cui/uiconfig/ui/dimensionlinestabpage.ui://svxlo-SvxRectCtl[@id='CTL_POSITION'] no-labelled-by
cui/uiconfig/ui/dimensionlinestabpage.ui://GtkComboBox[@id='LB_UNIT'] no-labelled-by
cui/uiconfig/ui/dimensionlinestabpage.ui://GtkLabel[@id='STR_MEASURE_AUTOMATIC'] orphan-label
cui/uiconfig/ui/eventassignpage.ui://cuilo-MacroEventListBox[@id='assignments:border'] no-labelled-by
diff --git a/svx/source/dialog/dlgctrl.cxx b/svx/source/dialog/dlgctrl.cxx
index ebc6f4b9cc79..85df3b8d1c1c 100644
--- a/svx/source/dialog/dlgctrl.cxx
+++ b/svx/source/dialog/dlgctrl.cxx
@@ -87,8 +87,6 @@ Size SvxRectCtl::GetOptimalSize() const
return LogicToPixel(Size(78, 39), MapMode(MapUnit::MapAppFont));
}
-VCL_BUILDER_FACTORY(SvxRectCtl)
-
SvxRectCtl::~SvxRectCtl()
{
disposeOnce();
diff --git a/svx/source/dialog/measctrl.cxx b/svx/source/dialog/measctrl.cxx
index 578a49ceb6e3..87c0c3f38d6c 100644
--- a/svx/source/dialog/measctrl.cxx
+++ b/svx/source/dialog/measctrl.cxx
@@ -22,61 +22,55 @@
#include <svx/svdmodel.hxx>
#include <svx/measctrl.hxx>
#include <svx/dlgutil.hxx>
-#include <vcl/builderfactory.hxx>
#include <vcl/settings.hxx>
+#include <vcl/svapp.hxx>
#include <memory>
-SvxXMeasurePreview::SvxXMeasurePreview(vcl::Window* pParent, WinBits nStyle)
- : Control(pParent, nStyle)
+SvxXMeasurePreview::SvxXMeasurePreview()
+ : m_aMapMode(MapUnit::Map100thMM)
{
- SetMapMode(MapMode(MapUnit::Map100thMM));
-
// Scale: 1:2
- MapMode aMapMode = GetMapMode();
- aMapMode.SetScaleX(Fraction(1, 2));
- aMapMode.SetScaleY(Fraction(1, 2));
- SetMapMode(aMapMode);
+ m_aMapMode.SetScaleX(Fraction(1, 2));
+ m_aMapMode.SetScaleY(Fraction(1, 2));
+}
- Size aSize = GetOutputSize();
- Point aPt1 = Point(aSize.Width() / 5, static_cast<long>(aSize.Height() / 2));
- Point aPt2 = Point(aSize.Width() * 4 / 5, static_cast<long>(aSize.Height() / 2));
+void SvxXMeasurePreview::SetDrawingArea(weld::DrawingArea* pDrawingArea)
+{
+ CustomWidgetController::SetDrawingArea(pDrawingArea);
+ Size aSize(getPreviewStripSize(pDrawingArea->get_ref_device()));
+ pDrawingArea->set_size_request(aSize.Width(), aSize.Height());
pModel.reset(new SdrModel(nullptr, nullptr, true));
- pMeasureObj = new SdrMeasureObj(
- *pModel,
- aPt1,
- aPt2);
-
- bool bHighContrast = GetSettings().GetStyleSettings().GetHighContrastMode();
- SetDrawMode(bHighContrast ? OUTPUT_DRAWMODE_CONTRAST : OUTPUT_DRAWMODE_COLOR);
+ pMeasureObj = new SdrMeasureObj(*pModel, Point(), Point());
+ ResizeImpl(aSize);
Invalidate();
}
-void SvxXMeasurePreview::Resize()
+void SvxXMeasurePreview::ResizeImpl(const Size& rSize)
{
- Control::Resize();
+ OutputDevice& rRefDevice = GetDrawingArea()->get_ref_device();
+ rRefDevice.Push(PushFlags::MAPMODE);
+
+ rRefDevice.SetMapMode(m_aMapMode);
- Size aSize = GetOutputSize();
+ Size aSize = rRefDevice.PixelToLogic(rSize);
Point aPt1 = Point(aSize.Width() / 5, static_cast<long>(aSize.Height() / 2));
pMeasureObj->SetPoint(aPt1, 0);
Point aPt2 = Point(aSize.Width() * 4 / 5, static_cast<long>(aSize.Height() / 2));
pMeasureObj->SetPoint(aPt2, 1);
-}
-VCL_BUILDER_FACTORY_CONSTRUCTOR(SvxXMeasurePreview, 0)
-
-Size SvxXMeasurePreview::GetOptimalSize() const
-{
- return getPreviewStripSize(*this);
+ rRefDevice.Pop();
}
-SvxXMeasurePreview::~SvxXMeasurePreview()
+void SvxXMeasurePreview::Resize()
{
- disposeOnce();
+ CustomWidgetController::Resize();
+ ResizeImpl(GetOutputSizePixel());
+ Invalidate();
}
-void SvxXMeasurePreview::dispose()
+SvxXMeasurePreview::~SvxXMeasurePreview()
{
// No one is deleting the MeasureObj? This is not only an error but also
// a memory leak (!). Main problem is that this object is still listening to
@@ -89,12 +83,18 @@ void SvxXMeasurePreview::dispose()
SdrObject::Free(pTemp);
pModel.reset();
- Control::dispose();
}
void SvxXMeasurePreview::Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle&)
{
+ rRenderContext.Push(PushFlags::MAPMODE);
+ rRenderContext.SetMapMode(m_aMapMode);
+
+ bool bHighContrast = Application::GetSettings().GetStyleSettings().GetHighContrastMode();
+ rRenderContext.SetDrawMode(bHighContrast ? OUTPUT_DRAWMODE_CONTRAST : OUTPUT_DRAWMODE_COLOR);
pMeasureObj->SingleObjectPainter(rRenderContext);
+
+ rRenderContext.Pop();
}
void SvxXMeasurePreview::SetAttributes(const SfxItemSet& rInAttrs)
@@ -112,9 +112,8 @@ void SvxXMeasurePreview::MouseButtonDown(const MouseEvent& rMEvt)
if (bZoomIn || bZoomOut)
{
- MapMode aMapMode = GetMapMode();
- Fraction aXFrac = aMapMode.GetScaleX();
- Fraction aYFrac = aMapMode.GetScaleY();
+ Fraction aXFrac = m_aMapMode.GetScaleX();
+ Fraction aYFrac = m_aMapMode.GetScaleY();
std::unique_ptr<Fraction> pMultFrac;
if (bZoomIn)
@@ -138,35 +137,26 @@ void SvxXMeasurePreview::MouseButtonDown(const MouseEvent& rMEvt)
if (double(aXFrac) > 0.001 && double(aXFrac) < 1000.0 &&
double(aYFrac) > 0.001 && double(aYFrac) < 1000.0)
{
- aMapMode.SetScaleX(aXFrac);
- aMapMode.SetScaleY(aYFrac);
- SetMapMode(aMapMode);
+ m_aMapMode.SetScaleX(aXFrac);
+ m_aMapMode.SetScaleY(aYFrac);
- Size aOutSize(GetOutputSize());
+ OutputDevice& rRefDevice = GetDrawingArea()->get_ref_device();
+ rRefDevice.Push(PushFlags::MAPMODE);
+ rRefDevice.SetMapMode(m_aMapMode);
+ Size aOutSize(rRefDevice.PixelToLogic(GetOutputSizePixel()));
+ rRefDevice.Pop();
- Point aPt(aMapMode.GetOrigin());
+ Point aPt(m_aMapMode.GetOrigin());
long nX = long((double(aOutSize.Width()) - (double(aOutSize.Width()) * double(*pMultFrac))) / 2.0 + 0.5);
long nY = long((double(aOutSize.Height()) - (double(aOutSize.Height()) * double(*pMultFrac))) / 2.0 + 0.5);
aPt.AdjustX(nX );
aPt.AdjustY(nY );
- aMapMode.SetOrigin(aPt);
- SetMapMode(aMapMode);
+ m_aMapMode.SetOrigin(aPt);
Invalidate();
}
}
}
-void SvxXMeasurePreview::DataChanged( const DataChangedEvent& rDCEvt )
-{
- Control::DataChanged( rDCEvt );
-
- if ((rDCEvt.GetType() == DataChangedEventType::SETTINGS) && (rDCEvt.GetFlags() & AllSettingsFlags::STYLE))
- {
- bool bHighContrast = GetSettings().GetStyleSettings().GetHighContrastMode();
- SetDrawMode(bHighContrast ? OUTPUT_DRAWMODE_CONTRAST : OUTPUT_DRAWMODE_COLOR);
- }
-}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */