午夜伦理在线-午夜伦理在线观看-午夜毛片免费看-午夜美女久久久久爽久久-午夜免费

以文本方式查看主題

-  曙海教育集團論壇  (http://www.brpp.cn/bbs/index.asp)
--  Cadence PCB設計初中級  (http://www.brpp.cn/bbs/list.asp?boardid=57)
----  Cadence Allegro SKILL語言  (http://www.brpp.cn/bbs/dispbbs.asp?boardid=57&id=2276)

--  作者:wangxinxin
--  發布時間:2010-12-8 13:34:29
--  Cadence Allegro SKILL語言
大綱:
    (一)、SKILL基礎
    (二)、利用AXL接口操作Allegro PCB對象
    (三)、注冊和使用自定義Allegro命令
    (四)、Allegro UI界面設計和響應

Email: [email protected]   (以前的郵箱丟了)


四、Allegro UI界面設計和響應
1、簡介
    界面是交互設計中不可缺少的一部分,很多時候我們無法只讓程序孤芳自賞地運行
   
2、基于文本描述的SKILL界面設計
    例子:Example.form(簡單的幾段文字已經勾勒出我們想要的界面)
   
    FILE_TYPE=FORM_DEFN VERSION=2
    FORM
    FIXED
    PORT 26 20
   
    HEADER "FINDER..."
    TILE
    TEXT "COMPONENT LIST"
    TLOC 1 1
    FSIZE 25 3
    ENDTEXT
   
    FIELD Placed_List
    FLOC 1 3
    LIST "" 24 16
    OPTION sort
    ENDFIELD
    FIELD done
    FLOC 9 33
    MENUBUTTON "  OK  " 10 3
    ENDFIELD
    ENDTILE
    ENDFORM
   
3、測試Form的方法
    Form測試接口函數axlFormTest(s_formPath)
   
    示例:
        axlFormTest("C:\\\\Example.form")
   
    功能:
        利用這個函數可以檢查Form文件的語法以及Form的顯示效果, 編輯界面時不斷使用,使你的界面更加漂亮
        
    Tips:
        A、Allegro所有的Form文件都放在Setup - User Preferences...菜單,選擇UI_Path列別中的formpath。
           查看Allegro所有界面文件,很好的界面重用資源
           
        B、將自定義的Form文件放在formpath下可以不用寫絕對路徑調用,不信試試
        
4、界面工具開發ABCDE
    A、創建界面文件并使用axlFormCreate或axlMiniStatusLoad打開Form句柄(注意卸磨殺驢)
    B、使用axlFormSetField初始化界面區域
    C、axlFormDisplay顯示界面
    D、在axlFormCallback中定義用戶交互和區域響應
    E、使用axlFormClose關閉界面窗口
   
    /*
        功能:通過選擇界面列表框中的器件名稱瀏覽器件
        命令:OverviewComps
    */
   
    ;注冊命令
    axlCmdRegister("OverviewComps"  \'TestFormAppMainModule)
   
    ;創建界面文件并顯示界面(主模塊)
    procedure( TestFormAppMainModule()
    prog( (FileName  FilePort)
        ;寫文件生成界面文件
        FileName = "TestForm.form"
        FilePort = outfile(FileName  "w")
               
        fprintf(FilePort  "FILE_TYPE=FORM_DEFN VERSION=2\\n")
        fprintf(FilePort  "FORM\\n")
        fprintf(FilePort  "FIXED\\n")
        fprintf(FilePort  "PORT 26 20\\n\\n")
        
        fprintf(FilePort  "HEADER \\"FORM TEST...\\"\\n\\n")
        
        fprintf(FilePort  "TILE\\n\\n")
        
        fprintf(FilePort  "TEXT \\"ComponentList:\\"\\n\\n")
        fprintf(FilePort  "TLOC 1 1\\n")
        fprintf(FilePort  "FSIZE 25 3\\n")
        fprintf(FilePort  "ENDTEXT\\n\\n")
        
        fprintf(FilePort  "FIELD ComponentList\\n")
        fprintf(FilePort  "FLOC 1 3\\n")
        fprintf(FilePort  "LIST \\"\\" 24 16\\n")
        fprintf(FilePort  "OPTION sort\\n")
        fprintf(FilePort  "ENDFIELD\\n\\n")
        
        fprintf(FilePort  "FIELD Quit\\n")
        fprintf(FilePort  "FLOC 9 33\\n")
        fprintf(FilePort  "MENUBUTTON \\"EXIT\\" 10 3\\n")
        fprintf(FilePort  "ENDFIELD\\n\\n")
        
        fprintf(FilePort  "ENDTILE\\n\\n")
        
        fprintf(FilePort  "ENDFORM\\n\\n")
        
        close(FilePort)
        
        ;創建界面句柄,刪除界面文件(卸磨殺驢...)
        fw = axlFormCreate(gensym()  FileName  \'("E"  "OUTER")  \'TestFormAppCallBack  t)
        deleteFile(FileName)
        
        ;界面區域初始化
        TestFormFieldInit(fw)
        
        ;顯示界面
        axlFormDisplay(fw)
        
        return(t)
        
    ))
   
    ;界面區域初始化
    procedure( TestFormFieldInit(fw)
    prog( (CompsNameList)
        ;獲取所有的器件名稱
        CompsNameList = axlDBGetDesign()->components~>name
        
        ;設置器件列表區域
        axlFormSetField(fw  "ComponentList"  CompsNameList)
        
        return(t)
    ))
   
    ;界面區域響應回調函數
    procedure( TestFormAppCallBack(fw)
    prog( (CompName  CompId)
        case(fw->curField
            ("ComponentList"
                CompName = fw->curValue
                CompId = axlSelectByName("COMPONENT"  CompName)
               
                ;定位到對象
                axlZoomToDbid(CompId  t)
               
                ;顯示對象詳細信息
                axlShowObject(CompId)
            )
            
            ("Quit"
                ;清理現場
                axlClearSelSet()
                axlSetFindFilter(?enabled "NOALL"  ?onButtons "NOALL")
               
                axlFormClose(fw)
            )
        )  
        
        return(t)
        
    ))
   
5、參考文檔
    %CDSROOT%\\doc
   
    例子:
    D:\\DesignAdvance\\Cadence\\SPB_15.2\\doc
   
    參考手冊列表:
    algroskill          AXL接口函數參考手冊
   
    Tips:
        看看下面的路徑下是什么東西,保證樂死你... ...
        %CDSROOT%\\share\\pcb\\example\\skill
        
6、課后習題
    搞懂%CDSROOT%\\share\\pcb\\example\\skill路徑下所有的程序代碼,然后恭喜你入門了... ...

主站蜘蛛池模板: 精品国产香蕉在线播出 | 国产自自拍 | 深夜欧美福利视频在线观看 | 精品午夜寂寞影院在线观看 | 久久99精品久久久久久国产越南 | 久久精品爱国产免费久久 | 色狠狠一区二区三区香蕉蜜桃 | 激情欧美成人狠狠色金八天国 | 色在线影院 | 精品久久成人免费第三区 | 毛片毛片毛片毛片毛片毛片毛片 | 日韩欧美在线综合 | 黄的三级在线播放 | 亚欧日韩毛片在线看免费网站 | 国产精品久久久久久久毛片 | 亚洲香蕉综合在人在线时看 | 日韩一区二区久久久久久 | 韩国淫片 | 亚洲人成综合网站在线 | 国内精品久久久久影院薰衣草 | 日本不卡在线视频高清免费 | www.久久精品 | 国产精品综合一区二区三区 | 乱爱性全过程免费视频 | 国产精品69白浆在线观看免费 | 亚洲精品福利一区二区三区 | 正在播放国产精品白丝在线 | 久久天天躁狠狠躁夜夜爽蜜月 | 一级片在线观看视频 | 日本一本久道 | 亚洲爱爱网站 | 午夜精品久久久 | 亚洲无线一二三四区手机 | 看黄色网 | 精品国产一级在线观看 | 国产精品玖玖玖影院 | 色综合亚洲天天综合网站 | 亚洲欧美综合人成野草 | 久久精品国产一区二区三区 | 免费观看激色视频网站(性色) | 国产高颜值露脸在线观看 |