summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--svx/source/uitest/sdrobject.cxx26
-rw-r--r--uitest/impress_tests/drawinglayer.py19
2 files changed, 42 insertions, 3 deletions
diff --git a/svx/source/uitest/sdrobject.cxx b/svx/source/uitest/sdrobject.cxx
index 9142cfdb3db1..eaf56ba8012d 100644
--- a/svx/source/uitest/sdrobject.cxx
+++ b/svx/source/uitest/sdrobject.cxx
@@ -72,9 +72,29 @@ void SdrUIObject::execute(const OUString& rAction,
}
else if (rAction == "RESIZE")
{
- Point aPos;
- Fraction aFracX;
- Fraction aFracY;
+ auto itrNX = rParameters.find("X");
+ if (itrNX == rParameters.end())
+ throw css::uno::RuntimeException("missing parameter X");
+
+ auto itrNY = rParameters.find("Y");
+ if (itrNY == rParameters.end())
+ throw css::uno::RuntimeException("missing parameter Y");
+
+ long nX = itrNX->second.toInt32();
+ long nY = itrNY->second.toInt32();
+ Point aPos(nX, nY);
+
+ auto itrFracX = rParameters.find("FRAC_X");
+ if (itrFracX == rParameters.end())
+ throw css::uno::RuntimeException("missing parameter FRAC_X");
+ double nFracX = itrFracX->second.toDouble();
+ Fraction aFracX(nFracX);
+
+ auto itrFracY = rParameters.find("FRAC_Y");
+ if (itrFracY == rParameters.end())
+ throw css::uno::RuntimeException("missing parameter FRAC_Y");
+ double nFracY = itrFracY->second.toDouble();
+ Fraction aFracY(nFracY);
bool bRelative = true;
pObj->Resize(aPos, aFracX, aFracY, bRelative);
}
diff --git a/uitest/impress_tests/drawinglayer.py b/uitest/impress_tests/drawinglayer.py
index 76574461c73f..8426f7e5f650 100644
--- a/uitest/impress_tests/drawinglayer.py
+++ b/uitest/impress_tests/drawinglayer.py
@@ -33,3 +33,22 @@ class ImpressDrawinglayerTest(UITestCase):
time.sleep(10)
self.ui_test.close_doc()
+
+ def test_resize_object(self):
+ self.ui_test.create_doc_in_start_center("impress")
+
+ xTemplateDlg = self.xUITest.getTopFocusWindow()
+ xCancelBtn = xTemplateDlg.getChild("cancel")
+ self.ui_test.close_dialog_through_button(xCancelBtn)
+
+ xImpressDoc = self.xUITest.getTopFocusWindow()
+
+ xEditWin = xImpressDoc.getChild("impress_win")
+
+ xDrawinglayerObject = xEditWin.getChild("Unnamed Drawinglayer object 1")
+ print(get_state_as_dict(xDrawinglayerObject))
+ xDrawinglayerObject.executeAction("RESIZE", mkPropertyValues({"X": "500", "Y":"4000", "FRAC_X": "0.5", "FRAC_Y": "0.5"}))
+
+ time.sleep(5)
+
+ self.ui_test.close_doc()