在sketchup ruby​​ api中导入相同类型的多个文件

时间:2014-01-09 04:35:37

标签: ruby sketchup

我是ruby和sketchup的初学者。

打开导入对话框时,我需要同时选择并导入多个文件。我使用了一个类,它继承自SketchUp的Importer接口。但是,如果我想导入多个文件,这意味着我必须多次打开导入器对话框。这很不方便。

导入后,它将返回我导入的所有文件的所有路径

您是否有任何想法实现它?

非常感谢你!

1 个答案:

答案 0 :(得分:2)

不幸的是,Ruby API没有实现任何API来在文件对话框中选择多个文件。

此外,如果您使用Importer类,则会显示它所显示的文件对话框。它只是单一选择。

如果你知道应该读取文件夹中的所有文件,你应该让用户选择一个文件,然后从中提取路径并读取该目录中的所有文件。

如果你放弃Importer课程,你可以自己选择。然后,最好创建一个Ruby C扩展,调用OS API来显示多选对话框。

或者,您可以创建一个显示文件的WebDialog,并让用户选择多个文件。但这意味着你必须从头开始创建所有的UI,它不会像本机操作系统文件对话框一样。 http://www.sketchup.com/intl/en/developer/docs/ourdoc/webdialog.php https://github.com/thomthom/sketchup-webdialogs-the-lost-manual/wiki

如果您正在制作仅限Windows的插件,则可以使用HTML5的拖放功能。虽然这也有要求用户拥有最新IE版本的缺点。 (当SU未激活时,OSX会隐藏WebDialogs - 因此当您从Finder拖动文件时,不能将其用作放置目标。) 我不久前做了一个概念证明:https://github.com/thomthom/DropZone