请选择 进入手机版 | 继续访问电脑版

LibreOffice 中文社区

 找回密码
 马上加入

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
开启左侧

请问LibreOffice SDK里Draw组件复制对象的对应API在哪儿?

[复制链接]
Scribus 发表于 2021-9-17 20:56:54 | 显示全部楼层 |阅读模式
请问LibreOffice SDK里Draw组件复制对象的命令,也就是Shapes菜单下Duplicate命令的对应API,是哪个,我在LibreOffice官方的SDK文档里只搜索到PageDuplicator.因为本人非常急用,先谢谢各位大佬指点.
高原之狼 发表于 2021-9-17 22:00:21 | 显示全部楼层
我完全不懂 SDK,但是可以指出一点:
LO 中(几乎?)所有能够用菜单栏运行的命令都是有对应的 UNO 命令的,由源码中 core/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu 文件第 750:757 行部分可知(也许有更好的别的地方可以查询?),菜单 Shape > Duplicate... 对应的 UNO 命令是 .uno:CopyObjects。


suokunlong 发表于 2021-9-18 13:18:40 | 显示全部楼层
直接变量2=变量2不行吗?

比如https://wiki.openoffice.org/wiki ... ide/Drawings/Shapes

[Bash shell] 纯文本查看 复制代码
  // query DrawPage for XShapes interface
  XShapes xShapes = (XShapes)UnoRuntime.queryInterface(XShapes.class, xDrawPage);
  // create the shape 
  XShape xShape = createShape(xComponent, 0, 0, 10000, 5000, "com.sun.star.drawing.RectangleShape");
  // add shape to DrawPage
  xShapes.add(xShape);
  // set text
  XText xText = (XText)UnoRuntime.queryInterface( XText.class, xShape );
  xText.setString("My new RectangleShape");
  // to be able to set Properties a XPropertySet interface is needed
  XPropertySet xPropSet = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xShape);
  xPropSet.setPropertyValue("CornerRadius", new Integer(1000));
  xPropSet.setPropertyValue("Shadow", new Boolean(true));
  xPopSet.setPropertyValue("ShadowXDistance", new Integer(250));
  xPropSet.setPropertyValue("ShadowYDistance", new Integer(250));
  // blue fill color
  xPropSet.setPropertyValue("FillColor", new Integer(0xC0C0C0));
  // black line color
  xPropSet.setPropertyValue("LineColor", new Integer(0x000000));
  xPropSet.setPropertyValue("Name", "Rounded Gray Rectangle");


这里面创建了一个形状叫xShape,那么如果想复制应该形状跟它长的一样,那其实xShape2=xShape, 然后通过setPropertyValue修改其放置在页面上的坐标,然后通过xShapes.add(xShape2)不就行了吗?


开放,包容,奉献。
suokunlong 发表于 2021-9-18 13:19:57 | 显示全部楼层
请提供你的代码并描述你想要达到的效果
开放,包容,奉献。
*滑块验证:
您需要登录后才可以回帖 登录 | 马上加入

本版积分规则

Archiver|手机版|小黑屋|LibreOffice 中文社区 ( 粤ICP备13080851号-4 )

GMT+8, 2021-10-28 12:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表