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 )
rAreaPage.SetGradientList( mpGradientList );
rAreaPage.SetHatchingList( mpHatchingList );
rAreaPage.SetBitmapList( mpBitmapList );
rAreaPage.SetPageType( PageType::Area );
rAreaPage.SetDlgType( 1 );
rAreaPage.SetPos( 0 );
rAreaPage.Construct();
rAreaPage.ActivatePage( mrOutAttrs );
}
else if (nId == m_nBorderPageId)
......
This diff is collapsed.
......@@ -73,9 +73,7 @@ SvxAreaTabDialog::SvxAreaTabDialog
mnPatternListState ( ChangeType::NONE ),
mnGradientListState ( ChangeType::NONE ),
mnHatchingListState ( ChangeType::NONE ),
mnPageType( PageType::Area ),
mnPos( 0 ),
mbAreaTP( false )
mnPos( 0 )
{
m_nAreaTabPage = AddTabPage( "RID_SVXPAGE_AREA", SvxAreaTabPage::Create, nullptr );
......@@ -262,24 +260,18 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
static_cast<SvxAreaTabPage&>(rPage).SetGradientList( mpGradientList );
static_cast<SvxAreaTabPage&>(rPage).SetHatchingList( mpHatchingList );
static_cast<SvxAreaTabPage&>(rPage).SetBitmapList( mpBitmapList );
static_cast<SvxAreaTabPage&>(rPage).SetPageType( mnPageType );
static_cast<SvxAreaTabPage&>(rPage).SetDlgType( 0 );
static_cast<SvxAreaTabPage&>(rPage).SetPos( mnPos );
static_cast<SvxAreaTabPage&>(rPage).SetAreaTP( &mbAreaTP );
static_cast<SvxAreaTabPage&>(rPage).SetPatternList( mpPatternList );
static_cast<SvxAreaTabPage&>(rPage).SetDrawModel( mpDrawModel );
static_cast<SvxAreaTabPage&>(rPage).SetGrdChgd( &mnGradientListState );
static_cast<SvxAreaTabPage&>(rPage).SetHtchChgd( &mnHatchingListState );
static_cast<SvxAreaTabPage&>(rPage).SetBmpChgd( &mnBitmapListState );
static_cast<SvxAreaTabPage&>(rPage).SetColorChgd( &mnColorListState );
static_cast<SvxAreaTabPage&>(rPage).Construct();
// ActivatePge() is not called the first time
static_cast<SvxAreaTabPage&>(rPage).ActivatePage( mrOutAttrs );
}
else if (nId == m_nShadowTabPage)
{
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).Construct();
}
......@@ -287,10 +279,7 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
{
static_cast<SvxGradientTabPage&>(rPage).SetColorList( mpColorList );
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).SetAreaTP( &mbAreaTP );
static_cast<SvxGradientTabPage&>(rPage).SetGrdChgd( &mnGradientListState );
static_cast<SvxGradientTabPage&>(rPage).SetColorChgd( &mnColorListState );
static_cast<SvxGradientTabPage&>(rPage).Construct();
......@@ -299,10 +288,7 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
{
static_cast<SvxHatchTabPage&>(rPage).SetColorList( mpColorList );
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).SetAreaTP( &mbAreaTP );
static_cast<SvxHatchTabPage&>(rPage).SetHtchChgd( &mnHatchingListState );
static_cast<SvxHatchTabPage&>(rPage).SetColorChgd( &mnColorListState );
static_cast<SvxHatchTabPage&>(rPage).Construct();
......@@ -310,10 +296,7 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
else if (nId == m_nBitmapTabPage )
{
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).SetAreaTP( &mbAreaTP );
static_cast<SvxBitmapTabPage&>(rPage).SetBmpChgd( &mnBitmapListState );
static_cast<SvxBitmapTabPage&>(rPage).Construct();
}
......@@ -321,10 +304,7 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
{
static_cast<SvxPatternTabPage&>(rPage).SetColorList( mpColorList );
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).SetAreaTP( &mbAreaTP );
static_cast<SvxPatternTabPage&>(rPage).SetPtrnChgd( &mnPatternListState );
static_cast<SvxPatternTabPage&>(rPage).SetColorChgd( &mnColorListState );
static_cast<SvxPatternTabPage&>(rPage).Construct();
......@@ -332,18 +312,10 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
else if (nId == m_nColorTabPage)
{
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).SetAreaTP( &mbAreaTP );
static_cast<SvxColorTabPage&>(rPage).SetColorChgd( &mnColorListState );
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: */
This diff is collapsed.
......@@ -84,15 +84,12 @@ SvxBitmapTabPage::SvxBitmapTabPage( vcl::Window* pParent, const SfxItemSet& rInA
m_aXBitmapItem( OUString(), Graphic() ),
m_fObjectWidth(0.0),
m_fObjectHeight(0.0),
m_nPageType(nullptr),
m_nDlgType(0),
m_nPos(nullptr),
m_pbAreaTP( nullptr ),
m_pPos(nullptr),
m_aXFillAttr ( rInAttrs.GetPool() ),
m_rXFSet ( m_aXFillAttr.GetItemSet() ),
mpView(nullptr),
meDlgUnit(GetModuleFieldUnit( GetItemSet() )),
nFilledWidthPercent(0),
nFilledHeightPercent(0),
nZoomedWidthPercent(0),
......@@ -185,18 +182,12 @@ void SvxBitmapTabPage::Construct()
void SvxBitmapTabPage::ActivatePage( const SfxItemSet& )
{
if( m_nDlgType == 0 ) // area dialog
if( *m_pPos != LISTBOX_ENTRY_NOTFOUND )
{
*m_pbAreaTP = false;
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;
sal_uInt16 nId = m_pBitmapLB->GetItemId( static_cast<size_t>( *m_pPos ) );
m_pBitmapLB->SelectItem(nId);
}
*m_pPos = LISTBOX_ENTRY_NOTFOUND;
}
......@@ -211,80 +202,73 @@ DeactivateRC SvxBitmapTabPage::DeactivatePage( SfxItemSet* _pSet )
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)
{
rAttrs->Put(XFillStyleItem(drawing::FillStyle_BITMAP));
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()));
}
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();
bool bIsStretched( eStylePos == STRETCHED );
bool bIsTiled( eStylePos == TILED );
BitmapStyle eStylePos = (BitmapStyle)m_pBitmapStyleLB->GetSelectEntryPos(); bool bIsStretched( eStylePos == STRETCHED );
bool bIsTiled( eStylePos == TILED );
rAttrs->Put( XFillBmpTileItem(bIsTiled) );
rAttrs->Put( XFillBmpStretchItem(bIsStretched) );
rAttrs->Put( XFillBmpTileItem(bIsTiled) );
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;
switch(eStylePos)
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)
{
case ORIGINAL:
aSetBitmapSize = rBitmapSize;
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;
aSetBitmapSize.Width() = -nWidthPercent;
aSetBitmapSize.Height() = -nHeightPercent;
}
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) );
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() ) );
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;
}
......@@ -505,7 +489,7 @@ IMPL_LINK_NOARG(SvxBitmapTabPage, ModifyBitmapHdl, ValueSet*, void)
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
{
......@@ -604,7 +588,7 @@ IMPL_LINK_NOARG(SvxBitmapTabPage, ClickDeleteHdl, SvxPresetListBox*, void)
if( aQueryBox->Execute() == RET_YES )
{
m_pBitmapList->Remove(nPos);
m_pBitmapList->Remove( static_cast<sal_uInt16>(nPos) );
m_pBitmapLB->RemoveItem( nId );
nId = m_pBitmapLB->GetItemId(0);
m_pBitmapLB->SelectItem( nId );
......
......@@ -59,10 +59,7 @@ SvxColorTabPage::SvxColorTabPage(vcl::Window* pParent, const SfxItemSet& rInAttr
, rOutAttrs ( rInAttrs )
// All the horrific pointers we store and should not
, pnColorListState( nullptr )
, pPageType( nullptr )
, nDlgType( 0 )
, pPos( nullptr )
, pbAreaTP( nullptr )
, aXFStyleItem( drawing::FillStyle_SOLID )
, aXFillColorItem( OUString(), Color( COL_BLACK ) )
, aXFillAttr( static_cast<XOutdevItemPool*>( rInAttrs.GetPool() ))
......@@ -238,47 +235,40 @@ void SvxColorTabPage::Construct()
void SvxColorTabPage::ActivatePage( const SfxItemSet& )
{
if( nDlgType == 0 ) // area dialog
if( pColorList.is() )
{
*pbAreaTP = false;
if( pColorList.is() )
if( *pPos != LISTBOX_ENTRY_NOTFOUND )
{
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);
aPreviousColor = pEntry->GetColor();
ChangeColor(pEntry->GetColor());
}
else 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);
aPreviousColor = pEntry->GetColor();
ChangeColor(pEntry->GetColor());
}
else if( *pPos == LISTBOX_ENTRY_NOTFOUND )
{
const SfxPoolItem* pPoolItem = nullptr;
if( SfxItemState::SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLCOLOR ), true, &pPoolItem ) )
{
const SfxPoolItem* pPoolItem = nullptr;
if( SfxItemState::SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLCOLOR ), true, &pPoolItem ) )
{
SetColorModel( ColorModel::RGB );
ChangeColorModel();
aPreviousColor = static_cast<const XFillColorItem*>(pPoolItem)->GetColorValue();
ChangeColor( aPreviousColor );
SetColorModel( ColorModel::RGB );
ChangeColorModel();
aPreviousColor = static_cast<const XFillColorItem*>(pPoolItem)->GetColorValue();
ChangeColor( aPreviousColor );
m_pRcustom->SetValue( ColorToPercent_Impl( aCurrentColor.GetRed() ) );
m_pGcustom->SetValue( ColorToPercent_Impl( aCurrentColor.GetGreen() ) );
m_pBcustom->SetValue( ColorToPercent_Impl( aCurrentColor.GetBlue() ) );
m_pHexcustom->SetColor( aCurrentColor.GetColor() );
m_pRcustom->SetValue( ColorToPercent_Impl( aCurrentColor.GetRed() ) );
m_pGcustom->SetValue( ColorToPercent_Impl( aCurrentColor.GetGreen() ) );
m_pBcustom->SetValue( ColorToPercent_Impl( aCurrentColor.GetBlue() ) );
m_pHexcustom->SetColor( aCurrentColor.GetColor() );
}
}
}
m_pCtlPreviewOld->SetAttributes( aXFillAttr.GetItemSet() );
m_pCtlPreviewOld->Invalidate();
m_pCtlPreviewOld->SetAttributes( aXFillAttr.GetItemSet() );
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 )
bool SvxColorTabPage::FillItemSet( SfxItemSet* rSet )
{
if( ( nDlgType != 0 ) ||
( *pPageType == PageType::Color && !*pbAreaTP ) )
{
maPaletteManager.AddRecentColor(aCurrentColor, "#" + aCurrentColor.AsRGBHexString().toAsciiUpperCase());
rSet->Put( XFillColorItem( OUString(), aCurrentColor ) );
rSet->Put( XFillStyleItem( drawing::FillStyle_SOLID ) );
}
maPaletteManager.AddRecentColor( aCurrentColor, OUString() );
rSet->Put( XFillColorItem( OUString(), aCurrentColor ) );
rSet->Put( XFillStyleItem( drawing::FillStyle_SOLID ) );
return true;
}
......@@ -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) t;
......
......@@ -58,10 +58,7 @@ SvxHatchTabPage::SvxHatchTabPage
m_rOutAttrs ( rInAttrs ),
m_pnHatchingListState ( nullptr ),
m_pnColorListState ( nullptr ),
m_pPageType ( nullptr ),
m_nDlgType ( 0 ),
m_pPos ( nullptr ),
m_pbAreaTP ( nullptr ),
m_aXFStyleItem ( drawing::FillStyle_HATCH ),
m_aXHatchItem ( OUString(), XHatch() ),
......@@ -167,61 +164,56 @@ void SvxHatchTabPage::ActivatePage( const SfxItemSet& rSet )
sal_Int32 nPos;
sal_Int32 nCount;
if( m_nDlgType == 0 ) // area dialog
if( m_pColorList.is() )
{
*m_pbAreaTP = false;
if( m_pColorList.is() )
// ColorList
if( *m_pnColorListState & ChangeType::CHANGED ||
*m_pnColorListState & ChangeType::MODIFIED )
{
// ColorList
if( *m_pnColorListState & ChangeType::CHANGED ||
*m_pnColorListState & ChangeType::MODIFIED )
{
if( *m_pnColorListState & ChangeType::CHANGED )
m_pColorList = static_cast<SvxAreaTabDialog*>( GetParentDialog() )->GetNewColorList();
// LbLineColor
nPos = m_pLbLineColor->GetSelectEntryPos();
m_pLbLineColor->Clear();
m_pLbLineColor->Fill( m_pColorList );
nCount = m_pLbLineColor->GetEntryCount();
if( nCount == 0 )
; // this case should not occur
else if( nCount <= nPos )
m_pLbLineColor->SelectEntryPos( 0 );
else
m_pLbLineColor->SelectEntryPos( nPos );
ModifiedHdl_Impl( this );
}
if( *m_pnColorListState & ChangeType::CHANGED )
m_pColorList = static_cast<SvxAreaTabDialog*>( GetParentDialog() )->GetNewColorList();
// LbLineColor
nPos = m_pLbLineColor->GetSelectEntryPos();
m_pLbLineColor->Clear();
m_pLbLineColor->Fill( m_pColorList );
nCount = m_pLbLineColor->GetEntryCount();
if( nCount == 0 )
; // this case should not occur
else if( nCount <= nPos )
m_pLbLineColor->SelectEntryPos( 0 );
else
m_pLbLineColor->SelectEntryPos( nPos );
// determining (possibly cutting) the name
// and displaying it in the GroupBox
OUString aString( CUI_RES( RID_SVXSTR_TABLE ) );
aString += ": ";
INetURLObject aURL( m_pHatchingList->GetPath() );
ModifiedHdl_Impl( this );
}
aURL.Append( m_pHatchingList->GetName() );
SAL_WARN_IF( aURL.GetProtocol() == INetProtocol::NotValid, "cui.tabpages", "invalid URL" );
// determining (possibly cutting) the name
// and displaying it in the GroupBox
OUString aString( CUI_RES( RID_SVXSTR_TABLE ) );
aString += ": ";
INetURLObject aURL( m_pHatchingList->GetPath() );
if ( aURL.getBase().getLength() > 18 )
{
aString += aURL.getBase().copy( 0, 15 ) + "...";
}
else
aString += aURL.getBase();
aURL.Append( m_pHatchingList->GetName() );
SAL_WARN_IF( aURL.GetProtocol() == INetProtocol::NotValid, "cui.tabpages", "invalid URL" );
if( *m_pPageType == PageType::Hatch && *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();
if ( aURL.getBase().getLength() > 18 )
{
aString += aURL.getBase().copy( 0, 15 ) + "...";
}
else
aString += aURL.getBase();
*m_pPageType = PageType::Hatch;
*m_pPos = LISTBOX_ENTRY_NOTFOUND;
*m_pPos = SearchHatchList( ( &static_cast<const XFillHatchItem&>( rSet.Get(XATTR_FILLHATCH)) )->GetName() );
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)));
......@@ -281,42 +273,35 @@ sal_Int32 SvxHatchTabPage::SearchHatchList(const OUString& rHatchName)
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 )
{
std::unique_ptr<XHatch> pXHatch;
pXHatch.reset(new XHatch( m_pLbLineColor->GetSelectEntryColor(),
(css::drawing::HatchStyle) m_pLbLineType->GetSelectEntryPos(),
GetCoreValue( *m_pMtrDistance, m_ePoolUnit ),
static_cast<long>(m_pMtrAngle->GetValue() * 10) ));
OUString aString;
if( !( m_pMtrDistance->IsValueChangedFromSaved() ||
m_pMtrAngle->IsValueChangedFromSaved() ||
m_pLbLineType->IsValueChangedFromSaved() ||
m_pLbLineColor->IsValueChangedFromSaved() ||
m_pHatchLB->IsValueChangedFromSaved() ) )
{
aString = m_pHatchLB->GetItemText( m_pHatchLB->GetSelectItemId() );;
}
assert( pXHatch && "XHatch couldn't be created" );
rSet->Put( XFillStyleItem( drawing::FillStyle_HATCH ) );
rSet->Put( XFillHatchItem( aString, *pXHatch ) );
rSet->Put( XFillBackgroundItem( m_pCbBackgroundColor->IsChecked() ) );
if(m_pCbBackgroundColor->IsChecked())
{
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() ) );
}
}
pXHatch.reset(new XHatch( m_pHatchingList->GetHatch( static_cast<sal_uInt16>(nPos) )->GetHatch() ));
aString = m_pHatchLB->GetItemText( m_pHatchLB->GetSelectItemId() );
}
// gradient has been (unidentifiedly) passed
else
{
pXHatch.reset(new XHatch( m_pLbLineColor->GetSelectEntryColor(),
(css::drawing::HatchStyle) m_pLbLineType->GetSelectEntryPos(),
GetCoreValue( *m_pMtrDistance, m_ePoolUnit ),
static_cast<long>(m_pMtrAngle->GetValue() * 10) ));
}
assert( pXHatch && "XHatch couldn't be created" );
rSet->Put( XFillStyleItem( drawing::FillStyle_HATCH ) );
rSet->Put( XFillHatchItem( aString, *pXHatch ) );
rSet->Put( XFillBackgroundItem( m_pCbBackgroundColor->IsChecked() ) );
if(m_pCbBackgroundColor->IsChecked())
{
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;
}
......@@ -418,7 +403,7 @@ void SvxHatchTabPage::ChangeHatchHdl_Impl()
size_t nPos = m_pHatchLB->GetSelectItemPos();
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
{
const SfxPoolItem* pPoolItem = nullptr;
......@@ -547,7 +532,7 @@ IMPL_LINK_NOARG(SvxHatchTabPage, ClickModifyHdl_Impl, Button*, void)
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(),
(css::drawing::HatchStyle) m_pLbLineType->GetSelectEntryPos(),
......@@ -556,7 +541,7 @@ IMPL_LINK_NOARG(SvxHatchTabPage, ClickModifyHdl_Impl, Button*, void)
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->InsertItem( nId, Image(aBitmap), aName, static_cast<sal_uInt16>(nPos) );
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