diff options
author | Rishabh Kumar <kris.kr296@gmail.com> | 2016-07-20 14:57:11 +0530 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-07-20 10:10:03 +0000 |
commit | 5df8024dc8a53c657d756dbe0ae6eb27185c1272 (patch) | |
tree | 7e8b7b990ce97038f8fb144ecba5f436aa46622d /cui | |
parent | 7abca37660487336e6da123bd13f8f9e0ef9e4a7 (diff) |
Revert "Addition of new controls and their rearrangement in hatch tab"
Unfinished GSoC: Area Fill project feature.
Introduces regression in LibreOffice-5-2.
This reverts commit 7a4bd998e900c7f7a28f9068b97707ef76c99b85.
Change-Id: I94c24b252983732161b8f2f0de51780a4d5c13bd
Reviewed-on: https://gerrit.libreoffice.org/27331
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
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, 335 insertions, 274 deletions
diff --git a/cui/source/inc/cuitabarea.hxx b/cui/source/inc/cuitabarea.hxx index 79d1f33a7a74..c8235febabb7 100644 --- a/cui/source/inc/cuitabarea.hxx +++ b/cui/source/inc/cuitabarea.hxx @@ -193,6 +193,10 @@ 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; @@ -260,8 +264,10 @@ 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*); @@ -467,10 +473,9 @@ class SvxHatchTabPage : public SvxTabPage private: VclPtr<MetricField> m_pMtrDistance; VclPtr<MetricField> m_pMtrAngle; - VclPtr<Slider> m_pSliderAngle; + VclPtr<SvxRectCtl> m_pCtlAngle; VclPtr<ListBox> m_pLbLineType; VclPtr<ColorLB> m_pLbLineColor; - VclPtr<ColorLB> m_pLbBackgroundColor; VclPtr<HatchingLB> m_pLbHatchings; VclPtr<SvxXRectPreview> m_pCtlPreview; VclPtr<PushButton> m_pBtnAdd; @@ -501,8 +506,6 @@ 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 29b34702068c..4b0faa319dcc 100644 --- a/cui/source/tabpages/tparea.cxx +++ b/cui/source/tabpages/tparea.cxx @@ -115,6 +115,10 @@ 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"); @@ -147,8 +151,11 @@ 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(aBitmapSize.Width(),aBitmapSize.Height()); + Size aMainFrame( + std::max(aHatchSize.Width(), aBitmapSize.Width()), + std::max(aHatchSize.Height(), aBitmapSize.Height())); pMainFrame->set_width_request(aMainFrame.Width()); pMainFrame->set_height_request(aMainFrame.Height()); @@ -159,6 +166,9 @@ 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 @@ -190,6 +200,8 @@ 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)); @@ -252,6 +264,9 @@ 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(); @@ -283,6 +298,8 @@ 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 ); @@ -324,6 +341,7 @@ void SvxAreaTabPage::ActivatePage( const SfxItemSet& rSet ) m_pLbBitmap->SelectEntryPos( 0 ); else m_pLbBitmap->SelectEntryPos( _nPos ); + ModifyBitmapHdl_Impl( *m_pLbBitmap ); } if( *m_pnHatchingListState != ChangeType::NONE ) @@ -343,6 +361,8 @@ void SvxAreaTabPage::ActivatePage( const SfxItemSet& rSet ) else m_pLbHatching->SelectEntryPos( _nPos ); ModifyHatchingHdl_Impl( *m_pLbHatching ); + + ModifyHatchBckgrdColorHdl_Impl( *m_pLbHatchBckgrdColor ); } if( *m_pnGradientListState != ChangeType::NONE ) @@ -381,6 +401,20 @@ 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 @@ -409,6 +443,7 @@ 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; } @@ -574,6 +609,21 @@ 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 || @@ -883,6 +933,7 @@ 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)); @@ -918,6 +969,11 @@ 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); @@ -951,6 +1007,7 @@ void SvxAreaTabPage::Reset( const SfxItemSet* rAttrs ) case drawing::FillStyle_HATCH: ClickHatchingHdl_Impl(); + ToggleHatchBckgrdColorHdl_Impl( *m_pCbxHatchBckgrd ); break; case drawing::FillStyle_BITMAP: @@ -1148,6 +1205,7 @@ 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(); @@ -1168,6 +1226,7 @@ void SvxAreaTabPage::ChangesApplied() m_pLbColor->SaveValue(); m_pLbGradient->SaveValue(); m_pLbHatching->SaveValue(); + m_pLbHatchBckgrdColor->SaveValue(); m_pLbBitmap->SaveValue(); m_pTsbTile->SaveValue(); m_pTsbStretch->SaveValue(); @@ -1209,6 +1268,9 @@ 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() ); @@ -1232,6 +1294,9 @@ void SvxAreaTabPage::ClickColorHdl_Impl() m_pCtlXRectPreview->Show(); m_pCtlBitmapPreview->Hide(); + // Controls for Hatch-Background + m_pFlHatchBckgrd->Hide(); + ModifyColorHdl_Impl( *m_pLbColor ); } @@ -1240,6 +1305,7 @@ 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 ) ); @@ -1274,6 +1340,9 @@ void SvxAreaTabPage::ClickGradientHdl_Impl() m_pCtlXRectPreview->Show(); m_pCtlBitmapPreview->Hide(); + // Controls for Hatch-Background + m_pFlHatchBckgrd->Hide(); + ModifyGradientHdl_Impl( *m_pLbGradient ); } @@ -1322,12 +1391,19 @@ 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 ) @@ -1346,24 +1422,55 @@ IMPL_LINK_NOARG_TYPED(SvxAreaTabPage, ModifyHatchingHdl_Impl, ListBox&, void) else m_rXFSet.Put( XFillStyleItem( drawing::FillStyle_NONE ) ); - // 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_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 ) { - 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 ) ); + 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 ) ); } + 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(); @@ -1398,6 +1505,9 @@ 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 ac5af61e9b08..f5d863ea94fb 100644 --- a/cui/source/tabpages/tphatch.cxx +++ b/cui/source/tabpages/tphatch.cxx @@ -54,6 +54,7 @@ SvxHatchTabPage::SvxHatchTabPage SvxTabPage ( pParent, "HatchPage", "cui/ui/hatchpage.ui", rInAttrs ), m_rOutAttrs ( rInAttrs ), + m_pnHatchingListState ( nullptr ), m_pnColorListState ( nullptr ), m_pPageType ( nullptr ), @@ -69,10 +70,10 @@ SvxHatchTabPage::SvxHatchTabPage { get(m_pMtrDistance, "distancemtr"); get(m_pMtrAngle, "anglemtr"); - get(m_pSliderAngle, "angleslider"); + get(m_pCtlAngle, "anglectl"); + m_pCtlAngle->SetCS(CS_ANGLE); 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()); @@ -108,9 +109,6 @@ 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 ); @@ -122,10 +120,8 @@ 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( @@ -149,10 +145,9 @@ void SvxHatchTabPage::dispose() { m_pMtrDistance.clear(); m_pMtrAngle.clear(); - m_pSliderAngle.clear(); + m_pCtlAngle.clear(); m_pLbLineType.clear(); m_pLbLineColor.clear(); - m_pLbBackgroundColor.clear(); m_pLbHatchings.clear(); m_pCtlPreview.clear(); m_pBtnAdd.clear(); @@ -167,7 +162,6 @@ void SvxHatchTabPage::dispose() void SvxHatchTabPage::Construct() { m_pLbLineColor->Fill( m_pColorList ); - m_pLbBackgroundColor->Fill( m_pColorList ); m_pLbHatchings->Fill( m_pHatchingList ); } @@ -234,15 +228,8 @@ void SvxHatchTabPage::ActivatePage( const SfxItemSet& rSet ) } } - 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_rXFSet.Put( static_cast<const XFillColorItem&>( rSet.Get(XATTR_FILLCOLOR)) ); + m_rXFSet.Put( static_cast<const XFillBackgroundItem&>(rSet.Get(XATTR_FILLBACKGROUND)) ); m_pCtlPreview->SetAttributes( m_aXFillAttr.GetItemSet() ); m_pCtlPreview->Invalidate(); } @@ -335,19 +322,6 @@ 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; @@ -390,25 +364,27 @@ 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 ) - m_pSliderAngle->SetThumbPos( m_pMtrAngle->GetValue() ); - - if( p == m_pSliderAngle ) - m_pMtrAngle->SetValue( m_pSliderAngle->GetThumbPos() ); + { + 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; + } + } XHatch aXHatch( m_pLbLineColor->GetSelectEntryColor(), (css::drawing::HatchStyle) m_pLbLineType->GetSelectEntryPos(), @@ -416,16 +392,12 @@ 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; @@ -466,9 +438,20 @@ IMPL_LINK_NOARG_TYPED(SvxHatchTabPage, ChangeHatchHdl_Impl, ListBox&, void) m_pLbLineColor->SelectEntry( pHatch->GetColor() ); } SetMetricValue( *m_pMtrDistance, pHatch->GetDistance(), m_ePoolUnit ); - long mHatchAngle = pHatch->GetAngle() / 10; - m_pMtrAngle->SetValue( mHatchAngle ); - m_pSliderAngle->SetThumbPos( mHatchAngle ); + 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; + } // fill ItemSet and pass it on to m_pCtlPreview m_rXFSet.Put( XFillHatchItem( OUString(), *pHatch ) ); @@ -481,10 +464,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 ) ); @@ -630,7 +613,6 @@ 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; @@ -837,10 +819,28 @@ IMPL_LINK_NOARG_TYPED(SvxHatchTabPage, ClickSaveHdl_Impl, Button*, void) } } -void SvxHatchTabPage::PointChanged( vcl::Window*, RECT_POINT ) + +void SvxHatchTabPage::PointChanged( vcl::Window* pWindow, RECT_POINT eRcPt ) { + 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 fc0eb493a7fe..459457faa395 100644 --- a/cui/uiconfig/ui/areatabpage.ui +++ b/cui/uiconfig/ui/areatabpage.ui @@ -220,6 +220,82 @@ <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> @@ -708,7 +784,7 @@ <packing> <property name="expand">False</property> <property name="fill">True</property> - <property name="position">0</property> + <property name="position">1</property> </packing> </child> </object> diff --git a/cui/uiconfig/ui/hatchpage.ui b/cui/uiconfig/ui/hatchpage.ui index 2156b258ed9e..387284481c2e 100644 --- a/cui/uiconfig/ui/hatchpage.ui +++ b/cui/uiconfig/ui/hatchpage.ui @@ -1,19 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.16.1 --> +<!-- Generated with glade 3.18.3 --> <interface> <requires lib="gtk+" version="3.0"/> - <!-- 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> + <requires lib="LibreOffice" version="1.0"/> <object class="GtkAdjustment" id="angleadjustment"> <property name="upper">359</property> - <property name="step_increment">1</property> + <property name="step_increment">15</property> </object> <object class="GtkAdjustment" id="distanceadjustment"> - <property name="lower">0.3</property> + <property name="lower">0.29999999999999999</property> <property name="upper">99</property> <property name="step_increment">100</property> </object> @@ -65,235 +60,120 @@ <property name="row_spacing">6</property> <property name="column_spacing">12</property> <child> - <object class="GtkBox" id="box3"> + <object class="GtkLabel" id="distanceft"> <property name="visible">True</property> <property name="can_focus">False</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> + <property name="xalign">0</property> + <property name="label" translatable="yes">_Spacing:</property> + <property name="use_underline">True</property> </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="GtkBox" id="box6"> + <object class="GtkLabel" id="angleft"> <property name="visible">True</property> <property name="can_focus">False</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> + <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> </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="GtkBox" id="box7"> + <object class="GtkLabel" id="linetypeft"> <property name="visible">True</property> <property name="can_focus">False</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> + <property name="xalign">0</property> + <property name="label" translatable="yes">_Line type:</property> + <property name="use_underline">True</property> </object> <packing> <property name="left_attach">0</property> - <property name="top_attach">2</property> - <property name="width">1</property> - <property name="height">1</property> + <property name="top_attach">3</property> </packing> </child> <child> - <object class="GtkBox" id="box8"> + <object class="GtkLabel" id="linecolorft"> <property name="visible">True</property> <property name="can_focus">False</property> - <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="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">False</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> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">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="left_attach">0</property> + <property name="left_attach">1</property> <property name="top_attach">3</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> - <object class="GtkBox" id="box9"> + <object class="svxlo-ColorLB" id="linecolorlb"> <property name="visible">True</property> <property name="can_focus">False</property> - <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"> + </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="visible">True</property> <property name="can_focus">False</property> </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> + <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> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">4</property> - <property name="width">1</property> - <property name="height">1</property> + <property name="left_attach">1</property> + <property name="top_attach">1</property> </packing> </child> + <child> + <placeholder/> + </child> </object> <packing> <property name="expand">False</property> @@ -320,8 +200,6 @@ <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> @@ -339,8 +217,6 @@ <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> @@ -420,8 +296,6 @@ <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> @@ -439,8 +313,6 @@ <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> |