[ Skill ] Form 高級用法 Tree Table


https://www.cnblogs.com/yeungchie/

code

1. 創建一個 tree 作為主 tree

mainTree = hiCreateTree('mainTree)

2. 創建兩個 tree item

treeItem1 = hiCreateTreeItem('treeItem1 list("FEOL"))
treeItem2 = hiCreateTreeItem('treeItem2 list("BEOL"))
  • 將這兩個 tree item 追加到主 tree (mainTree) 中

這一步是 mainTree \(\supset\) treeItem

hiTreeAppendItem(mainTree treeItem1)
hiTreeAppendItem(mainTree treeItem2)

3. 又創建兩個 tree 作為子 tree

subTree1 = hiCreateTree('subTree1)
subTree2 = hiCreateTree('subTree2)
  • 分別將這兩個子 tree 插入到對應的 tree item (treeItem1 treeItem2) 中

這一步是 treeItem \(\supset\) subTree

hiItemInsertTree(treeItem1 subTree1)
hiItemInsertTree(treeItem2 subTree2)

4. 雙叒創建一些 tree item

這里處理 subTree \(\supset\) subTreeItem
tree 和 item 的關系理清之后,合並起來寫更簡潔

hiTreeAppendItem(subTree1
    ; 創建 tree item 的同時追加到對應的 tree 中
    hiCreateTreeItem('subTree11 list( "Active" 3  0 nil ))
)
hiTreeAppendItem(subTree1
    hiCreateTreeItem('subTree12 list( "POLY"   13 0 nil ))
)
hiTreeAppendItem(subTree2
    hiCreateTreeItem('subTree21 list( "METAL1" 16 0 0.8 ))
)
hiTreeAppendItem(subTree2
    hiCreateTreeItem('subTree22 list( "METAL2" 18 0 nil ))
)
hiTreeAppendItem(subTree2
    hiCreateTreeItem('subTree23 list( "METAL3" 28 0 nil ))
)

5. 創建 tree table

treeField = hiCreateTreeTable(
    ?name           'treeField
    ?title          "Process information"
    ?titleAlignment 'center
    ?headers        list(
        ; list(  標題     寬度  對齊   數據類型  )
        list("Layer Name" 125 'left   'string  ) 
        list("GDS Number" 85  'center 'int     )
        list("Data Type"  85  'center 'int     )
        list("Thickness " 80  'right  'float3  )
    )
    ?choice     mainTree    ; 將主 tree 賦值給 ?choice
    ?callback   "treeCB"
)

6. 創建 form

form = hiCreateAppForm(
    ?name           'form
    ?formTitle      "Process"
    ?fields         list(
        list(treeField  0:0  380:200  25)
    )
    ?initialSize    500:250
)

7. 創建 callback 函數

procedure(treeCB(name itemSymList)
    while(itemSymList
        itemSym = car(itemSymList)
        println(hiGetTreeItemDescription(eval(itemSym)))
        itemSymList = cdr(itemSymList)
    )
)

8. 最后把這個 form 顯示出來

hiDisplayForm(form)

show


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM