基于GEF的MiniGUI可視化開發(fā)工具設計
Menu的EditPart還應提供以下方法:
①重繪自己和下面所有的MenuItem及其下級的Menu。函數Rectangle CalcMenuSize(MenuEditPart)用于得到一個能夠容納下包括的所有MenuItem的矩形。本文引用地址:http://www.biyoush.com/article/150039.htm
②遞歸地將要update的MenuEditPart的下級Menu中,當前可見的所有Menu及其對應的MenuItem變?yōu)椴豢梢姟?/p>
3.3 數據存儲
可擴展標記語言(Extensible Markup Language,XML)與其他格式的語言相比,具有以下優(yōu)勢:具有良好的擴展性,允許使用者創(chuàng)建和使用自己定義的標記來定義控件的類型和屬性;樹狀存儲結構和良好的自描述性,非常適合對界面元素進行描述;XML的靈活性提供了一種結構化的數據表示方式,使得用戶界面分離于結構化數據。
因此,界面設計工具將界面設計結果存儲為XML格式。由于Java中提供了XML文檔生成和解析的類,因而簡化了編碼工作量,增強了軟件可靠性。
示例如下:
最外層的Project表示內層都是界面的布局,第2層Dialog表示其內層對應一個對話框布局,第3層由多個XXCtrl>和/XXCtrl>對構成(XXCtrl對應不同的控件名,比如buttonCtrl對應button控件)。每個XXCtrl代表一個控件,XXCtrl>和/XXCtrl>對里面是控件的屬性。第2層也可由多個Content>和/Content>對構成,Content可為Dialog(對話框)、Menu(菜單)、Tool-Bar(狀態(tài)條)、Icon(位圖),其內層根據Content不同而由不同的XXCtrl對構成。
4 實驗結果
可視化工具的運行界面如圖6所示。左側為工程管理區(qū),可以看到當前工程建立的所有界面布局。中間部分的編輯區(qū)是一個打開的對話框布局,可在這里進行控件的drop/drag、undo/redo、move、delete、resize等操作。右側是控件屬性編輯區(qū),用于修改控件屬性(比如ID、文字風格、邊框等)。
結 語
本文設計了一個MiniGUI可視化開發(fā)工具,利用Eclipse GEF實現。用戶使用本工具可以對圖形用戶界面進行可視化的設計及修改,同時可以擴充自己的控件、定義控件的屬性,豐富界面的表現形式。實驗表明,本工具在實際系統(tǒng)中運行良好穩(wěn)定,有效地提高了圖形用戶界面的開發(fā)效率。
評論