文檔首頁>>Visual Paradigm教程>>Visual Paradigm教程:如何使用Open API更改子元素的順序
Visual Paradigm教程:如何使用Open API更改子元素的順序
模型資源管理器是在項目中顯示整個模型集合以及它們的結(jié)構(gòu)的地方。通過使用不同的排序算法,Visual Paradigm提供了展示模型中元素的不同方法,但即使是最好的排序算法有時也不適合你。在這種情況下,您可能需要以你想要的方式對排列元素手動排序。使用Open API,你可以通過創(chuàng)建插件來進行程序化控制。在本文中,我們將向你展示如何更改所選定的父模型元素中子元素的順序。
獲取需要更改子元素順序的選定元素
首先,我們必須從模型資源管理器樹中獲取所選的元素。
// 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];
將子元素檢索到數(shù)組中
一旦我們獲得了選中的元素,我們就會將所有的子元素檢索到一個數(shù)組中。
if (selectedObject instanceof IModelElement) { IModelElement parent = (IModelElement) selectedObject; // Obtain the child model element from the selected model element IModelElement[] children = parent.toChildArray();
更改子元素的順序
接下來,我們將子元素的順序從一個數(shù)組移到另一個數(shù)組中。
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)樹中選擇元素然后點擊插件按鈕插件按鈕來交換子元素的順序。
相關(guān):示例插件的下載地址>>