Kaydet (Commit) c6ac33db authored tarafından Markus Mohrhard's avatar Markus Mohrhard

extract some code for reuse by chart2 sidebar

Change-Id: I44e2378dafa66f53588027cca56dc52cb4cec794
üst ab0c81c0
...@@ -97,6 +97,14 @@ public: ...@@ -97,6 +97,14 @@ public:
virtual void setFillStyleAndHatch(const XFillStyleItem* pStyleItem, const XFillHatchItem& aHatchItem) = 0; virtual void setFillStyleAndHatch(const XFillStyleItem* pStyleItem, const XFillHatchItem& aHatchItem) = 0;
virtual void setFillStyleAndBitmap(const XFillStyleItem* pStyleItem, const XFillBitmapItem& aHatchItem) = 0; virtual void setFillStyleAndBitmap(const XFillStyleItem* pStyleItem, const XFillBitmapItem& aHatchItem) = 0;
void updateFillTransparence(bool bDisabled, bool bDefault, const SfxUInt16Item* pItem);
void updateFillFloatTransparence(bool bDisabled, bool bDefault, const XFillFloatTransparenceItem* pItem);
void updateFillStyle(bool bDisabled, bool bDefault, const XFillStyleItem* pItem);
void updateFillGradient(bool bDisabled, bool bDefault, const XFillGradientItem* pItem);
void updateFillHatch(bool bDisabled, bool bDefault, const XFillHatchItem* pItem);
void updateFillColor(bool bDefault, const XFillColorItem* pItem);
void updateFillBitmap(bool BDisabled, bool bDefault, const XFillBitmapItem* pItem);
protected: protected:
sal_uInt16 meLastXFS; sal_uInt16 meLastXFS;
......
...@@ -592,226 +592,248 @@ void AreaPropertyPanelBase::ImpUpdateTransparencies() ...@@ -592,226 +592,248 @@ void AreaPropertyPanelBase::ImpUpdateTransparencies()
} }
} }
void AreaPropertyPanelBase::NotifyItemUpdate( void AreaPropertyPanelBase::updateFillTransparence(bool bDisabled, bool bDefault, const SfxUInt16Item* pItem)
sal_uInt16 nSID,
SfxItemState eState,
const SfxPoolItem* pState,
const bool /*bIsEnabled*/)
{ {
const bool bDisabled(SfxItemState::DISABLED == eState); if (bDisabled)
{
mpTransparanceItem.reset();
return;
}
else if(bDefault)
{
if(pItem && (!mpTransparanceItem || *pItem != *mpTransparanceItem))
{
mpTransparanceItem.reset(static_cast<SfxUInt16Item*>(pItem->Clone()));
}
else
{
mpTransparanceItem.reset();
}
}
else
{
mpTransparanceItem.reset();
}
switch(nSID) // update transparency settings dependent of mpTransparanceItem and mpFloatTransparenceItem
ImpUpdateTransparencies();
}
void AreaPropertyPanelBase::updateFillFloatTransparence(bool bDisabled, bool bDefault, const XFillFloatTransparenceItem* pItem)
{
if (bDisabled)
{ {
case SID_ATTR_FILL_TRANSPARENCE: mpFloatTransparenceItem.reset();
case SID_ATTR_FILL_FLOATTRANSPARENCE: return;
}
if(bDefault)
{
if(pItem && (!mpFloatTransparenceItem || *pItem != *mpFloatTransparenceItem))
{
mpFloatTransparenceItem.reset(static_cast<XFillFloatTransparenceItem*>(pItem->Clone()));
}
else
{ {
bool bFillTransparenceChanged(false); mpFloatTransparenceItem.reset();
}
}
else
{
mpFloatTransparenceItem.reset();
}
if(SID_ATTR_FILL_TRANSPARENCE == nSID) // update transparency settings dependent of mpTransparanceItem and mpFloatTransparenceItem
{ ImpUpdateTransparencies();
bFillTransparenceChanged = true; }
if(eState >= SfxItemState::DEFAULT) void AreaPropertyPanelBase::updateFillStyle(bool bDisabled, bool bDefault, const XFillStyleItem* pItem)
{ {
const SfxUInt16Item* pItem = dynamic_cast< const SfxUInt16Item* >(pState); if(bDisabled)
{
mpLbFillType->Disable();
mpColorTextFT->Disable();
mpLbFillType->SetNoSelection();
mpLbFillAttr->Show();
mpLbFillAttr->Disable();
mpLbFillAttr->SetNoSelection();
mpToolBoxColor->Hide();
meLastXFS = static_cast<sal_uInt16>(-1);
mpStyleItem.reset();
}
else if(bDefault && pItem)
{
mpStyleItem.reset(dynamic_cast< XFillStyleItem* >(pItem->Clone()));
mpLbFillType->Enable();
mpColorTextFT->Enable();
drawing::FillStyle eXFS = (drawing::FillStyle)mpStyleItem->GetValue();
meLastXFS = eXFS;
mpLbFillType->SelectEntryPos(sal::static_int_cast< sal_Int32 >(eXFS));
if(drawing::FillStyle_NONE == eXFS)
{
mpLbFillAttr->SetNoSelection();
mpLbFillAttr->Disable();
}
if(pItem && (!mpTransparanceItem || *pItem != *mpTransparanceItem)) Update();
{ return;
mpTransparanceItem.reset(static_cast<SfxUInt16Item*>(pItem->Clone())); }
}
else
{
mpTransparanceItem.reset();
}
}
else
{
mpTransparanceItem.reset();
}
}
else // if(SID_ATTR_FILL_FLOATTRANSPARENCE == nSID)
{
bFillTransparenceChanged = true;
if(eState >= SfxItemState::DEFAULT) mpLbFillType->SetNoSelection();
{ mpLbFillAttr->Show();
const XFillFloatTransparenceItem* pItem = dynamic_cast< const XFillFloatTransparenceItem* >(pState); mpLbFillAttr->Disable();
mpLbFillAttr->SetNoSelection();
mpToolBoxColor->Hide();
meLastXFS = static_cast<sal_uInt16>(-1);
mpStyleItem.reset();
}
if(pItem && (!mpFloatTransparenceItem || *pItem != *mpFloatTransparenceItem)) void AreaPropertyPanelBase::updateFillGradient(bool bDisabled, bool bDefault, const XFillGradientItem* pItem)
{ {
mpFloatTransparenceItem.reset(static_cast<XFillFloatTransparenceItem*>(pItem->Clone())); if(bDefault)
} {
else mpFillGradientItem.reset(pItem ? static_cast<XFillGradientItem*>(pItem->Clone()) : 0);
{ }
mpFloatTransparenceItem.reset();
}
}
else
{
mpFloatTransparenceItem.reset();
}
}
if(bFillTransparenceChanged) if(mpStyleItem && drawing::FillStyle_GRADIENT == (drawing::FillStyle)mpStyleItem->GetValue())
{ {
// update transparency settings dependent of mpTransparanceItem and mpFloatTransparenceItem mpLbFillAttr->Show();
ImpUpdateTransparencies(); mpToolBoxColor->Hide();
}
break; if(bDefault)
{
mpLbFillAttr->Enable();
Update();
} }
case SID_ATTR_FILL_STYLE: else if(bDisabled)
{ {
if(bDisabled) mpLbFillAttr->Disable();
{ mpLbFillAttr->SetNoSelection();
mpLbFillType->Disable(); }
mpColorTextFT->Disable(); else
mpLbFillType->SetNoSelection(); {
mpLbFillAttr->Show(); mpLbFillAttr->SetNoSelection();
mpLbFillAttr->Disable(); }
mpLbFillAttr->SetNoSelection(); }
mpToolBoxColor->Hide(); }
meLastXFS = static_cast<sal_uInt16>(-1);
mpStyleItem.reset();
}
else if(eState >= SfxItemState::DEFAULT)
{
const XFillStyleItem* pItem = dynamic_cast< const XFillStyleItem* >(pState);
if(pItem) void AreaPropertyPanelBase::updateFillHatch(bool bDisabled, bool bDefault, const XFillHatchItem* pItem)
{ {
mpStyleItem.reset(dynamic_cast< XFillStyleItem* >(pItem->Clone())); if(bDefault)
mpLbFillType->Enable(); {
mpColorTextFT->Enable(); mpHatchItem.reset(pItem ? static_cast<XFillHatchItem*>(pItem->Clone()) : 0);
drawing::FillStyle eXFS = (drawing::FillStyle)mpStyleItem->GetValue(); }
meLastXFS = eXFS;
mpLbFillType->SelectEntryPos(sal::static_int_cast< sal_Int32 >(eXFS));
if(drawing::FillStyle_NONE == eXFS)
{
mpLbFillAttr->SetNoSelection();
mpLbFillAttr->Disable();
}
Update(); if(mpStyleItem && drawing::FillStyle_HATCH == (drawing::FillStyle)mpStyleItem->GetValue())
break; {
} mpLbFillAttr->Show();
} mpToolBoxColor->Hide();
mpLbFillType->SetNoSelection(); if(bDefault)
mpLbFillAttr->Show(); {
mpLbFillAttr->Enable();
Update();
}
else if(bDisabled)
{
mpLbFillAttr->Disable(); mpLbFillAttr->Disable();
mpLbFillAttr->SetNoSelection(); mpLbFillAttr->SetNoSelection();
mpToolBoxColor->Hide();
meLastXFS = static_cast<sal_uInt16>(-1);
mpStyleItem.reset();
break;
} }
case SID_ATTR_FILL_COLOR: else
{ {
if(SfxItemState::DEFAULT == eState) mpLbFillAttr->SetNoSelection();
{ }
mpColorItem.reset(pState ? static_cast<XFillColorItem*>(pState->Clone()) : 0); }
} }
if(mpStyleItem && drawing::FillStyle_SOLID == (drawing::FillStyle)mpStyleItem->GetValue()) void AreaPropertyPanelBase::updateFillColor(bool bDefault, const XFillColorItem* pItem)
{ {
mpLbFillAttr->Hide(); if(bDefault)
mpToolBoxColor->Show(); {
mpColorItem.reset(pItem ? static_cast<XFillColorItem*>(pItem->Clone()) : 0);
}
Update(); if(mpStyleItem && drawing::FillStyle_SOLID == (drawing::FillStyle)mpStyleItem->GetValue())
} {
break; mpLbFillAttr->Hide();
} mpToolBoxColor->Show();
case SID_ATTR_FILL_GRADIENT:
{
if(SfxItemState::DEFAULT == eState)
{
mpFillGradientItem.reset(pState ? static_cast<XFillGradientItem*>(pState->Clone()) : 0);
}
if(mpStyleItem && drawing::FillStyle_GRADIENT == (drawing::FillStyle)mpStyleItem->GetValue()) Update();
{ }
mpLbFillAttr->Show(); }
mpToolBoxColor->Hide();
if(SfxItemState::DEFAULT == eState) void AreaPropertyPanelBase::updateFillBitmap(bool bDisabled, bool bDefault, const XFillBitmapItem* pItem)
{ {
mpLbFillAttr->Enable(); if(bDefault)
Update(); {
} mpBitmapItem.reset(pItem ? static_cast<XFillBitmapItem*>(pItem->Clone()) : 0);
else if(SfxItemState::DISABLED == eState ) }
{
mpLbFillAttr->Disable();
mpLbFillAttr->SetNoSelection();
}
else
{
mpLbFillAttr->SetNoSelection();
}
}
break;
}
case SID_ATTR_FILL_HATCH:
{
if(SfxItemState::DEFAULT == eState)
{
mpHatchItem.reset(pState ? static_cast<XFillHatchItem*>(pState->Clone()) : 0);
}
if(mpStyleItem && drawing::FillStyle_HATCH == (drawing::FillStyle)mpStyleItem->GetValue()) if(mpStyleItem && drawing::FillStyle_BITMAP == (drawing::FillStyle)mpStyleItem->GetValue())
{ {
mpLbFillAttr->Show(); mpLbFillAttr->Show();
mpToolBoxColor->Hide(); mpToolBoxColor->Hide();
if(SfxItemState::DEFAULT == eState) if(bDefault)
{ {
mpLbFillAttr->Enable(); mpLbFillAttr->Enable();
Update(); Update();
}
else if(SfxItemState::DISABLED == eState )
{
mpLbFillAttr->Disable();
mpLbFillAttr->SetNoSelection();
}
else
{
mpLbFillAttr->SetNoSelection();
}
}
break;
} }
case SID_ATTR_FILL_BITMAP: else if(bDisabled)
{ {
if(SfxItemState::DEFAULT == eState) mpLbFillAttr->Disable();
{ mpLbFillAttr->SetNoSelection();
mpBitmapItem.reset(pState ? static_cast<XFillBitmapItem*>(pState->Clone()) : 0); }
} else
{
mpLbFillAttr->SetNoSelection();
}
}
}
if(mpStyleItem && drawing::FillStyle_BITMAP == (drawing::FillStyle)mpStyleItem->GetValue()) void AreaPropertyPanelBase::NotifyItemUpdate(
{ sal_uInt16 nSID,
mpLbFillAttr->Show(); SfxItemState eState,
mpToolBoxColor->Hide(); const SfxPoolItem* pState,
const bool /*bIsEnabled*/)
{
const bool bDisabled(SfxItemState::DISABLED == eState);
const bool bDefault(SfxItemState::DEFAULT == eState);
if(SfxItemState::DEFAULT == eState) switch(nSID)
{ {
mpLbFillAttr->Enable(); case SID_ATTR_FILL_TRANSPARENCE:
Update(); updateFillTransparence(bDisabled, bDefault,
} static_cast<const SfxUInt16Item*>(pState));
else if(SfxItemState::DISABLED == eState ) break;
{ case SID_ATTR_FILL_FLOATTRANSPARENCE:
mpLbFillAttr->Disable(); updateFillFloatTransparence(bDisabled, bDefault,
mpLbFillAttr->SetNoSelection(); static_cast<const XFillFloatTransparenceItem*>(pState));
} break;
else case SID_ATTR_FILL_STYLE:
{ updateFillStyle(bDisabled, bDefault,
mpLbFillAttr->SetNoSelection(); static_cast<const XFillStyleItem*>(pState));
} break;
} case SID_ATTR_FILL_COLOR:
break; updateFillColor(bDefault,
} static_cast<const XFillColorItem*>(pState));
break;
case SID_ATTR_FILL_GRADIENT:
updateFillGradient(bDisabled, bDefault,
static_cast<const XFillGradientItem*>(pState));
break;
case SID_ATTR_FILL_HATCH:
updateFillHatch(bDisabled, bDefault,
static_cast<const XFillHatchItem*>(pState));
break;
case SID_ATTR_FILL_BITMAP:
updateFillBitmap(bDisabled, bDefault,
static_cast<const XFillBitmapItem*>(pState));
break;
case SID_GRADIENT_LIST: case SID_GRADIENT_LIST:
{ {
if(SfxItemState::DEFAULT == eState) if(bDefault)
{ {
if(mpStyleItem && drawing::FillStyle_GRADIENT == (drawing::FillStyle)mpStyleItem->GetValue()) if(mpStyleItem && drawing::FillStyle_GRADIENT == (drawing::FillStyle)mpStyleItem->GetValue())
{ {
...@@ -836,7 +858,7 @@ void AreaPropertyPanelBase::NotifyItemUpdate( ...@@ -836,7 +858,7 @@ void AreaPropertyPanelBase::NotifyItemUpdate(
} }
case SID_HATCH_LIST: case SID_HATCH_LIST:
{ {
if(SfxItemState::DEFAULT == eState) if(bDefault)
{ {
if(mpStyleItem && drawing::FillStyle_HATCH == (drawing::FillStyle)mpStyleItem->GetValue()) if(mpStyleItem && drawing::FillStyle_HATCH == (drawing::FillStyle)mpStyleItem->GetValue())
{ {
...@@ -861,7 +883,7 @@ void AreaPropertyPanelBase::NotifyItemUpdate( ...@@ -861,7 +883,7 @@ void AreaPropertyPanelBase::NotifyItemUpdate(
} }
case SID_BITMAP_LIST: case SID_BITMAP_LIST:
{ {
if(SfxItemState::DEFAULT == eState) if(bDefault)
{ {
if(mpStyleItem && drawing::FillStyle_BITMAP == (drawing::FillStyle)mpStyleItem->GetValue()) if(mpStyleItem && drawing::FillStyle_BITMAP == (drawing::FillStyle)mpStyleItem->GetValue())
{ {
......
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