summaryrefslogtreecommitdiff
path: root/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/sidebar/possize/PosSizePropertyPanel.cxx')
-rw-r--r--svx/source/sidebar/possize/PosSizePropertyPanel.cxx34
1 files changed, 32 insertions, 2 deletions
diff --git a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
index 69b4739ede2c..d631d5e57499 100644
--- a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
+++ b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
@@ -27,6 +27,7 @@
#include <svx/svxids.hrc>
#include <sfx2/dispatch.hxx>
#include <sfx2/bindings.hxx>
+#include <sfx2/lokhelper.hxx>
#include <sfx2/module.hxx>
#include <sfx2/viewsh.hxx>
#include <sfx2/objsh.hxx>
@@ -49,6 +50,7 @@
#include <svx/transfrmhelper.hxx>
#include <svtools/unitconv.hxx>
+#include <comphelper/lok.hxx>
using namespace css;
using namespace css::uno;
@@ -107,6 +109,7 @@ PosSizePropertyPanel::PosSizePropertyPanel(
get( mpDial, "orientationcontrol" );
get( mpFtFlip, "fliplabel" );
get( mpFlipTbx, "selectrotationtype" );
+ get( mpBtnEditChart, "btnEditChart" );
Initialize();
mpBindings->Update( SID_ATTR_METRIC );
@@ -136,6 +139,7 @@ void PosSizePropertyPanel::dispose()
mpDial.clear();
mpFtFlip.clear();
mpFlipTbx.clear();
+ mpBtnEditChart.clear();
maTransfPosXControl.dispose();
maTransfPosYControl.dispose();
@@ -205,6 +209,8 @@ void PosSizePropertyPanel::Initialize()
//flip:
mpFlipTbx->SetSelectHdl( LINK( this, PosSizePropertyPanel, FlipHdl) );
+ mpBtnEditChart->SetClickHdl( LINK( this, PosSizePropertyPanel, ClickChartEditHdl ) );
+
mpMtrAngle->InsertValue(0, FieldUnit::CUSTOM);
mpMtrAngle->InsertValue(4500, FieldUnit::CUSTOM);
mpMtrAngle->InsertValue(9000, FieldUnit::CUSTOM);
@@ -270,6 +276,8 @@ void PosSizePropertyPanel::HandleContextChange(
bool bShowPosition = false;
bool bShowAngle = false;
bool bShowFlip = false;
+ bool bShowEditChart = false;
+ bool bIsMobile = comphelper::LibreOfficeKit::isActive() && comphelper::LibreOfficeKit::isMobile(SfxLokHelper::getView());
switch (maContext.GetCombinedContext_DI())
{
@@ -295,14 +303,24 @@ void PosSizePropertyPanel::HandleContextChange(
bShowFlip = true;
break;
+ case CombinedEnumContext(Application::WriterVariants, Context::OLE):
+ if (bIsMobile)
+ bShowEditChart = true;
+ break;
+
+ case CombinedEnumContext(Application::Calc, Context::OLE):
+ case CombinedEnumContext(Application::DrawImpress, Context::OLE):
+ bShowPosition = true;
+ if (bIsMobile)
+ bShowEditChart = true;
+ break;
+
case CombinedEnumContext(Application::Calc, Context::Chart):
case CombinedEnumContext(Application::Calc, Context::Form):
case CombinedEnumContext(Application::Calc, Context::Media):
- case CombinedEnumContext(Application::Calc, Context::OLE):
case CombinedEnumContext(Application::Calc, Context::MultiObject):
case CombinedEnumContext(Application::DrawImpress, Context::Media):
case CombinedEnumContext(Application::DrawImpress, Context::Form):
- case CombinedEnumContext(Application::DrawImpress, Context::OLE):
case CombinedEnumContext(Application::DrawImpress, Context::ThreeDObject):
case CombinedEnumContext(Application::DrawImpress, Context::MultiObject):
bShowPosition = true;
@@ -324,6 +342,9 @@ void PosSizePropertyPanel::HandleContextChange(
mpFtFlip->Show(bShowFlip);
mpFlipTbx->Show(bShowFlip);
+ // Edit Chart
+ mpBtnEditChart->Show(bShowEditChart);
+
if (mxSidebar.is())
mxSidebar->requestLayout();
}
@@ -498,6 +519,15 @@ IMPL_LINK( PosSizePropertyPanel, FlipHdl, ToolBox*, pBox, void )
}
}
+IMPL_STATIC_LINK_NOARG( PosSizePropertyPanel, ClickChartEditHdl, Button*, void )
+{
+ SfxViewShell* pCurSh = SfxViewShell::Current();
+ if ( pCurSh)
+ {
+ pCurSh->DoVerb( -1 );
+ }
+}
+
void PosSizePropertyPanel::NotifyItemUpdate(
sal_uInt16 nSID,