From 7a4bd998e900c7f7a28f9068b97707ef76c99b85 Mon Sep 17 00:00:00 2001 From: Rishabh Kumar Date: Thu, 19 May 2016 13:54:04 +0530 Subject: Addition of new controls and their rearrangement in hatch tab 1. Removal of rectangle hatch angle dial widget 2. Addition of slider widget for changing angle in hatch tab. 3. Move hatch background color control from area tab to hatch tab. 4. Rearrangement of controls 5. Removal of hatch controls from Area tab Change-Id: I596098b328fc183d2fdd5259e90013dbf74d9ad7 Reviewed-on: https://gerrit.libreoffice.org/25147 Tested-by: Jenkins Reviewed-by: Katarina Behrens --- cui/source/inc/cuitabarea.hxx | 11 +- cui/source/tabpages/tparea.cxx | 136 ++------------------ cui/source/tabpages/tphatch.cxx | 110 ++++++++-------- cui/uiconfig/ui/areatabpage.ui | 78 +----------- cui/uiconfig/ui/hatchpage.ui | 274 +++++++++++++++++++++++++++++----------- 5 files changed, 274 insertions(+), 335 deletions(-) (limited to 'cui') diff --git a/cui/source/inc/cuitabarea.hxx b/cui/source/inc/cuitabarea.hxx index c8235febabb7..79d1f33a7a74 100644 --- a/cui/source/inc/cuitabarea.hxx +++ b/cui/source/inc/cuitabarea.hxx @@ -193,10 +193,6 @@ private: VclPtr m_pLbBitmap; VclPtr m_pCtlBitmapPreview; - VclPtr m_pFlHatchBckgrd; - VclPtr m_pCbxHatchBckgrd; - VclPtr m_pLbHatchBckgrdColor; - VclPtr m_pBxBitmap; VclPtr m_pFlSize; @@ -264,10 +260,8 @@ private: DECL_LINK_TYPED(SelectDialogTypeHdl_Impl, ListBox&, void); DECL_LINK_TYPED( ModifyColorHdl_Impl, ListBox&, void ); - DECL_LINK_TYPED( ModifyHatchBckgrdColorHdl_Impl, ListBox&, void ); DECL_LINK_TYPED( ModifyGradientHdl_Impl, ListBox&, void ); DECL_LINK_TYPED( ModifyHatchingHdl_Impl, ListBox&, void ); - DECL_LINK_TYPED( ToggleHatchBckgrdColorHdl_Impl, CheckBox&, void ); DECL_LINK_TYPED( ModifyBitmapHdl_Impl, ListBox&, void ); void ModifyStepCountHdl_Impl(void*); @@ -473,9 +467,10 @@ class SvxHatchTabPage : public SvxTabPage private: VclPtr m_pMtrDistance; VclPtr m_pMtrAngle; - VclPtr m_pCtlAngle; + VclPtr m_pSliderAngle; VclPtr m_pLbLineType; VclPtr m_pLbLineColor; + VclPtr m_pLbBackgroundColor; VclPtr m_pLbHatchings; VclPtr m_pCtlPreview; VclPtr m_pBtnAdd; @@ -506,6 +501,8 @@ private: DECL_LINK_TYPED( ChangeHatchHdl_Impl, ListBox&, void ); DECL_LINK_TYPED( ModifiedEditHdl_Impl, Edit&, void ); DECL_LINK_TYPED( ModifiedListBoxHdl_Impl, ListBox&, void ); + DECL_LINK_TYPED( ModifiedBackgroundHdl_Impl, ListBox&, void ); + DECL_LINK_TYPED( ModifiedSliderHdl_Impl, Slider*, void ); void ModifiedHdl_Impl(void*); DECL_LINK_TYPED( ClickAddHdl_Impl, Button*, void ); DECL_LINK_TYPED( ClickModifyHdl_Impl, Button*, void ); diff --git a/cui/source/tabpages/tparea.cxx b/cui/source/tabpages/tparea.cxx index 4b0faa319dcc..29b34702068c 100644 --- a/cui/source/tabpages/tparea.cxx +++ b/cui/source/tabpages/tparea.cxx @@ -115,10 +115,6 @@ SvxAreaTabPage::SvxAreaTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs get(m_pLbBitmap,"LB_BITMAP"); get(m_pCtlBitmapPreview,"CTL_BITMAP_PREVIEW"); - get(m_pFlHatchBckgrd,"FL_HATCHCOLORS"); - get(m_pLbHatchBckgrdColor,"LB_HATCHBCKGRDCOLOR"); - get(m_pCbxHatchBckgrd,"CB_HATCHBCKGRD"); - get(m_pBxBitmap,"boxBITMAP"); get(m_pFlSize,"FL_SIZE"); @@ -151,11 +147,8 @@ SvxAreaTabPage::SvxAreaTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs //size required for any of the areas which might be selected //later, so that there's sufficient space VclContainer *pMainFrame = get("mainframe"); - Size aHatchSize(m_pFlHatchBckgrd->get_preferred_size()); Size aBitmapSize(m_pBxBitmap->get_preferred_size()); - Size aMainFrame( - std::max(aHatchSize.Width(), aBitmapSize.Width()), - std::max(aHatchSize.Height(), aBitmapSize.Height())); + Size aMainFrame(aBitmapSize.Width(),aBitmapSize.Height()); pMainFrame->set_width_request(aMainFrame.Width()); pMainFrame->set_height_request(aMainFrame.Height()); @@ -166,9 +159,6 @@ SvxAreaTabPage::SvxAreaTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs m_pBxBitmap->Hide(); - // Controls for Hatch-Background - m_pFlHatchBckgrd->Hide(); - m_pTsbOriginal->EnableTriState( false ); // this page needs ExchangeSupport @@ -200,8 +190,6 @@ SvxAreaTabPage::SvxAreaTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs m_pCtlBitmapPreview->SetAttributes( m_aXFillAttr.GetItemSet() ); m_pLbColor->SetSelectHdl( LINK( this, SvxAreaTabPage, ModifyColorHdl_Impl ) ); - m_pLbHatchBckgrdColor->SetSelectHdl( LINK( this, SvxAreaTabPage, ModifyHatchBckgrdColorHdl_Impl ) ); - m_pCbxHatchBckgrd->SetToggleHdl( LINK( this, SvxAreaTabPage, ToggleHatchBckgrdColorHdl_Impl ) ); //UUUU m_pBtnImport->SetClickHdl(LINK(this, SvxAreaTabPage, ClickImportHdl_Impl)); @@ -264,9 +252,6 @@ void SvxAreaTabPage::dispose() m_pLbHatching.clear(); m_pLbBitmap.clear(); m_pCtlBitmapPreview.clear(); - m_pFlHatchBckgrd.clear(); - m_pCbxHatchBckgrd.clear(); - m_pLbHatchBckgrdColor.clear(); m_pBxBitmap.clear(); m_pFlSize.clear(); m_pTsbOriginal.clear(); @@ -298,8 +283,6 @@ void SvxAreaTabPage::Construct() { // fill colortables / lists m_pLbColor->Fill( m_pColorList ); - m_pLbHatchBckgrdColor->Fill ( m_pColorList ); - m_pLbGradient->Fill( m_pGradientList ); m_pLbHatching->Fill( m_pHatchingList ); m_pLbBitmap->Fill( m_pBitmapList ); @@ -341,7 +324,6 @@ void SvxAreaTabPage::ActivatePage( const SfxItemSet& rSet ) m_pLbBitmap->SelectEntryPos( 0 ); else m_pLbBitmap->SelectEntryPos( _nPos ); - ModifyBitmapHdl_Impl( *m_pLbBitmap ); } if( *m_pnHatchingListState != ChangeType::NONE ) @@ -361,8 +343,6 @@ void SvxAreaTabPage::ActivatePage( const SfxItemSet& rSet ) else m_pLbHatching->SelectEntryPos( _nPos ); ModifyHatchingHdl_Impl( *m_pLbHatching ); - - ModifyHatchBckgrdColorHdl_Impl( *m_pLbHatchBckgrdColor ); } if( *m_pnGradientListState != ChangeType::NONE ) @@ -401,20 +381,6 @@ void SvxAreaTabPage::ActivatePage( const SfxItemSet& rSet ) m_pLbColor->SelectEntryPos( _nPos ); ModifyColorHdl_Impl( *m_pLbColor ); - - // Backgroundcolor of hatch - _nPos = m_pLbHatchBckgrdColor->GetSelectEntryPos(); - m_pLbHatchBckgrdColor->Clear(); - m_pLbHatchBckgrdColor->Fill( m_pColorList ); - nCount = m_pLbHatchBckgrdColor->GetEntryCount(); - if( nCount == 0 ) - ; // This case should never occur - else if( nCount <= _nPos ) - m_pLbHatchBckgrdColor->SelectEntryPos( 0 ); - else - m_pLbHatchBckgrdColor->SelectEntryPos( _nPos ); - - ModifyHatchBckgrdColorHdl_Impl( *m_pLbHatchBckgrdColor ); } // evaluate if any other Tabpage set another filltype @@ -443,7 +409,6 @@ void SvxAreaTabPage::ActivatePage( const SfxItemSet& rSet ) case PT_COLOR: m_pTypeLB->SelectEntryPos( drawing::FillStyle_SOLID ); m_pLbColor->SelectEntryPos( _nPos ); - m_pLbHatchBckgrdColor->SelectEntryPos( _nPos ); ClickColorHdl_Impl(); break; } @@ -609,21 +574,6 @@ bool SvxAreaTabPage::FillItemSet( SfxItemSet* rAttrs ) bModified = true; } } - XFillBackgroundItem aItem ( m_pCbxHatchBckgrd->IsChecked() ); - rAttrs->Put( aItem ); - m_nPos = m_pLbHatchBckgrdColor->GetSelectEntryPos(); - if( m_nPos != LISTBOX_ENTRY_NOTFOUND && - m_pLbHatchBckgrdColor->IsValueChangedFromSaved() ) - { - XFillColorItem aFillColorItem( m_pLbHatchBckgrdColor->GetSelectEntry(), - m_pLbHatchBckgrdColor->GetSelectEntryColor() ); - pOld = GetOldItem( *rAttrs, XATTR_FILLCOLOR ); - if ( !pOld || !( *static_cast(pOld) == aFillColorItem ) ) - { - rAttrs->Put( aFillColorItem ); - bModified = true; - } - } // NEW if( (eSavedStyle != eStyle) && ( bModified || @@ -933,7 +883,6 @@ void SvxAreaTabPage::Reset( const SfxItemSet* rAttrs ) XFillColorItem const& rColorItem(static_cast( rAttrs->Get(XATTR_FILLCOLOR)) ); m_pLbColor->SelectEntry( rColorItem.GetColorValue() ); - m_pLbHatchBckgrdColor->SelectEntry( rColorItem.GetColorValue() ); } SfxItemState const eGradState(rAttrs->GetItemState(XATTR_FILLGRADIENT)); @@ -969,11 +918,6 @@ void SvxAreaTabPage::Reset( const SfxItemSet* rAttrs ) m_pLbHatching->SelectEntryPos(0); // anything better than nothing isMissingHatching = true; } - if (SfxItemState::DONTCARE != rAttrs->GetItemState(XATTR_FILLBACKGROUND)) - { - m_pCbxHatchBckgrd->Check( static_cast( - rAttrs->Get(XATTR_FILLBACKGROUND)).GetValue() ); - } SfxItemState const eBitmapState(rAttrs->GetItemState(XATTR_FILLBITMAP)); XFillBitmapItem const* pBitmapItem(nullptr); @@ -1007,7 +951,6 @@ void SvxAreaTabPage::Reset( const SfxItemSet* rAttrs ) case drawing::FillStyle_HATCH: ClickHatchingHdl_Impl(); - ToggleHatchBckgrdColorHdl_Impl( *m_pCbxHatchBckgrd ); break; case drawing::FillStyle_BITMAP: @@ -1205,7 +1148,6 @@ void SvxAreaTabPage::Reset( const SfxItemSet* rAttrs ) m_pLbGradient->SaveValue(); if (!isMissingHatching) m_pLbHatching->SaveValue(); - m_pLbHatchBckgrdColor->SaveValue(); if (!isMissingBitmap) m_pLbBitmap->SaveValue(); m_pTsbTile->SaveValue(); @@ -1226,7 +1168,6 @@ void SvxAreaTabPage::ChangesApplied() m_pLbColor->SaveValue(); m_pLbGradient->SaveValue(); m_pLbHatching->SaveValue(); - m_pLbHatchBckgrdColor->SaveValue(); m_pLbBitmap->SaveValue(); m_pTsbTile->SaveValue(); m_pTsbStretch->SaveValue(); @@ -1268,9 +1209,6 @@ void SvxAreaTabPage::ClickInvisibleHdl_Impl() m_pCtlXRectPreview->Hide(); m_pCtlBitmapPreview->Hide(); - // Controls for Hatch-Background - m_pFlHatchBckgrd->Hide(); - m_rXFSet.Put( XFillStyleItem( drawing::FillStyle_NONE ) ); m_pCtlXRectPreview->SetAttributes( m_aXFillAttr.GetItemSet() ); m_pCtlBitmapPreview->SetAttributes( m_aXFillAttr.GetItemSet() ); @@ -1294,9 +1232,6 @@ void SvxAreaTabPage::ClickColorHdl_Impl() m_pCtlXRectPreview->Show(); m_pCtlBitmapPreview->Hide(); - // Controls for Hatch-Background - m_pFlHatchBckgrd->Hide(); - ModifyColorHdl_Impl( *m_pLbColor ); } @@ -1305,7 +1240,6 @@ IMPL_LINK_NOARG_TYPED(SvxAreaTabPage, ModifyColorHdl_Impl, ListBox&, void) { const SfxPoolItem* pPoolItem = nullptr; sal_Int32 _nPos = m_pLbColor->GetSelectEntryPos(); - m_pLbHatchBckgrdColor->SelectEntryPos( _nPos ); if( _nPos != LISTBOX_ENTRY_NOTFOUND ) { m_rXFSet.Put( XFillStyleItem( drawing::FillStyle_SOLID ) ); @@ -1340,9 +1274,6 @@ void SvxAreaTabPage::ClickGradientHdl_Impl() m_pCtlXRectPreview->Show(); m_pCtlBitmapPreview->Hide(); - // Controls for Hatch-Background - m_pFlHatchBckgrd->Hide(); - ModifyGradientHdl_Impl( *m_pLbGradient ); } @@ -1391,19 +1322,12 @@ void SvxAreaTabPage::ClickHatchingHdl_Impl() m_pBxBitmap->Hide(); - // Controls for Hatch-Background - m_pFlHatchBckgrd->Show(); - m_pCbxHatchBckgrd->Enable(); - m_pLbHatchBckgrdColor->Enable(); - ModifyHatchingHdl_Impl( *m_pLbHatching ); - ModifyHatchBckgrdColorHdl_Impl( *m_pLbHatchBckgrdColor ); - ToggleHatchBckgrdColorHdl_Impl( *m_pCbxHatchBckgrd ); } - IMPL_LINK_NOARG_TYPED(SvxAreaTabPage, ModifyHatchingHdl_Impl, ListBox&, void) { + // fill Hatch ItemSet const SfxPoolItem* pPoolItem = nullptr; sal_Int32 _nPos = m_pLbHatching->GetSelectEntryPos(); if( _nPos != LISTBOX_ENTRY_NOTFOUND ) @@ -1422,55 +1346,24 @@ IMPL_LINK_NOARG_TYPED(SvxAreaTabPage, ModifyHatchingHdl_Impl, ListBox&, void) else m_rXFSet.Put( XFillStyleItem( drawing::FillStyle_NONE ) ); - m_pCtlXRectPreview->SetAttributes( m_aXFillAttr.GetItemSet() ); - m_pCtlXRectPreview->Invalidate(); -} - - -IMPL_LINK_NOARG_TYPED(SvxAreaTabPage, ModifyHatchBckgrdColorHdl_Impl, ListBox&, void) -{ - const SfxPoolItem* pPoolItem = nullptr; - sal_Int32 _nPos = m_pLbHatchBckgrdColor->GetSelectEntryPos(); - m_pLbColor->SelectEntryPos( _nPos ); - if( _nPos != LISTBOX_ENTRY_NOTFOUND ) + // fill Hatch background ItemSet + XFillBackgroundItem aItem(static_cast(m_rOutAttrs.Get( XATTR_FILLBACKGROUND ))); + m_rXFSet.Put( aItem, XATTR_FILLBACKGROUND ); + if(aItem.GetValue()) { - m_rXFSet.Put( XFillColorItem( OUString(), m_pLbHatchBckgrdColor->GetSelectEntryColor() ) ); - } - else if( SfxItemState::SET == m_rOutAttrs.GetItemState( GetWhich( XATTR_FILLCOLOR ), true, &pPoolItem ) ) - { - Color aColor( static_cast( pPoolItem )->GetColorValue() ); - m_rXFSet.Put( XFillColorItem( OUString(), aColor ) ); + if( SfxItemState::SET == m_rOutAttrs.GetItemState( GetWhich( XATTR_FILLCOLOR ), true, &pPoolItem ) ) + { + Color aColor( static_cast( pPoolItem )->GetColorValue() ); + m_rXFSet.Put( XFillColorItem( OUString(), aColor ) ); + } + else + m_rXFSet.Put( XFillStyleItem( drawing::FillStyle_NONE ) ); } - else - m_rXFSet.Put( XFillStyleItem( drawing::FillStyle_NONE ) ); m_pCtlXRectPreview->SetAttributes( m_aXFillAttr.GetItemSet() ); m_pCtlXRectPreview->Invalidate(); } - -IMPL_LINK_NOARG_TYPED(SvxAreaTabPage, ToggleHatchBckgrdColorHdl_Impl, CheckBox&, void) -{ - // switch on/off backgroundcolor for hatches - m_pLbHatchBckgrdColor->Enable( m_pCbxHatchBckgrd->IsChecked() ); - - XFillBackgroundItem aItem( m_pCbxHatchBckgrd->IsChecked() ); - m_rXFSet.Put ( aItem, XATTR_FILLBACKGROUND ); - - m_pCtlXRectPreview->SetAttributes( m_aXFillAttr.GetItemSet() ); - m_pCtlXRectPreview->Invalidate(); - - if( m_pLbHatchBckgrdColor->GetSelectEntryPos() == LISTBOX_ENTRY_NOTFOUND ) - { - if ( SfxItemState::SET == m_rOutAttrs.GetItemState( XATTR_FILLCOLOR ) )//>= SfxItemState::DEFAULT ) - { - XFillColorItem aColorItem( static_cast(m_rOutAttrs.Get( XATTR_FILLCOLOR )) ); - m_pLbHatchBckgrdColor->SelectEntry( aColorItem.GetColorValue() ); - } - } -} - - void SvxAreaTabPage::ClickBitmapHdl_Impl() { m_pFillLB->Show(); @@ -1505,9 +1398,6 @@ void SvxAreaTabPage::ClickBitmapHdl_Impl() if (!m_pRbtRow->IsChecked() && !m_pRbtColumn->IsChecked()) m_pRbtRow->Check(); - // Controls for Hatch-Background - m_pFlHatchBckgrd->Hide(); - m_pBxBitmap->Show(); ModifyBitmapHdl_Impl( *m_pLbBitmap ); diff --git a/cui/source/tabpages/tphatch.cxx b/cui/source/tabpages/tphatch.cxx index f5d863ea94fb..ac5af61e9b08 100644 --- a/cui/source/tabpages/tphatch.cxx +++ b/cui/source/tabpages/tphatch.cxx @@ -54,7 +54,6 @@ SvxHatchTabPage::SvxHatchTabPage SvxTabPage ( pParent, "HatchPage", "cui/ui/hatchpage.ui", rInAttrs ), m_rOutAttrs ( rInAttrs ), - m_pnHatchingListState ( nullptr ), m_pnColorListState ( nullptr ), m_pPageType ( nullptr ), @@ -70,10 +69,10 @@ SvxHatchTabPage::SvxHatchTabPage { get(m_pMtrDistance, "distancemtr"); get(m_pMtrAngle, "anglemtr"); - get(m_pCtlAngle, "anglectl"); - m_pCtlAngle->SetCS(CS_ANGLE); + get(m_pSliderAngle, "angleslider"); get(m_pLbLineType, "linetypelb"); get(m_pLbLineColor, "linecolorlb"); + get(m_pLbBackgroundColor, "backgroundcolorlb"); get(m_pLbHatchings, "hatchingslb"); Size aSize = getDrawListBoxOptimalSize(this); m_pLbHatchings->set_width_request(aSize.Width()); @@ -109,6 +108,9 @@ SvxHatchTabPage::SvxHatchTabPage DBG_ASSERT( pPool, "Wo ist der Pool?" ); m_ePoolUnit = pPool->GetMetric( SID_ATTR_FILL_HATCH ); + // setting the slider range + m_pSliderAngle->SetRange(Range(0,359)); + // setting the output device m_rXFSet.Put( m_aXFStyleItem ); m_rXFSet.Put( m_aXHatchItem ); @@ -120,8 +122,10 @@ SvxHatchTabPage::SvxHatchTabPage Link aLink2 = LINK( this, SvxHatchTabPage, ModifiedListBoxHdl_Impl ); m_pMtrDistance->SetModifyHdl( aLink ); m_pMtrAngle->SetModifyHdl( aLink ); + m_pSliderAngle->SetSlideHdl( LINK( this, SvxHatchTabPage, ModifiedSliderHdl_Impl ) ); m_pLbLineType->SetSelectHdl( aLink2 ); m_pLbLineColor->SetSelectHdl( aLink2 ); + m_pLbBackgroundColor->SetSelectHdl( LINK( this, SvxHatchTabPage, ModifiedBackgroundHdl_Impl ) ); m_pBtnAdd->SetClickHdl( LINK( this, SvxHatchTabPage, ClickAddHdl_Impl ) ); m_pBtnModify->SetClickHdl( @@ -145,9 +149,10 @@ void SvxHatchTabPage::dispose() { m_pMtrDistance.clear(); m_pMtrAngle.clear(); - m_pCtlAngle.clear(); + m_pSliderAngle.clear(); m_pLbLineType.clear(); m_pLbLineColor.clear(); + m_pLbBackgroundColor.clear(); m_pLbHatchings.clear(); m_pCtlPreview.clear(); m_pBtnAdd.clear(); @@ -162,6 +167,7 @@ void SvxHatchTabPage::dispose() void SvxHatchTabPage::Construct() { m_pLbLineColor->Fill( m_pColorList ); + m_pLbBackgroundColor->Fill( m_pColorList ); m_pLbHatchings->Fill( m_pHatchingList ); } @@ -228,8 +234,15 @@ void SvxHatchTabPage::ActivatePage( const SfxItemSet& rSet ) } } - m_rXFSet.Put( static_cast( rSet.Get(XATTR_FILLCOLOR)) ); - m_rXFSet.Put( static_cast(rSet.Get(XATTR_FILLBACKGROUND)) ); + XFillBackgroundItem aBckItem( static_cast(rSet.Get(XATTR_FILLBACKGROUND))); + XFillColorItem aColorItem( static_cast(rSet.Get(XATTR_FILLCOLOR)) ); + Color aColor(COL_WHITE); + if(aBckItem.GetValue()) + aColor = aColorItem.GetColorValue(); + m_pLbBackgroundColor->SelectEntry(aColor); + m_rXFSet.Put( aBckItem ); + m_rXFSet.Put( aColorItem ); + m_pCtlPreview->SetAttributes( m_aXFillAttr.GetItemSet() ); m_pCtlPreview->Invalidate(); } @@ -322,6 +335,19 @@ bool SvxHatchTabPage::FillItemSet( SfxItemSet* rSet ) DBG_ASSERT( pXHatch, "XHatch konnte nicht erzeugt werden" ); rSet->Put( XFillStyleItem( drawing::FillStyle_HATCH ) ); rSet->Put( XFillHatchItem( aString, *pXHatch ) ); + + sal_uInt32 nPosBckColor = m_pLbBackgroundColor->GetSelectEntryPos(); + XFillBackgroundItem aItem( m_pLbBackgroundColor->GetSelectEntryColor() != COL_WHITE ); + rSet->Put( aItem , XATTR_FILLBACKGROUND ); + if(aItem.GetValue()) + { + OUString aBckColorString; + if( nPosBckColor != LISTBOX_ENTRY_NOTFOUND ) + aBckColorString = m_pLbBackgroundColor->GetSelectEntry(); + else + aBckColorString = OUString(); + rSet->Put( XFillColorItem( aBckColorString, m_pLbBackgroundColor->GetSelectEntryColor() ) ); + } } } return true; @@ -364,27 +390,25 @@ IMPL_LINK_TYPED( SvxHatchTabPage, ModifiedListBoxHdl_Impl, ListBox&, rListBox, v { ModifiedHdl_Impl(&rListBox); } +IMPL_LINK_TYPED( SvxHatchTabPage, ModifiedBackgroundHdl_Impl, ListBox&, rListBox, void ) +{ + ModifiedHdl_Impl(&rListBox); +} IMPL_LINK_TYPED( SvxHatchTabPage, ModifiedEditHdl_Impl, Edit&, rEdit, void ) { ModifiedHdl_Impl(&rEdit); } +IMPL_LINK_TYPED( SvxHatchTabPage, ModifiedSliderHdl_Impl, Slider*, rSlider, void ) +{ + ModifiedHdl_Impl(rSlider); +} void SvxHatchTabPage::ModifiedHdl_Impl( void* p ) { if( p == m_pMtrAngle ) - { - switch( m_pMtrAngle->GetValue() ) - { - case 135: m_pCtlAngle->SetActualRP( RP_LT ); break; - case 90: m_pCtlAngle->SetActualRP( RP_MT ); break; - case 45: m_pCtlAngle->SetActualRP( RP_RT ); break; - case 180: m_pCtlAngle->SetActualRP( RP_LM ); break; - case 0: m_pCtlAngle->SetActualRP( RP_RM ); break; - case 225: m_pCtlAngle->SetActualRP( RP_LB ); break; - case 270: m_pCtlAngle->SetActualRP( RP_MB ); break; - case 315: m_pCtlAngle->SetActualRP( RP_RB ); break; - default: m_pCtlAngle->SetActualRP( RP_MM ); break; - } - } + m_pSliderAngle->SetThumbPos( m_pMtrAngle->GetValue() ); + + if( p == m_pSliderAngle ) + m_pMtrAngle->SetValue( m_pSliderAngle->GetThumbPos() ); XHatch aXHatch( m_pLbLineColor->GetSelectEntryColor(), (css::drawing::HatchStyle) m_pLbLineType->GetSelectEntryPos(), @@ -392,12 +416,16 @@ void SvxHatchTabPage::ModifiedHdl_Impl( void* p ) static_cast(m_pMtrAngle->GetValue() * 10) ); m_rXFSet.Put( XFillHatchItem( OUString(), aXHatch ) ); + + XFillBackgroundItem aItem( m_pLbBackgroundColor->GetSelectEntryColor() != COL_WHITE ); + m_rXFSet.Put( aItem, XATTR_FILLBACKGROUND ); + if(aItem.GetValue()) + m_rXFSet.Put( XFillColorItem( OUString(), m_pLbBackgroundColor->GetSelectEntryColor() ) ); m_pCtlPreview->SetAttributes( m_aXFillAttr.GetItemSet() ); m_pCtlPreview->Invalidate(); } - IMPL_LINK_NOARG_TYPED(SvxHatchTabPage, ChangeHatchHdl_Impl, ListBox&, void) { std::unique_ptr pHatch; @@ -438,20 +466,9 @@ IMPL_LINK_NOARG_TYPED(SvxHatchTabPage, ChangeHatchHdl_Impl, ListBox&, void) m_pLbLineColor->SelectEntry( pHatch->GetColor() ); } SetMetricValue( *m_pMtrDistance, pHatch->GetDistance(), m_ePoolUnit ); - m_pMtrAngle->SetValue( pHatch->GetAngle() / 10 ); - - switch( m_pMtrAngle->GetValue() ) - { - case 135: m_pCtlAngle->SetActualRP( RP_LT ); break; - case 90: m_pCtlAngle->SetActualRP( RP_MT ); break; - case 45: m_pCtlAngle->SetActualRP( RP_RT ); break; - case 180: m_pCtlAngle->SetActualRP( RP_LM ); break; - case 0: m_pCtlAngle->SetActualRP( RP_RM ); break; - case 225: m_pCtlAngle->SetActualRP( RP_LB ); break; - case 270: m_pCtlAngle->SetActualRP( RP_MB ); break; - case 315: m_pCtlAngle->SetActualRP( RP_RB ); break; - default: m_pCtlAngle->SetActualRP( RP_MM ); break; - } + long mHatchAngle = pHatch->GetAngle() / 10; + m_pMtrAngle->SetValue( mHatchAngle ); + m_pSliderAngle->SetThumbPos( mHatchAngle ); // fill ItemSet and pass it on to m_pCtlPreview m_rXFSet.Put( XFillHatchItem( OUString(), *pHatch ) ); @@ -464,10 +481,10 @@ IMPL_LINK_NOARG_TYPED(SvxHatchTabPage, ChangeHatchHdl_Impl, ListBox&, void) m_pMtrAngle->SaveValue(); m_pLbLineType->SaveValue(); m_pLbLineColor->SaveValue(); + m_pLbBackgroundColor->SaveValue(); m_pLbHatchings->SaveValue(); } - IMPL_LINK_NOARG_TYPED(SvxHatchTabPage, ClickAddHdl_Impl, Button*, void) { OUString aNewName( SVX_RES( RID_SVXSTR_HATCH ) ); @@ -613,6 +630,7 @@ IMPL_LINK_NOARG_TYPED(SvxHatchTabPage, ClickModifyHdl_Impl, Button*, void) m_pMtrAngle->SaveValue(); m_pLbLineType->SaveValue(); m_pLbLineColor->SaveValue(); + m_pLbBackgroundColor->SaveValue(); m_pLbHatchings->SaveValue(); *m_pnHatchingListState |= ChangeType::MODIFIED; @@ -819,28 +837,10 @@ IMPL_LINK_NOARG_TYPED(SvxHatchTabPage, ClickSaveHdl_Impl, Button*, void) } } - -void SvxHatchTabPage::PointChanged( vcl::Window* pWindow, RECT_POINT eRcPt ) +void SvxHatchTabPage::PointChanged( vcl::Window*, RECT_POINT ) { - if( pWindow == m_pCtlAngle ) - { - switch( eRcPt ) - { - case RP_LT: m_pMtrAngle->SetValue( 135 ); break; - case RP_MT: m_pMtrAngle->SetValue( 90 ); break; - case RP_RT: m_pMtrAngle->SetValue( 45 ); break; - case RP_LM: m_pMtrAngle->SetValue( 180 ); break; - case RP_RM: m_pMtrAngle->SetValue( 0 ); break; - case RP_LB: m_pMtrAngle->SetValue( 225 ); break; - case RP_MB: m_pMtrAngle->SetValue( 270 ); break; - case RP_RB: m_pMtrAngle->SetValue( 315 ); break; - case RP_MM: break; - } - ModifiedHdl_Impl( this ); - } } - void SvxHatchTabPage::DataChanged( const DataChangedEvent& rDCEvt ) { if ( ( rDCEvt.GetType() == DataChangedEventType::SETTINGS ) && ( rDCEvt.GetFlags() & AllSettingsFlags::STYLE ) ) diff --git a/cui/uiconfig/ui/areatabpage.ui b/cui/uiconfig/ui/areatabpage.ui index 459457faa395..fc0eb493a7fe 100644 --- a/cui/uiconfig/ui/areatabpage.ui +++ b/cui/uiconfig/ui/areatabpage.ui @@ -219,82 +219,6 @@ False True vertical - - - True - False - True - 0 - none - - - True - False - 6 - 12 - - - True - False - vertical - 6 - - - _Background color - True - False - False - True - 0 - True - - - False - True - 0 - - - - - True - False - 12 - - - True - False - start - - - - - False - True - 1 - - - - - - - - - True - False - 0 - Colors - - - - - - - - False - True - 0 - - True @@ -784,7 +708,7 @@ False True - 1 + 0 diff --git a/cui/uiconfig/ui/hatchpage.ui b/cui/uiconfig/ui/hatchpage.ui index 387284481c2e..2156b258ed9e 100644 --- a/cui/uiconfig/ui/hatchpage.ui +++ b/cui/uiconfig/ui/hatchpage.ui @@ -1,14 +1,19 @@ - + - - + + 359 15 + 15 + + + 359 + 1 - 0.29999999999999999 + 0.3 99 100 @@ -60,120 +65,235 @@ 6 12 - + True False - 0 - _Spacing: - True + vertical + 6 + + + True + False + 0 + _Spacing: + True + + + False + True + 0 + + + + + True + True + + distanceadjustment + + + False + True + 1 + + 0 0 + 1 + 1 - + True False - 0 - A_ngle: - True - anglemtr:0degrees + vertical + 6 + + + True + False + 0 + A_ngle: + True + + + False + True + 0 + + + + + True + False + 6 + + + True + True + True + adjustment1 + 1 + False + + + True + True + 0 + + + + + True + True + + angleadjustment + + + False + False + 1 + + + + + False + True + 1 + + 0 1 + 1 + 1 - + True False - 0 - _Line type: - True + vertical + 6 + + + True + False + 0 + _Line type: + True + + + False + True + 0 + + + + + True + False + + Single + Crossed + Triple + + + + False + True + 1 + + 0 - 3 + 2 + 1 + 1 - + True False - 0 - Line _color: - True - - - 0 - 4 - - - - - True - True - - distanceadjustment - - - 1 - 0 - - - - + vertical + 6 + + + True + False + 0 + Line _color: + True + + + False + True + 0 + + + + True False - - Single - Crossed - Triple - + + + False + True + 1 + + - 1 + 0 3 + 1 + 1 - + True False - - - 1 - 4 - - - - + vertical + 6 + + + True + False + 0 + Background color: + + + False + True + 0 + + + + True False - - 1 - 2 - - - - - True - True - - angleadjustment + + False + True + 1 + + - 1 - 1 + 0 + 4 + 1 + 1 - - - False @@ -200,6 +320,8 @@ 0 0 + 1 + 1 @@ -217,6 +339,8 @@ 0 1 + 1 + 1 @@ -296,6 +420,8 @@ 0 0 + 1 + 1 @@ -313,6 +439,8 @@ 1 0 + 1 + 1 -- cgit