我是ruby和sketchup的初学者。
打开导入对话框时,我需要同时选择并导入多个文件。我使用了一个类,它继承自SketchUp的Importer接口。但是,如果我想导入多个文件,这意味着我必须多次打开导入器对话框。这很不方便。
导入后,它将返回我导入的所有文件的所有路径
。您是否有任何想法实现它?
非常感谢你!
答案 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