diff options
author | Rishabh Kumar <kris.kr296@gmail.com> | 2016-05-19 13:54:04 +0530 |
---|---|---|
committer | Katarina Behrens <Katarina.Behrens@cib.de> | 2016-05-23 20:30:02 +0000 |
commit | 7a4bd998e900c7f7a28f9068b97707ef76c99b85 (patch) | |
tree | 49fb647061ed64da651cf812268b10dcbc671b2c /cui | |
parent | d1182223dcd3aca6b0922f1b27bc1537bceca7ae (diff) |
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 <ci@libreoffice.org>
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Diffstat (limited to 'cui')
-rw-r--r-- | cui/source/inc/cuitabarea.hxx | 11 | ||||
-rw-r--r-- | cui/source/tabpages/tparea.cxx | 136 | ||||
-rw-r--r-- | cui/source/tabpages/tphatch.cxx | 110 | ||||
-rw-r--r-- | cui/uiconfig/ui/areatabpage.ui | 78 | ||||
-rw-r--r-- | cui/uiconfig/ui/hatchpage.ui | 274 |
5 files changed, 274 insertions, 335 deletions
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<BitmapLB> m_pLbBitmap; VclPtr<SvxXRectPreview> m_pCtlBitmapPreview; - VclPtr<VclFrame> m_pFlHatchBckgrd; - VclPtr<CheckBox> m_pCbxHatchBckgrd; - VclPtr<ColorLB> m_pLbHatchBckgrdColor; - VclPtr<VclBox> m_pBxBitmap; VclPtr<VclFrame> 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<MetricField> m_pMtrDistance; VclPtr<MetricField> m_pMtrAngle; - VclPtr<SvxRectCtl> m_pCtlAngle; + VclPtr<Slider> m_pSliderAngle; VclPtr<ListBox> m_pLbLineType; VclPtr<ColorLB> m_pLbLineColor; + VclPtr<ColorLB> m_pLbBackgroundColor; VclPtr<HatchingLB> m_pLbHatchings; VclPtr<SvxXRectPreview> m_pCtlPreview; VclPtr<PushButton> 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<VclContainer>("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<const XFillColorItem*>(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<const XFillColorItem&>( 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<const XFillBackgroundItem&>( - 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<const XFillBackgroundItem&>(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<const XFillColorItem*>( pPoolItem )->GetColorValue() ); - m_rXFSet.Put( XFillColorItem( OUString(), aColor ) ); + if( SfxItemState::SET == m_rOutAttrs.GetItemState( GetWhich( XATTR_FILLCOLOR ), true, &pPoolItem ) ) + { + Color aColor( static_cast<const XFillColorItem*>( 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<const XFillColorItem&>(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<ListBox&,void> 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<const XFillColorItem&>( rSet.Get(XATTR_FILLCOLOR)) ); - m_rXFSet.Put( static_cast<const XFillBackgroundItem&>(rSet.Get(XATTR_FILLBACKGROUND)) ); + XFillBackgroundItem aBckItem( static_cast<const XFillBackgroundItem&>(rSet.Get(XATTR_FILLBACKGROUND))); + XFillColorItem aColorItem( static_cast<const XFillColorItem&>(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<long>(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<XHatch> 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 @@ -220,82 +220,6 @@ <property name="hexpand">True</property> <property name="orientation">vertical</property> <child> - <object class="GtkFrame" id="FL_HATCHCOLORS"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="hexpand">True</property> - <property name="label_xalign">0</property> - <property name="shadow_type">none</property> - <child> - <object class="GtkAlignment" id="alignment3"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="top_padding">6</property> - <property name="left_padding">12</property> - <child> - <object class="GtkBox" id="box7"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="orientation">vertical</property> - <property name="spacing">6</property> - <child> - <object class="GtkCheckButton" id="CB_HATCHBCKGRD"> - <property name="label" translatable="yes">_Background color</property> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="receives_default">False</property> - <property name="use_underline">True</property> - <property name="xalign">0</property> - <property name="draw_indicator">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkAlignment" id="alignment7"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="left_padding">12</property> - <child> - <object class="svxlo-ColorLB" id="LB_HATCHBCKGRDCOLOR"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="halign">start</property> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - </child> - </object> - </child> - <child type="label"> - <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">Colors</property> - <attributes> - <attribute name="weight" value="bold"/> - </attributes> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> <object class="GtkBox" id="boxBITMAP"> <property name="visible">True</property> <property name="can_focus">False</property> @@ -784,7 +708,7 @@ <packing> <property name="expand">False</property> <property name="fill">True</property> - <property name="position">1</property> + <property name="position">0</property> </packing> </child> </object> 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 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.18.3 --> +<!-- Generated with glade 3.16.1 --> <interface> <requires lib="gtk+" version="3.0"/> - <requires lib="LibreOffice" version="1.0"/> - <object class="GtkAdjustment" id="angleadjustment"> + <!-- interface-requires LibreOffice 1.0 --> + <object class="GtkAdjustment" id="adjustment1"> <property name="upper">359</property> <property name="step_increment">15</property> + <property name="page_increment">15</property> + </object> + <object class="GtkAdjustment" id="angleadjustment"> + <property name="upper">359</property> + <property name="step_increment">1</property> </object> <object class="GtkAdjustment" id="distanceadjustment"> - <property name="lower">0.29999999999999999</property> + <property name="lower">0.3</property> <property name="upper">99</property> <property name="step_increment">100</property> </object> @@ -60,120 +65,235 @@ <property name="row_spacing">6</property> <property name="column_spacing">12</property> <child> - <object class="GtkLabel" id="distanceft"> + <object class="GtkBox" id="box3"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">_Spacing:</property> - <property name="use_underline">True</property> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="distanceft"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">_Spacing:</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="distancemtr:0mm"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">●</property> + <property name="adjustment">distanceadjustment</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> </object> <packing> <property name="left_attach">0</property> <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> </packing> </child> <child> - <object class="GtkLabel" id="angleft"> + <object class="GtkBox" id="box6"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">A_ngle:</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">anglemtr:0degrees</property> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="angleft"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">A_ngle:</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkBox" id="box1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkScale" id="angleslider"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="adjustment">adjustment1</property> + <property name="round_digits">1</property> + <property name="draw_value">False</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="anglemtr:0degrees"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">●</property> + <property name="adjustment">angleadjustment</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> </object> <packing> <property name="left_attach">0</property> <property name="top_attach">1</property> + <property name="width">1</property> + <property name="height">1</property> </packing> </child> <child> - <object class="GtkLabel" id="linetypeft"> + <object class="GtkBox" id="box7"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">_Line type:</property> - <property name="use_underline">True</property> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="linetypeft"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">_Line type:</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="linetypelb"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <items> + <item translatable="yes">Single</item> + <item translatable="yes">Crossed</item> + <item translatable="yes">Triple</item> + </items> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> </object> <packing> <property name="left_attach">0</property> - <property name="top_attach">3</property> + <property name="top_attach">2</property> + <property name="width">1</property> + <property name="height">1</property> </packing> </child> <child> - <object class="GtkLabel" id="linecolorft"> + <object class="GtkBox" id="box8"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">Line _color:</property> - <property name="use_underline">True</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">4</property> - </packing> - </child> - <child> - <object class="GtkSpinButton" id="distancemtr:0mm"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">●</property> - <property name="adjustment">distanceadjustment</property> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkComboBoxText" id="linetypelb"> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="linecolorft"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Line _color:</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="svxlo-ColorLB" id="linecolorlb"> <property name="visible">True</property> <property name="can_focus">False</property> - <items> - <item translatable="yes">Single</item> - <item translatable="yes">Crossed</item> - <item translatable="yes">Triple</item> - </items> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> </object> <packing> - <property name="left_attach">1</property> + <property name="left_attach">0</property> <property name="top_attach">3</property> + <property name="width">1</property> + <property name="height">1</property> </packing> </child> <child> - <object class="svxlo-ColorLB" id="linecolorlb"> + <object class="GtkBox" id="box9"> <property name="visible">True</property> <property name="can_focus">False</property> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">4</property> - </packing> - </child> - <child> - <object class="svxlo-SvxRectCtl" id="anglectl"> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="backgroundcolorft"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Background color:</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="svxlo-ColorLB" id="backgroundcolorlb"> <property name="visible">True</property> <property name="can_focus">False</property> </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">2</property> - </packing> - </child> - <child> - <object class="GtkSpinButton" id="anglemtr:0degrees"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">●</property> - <property name="adjustment">angleadjustment</property> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> </object> <packing> - <property name="left_attach">1</property> - <property name="top_attach">1</property> + <property name="left_attach">0</property> + <property name="top_attach">4</property> + <property name="width">1</property> + <property name="height">1</property> </packing> </child> - <child> - <placeholder/> - </child> </object> <packing> <property name="expand">False</property> @@ -200,6 +320,8 @@ <packing> <property name="left_attach">0</property> <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> </packing> </child> <child> @@ -217,6 +339,8 @@ <packing> <property name="left_attach">0</property> <property name="top_attach">1</property> + <property name="width">1</property> + <property name="height">1</property> </packing> </child> </object> @@ -296,6 +420,8 @@ <packing> <property name="left_attach">0</property> <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> </packing> </child> <child> @@ -313,6 +439,8 @@ <packing> <property name="left_attach">1</property> <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> </packing> </child> </object> |