表示:
SWTは、表示オブジェクトであるグラフィックスシステムの基本的な実装に代わって。RCPアプリケーションはのみの表示オブジェクトが必要です。
主なタスクを表示すると、オペレーティングシステムのイベントキューから読み取ることがあり、RCPは、処理のためのイベントリスナーに渡されます。しかし、表示オブジェクトは、任意のUIコントロールを表すものではありません。メインプログラムウィンドウが開く前に、ディスプレイが利用できません。メインウィンドウが開いたら、それはShellオブジェクトによって得ることができます。
取得の方法を表示します。
新しいディスプレイ(); Display.getCurrent(); Display.getDefault() PlatformUI.createDisplay() shell.getDisplay()//によって得られるシェルインスタンスオブジェクト |
シェル:
各ウィンドウには、Shellオブジェクトを持っています。シェルオブジェクトがユーザと窓枠の相互作用、およびなどの窓に関連する処理を表す共通行動サイズ変更など、移動。
Shellオブジェクトを取得します:
新しいシェル(ディスプレイ)。 display.getActiveShell()//現在のアクティブなシェルを取得します(フォーカスを取得) |
Workbench-表:
ワークベンチは、ユーザインタフェースのUI要素を表現する、ベンチです。テーブルウィンドウ、アイコン、ボタンやコントロールのさまざまながありますが、ユーザーがテーブルの上にさまざまな操作を行うことができます。プロジェクト開発はほとんど直接使用しないワークベンチ
各RCPアプリケーションには、一つだけのテーブルです。食システムインターフェースは、テーブル、ワークベンチIWorkbenchインターフェイスを実装しています。
Workbenchを取得します。
IWorkbenchワークベンチ= PlatformUI.getWorkbench() |
IWorkbenchオブジェクトは、2つの重要なメソッドがあります。
再起動():すぐにアプリケーションを再起動します |
近い():アプリケーションの正常なシャットダウン |
Advisor-提案者:
顧問は、プログラムが顧問提唱する必要が動作して構成された支持者、メインアプリケーションインタフェース幅、高さなど、アイコン、メニュー、ツールバー、色、である「勧告。」
Eclipseは顧問の3種類が用意されています。
WorkbenchAdvisor:
アプリケーションレベルでは、ライフサイクル管理ワークベンチ、および例外処理の責任であり、ワークベンチに重要なパラメータのいくつかを提供する責任があります。視点は、例えば、ワークベンチの初期(メソッド)を指定することができます。
アプリケーション・レベルの構成情報のWorkbenchAdvisorメインプロバイダ。
六の重要な方法:
初期化 | 最初の呼び出し、ウィンドウが開いている前の呼び出しは、設定を初期化することができます。 それ以外の場合は、アプリケーションのスロースタートの原因となり、このアプローチ、または時間のかかる操作のロジックを大量に書いて回避するために、 |
preStartup | 初期化した後、最初のウィンドウは、呼び出しを開く前に、一時的または代替作業に対処するために使用することができます |
postStartup | 開封後は、イベントループは、最初のウィンドウを呼び出して起動する前に、これらのジョブを処理するために使用することができるウィンドウが開いた後、このようなポップアップボックスとして、処理する必要があります |
プレシャットダウン | イベントループの後、ウィンドウが閉じる前に呼び出します。このように近いようなセーブデータ、サーバーのデータベース操作を行うことができます |
postShutdown | ウィンドウが閉じられた後に呼び出され、アプリケーションの状態を保存する方法が作成する初期化したオブジェクトを削除するために使用することができます。 |
getInitialWindowPerspectiveId() | 指定透視ID、RCPカーネルは、初期レイアウトアプリケーションインタフェースの斜視図を使用しています |
WorkbenchWindowAdvisor:
各アプリケーションはWorkbenchWindowAdvisorインスタンスを必要とし、管理アプリケーション・ウィンドウ、ウィンドウ制御UI要素のライフサイクルの原因である。例えば、初期ウィンドウサイズ、位置、タイトル等の制御を行います。また、ウィンドウの治療のためのイベントを追加することができます。
これは、メインコンソールウィンドウレベルの設定を担当しています。
5つの主要な方法:
preWindowOpen | ウィンドウコントロールは、呼び出しの前に作成されます。可視性は、初期ウィンドウサイズ、ステータスバー、ツールバーを設定することができます |
ポストは、ウィンドウを復元します | 最後のウィンドウ出口の回復時間後に呼び出され、窓を調整するために使用することができます |
ポストウィンドウが作成します | 通話ウィンドウを開いた後、ウィンドウは、イベントリスナーを登録することができます |
メールウィンドウのオープン | 通話ウィンドウを開いた後、ウィンドウは、イベントリスナーを登録することができます |
preWindowShellClose | 閉鎖動作は、シェルを行っ前に |
ActionBarAdvisor:
レベルウィンドウ、各ウィンドウはActionBarAdvisor、持っているウィンドウの動作を定義するための責任を、クラスには、メニューバー、ステータスバー、ツールバー、外観と動作を構築するために使用されます。
主な方法:
makeActions | メニューやツールバーをサインアップ |
fillMenuBar | メニューバーを追加します。 |
fillCoolBar | ツールバーを追加 |
fillStatusLine | ステータスバーを追加します。 |
顧問コンフィギュラ:
それぞれは、対応する要素またはとの相互作用のための段階を設定し、対応するアドバイザ構成器を有しています。これらのコンフィギュラは内部Advisorを使用して適切なアドバイザーのメソッドにパラメータとして渡されます。AdvisorConfigurerがアプリケーションに開発者が顧問、顧問の見解に渡すことが言えます。
WorkbenchAdvisor | IWorkbenchConfigurer 構成情報テーブルに関連します |
WorkbenchWindowAdvisor | IWorkbenchWindowConfigurer |
ActionBarAdvisor | IActionBarConfigurerの ウィンドウの設定ツールバー、メニューバー、ステータスバーと対話するためのツールバー |
ビューとエディタ:
RCPアプリケーションでは、主にビュー(ビュー)と編集者(編集)を介してユーザがプログラムと対話します。実際の開発、およびビューの編集必要に応じて選択することが厳密な区別は存在しません。
ビュー-View:
可以浮动的工作窗口,负责数据显示。内部可以布局各种UI控件,与用户进行交互。参考eclipse中的Project Explorer视图。
自定义视图需要扩展ViewPart抽象类,开发者在createPartControl()方法中编写代码,构建视图界面的元素。
示例demo:
public class DemoView extends ViewPart{ @Override public void createPartControl(Composite parent) { // TODO Auto-generated method stub } @Override public void setFocus() { // TODO Auto-generated method stub } } |
编辑器-Editor:
编辑器也是一种工作窗口,提供对数据进行各种操作的交互能力。相当于文本域,参考Eclipse中的代码编辑区。
perspective-透视图:
配置应用主窗口的初始布局;
透视图与视图、编辑器之间的关系类似于书架、书之间的关系。书架上可以放书,perspective就是书架,视图和编辑器就是书。人负责在书架上摆放书的位置,进行布局,做好之后布局就不会自己改变了。只不过在RCP中,perspective是透明、不可见的。
RCP应用程序通过perspective对窗口的内容进行安排和布局,Perspective只负责布局,并不负责创建UI元素。 每个应用都有一个默认的透视图,每个工作台窗口则可以包含一个或多个perspective,用户可以向透视图中添加UI控件。默认的perspective被设置为固定大小的、不能移动的,且没有标题栏。
自定义透视图需要 实现接口:IPerspectiveFactory,
实现方法: createInitialLayout(IPageLayout layout)
其实,就是通过IPageLayout对象安排视图或编辑器的初始布局。默认情况下,初始布局包含了一个可视的编辑器,可以手动关闭。