日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

在RCP定義狀態欄

系統 2058 0

Eclipse 中,每選中一個文件,底部的狀態欄上都會顯示出該文件的有關信息。客戶端軟件通常都會將一些全局的或當前的信息顯示在底部的狀態欄上。本文將在 RCP 中添加狀態欄功能。

首先,必須在 WorkbenchWindowAdvisor. preWindowOpen() 啟用狀態欄功能, configurer.setShowStatusLine(true);

<style type="text/css"> <!--code { font-family: Courier New, Courier; font-size: 10pt; margin: 0px; }--> </style> <!-- ======================================================== --><!-- = Java Sourcecode to HTML automatically converted code = --><!-- = Java2Html Converter 5.0 [2006-02-26] by Markus Gebhard markus@jave.de = --><!-- = Further information: http://www.java2html.de = -->
<!-- start source code --> <!-- end source code --> <!-- start headline --> <!-- end headline -->
ApplicationWorkbenchWindowAdvisor.java
01 public void preWindowOpen(){
02IWorkbenchWindowConfigurerconfigurer=getWindowConfigurer();
03configurer.setInitialSize( new Point(600,400));
04configurer.setShowCoolBar( true );
05configurer.setShowStatusLine( true );
06configurer.setShowFastViewBars( true );
07configurer.setShowPerspectiveBar( true );
08configurer.setShowMenuBar( true );
09configurer.setShowProgressIndicator( true );
10configurer.setShowStatusLine( true );
11PlatformUI.getPreferenceStore().setDefault(
12IWorkbenchPreferenceConstants.ENABLE_ANIMATIONS, true );
13PlatformUI.getPreferenceStore().setDefault(
14IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS,
15 false );
16PlatformUI.getPreferenceStore().setDefault(
17IWorkbenchPreferenceConstants.DOCK_PERSPECTIVE_BAR,
18IWorkbenchPreferenceConstants.TOP_RIGHT);
19}

和menu bar和 toolbar一樣,狀態欄也是由ActionBarAdvisor控制,在ActionBarAdvisor.fillStatusLine (IStatusLineManager)中,狀態欄信息的顯示都由IStatusLineManager控制。

狀態欄的結構

Fast views 可以將View拖到Fast views中,提供View的快捷訪問。

Icon/message 這里可以顯示圖標和信息

Progress 用來顯示進度條,通常是不可見的。當有IWorkbenchWindow.run() 調用時,顯示一個進度條和一個取消按鈕。

Contributions 由來顯示一些額外信息,例如Eclipse選中一個java editor時,底部的讀寫狀態,行數等信息。

Jobs progress 用來顯示執行的Job,默認是不現實。要啟用此功能,要設置IWorkbenchWindowConfigurator.setShowProgressIndicator(boolean).

一般 Icon/message已經可以滿足顯示信息的要求,如果想要添加,可以在ActionBarAdvisor.fillStatusLine (IStatusLineManager)執行IStatusLineManager.add(IContributionItem).

在View中使用StatusLine,當選中某個節點時,在狀態欄顯示節點信息。

為View中的TreeViewer添加監聽選擇事件:

<!--CTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt--><style type="text/css"> <!--code { font-family: Courier New, Courier; font-size: 10pt; margin: 0px; }--> </style> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <!-- ======================================================== --><!-- = Java Sourcecode to HTML automatically converted code = --><!-- = Java2Html Converter 5.0 [2006-02-26] by Markus Gebhard markus@jave.de = --><!-- = Further information: http://www.java2html.de = -->
1viewer.addSelectionChangedListener( new ISelectionChangedListener(){
2 public void selectionChanged(SelectionChangedEventevent){
3updateStatusline(event);
4}
5});
<!--CTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt--><style type="text/css"> <!--code { font-family: Courier New, Courier; font-size: 10pt; margin: 0px; }--> </style> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <!-- ======================================================== --><!-- = Java Sourcecode to HTML automatically converted code = --><!-- = Java2Html Converter 5.0 [2006-02-26] by Markus Gebhard markus@jave.de = --><!-- = Further information: http://www.java2html.de = -->
<!-- start source code --> <!-- end source code -->
01 protected void updateStatusline(SelectionChangedEventevent){
02IStatusLineManagerstatusline= this .getViewSite().getActionBars()
03.getStatusLineManager();
04IStructuredSelectionselection=(IStructuredSelection)event
05.getSelection();
06Stringmsg=getSelectionMessage(selection);
07
08statusline.setMessage(msg);
09}
10
11 private StringgetSelectionMessage(IStructuredSelectionselection){
12 if (selection.isEmpty()){
13 return "";
14}
15 if (selection.size()==1){
16 return selection.getFirstElement().toString();
17}
18 return selection.size()+"itemsselected";
19}

??¨View??-?????¨StatusLine,???è????¥???????3???????????¤o??oé???????ˉ???

<!--CTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt--><style type="text/css"> <!--code { font-family: Courier New, Courier; font-size: 10pt; margin: 0px; }--> </style> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <!-- ======================================================== --><!-- = Java Sourcecode to HTML automatically converted code = --><!-- = Java2Html Converter 5.0 [2006-02-26] by Markus Gebhard markus@jave.de = --><!-- = Further information: http://www.java2html.de = -->
<!-- start source code --> <!-- end source code -->
1 protected void inputChagned(){
2 if (groupName.getText().length()==0){
3showErrorOnStatusline("Groupnamecannotbeblank");
4 return ;
5}
6showErrorOnStatusline( null );
7setDirty( true );
8}
<!-- = END of automatically generated HTML code = --><!-- ======================================================== --><!--CTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt--><style type="text/css"> <!--code { font-family: Courier New, Courier; font-size: 10pt; margin: 0px; }--> </style> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <!-- ======================================================== --><!-- = Java Sourcecode to HTML automatically converted code = --><!-- = Java2Html Converter 5.0 [2006-02-26] by Markus Gebhard markus@jave.de = --><!-- = Further information: http://www.java2html.de = -->
<!-- start source code --> <!-- end source code -->
1 protected void showErrorOnStatusline(Stringerror){
2IStatusLineManagerstatusline= this .getEditorSite().getActionBars()
3.getStatusLineManager();
4 if (error== null ){
5statusline.setErrorMessage(null,error);
6} else {
7statusline.setErrorMessage(ImageShop.get("error"),error);
8}
9}
<!-- = END of automatically generated HTML code = --><!-- ======================================================== -->

在RCP定義狀態欄


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 定南县| 星座| 荆州市| 金沙县| 贺兰县| 微山县| 德兴市| 驻马店市| 安义县| 肥西县| 定州市| 上林县| 盘锦市| 石家庄市| 都安| 诏安县| 泾阳县| 绩溪县| 定日县| 和平区| 进贤县| 宁安市| 乐山市| 嘉义县| 宝坻区| 滁州市| 洞头县| 珲春市| 临沭县| 上林县| 淅川县| 柘荣县| 商河县| 洪泽县| 谢通门县| 南乐县| 鄂伦春自治旗| 临高县| 峡江县| 手机| 登封市|