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

update gradients in sidebar as well

Change-Id: I0dc737c133e905d75fab23457fb86c8d2b724ce8
üst e4daf8be
...@@ -127,6 +127,7 @@ class ChartWindow; ...@@ -127,6 +127,7 @@ class ChartWindow;
class DrawModelWrapper; class DrawModelWrapper;
class DrawViewWrapper; class DrawViewWrapper;
class ReferenceSizeProvider; class ReferenceSizeProvider;
class ViewElementListProvider;
class ChartController : public ::cppu::WeakImplHelper12 < class ChartController : public ::cppu::WeakImplHelper12 <
::com::sun::star::frame::XController //comprehends XComponent (required interface) ::com::sun::star::frame::XController //comprehends XComponent (required interface)
...@@ -433,6 +434,8 @@ public: ...@@ -433,6 +434,8 @@ public:
bool isShapeContext() const; bool isShapeContext() const;
ViewElementListProvider getViewElementListProvider();
DECL_LINK( NotifyUndoActionHdl, SdrUndoAction* ); DECL_LINK( NotifyUndoActionHdl, SdrUndoAction* );
public: public:
......
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
#include "DrawCommandDispatch.hxx" #include "DrawCommandDispatch.hxx"
#include "ShapeController.hxx" #include "ShapeController.hxx"
#include "UndoActions.hxx" #include "UndoActions.hxx"
#include "ViewElementListProvider.hxx"
#include <comphelper/InlineContainer.hxx> #include <comphelper/InlineContainer.hxx>
#include <cppuhelper/supportsservice.hxx> #include <cppuhelper/supportsservice.hxx>
...@@ -1623,6 +1624,11 @@ void ChartController::impl_initializeAccessible( const uno::Reference< lang::XIn ...@@ -1623,6 +1624,11 @@ void ChartController::impl_initializeAccessible( const uno::Reference< lang::XIn
; ;
} }
ViewElementListProvider ChartController::getViewElementListProvider()
{
return ViewElementListProvider(m_pDrawModelWrapper.get());
}
} //namespace chart } //namespace chart
extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "ChartAreaPanel.hxx" #include "ChartAreaPanel.hxx"
#include "ChartController.hxx" #include "ChartController.hxx"
#include "ViewElementListProvider.hxx"
#include <svx/xfltrit.hxx> #include <svx/xfltrit.hxx>
#include <svx/xflftrit.hxx> #include <svx/xflftrit.hxx>
...@@ -42,6 +43,33 @@ css::uno::Reference<css::beans::XPropertySet> getPropSet( ...@@ -42,6 +43,33 @@ css::uno::Reference<css::beans::XPropertySet> getPropSet(
return ObjectIdentifier::getObjectPropertySet(aCID, xModel); return ObjectIdentifier::getObjectPropertySet(aCID, xModel);
} }
XGradient getXGradientForName(css::uno::Reference<css::frame::XModel> xModel,
const OUString& rName)
{
css::uno::Reference<css::frame::XController>xController = xModel->getCurrentController();
if (!xController.is())
return XGradient();
ChartController* pController = dynamic_cast<ChartController*>(xController.get());
if (!pController)
return XGradient();
ViewElementListProvider aProvider = pController->getViewElementListProvider();
XGradientListRef aRef = aProvider.GetGradientList();
size_t n = aRef->Count();
for (size_t i = 0; i < n; ++i)
{
XGradientEntry* pGradient = aRef->GetGradient(i);
if (!pGradient)
continue;
if (pGradient->GetName() == rName)
return XGradient(pGradient->GetGradient());
}
return XGradient();
}
class PreventUpdate class PreventUpdate
{ {
public: public:
...@@ -215,6 +243,12 @@ void ChartAreaPanel::updateData() ...@@ -215,6 +243,12 @@ void ChartAreaPanel::updateData()
xPropSet->getPropertyValue("Transparency") >>= nFillTransparence; xPropSet->getPropertyValue("Transparency") >>= nFillTransparence;
SfxUInt16Item aTransparenceItem(0, nFillTransparence); SfxUInt16Item aTransparenceItem(0, nFillTransparence);
updateFillTransparence(false, true, &aTransparenceItem); updateFillTransparence(false, true, &aTransparenceItem);
OUString aGradientName;
xPropSet->getPropertyValue("GradientName") >>= aGradientName;
XGradient xGradient = getXGradientForName(mxModel, aGradientName);
XFillGradientItem aGradientItem(aGradientName, xGradient);
updateFillGradient(false, true, &aGradientItem);
} }
void ChartAreaPanel::modelInvalid() void ChartAreaPanel::modelInvalid()
......
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