原创 blog地址更新

申請了一個域名,www.salever.cn 以後就在上面發表blog了。

原创 No schema found for … extension point 問題

很多時候在編輯plugin.xml 文件的Extension 時,IDE 總提示警告,內容爲“No schema found for ‘org.eclipse.core.runtime.applications’ extension po

原创 GEF Programmers' Guide 中文版(編輯和策略)

編輯和策略 現在你已經知道如何進行圖形化的顯示,接下來就開始嘗試圖形編輯吧。圖形編輯是 EditPart 提供的最複雜的功能,它不但要求對模型進行修改,同時需要與視圖進行交互在界面上反饋修改的結果。 GEF 使用請

原创 自定義 RCP 編輯器和視圖標題關閉操作

      的關閉操作特指標題欄最右方的關閉按鈕操作。一般來說編輯器的關閉事件都是自己默認的實現,比如繼承了ISavePart2 的編輯器在Dirty 屬性爲true 時點擊這個按鈕會出現確定信息框,這個是由ISavePart2 .pro

原创 修改 RCP 編輯器和視圖標題菜單

編輯器和視圖標題中有許多默認的菜單,這些菜單不是由IEditorPart 或者 IViewPart控制的,而是通過AbstracPresentationFactory 來初始化和進行處理的。Eclipse 提供一個默認的實現——Work

原创 RCP Export 錯誤

在進行Export 操作時,經常會出現意外的錯誤,比如: Ø      Exprot——Deployable plug-ins and fragments 出現錯誤或警告提示,完全排除編譯和項目錯誤。 這種情況下最好打開導出目錄下的lo

原创 OBSERVER 模式

接下來是Observer 模式。 Observer,觀察者模式,這個模式在面向對象設計中使用的相當普遍,它遵循OCP、LSP、ISP等設計原則。 下面使用一個日常生活中的示例來講解一下觀察者模式。 Observer1:Firer(消防員)

原创 FACTORY 模式

在任何使用new 的地方使用Factory 模式,這將最大程度上降低具體類之間的依賴性。這是Factory 模式的設計初衷。 A a = new A(); 使用Factory 模式以後 A a = AFactory.createA();

原创 GEF Programmer‘s Guide 中文版(概述)

決定翻譯一點東西了,感覺GEF官方自帶的User Guide還是挺不錯了,嘗試着翻譯一下,工作量還真不小。   大綱 ·         概述 - "big picture" 的介紹 ·       

原创 GEF Programmers' Guide 中文版(GEF 交互操作)

GEF 中的交互類型 這一節我們將講述 GEF 框架中包含的各種交互操作和每個交互操作相關聯的組件。交互可以是任何影響模型或者 UI 界面狀態的行爲。許多交互是可視化的,也有一些不能圖形化地顯示。交互可能包含一下內

原创 GEF Programmers' Guide 中文版(Editpart生命週期)

生命週期 當我們提到生命週期, EditPart 最典型的就是激活 (activation) 和停用 (deactivation) 操作,激活過程中它將添加模型屬性監聽器,而停用時它會移除監聽器。但是我們仍然有必要了解一下 EditPa

原创 GEF回顧——shapes示例分析(Controller篇)

最後輪到GEF中最重要的Controller——控制器了。它們是model和view之間的橋樑。我們先從直觀上來分析這種連接作用。 1    Connection <-->ConnectionEditPart <-->Polyline

原创 一種解析大型XML 的可選方案 —— betwixt

    使用apche 的 betwixt,相關庫爲 Ø      commons-beanutils.jar Ø      commons-betwixt-1.0-beta-1.jar Ø      commons-collection

原创 GEF回顧——shapes示例分析(View篇)

    下面來簡單描述一下這個工程中對應的View——視圖。由於對應的圖形元素(Figure)都很簡單,這裏沒有用單獨的類來描述圖形元素,而是使用GEF或者Draw2D中內置的幾種Figure:Ellipse(橢圓)、Rect

原创 COMPOSITE 模式

Composite 模式是一個非常簡單但具有深刻內涵的模式。它使一組對象表現得像單一一個對象。 還是Shape 的例子。 public interface Shape{       void draw();} public class C