Howtoaddandimpllayout
From OO Lab
(Difference between revisions)
Latest revision as of 16:14, 30 January 2012
新增一個Layout至DIVA
首先依據你實作layout的類型,分為靜態(static)與動態(dynamic)兩種。在檔案及類別命名上,建議加入static or dynamic作為識別layout類型。 在接下來的加入分類也會因為類型的不同而有所區別。
1. 建立.h + .cpp檔至diva\vm\lyvm目錄下, 以Graphviz static layout為例,見下圖
2. 讓DIVA知道新的layout程式檔, 在Visual Studio的方案總管加入您新建立的layout程式檔(.h + .cpp)
- 如下圖,在"方案總管"選取DIVA_VM ->lyvm ->DynamicLayout or StaticLayout 按右鍵 ->加入 ->現有項目 (視你的layout類型而訂)
- 按下按鈕後會跳出開啟檔案對話窗,此時便選取剛才建立的程式檔匯入之
- 此時新的程式檔便會出現在方案總管之內,此時DIVA找得到您加入的layout程式檔
3. 加入新的layout至DIVA layout library以統一管理
- 開啟 DIVA_VM ->lyvm ->LayoutLibrary.h,include你的layout .h檔以加入你的layout
- 開啟 DIVA_VM ->lyvm ->LayoutLibrary.cpp,
- 新增一個const int變數,格式請照cpp檔開頭的那幾個一樣,包括變數名稱,變數值請不要重複,以static layout來說,上一個變數值為40449,那麼你新增一個static layout之後就將新的layout編號改成40450,依此類推,
- 然後在layoutLibrary的建構子,請將新的layout加入相對應的table裡,這樣子就完成了新增layout到layout dialog的步驟了。
4. 實作你的layout演算法
- Static layout請繼承Basic_Static_lyvm,而Dynamic layout則是繼承Basic_Dynamic_lyvm,
- 實作父類別的virtual方法, 作為一種操作介面,詳情請參考template design pattern