原創|使用教程|編輯:郝浩|2017-07-14 14:09:01.000|閱讀 311 次
概述:使用Open API,你可以通過創建插件來進行程序化控制。在本文中,我們將向你展示如何更改所選定的父模型元素中子元素的順序。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
模型資源管理器是在項目中顯示整個模型集合以及它們的結構的地方。通過使用不同的排序算法,Visual Paradigm提供了展示模型中元素的不同方法,但即使是最好的排序算法有時也不適合你。在這種情況下,您可能需要以你想要的方式對排列元素手動排序。使用Open API,你可以通過創建插件來進行程序化控制。在本文中,我們將向你展示如何更改所選定的父模型元素中子元素的順序。
首先,我們必須從模型資源管理器樹中獲取所選的元素。
// Obtain the selected elements in Model Explorer tree Object[] selectedObjects = ApplicationManager.instance().getViewManager().getSelectedObjectsFromModelExplorer(); if (selectedObjects != null && selectedObjects.length > 0) { // Get the first element in selection Object selectedObject = selectedObjects[0];
一旦我們獲得了選中的元素,我們就會將所有的子元素檢索到一個數組中。
if (selectedObject instanceof IModelElement) { IModelElement parent = (IModelElement) selectedObject; // Obtain the child model element from the selected model element IModelElement[] children = parent.toChildArray();
接下來,我們將子元素的順序從一個數組移到另一個數組中。
if (children != null && children.length > 0) { // Put the child elements into another collection with order shifted for one // then remove the child element form parent IModelElement[] newOrder = new IModelElement[children.length]; for (int i = 0; i < children.length; i++) { if (children.length > i+1) { newOrder[i+1] = children[i]; } else { newOrder[0] = children[i]; } parent.removeChild(children[i]); }
最后,我們將子元素添加回父元素中。
// Add the child element back to parent according to the shifted order for (IModelElement child : newOrder) { parent.addChild(child); }
示例插件展示了如何更改模型資源管理器中所選元素的子元素的順序。當你將插件部署到Visual Paradigm之后,你可以從模型資源管理器(Model Explorer)樹中選擇元素然后點擊插件按鈕插件按鈕來交換子元素的順序。
相關:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn