GEF源碼分析(一) eclipse的GEF相關項目說明

來源:互聯網
上載者:User

 

GEF學習筆記(一) eclipse的GEF相關項目說明

 

首先、感謝八進位的辛勤勞動和奉獻。這幾天開始對GEF發生興趣,八進位的GEF系列對我學這些的協助很大入門很快。自己也就順手把周末學習的東西記錄下來。協助後來學人。我會把這幾天所學陸續寫出希望大家支援。目前、正在為八進位例子發愁,我對NodePart增加了ResizeEditPolicy,但是不知為何滑鼠拖動時有個灰色的地區在隨著變化,但滑鼠釋放時,NodeFigure的尺寸不發生變化,是否是因為在refreshVisuals中固化了Size,代碼學習中….

 

eclipse的GEF相關項目說明。

 

各項目的簡介:

 

 

Draw2D:建立了2維的圖形庫(樹狀圖形組件Figure),負責顯示2維的圖形展示。


GEF:     (Graphical Editing Framework)建立標準的MVC構架,代碼利用Draw2D作為自己的View部分,主要代碼實現複雜的樹狀(於Model分別對應)      的控制器。實現的架構具有很高的可複用等特性,例如:將圖形組件功能分解為多個EditPolicy,這樣使用者可以通過installEditPolicy介面來定製,以及擴充自己的某一功能特徵。


EMF:      (Eclipse Modeling Framework)首先在一個輕量級項目以及項目初期開發,Model常常採用擁有Property的Java對象來簡單明了表示【即 Plain Old Java Objects (POJOs)】。EMF定義了一套Ecore元模型,使得Model具有易於維護、易於擴充、易於資料交換等特性的Model Framwork。因此、在實際中大型的項目中往往會採用Draw2D+GEF+EMF的方式來實現整體的MVC模式。例如:ROSE的最新版本 IBM.Rational.Software.Architect就是採用了這種構架。


GMF:    (Graphical Modeling Framework )使用了GEF和EMF,建立了兩個之間的橋樑架構,同時實現了一些領域上的典範應用,如UML圖,甘特圖,腦圖等。(項目進行中中這些功能還未完備。可以用來參考以實現自己的一個標準的GEF+EMF的應用)。

 

各項目依賴關係:

 

 

如:使用者可以有以下幾種用法:

EMF: Model管理層

Draw2D: 二維圖形展現

Draw2D + GEF: 二維圖形的簡單編輯模組

Draw2D + GEF + EMF: 二維圖形的編輯模組

Draw2D + GEF + EMF + GMF:基於GMF提供的圖形編輯功能之上擴充

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.