• <menu id="w2i4a"></menu>
  • logo Visual Paradigm教程

    文檔首頁>>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):示例插件的下載地址>>

        Visual Paradigm v14.1下載>>

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();