Kaydet (Commit) 68634947 authored tarafından Rishabh Kumar's avatar Rishabh Kumar Kaydeden (comit) Katarina Behrens

[GSoC] Move all fill style tabs inside area tab

Change-Id: I89e84b7b3c7075ad4107e7bc444ea5c07bc90795
Reviewed-on: https://gerrit.libreoffice.org/27866Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarKatarina Behrens <Katarina.Behrens@cib.de>
üst da01e9ec
...@@ -51,10 +51,6 @@ void SvxFormatCellsDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) ...@@ -51,10 +51,6 @@ void SvxFormatCellsDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
rAreaPage.SetGradientList( mpGradientList ); rAreaPage.SetGradientList( mpGradientList );
rAreaPage.SetHatchingList( mpHatchingList ); rAreaPage.SetHatchingList( mpHatchingList );
rAreaPage.SetBitmapList( mpBitmapList ); rAreaPage.SetBitmapList( mpBitmapList );
rAreaPage.SetPageType( PageType::Area );
rAreaPage.SetDlgType( 1 );
rAreaPage.SetPos( 0 );
rAreaPage.Construct();
rAreaPage.ActivatePage( mrOutAttrs ); rAreaPage.ActivatePage( mrOutAttrs );
} }
else if (nId == m_nBorderPageId) else if (nId == m_nBorderPageId)
......
This diff is collapsed.
...@@ -73,9 +73,7 @@ SvxAreaTabDialog::SvxAreaTabDialog ...@@ -73,9 +73,7 @@ SvxAreaTabDialog::SvxAreaTabDialog
mnPatternListState ( ChangeType::NONE ), mnPatternListState ( ChangeType::NONE ),
mnGradientListState ( ChangeType::NONE ), mnGradientListState ( ChangeType::NONE ),
mnHatchingListState ( ChangeType::NONE ), mnHatchingListState ( ChangeType::NONE ),
mnPageType( PageType::Area ), mnPos( 0 )
mnPos( 0 ),
mbAreaTP( false )
{ {
m_nAreaTabPage = AddTabPage( "RID_SVXPAGE_AREA", SvxAreaTabPage::Create, nullptr ); m_nAreaTabPage = AddTabPage( "RID_SVXPAGE_AREA", SvxAreaTabPage::Create, nullptr );
...@@ -262,24 +260,18 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) ...@@ -262,24 +260,18 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
static_cast<SvxAreaTabPage&>(rPage).SetGradientList( mpGradientList ); static_cast<SvxAreaTabPage&>(rPage).SetGradientList( mpGradientList );
static_cast<SvxAreaTabPage&>(rPage).SetHatchingList( mpHatchingList ); static_cast<SvxAreaTabPage&>(rPage).SetHatchingList( mpHatchingList );
static_cast<SvxAreaTabPage&>(rPage).SetBitmapList( mpBitmapList ); static_cast<SvxAreaTabPage&>(rPage).SetBitmapList( mpBitmapList );
static_cast<SvxAreaTabPage&>(rPage).SetPageType( mnPageType ); static_cast<SvxAreaTabPage&>(rPage).SetPatternList( mpPatternList );
static_cast<SvxAreaTabPage&>(rPage).SetDlgType( 0 ); static_cast<SvxAreaTabPage&>(rPage).SetDrawModel( mpDrawModel );
static_cast<SvxAreaTabPage&>(rPage).SetPos( mnPos );
static_cast<SvxAreaTabPage&>(rPage).SetAreaTP( &mbAreaTP );
static_cast<SvxAreaTabPage&>(rPage).SetGrdChgd( &mnGradientListState ); static_cast<SvxAreaTabPage&>(rPage).SetGrdChgd( &mnGradientListState );
static_cast<SvxAreaTabPage&>(rPage).SetHtchChgd( &mnHatchingListState ); static_cast<SvxAreaTabPage&>(rPage).SetHtchChgd( &mnHatchingListState );
static_cast<SvxAreaTabPage&>(rPage).SetBmpChgd( &mnBitmapListState ); static_cast<SvxAreaTabPage&>(rPage).SetBmpChgd( &mnBitmapListState );
static_cast<SvxAreaTabPage&>(rPage).SetColorChgd( &mnColorListState ); static_cast<SvxAreaTabPage&>(rPage).SetColorChgd( &mnColorListState );
static_cast<SvxAreaTabPage&>(rPage).Construct();
// ActivatePge() is not called the first time // ActivatePge() is not called the first time
static_cast<SvxAreaTabPage&>(rPage).ActivatePage( mrOutAttrs ); static_cast<SvxAreaTabPage&>(rPage).ActivatePage( mrOutAttrs );
} }
else if (nId == m_nShadowTabPage) else if (nId == m_nShadowTabPage)
{ {
static_cast<SvxShadowTabPage&>(rPage).SetColorList( mpColorList ); static_cast<SvxShadowTabPage&>(rPage).SetColorList( mpColorList );
static_cast<SvxShadowTabPage&>(rPage).SetPageType( mnPageType );
static_cast<SvxShadowTabPage&>(rPage).SetDlgType( 0 );
static_cast<SvxShadowTabPage&>(rPage).SetAreaTP( &mbAreaTP );
static_cast<SvxShadowTabPage&>(rPage).SetColorChgd( &mnColorListState ); static_cast<SvxShadowTabPage&>(rPage).SetColorChgd( &mnColorListState );
static_cast<SvxShadowTabPage&>(rPage).Construct(); static_cast<SvxShadowTabPage&>(rPage).Construct();
} }
...@@ -287,10 +279,7 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) ...@@ -287,10 +279,7 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
{ {
static_cast<SvxGradientTabPage&>(rPage).SetColorList( mpColorList ); static_cast<SvxGradientTabPage&>(rPage).SetColorList( mpColorList );
static_cast<SvxGradientTabPage&>(rPage).SetGradientList( mpGradientList ); static_cast<SvxGradientTabPage&>(rPage).SetGradientList( mpGradientList );
static_cast<SvxGradientTabPage&>(rPage).SetPageType( &mnPageType );
static_cast<SvxGradientTabPage&>(rPage).SetDlgType( 0 );
static_cast<SvxGradientTabPage&>(rPage).SetPos( &mnPos ); static_cast<SvxGradientTabPage&>(rPage).SetPos( &mnPos );
static_cast<SvxGradientTabPage&>(rPage).SetAreaTP( &mbAreaTP );
static_cast<SvxGradientTabPage&>(rPage).SetGrdChgd( &mnGradientListState ); static_cast<SvxGradientTabPage&>(rPage).SetGrdChgd( &mnGradientListState );
static_cast<SvxGradientTabPage&>(rPage).SetColorChgd( &mnColorListState ); static_cast<SvxGradientTabPage&>(rPage).SetColorChgd( &mnColorListState );
static_cast<SvxGradientTabPage&>(rPage).Construct(); static_cast<SvxGradientTabPage&>(rPage).Construct();
...@@ -299,10 +288,7 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) ...@@ -299,10 +288,7 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
{ {
static_cast<SvxHatchTabPage&>(rPage).SetColorList( mpColorList ); static_cast<SvxHatchTabPage&>(rPage).SetColorList( mpColorList );
static_cast<SvxHatchTabPage&>(rPage).SetHatchingList( mpHatchingList ); static_cast<SvxHatchTabPage&>(rPage).SetHatchingList( mpHatchingList );
static_cast<SvxHatchTabPage&>(rPage).SetPageType( &mnPageType );
static_cast<SvxHatchTabPage&>(rPage).SetDlgType( 0 );
static_cast<SvxHatchTabPage&>(rPage).SetPos( &mnPos ); static_cast<SvxHatchTabPage&>(rPage).SetPos( &mnPos );
static_cast<SvxHatchTabPage&>(rPage).SetAreaTP( &mbAreaTP );
static_cast<SvxHatchTabPage&>(rPage).SetHtchChgd( &mnHatchingListState ); static_cast<SvxHatchTabPage&>(rPage).SetHtchChgd( &mnHatchingListState );
static_cast<SvxHatchTabPage&>(rPage).SetColorChgd( &mnColorListState ); static_cast<SvxHatchTabPage&>(rPage).SetColorChgd( &mnColorListState );
static_cast<SvxHatchTabPage&>(rPage).Construct(); static_cast<SvxHatchTabPage&>(rPage).Construct();
...@@ -310,10 +296,7 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) ...@@ -310,10 +296,7 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
else if (nId == m_nBitmapTabPage ) else if (nId == m_nBitmapTabPage )
{ {
static_cast<SvxBitmapTabPage&>(rPage).SetBitmapList( mpBitmapList ); static_cast<SvxBitmapTabPage&>(rPage).SetBitmapList( mpBitmapList );
static_cast<SvxBitmapTabPage&>(rPage).SetPageType( &mnPageType );
static_cast<SvxBitmapTabPage&>(rPage).SetDlgType( 0 );
static_cast<SvxBitmapTabPage&>(rPage).SetPos( &mnPos ); static_cast<SvxBitmapTabPage&>(rPage).SetPos( &mnPos );
static_cast<SvxBitmapTabPage&>(rPage).SetAreaTP( &mbAreaTP );
static_cast<SvxBitmapTabPage&>(rPage).SetBmpChgd( &mnBitmapListState ); static_cast<SvxBitmapTabPage&>(rPage).SetBmpChgd( &mnBitmapListState );
static_cast<SvxBitmapTabPage&>(rPage).Construct(); static_cast<SvxBitmapTabPage&>(rPage).Construct();
} }
...@@ -321,10 +304,7 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) ...@@ -321,10 +304,7 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
{ {
static_cast<SvxPatternTabPage&>(rPage).SetColorList( mpColorList ); static_cast<SvxPatternTabPage&>(rPage).SetColorList( mpColorList );
static_cast<SvxPatternTabPage&>(rPage).SetPatternList( mpPatternList ); static_cast<SvxPatternTabPage&>(rPage).SetPatternList( mpPatternList );
static_cast<SvxPatternTabPage&>(rPage).SetPageType( &mnPageType );
static_cast<SvxPatternTabPage&>(rPage).SetDlgType( 0 );
static_cast<SvxPatternTabPage&>(rPage).SetPos( &mnPos ); static_cast<SvxPatternTabPage&>(rPage).SetPos( &mnPos );
static_cast<SvxPatternTabPage&>(rPage).SetAreaTP( &mbAreaTP );
static_cast<SvxPatternTabPage&>(rPage).SetPtrnChgd( &mnPatternListState ); static_cast<SvxPatternTabPage&>(rPage).SetPtrnChgd( &mnPatternListState );
static_cast<SvxPatternTabPage&>(rPage).SetColorChgd( &mnColorListState ); static_cast<SvxPatternTabPage&>(rPage).SetColorChgd( &mnColorListState );
static_cast<SvxPatternTabPage&>(rPage).Construct(); static_cast<SvxPatternTabPage&>(rPage).Construct();
...@@ -332,18 +312,10 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) ...@@ -332,18 +312,10 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
else if (nId == m_nColorTabPage) else if (nId == m_nColorTabPage)
{ {
static_cast<SvxColorTabPage&>(rPage).SetColorList( mpColorList ); static_cast<SvxColorTabPage&>(rPage).SetColorList( mpColorList );
static_cast<SvxColorTabPage&>(rPage).SetPageType( &mnPageType );
static_cast<SvxColorTabPage&>(rPage).SetDlgType( 0 );
static_cast<SvxColorTabPage&>(rPage).SetPos( &mnPos ); static_cast<SvxColorTabPage&>(rPage).SetPos( &mnPos );
static_cast<SvxColorTabPage&>(rPage).SetAreaTP( &mbAreaTP );
static_cast<SvxColorTabPage&>(rPage).SetColorChgd( &mnColorListState ); static_cast<SvxColorTabPage&>(rPage).SetColorChgd( &mnColorListState );
static_cast<SvxColorTabPage&>(rPage).Construct(); static_cast<SvxColorTabPage&>(rPage).Construct();
} }
else if (nId == m_nTransparenceTabPage)
{
static_cast<SvxTransparenceTabPage&>(rPage).SetPageType( mnPageType );
static_cast<SvxTransparenceTabPage&>(rPage).SetDlgType( 0 );
}
} }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
This diff is collapsed.
...@@ -84,15 +84,12 @@ SvxBitmapTabPage::SvxBitmapTabPage( vcl::Window* pParent, const SfxItemSet& rInA ...@@ -84,15 +84,12 @@ SvxBitmapTabPage::SvxBitmapTabPage( vcl::Window* pParent, const SfxItemSet& rInA
m_aXBitmapItem( OUString(), Graphic() ), m_aXBitmapItem( OUString(), Graphic() ),
m_fObjectWidth(0.0), m_fObjectWidth(0.0),
m_fObjectHeight(0.0), m_fObjectHeight(0.0),
m_nPageType(nullptr), m_pPos(nullptr),
m_nDlgType(0),
m_nPos(nullptr),
m_pbAreaTP( nullptr ),
m_aXFillAttr ( rInAttrs.GetPool() ), m_aXFillAttr ( rInAttrs.GetPool() ),
m_rXFSet ( m_aXFillAttr.GetItemSet() ), m_rXFSet ( m_aXFillAttr.GetItemSet() ),
mpView(nullptr), mpView(nullptr),
meDlgUnit(GetModuleFieldUnit( GetItemSet() )),
nFilledWidthPercent(0), nFilledWidthPercent(0),
nFilledHeightPercent(0), nFilledHeightPercent(0),
nZoomedWidthPercent(0), nZoomedWidthPercent(0),
...@@ -185,18 +182,12 @@ void SvxBitmapTabPage::Construct() ...@@ -185,18 +182,12 @@ void SvxBitmapTabPage::Construct()
void SvxBitmapTabPage::ActivatePage( const SfxItemSet& ) void SvxBitmapTabPage::ActivatePage( const SfxItemSet& )
{ {
if( m_nDlgType == 0 ) // area dialog if( *m_pPos != LISTBOX_ENTRY_NOTFOUND )
{ {
*m_pbAreaTP = false; sal_uInt16 nId = m_pBitmapLB->GetItemId( static_cast<size_t>( *m_pPos ) );
m_pBitmapLB->SelectItem(nId);
if( *m_nPageType == PageType::Bitmap && *m_nPos != LISTBOX_ENTRY_NOTFOUND )
{
sal_uInt16 nId = m_pBitmapLB->GetItemId( static_cast<size_t>( *m_nPos ) );
m_pBitmapLB->SelectItem(nId);
}
*m_nPageType = PageType::Bitmap;
*m_nPos = LISTBOX_ENTRY_NOTFOUND;
} }
*m_pPos = LISTBOX_ENTRY_NOTFOUND;
} }
...@@ -211,80 +202,73 @@ DeactivateRC SvxBitmapTabPage::DeactivatePage( SfxItemSet* _pSet ) ...@@ -211,80 +202,73 @@ DeactivateRC SvxBitmapTabPage::DeactivatePage( SfxItemSet* _pSet )
bool SvxBitmapTabPage::FillItemSet( SfxItemSet* rAttrs ) bool SvxBitmapTabPage::FillItemSet( SfxItemSet* rAttrs )
{ {
if( m_nDlgType == 0 && !*m_pbAreaTP ) rAttrs->Put(XFillStyleItem(drawing::FillStyle_BITMAP));
size_t nPos = m_pBitmapLB->GetSelectItemPos();
if(VALUESET_ITEM_NOTFOUND != nPos)
{ {
if(PageType::Bitmap == *m_nPageType) const XBitmapEntry* pXBitmapEntry = m_pBitmapList->GetBitmap(nPos);
{ const OUString aString(m_pBitmapLB->GetItemText( m_pBitmapLB->GetSelectItemId() ));
rAttrs->Put(XFillStyleItem(drawing::FillStyle_BITMAP)); rAttrs->Put(XFillBitmapItem(aString, pXBitmapEntry->GetGraphicObject()));
size_t nPos = m_pBitmapLB->GetSelectItemPos(); }
if(VALUESET_ITEM_NOTFOUND != nPos)
{
const XBitmapEntry* pXBitmapEntry = m_pBitmapList->GetBitmap(nPos);
const OUString aString(m_pBitmapLB->GetItemText( m_pBitmapLB->GetSelectItemId() ));
rAttrs->Put(XFillBitmapItem(aString, pXBitmapEntry->GetGraphicObject()));
}
BitmapStyle eStylePos = (BitmapStyle)m_pBitmapStyleLB->GetSelectEntryPos(); BitmapStyle eStylePos = (BitmapStyle)m_pBitmapStyleLB->GetSelectEntryPos(); bool bIsStretched( eStylePos == STRETCHED );
bool bIsStretched( eStylePos == STRETCHED ); bool bIsTiled( eStylePos == TILED );
bool bIsTiled( eStylePos == TILED );
rAttrs->Put( XFillBmpTileItem(bIsTiled) ); rAttrs->Put( XFillBmpTileItem(bIsTiled) );
rAttrs->Put( XFillBmpStretchItem(bIsStretched) ); rAttrs->Put( XFillBmpStretchItem(bIsStretched) );
if(!bIsStretched) if(!bIsStretched)
{
Size aSetBitmapSize;
switch(eStylePos)
{
case ORIGINAL:
aSetBitmapSize = rBitmapSize;
break;
case FILLED:
aSetBitmapSize = rFilledSize;
break;
case ZOOMED:
aSetBitmapSize = rZoomedSize;
break;
case CUSTOM:
case TILED:
{ {
Size aSetBitmapSize; sal_Int64 nWidthPercent = m_pBitmapWidth->Denormalize(m_pBitmapWidth->GetValue());
switch(eStylePos) sal_Int64 nHeightPercent = m_pBitmapHeight->Denormalize(m_pBitmapHeight->GetValue());
if(eStylePos == CUSTOM && m_pTsbScale->IsEnabled() && m_pTsbScale->GetState() == TRISTATE_TRUE)
{ {
case ORIGINAL: aSetBitmapSize.Width() = -nWidthPercent;
aSetBitmapSize = rBitmapSize; aSetBitmapSize.Height() = -nHeightPercent;
break;
case FILLED:
aSetBitmapSize = rFilledSize;
break;
case ZOOMED:
aSetBitmapSize = rZoomedSize;
break;
case CUSTOM:
case TILED:
{
sal_Int64 nWidthPercent = m_pBitmapWidth->Denormalize(m_pBitmapWidth->GetValue());
sal_Int64 nHeightPercent = m_pBitmapHeight->Denormalize(m_pBitmapHeight->GetValue());
if(eStylePos == CUSTOM && m_pTsbScale->IsEnabled() && m_pTsbScale->GetState() == TRISTATE_TRUE)
{
aSetBitmapSize.Width() = -nWidthPercent;
aSetBitmapSize.Height() = -nHeightPercent;
}
else
{
aSetBitmapSize.Width() = static_cast<long>(nWidthPercent*rBitmapSize.Width()/100);
aSetBitmapSize.Height() = static_cast<long>(nHeightPercent*rBitmapSize.Height()/100);
}
break;
}
default:
break;
} }
rAttrs->Put( XFillBmpSizeXItem( aSetBitmapSize.Width() ) ); else
rAttrs->Put( XFillBmpSizeYItem( aSetBitmapSize.Height() ) ); {
} aSetBitmapSize.Width() = static_cast<long>(nWidthPercent*rBitmapSize.Width()/100);
aSetBitmapSize.Height() = static_cast<long>(nHeightPercent*rBitmapSize.Height()/100);
if(m_pPositionLB->IsEnabled()) }
rAttrs->Put( XFillBmpPosItem( static_cast<RectPoint>( m_pPositionLB->GetSelectEntryPos() ) ) ); break;
if(m_pPositionOffX->IsEnabled())
rAttrs->Put( XFillBmpPosOffsetXItem( m_pPositionOffX->GetValue() ) );
if(m_pPositionOffY->IsEnabled())
rAttrs->Put( XFillBmpPosOffsetYItem( m_pPositionOffY->GetValue() ) );
if(m_pTileOffBox->IsEnabled())
{
TileOffset eValue = static_cast<TileOffset>(m_pTileOffLB->GetSelectEntryPos());
sal_uInt16 nOffsetValue = static_cast<sal_uInt16>(m_pTileOffset->GetValue());
sal_uInt16 nRowOff = (eValue == ROW) ? nOffsetValue : 0;
sal_uInt16 nColOff = (eValue == COLUMN) ? nOffsetValue : 0;
rAttrs->Put( XFillBmpTileOffsetXItem(nRowOff) );
rAttrs->Put( XFillBmpTileOffsetYItem(nColOff) );
} }
default:
break;
} }
rAttrs->Put( XFillBmpSizeXItem( aSetBitmapSize.Width() ) );
rAttrs->Put( XFillBmpSizeYItem( aSetBitmapSize.Height() ) );
}
if(m_pPositionLB->IsEnabled())
rAttrs->Put( XFillBmpPosItem( static_cast<RectPoint>( m_pPositionLB->GetSelectEntryPos() ) ) );
if(m_pPositionOffX->IsEnabled())
rAttrs->Put( XFillBmpPosOffsetXItem( m_pPositionOffX->GetValue() ) );
if(m_pPositionOffY->IsEnabled())
rAttrs->Put( XFillBmpPosOffsetYItem( m_pPositionOffY->GetValue() ) );
if(m_pTileOffBox->IsEnabled())
{
TileOffset eValue = static_cast<TileOffset>(m_pTileOffLB->GetSelectEntryPos());
sal_uInt16 nOffsetValue = static_cast<sal_uInt16>(m_pTileOffset->GetValue());
sal_uInt16 nRowOff = (eValue == ROW) ? nOffsetValue : 0;
sal_uInt16 nColOff = (eValue == COLUMN) ? nOffsetValue : 0;
rAttrs->Put( XFillBmpTileOffsetXItem(nRowOff) );
rAttrs->Put( XFillBmpTileOffsetYItem(nColOff) );
} }
return true; return true;
} }
...@@ -505,7 +489,7 @@ IMPL_LINK_NOARG(SvxBitmapTabPage, ModifyBitmapHdl, ValueSet*, void) ...@@ -505,7 +489,7 @@ IMPL_LINK_NOARG(SvxBitmapTabPage, ModifyBitmapHdl, ValueSet*, void)
if( nPos != VALUESET_ITEM_NOTFOUND ) if( nPos != VALUESET_ITEM_NOTFOUND )
{ {
pGraphicObject.reset(new GraphicObject(m_pBitmapList->GetBitmap(nPos)->GetGraphicObject())); pGraphicObject.reset(new GraphicObject(m_pBitmapList->GetBitmap( static_cast<sal_uInt16>(nPos) )->GetGraphicObject()));
} }
else else
{ {
...@@ -604,7 +588,7 @@ IMPL_LINK_NOARG(SvxBitmapTabPage, ClickDeleteHdl, SvxPresetListBox*, void) ...@@ -604,7 +588,7 @@ IMPL_LINK_NOARG(SvxBitmapTabPage, ClickDeleteHdl, SvxPresetListBox*, void)
if( aQueryBox->Execute() == RET_YES ) if( aQueryBox->Execute() == RET_YES )
{ {
m_pBitmapList->Remove(nPos); m_pBitmapList->Remove( static_cast<sal_uInt16>(nPos) );
m_pBitmapLB->RemoveItem( nId ); m_pBitmapLB->RemoveItem( nId );
nId = m_pBitmapLB->GetItemId(0); nId = m_pBitmapLB->GetItemId(0);
m_pBitmapLB->SelectItem( nId ); m_pBitmapLB->SelectItem( nId );
......
...@@ -59,10 +59,7 @@ SvxColorTabPage::SvxColorTabPage(vcl::Window* pParent, const SfxItemSet& rInAttr ...@@ -59,10 +59,7 @@ SvxColorTabPage::SvxColorTabPage(vcl::Window* pParent, const SfxItemSet& rInAttr
, rOutAttrs ( rInAttrs ) , rOutAttrs ( rInAttrs )
// All the horrific pointers we store and should not // All the horrific pointers we store and should not
, pnColorListState( nullptr ) , pnColorListState( nullptr )
, pPageType( nullptr )
, nDlgType( 0 )
, pPos( nullptr ) , pPos( nullptr )
, pbAreaTP( nullptr )
, aXFStyleItem( drawing::FillStyle_SOLID ) , aXFStyleItem( drawing::FillStyle_SOLID )
, aXFillColorItem( OUString(), Color( COL_BLACK ) ) , aXFillColorItem( OUString(), Color( COL_BLACK ) )
, aXFillAttr( static_cast<XOutdevItemPool*>( rInAttrs.GetPool() )) , aXFillAttr( static_cast<XOutdevItemPool*>( rInAttrs.GetPool() ))
...@@ -238,47 +235,40 @@ void SvxColorTabPage::Construct() ...@@ -238,47 +235,40 @@ void SvxColorTabPage::Construct()
void SvxColorTabPage::ActivatePage( const SfxItemSet& ) void SvxColorTabPage::ActivatePage( const SfxItemSet& )
{ {
if( nDlgType == 0 ) // area dialog if( pColorList.is() )
{ {
*pbAreaTP = false; if( *pPos != LISTBOX_ENTRY_NOTFOUND )
if( pColorList.is() )
{ {
if( *pPageType == PageType::Color && *pPos != LISTBOX_ENTRY_NOTFOUND ) m_pValSetColorList->SelectItem( m_pValSetColorList->GetItemId( static_cast<size_t>(*pPos) ) );
{ const XColorEntry* pEntry = pColorList->GetColor(*pPos);
m_pValSetColorList->SelectItem( m_pValSetColorList->GetItemId( static_cast<size_t>(*pPos) ) ); aPreviousColor = pEntry->GetColor();
const XColorEntry* pEntry = pColorList->GetColor(*pPos); ChangeColor(pEntry->GetColor());
aPreviousColor = pEntry->GetColor(); }
ChangeColor(pEntry->GetColor()); else if( *pPos == LISTBOX_ENTRY_NOTFOUND )
} {
else if( *pPageType == PageType::Color && *pPos == LISTBOX_ENTRY_NOTFOUND ) const SfxPoolItem* pPoolItem = nullptr;
if( SfxItemState::SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLCOLOR ), true, &pPoolItem ) )
{ {
const SfxPoolItem* pPoolItem = nullptr; SetColorModel( ColorModel::RGB );
if( SfxItemState::SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLCOLOR ), true, &pPoolItem ) ) ChangeColorModel();
{
SetColorModel( ColorModel::RGB );
ChangeColorModel();
aPreviousColor = static_cast<const XFillColorItem*>(pPoolItem)->GetColorValue();
ChangeColor( aPreviousColor );
aPreviousColor = static_cast<const XFillColorItem*>(pPoolItem)->GetColorValue();
ChangeColor( aPreviousColor );
m_pRcustom->SetValue( ColorToPercent_Impl( aCurrentColor.GetRed() ) ); m_pRcustom->SetValue( ColorToPercent_Impl( aCurrentColor.GetRed() ) );
m_pGcustom->SetValue( ColorToPercent_Impl( aCurrentColor.GetGreen() ) ); m_pGcustom->SetValue( ColorToPercent_Impl( aCurrentColor.GetGreen() ) );
m_pBcustom->SetValue( ColorToPercent_Impl( aCurrentColor.GetBlue() ) ); m_pBcustom->SetValue( ColorToPercent_Impl( aCurrentColor.GetBlue() ) );
m_pHexcustom->SetColor( aCurrentColor.GetColor() ); m_pHexcustom->SetColor( aCurrentColor.GetColor() );
}
} }
}
m_pCtlPreviewOld->SetAttributes( aXFillAttr.GetItemSet() ); m_pCtlPreviewOld->SetAttributes( aXFillAttr.GetItemSet() );
m_pCtlPreviewOld->Invalidate(); m_pCtlPreviewOld->Invalidate();
SelectValSetHdl_Impl( m_pValSetColorList ); SelectValSetHdl_Impl( m_pValSetColorList );
*pPageType = PageType::Color; *pPos = LISTBOX_ENTRY_NOTFOUND;
*pPos = LISTBOX_ENTRY_NOTFOUND;
}
} }
} }
...@@ -293,13 +283,9 @@ DeactivateRC SvxColorTabPage::DeactivatePage( SfxItemSet* _pSet ) ...@@ -293,13 +283,9 @@ DeactivateRC SvxColorTabPage::DeactivatePage( SfxItemSet* _pSet )
bool SvxColorTabPage::FillItemSet( SfxItemSet* rSet ) bool SvxColorTabPage::FillItemSet( SfxItemSet* rSet )
{ {
if( ( nDlgType != 0 ) || maPaletteManager.AddRecentColor( aCurrentColor, OUString() );
( *pPageType == PageType::Color && !*pbAreaTP ) ) rSet->Put( XFillColorItem( OUString(), aCurrentColor ) );
{ rSet->Put( XFillStyleItem( drawing::FillStyle_SOLID ) );
maPaletteManager.AddRecentColor(aCurrentColor, "#" + aCurrentColor.AsRGBHexString().toAsciiUpperCase());
rSet->Put( XFillColorItem( OUString(), aCurrentColor ) );
rSet->Put( XFillStyleItem( drawing::FillStyle_SOLID ) );
}
return true; return true;
} }
...@@ -774,6 +760,46 @@ void SvxColorTabPage::FillUserData() ...@@ -774,6 +760,46 @@ void SvxColorTabPage::FillUserData()
} }
void SvxColorTabPage::SetupForViewFrame( SfxViewFrame *pViewFrame )
{
const OfaRefItem<XColorList> *pPtr = nullptr;
if ( pViewFrame != nullptr && pViewFrame->GetDispatcher() )
pPtr = static_cast<const OfaRefItem<XColorList> *>(pViewFrame->
GetDispatcher()->Execute( SID_GET_COLORLIST,
SfxCallMode::SYNCHRON ));
pColorList = pPtr ? pPtr->GetValue() : XColorList::GetStdColorList();
//SetPos( &pShadow->nUnknownPos );
//SetColorChgd( &pShadow->nChangeType );
Construct();
}
void SvxColorTabPage::SaveToViewFrame( SfxViewFrame *pViewFrame )
{
if( !pColorList.is() )
return;
if( !pViewFrame )
return;
// notify current viewframe that it uses the same color table
if ( !pViewFrame->GetDispatcher() )
return;
const OfaRefItem<XColorList> * pPtr;
pPtr = static_cast<const OfaRefItem<XColorList>*>(pViewFrame->GetDispatcher()->Execute( SID_GET_COLORLIST, SfxCallMode::SYNCHRON ));
if( pPtr )
{
XColorListRef pReference = pPtr->GetValue();
if( pReference.is() &&
pReference->GetPath() == pColorList->GetPath() &&
pReference->GetName() == pColorList->GetName() )
SfxObjectShell::Current()->PutItem( SvxColorListItem( pColorList,
SID_COLOR_TABLE ) );
}
}
void SvxColorTabPage::SetPropertyList( XPropertyListType t, const XPropertyListRef &xRef ) void SvxColorTabPage::SetPropertyList( XPropertyListType t, const XPropertyListRef &xRef )
{ {
(void) t; (void) t;
......
...@@ -58,10 +58,7 @@ SvxHatchTabPage::SvxHatchTabPage ...@@ -58,10 +58,7 @@ SvxHatchTabPage::SvxHatchTabPage
m_rOutAttrs ( rInAttrs ), m_rOutAttrs ( rInAttrs ),
m_pnHatchingListState ( nullptr ), m_pnHatchingListState ( nullptr ),
m_pnColorListState ( nullptr ), m_pnColorListState ( nullptr ),
m_pPageType ( nullptr ),
m_nDlgType ( 0 ),
m_pPos ( nullptr ), m_pPos ( nullptr ),
m_pbAreaTP ( nullptr ),
m_aXFStyleItem ( drawing::FillStyle_HATCH ), m_aXFStyleItem ( drawing::FillStyle_HATCH ),
m_aXHatchItem ( OUString(), XHatch() ), m_aXHatchItem ( OUString(), XHatch() ),
...@@ -167,61 +164,56 @@ void SvxHatchTabPage::ActivatePage( const SfxItemSet& rSet ) ...@@ -167,61 +164,56 @@ void SvxHatchTabPage::ActivatePage( const SfxItemSet& rSet )
sal_Int32 nPos; sal_Int32 nPos;
sal_Int32 nCount; sal_Int32 nCount;
if( m_nDlgType == 0 ) // area dialog if( m_pColorList.is() )
{ {
*m_pbAreaTP = false; // ColorList
if( *m_pnColorListState & ChangeType::CHANGED ||
if( m_pColorList.is() ) *m_pnColorListState & ChangeType::MODIFIED )
{ {
// ColorList if( *m_pnColorListState & ChangeType::CHANGED )
if( *m_pnColorListState & ChangeType::CHANGED || m_pColorList = static_cast<SvxAreaTabDialog*>( GetParentDialog() )->GetNewColorList();
*m_pnColorListState & ChangeType::MODIFIED )
{ // LbLineColor
if( *m_pnColorListState & ChangeType::CHANGED ) nPos = m_pLbLineColor->GetSelectEntryPos();
m_pColorList = static_cast<SvxAreaTabDialog*>( GetParentDialog() )->GetNewColorList(); m_pLbLineColor->Clear();
m_pLbLineColor->Fill( m_pColorList );
// LbLineColor nCount = m_pLbLineColor->GetEntryCount();
nPos = m_pLbLineColor->GetSelectEntryPos(); if( nCount == 0 )
m_pLbLineColor->Clear(); ; // this case should not occur
m_pLbLineColor->Fill( m_pColorList ); else if( nCount <= nPos )
nCount = m_pLbLineColor->GetEntryCount(); m_pLbLineColor->SelectEntryPos( 0 );
if( nCount == 0 ) else
; // this case should not occur m_pLbLineColor->SelectEntryPos( nPos );
else if( nCount <= nPos )
m_pLbLineColor->SelectEntryPos( 0 );
else
m_pLbLineColor->SelectEntryPos( nPos );
ModifiedHdl_Impl( this );
}
// determining (possibly cutting) the name ModifiedHdl_Impl( this );
// and displaying it in the GroupBox }
OUString aString( CUI_RES( RID_SVXSTR_TABLE ) );
aString += ": ";
INetURLObject aURL( m_pHatchingList->GetPath() );
aURL.Append( m_pHatchingList->GetName() ); // determining (possibly cutting) the name
SAL_WARN_IF( aURL.GetProtocol() == INetProtocol::NotValid, "cui.tabpages", "invalid URL" ); // and displaying it in the GroupBox
OUString aString( CUI_RES( RID_SVXSTR_TABLE ) );
aString += ": ";
INetURLObject aURL( m_pHatchingList->GetPath() );
if ( aURL.getBase().getLength() > 18 ) aURL.Append( m_pHatchingList->GetName() );
{ SAL_WARN_IF( aURL.GetProtocol() == INetProtocol::NotValid, "cui.tabpages", "invalid URL" );
aString += aURL.getBase().copy( 0, 15 ) + "...";
}
else
aString += aURL.getBase();
if( *m_pPageType == PageType::Hatch && *m_pPos != LISTBOX_ENTRY_NOTFOUND ) if ( aURL.getBase().getLength() > 18 )
{ {
sal_uInt16 nId = m_pHatchLB->GetItemId( static_cast<size_t>( *m_pPos ) ); aString += aURL.getBase().copy( 0, 15 ) + "...";
m_pHatchLB->SelectItem( nId ); }
} else
// colors could have been deleted aString += aURL.getBase();
ChangeHatchHdl_Impl();
*m_pPageType = PageType::Hatch; *m_pPos = SearchHatchList( ( &static_cast<const XFillHatchItem&>( rSet.Get(XATTR_FILLHATCH)) )->GetName() );
*m_pPos = LISTBOX_ENTRY_NOTFOUND; if( *m_pPos != LISTBOX_ENTRY_NOTFOUND )
{
sal_uInt16 nId = m_pHatchLB->GetItemId( static_cast<size_t>( *m_pPos ) );
m_pHatchLB->SelectItem( nId );
} }
// colors could have been deleted
ChangeHatchHdl_Impl();
*m_pPos = LISTBOX_ENTRY_NOTFOUND;
} }
XFillBackgroundItem aBckItem( static_cast<const XFillBackgroundItem&>(rSet.Get(XATTR_FILLBACKGROUND))); XFillBackgroundItem aBckItem( static_cast<const XFillBackgroundItem&>(rSet.Get(XATTR_FILLBACKGROUND)));
...@@ -281,42 +273,35 @@ sal_Int32 SvxHatchTabPage::SearchHatchList(const OUString& rHatchName) ...@@ -281,42 +273,35 @@ sal_Int32 SvxHatchTabPage::SearchHatchList(const OUString& rHatchName)
bool SvxHatchTabPage::FillItemSet( SfxItemSet* rSet ) bool SvxHatchTabPage::FillItemSet( SfxItemSet* rSet )
{ {
if( m_nDlgType == 0 && !*m_pbAreaTP ) // area dialog std::unique_ptr<XHatch> pXHatch;
OUString aString;
size_t nPos = m_pHatchLB->GetSelectItemPos();
if( nPos != VALUESET_ITEM_NOTFOUND )
{ {
if( *m_pPageType == PageType::Hatch ) pXHatch.reset(new XHatch( m_pHatchingList->GetHatch( static_cast<sal_uInt16>(nPos) )->GetHatch() ));
{ aString = m_pHatchLB->GetItemText( m_pHatchLB->GetSelectItemId() );
std::unique_ptr<XHatch> pXHatch; }
pXHatch.reset(new XHatch( m_pLbLineColor->GetSelectEntryColor(), // gradient has been (unidentifiedly) passed
(css::drawing::HatchStyle) m_pLbLineType->GetSelectEntryPos(), else
GetCoreValue( *m_pMtrDistance, m_ePoolUnit ), {
static_cast<long>(m_pMtrAngle->GetValue() * 10) )); pXHatch.reset(new XHatch( m_pLbLineColor->GetSelectEntryColor(),
(css::drawing::HatchStyle) m_pLbLineType->GetSelectEntryPos(),
OUString aString; GetCoreValue( *m_pMtrDistance, m_ePoolUnit ),
if( !( m_pMtrDistance->IsValueChangedFromSaved() || static_cast<long>(m_pMtrAngle->GetValue() * 10) ));
m_pMtrAngle->IsValueChangedFromSaved() || }
m_pLbLineType->IsValueChangedFromSaved() || assert( pXHatch && "XHatch couldn't be created" );
m_pLbLineColor->IsValueChangedFromSaved() || rSet->Put( XFillStyleItem( drawing::FillStyle_HATCH ) );
m_pHatchLB->IsValueChangedFromSaved() ) ) rSet->Put( XFillHatchItem( aString, *pXHatch ) );
{ rSet->Put( XFillBackgroundItem( m_pCbBackgroundColor->IsChecked() ) );
aString = m_pHatchLB->GetItemText( m_pHatchLB->GetSelectItemId() );; if(m_pCbBackgroundColor->IsChecked())
} {
sal_uInt32 nPosBckColor = m_pLbBackgroundColor->GetSelectEntryPos();
assert( pXHatch && "XHatch couldn't be created" ); OUString aBckColorString;
rSet->Put( XFillStyleItem( drawing::FillStyle_HATCH ) ); if( nPosBckColor != LISTBOX_ENTRY_NOTFOUND )
rSet->Put( XFillHatchItem( aString, *pXHatch ) ); aBckColorString = m_pLbBackgroundColor->GetSelectEntry();
else
rSet->Put( XFillBackgroundItem( m_pCbBackgroundColor->IsChecked() ) ); aBckColorString = OUString();
if(m_pCbBackgroundColor->IsChecked()) rSet->Put( XFillColorItem( aBckColorString, m_pLbBackgroundColor->GetSelectEntryColor() ) );
{
sal_uInt32 nPosBckColor = m_pLbBackgroundColor->GetSelectEntryPos();
OUString aBckColorString;
if( nPosBckColor != LISTBOX_ENTRY_NOTFOUND )
aBckColorString = m_pLbBackgroundColor->GetSelectEntry();
else
aBckColorString = OUString();
rSet->Put( XFillColorItem( aBckColorString, m_pLbBackgroundColor->GetSelectEntryColor() ) );
}
}
} }
return true; return true;
} }
...@@ -418,7 +403,7 @@ void SvxHatchTabPage::ChangeHatchHdl_Impl() ...@@ -418,7 +403,7 @@ void SvxHatchTabPage::ChangeHatchHdl_Impl()
size_t nPos = m_pHatchLB->GetSelectItemPos(); size_t nPos = m_pHatchLB->GetSelectItemPos();
if( nPos != VALUESET_ITEM_NOTFOUND ) if( nPos != VALUESET_ITEM_NOTFOUND )
pHatch.reset(new XHatch(m_pHatchingList->GetHatch(nPos)->GetHatch())); pHatch.reset(new XHatch( m_pHatchingList->GetHatch( static_cast<sal_uInt16>(nPos) )->GetHatch() ));
else else
{ {
const SfxPoolItem* pPoolItem = nullptr; const SfxPoolItem* pPoolItem = nullptr;
...@@ -547,7 +532,7 @@ IMPL_LINK_NOARG(SvxHatchTabPage, ClickModifyHdl_Impl, Button*, void) ...@@ -547,7 +532,7 @@ IMPL_LINK_NOARG(SvxHatchTabPage, ClickModifyHdl_Impl, Button*, void)
if( nPos != VALUESET_ITEM_NOTFOUND ) if( nPos != VALUESET_ITEM_NOTFOUND )
{ {
OUString aName(m_pHatchingList->GetHatch(nPos)->GetName()); OUString aName( m_pHatchingList->GetHatch( static_cast<sal_uInt16>(nPos) )->GetName() );
XHatch aXHatch( m_pLbLineColor->GetSelectEntryColor(), XHatch aXHatch( m_pLbLineColor->GetSelectEntryColor(),
(css::drawing::HatchStyle) m_pLbLineType->GetSelectEntryPos(), (css::drawing::HatchStyle) m_pLbLineType->GetSelectEntryPos(),
...@@ -556,7 +541,7 @@ IMPL_LINK_NOARG(SvxHatchTabPage, ClickModifyHdl_Impl, Button*, void) ...@@ -556,7 +541,7 @@ IMPL_LINK_NOARG(SvxHatchTabPage, ClickModifyHdl_Impl, Button*, void)
m_pHatchingList->Replace(o3tl::make_unique<XHatchEntry>(aXHatch, aName), nPos); m_pHatchingList->Replace(o3tl::make_unique<XHatchEntry>(aXHatch, aName), nPos);
Bitmap aBitmap = m_pHatchingList->GetBitmapForPreview(nPos, m_pHatchLB->GetIconSize()); Bitmap aBitmap = m_pHatchingList->GetBitmapForPreview( static_cast<sal_uInt16>(nPos), m_pHatchLB->GetIconSize() );
m_pHatchLB->RemoveItem( nId ); m_pHatchLB->RemoveItem( nId );
m_pHatchLB->InsertItem( nId, Image(aBitmap), aName, static_cast<sal_uInt16>(nPos) ); m_pHatchLB->InsertItem( nId, Image(aBitmap), aName, static_cast<sal_uInt16>(nPos) );
m_pHatchLB->SelectItem( nId ); m_pHatchLB->SelectItem( nId );
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment