亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

在RCP定義狀態欄

系統 1799 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條評論
主站蜘蛛池模板: 亚洲欧美另类综合 | 久久婷婷午色综合夜啪 | 91国内在线观看 | 成人在线日韩 | 欧美精品1区 | 毛片免费的 | 国产亚洲精品热视频在线观看 | 精品久久网 | 综合网激情 | 婷婷99精品国产97久久综合 | 亚洲成人一区二区 | 久久免费精品视频在线观看 | 国产高清不卡视频 | 久久精品国产99精品最新 | 日韩中文字幕一区 | 久久四虎| 午夜视频在线观看网站 | 国内自拍tv在线 | 九九热精品国产 | 免费一级a毛片在线播放视 免费一级成人毛片 | 伊人热| 国产一区二区三区日韩 | 天天看片日日夜夜 | 亚洲欧美高清在线 | 色老头一区二区三区 | 亚洲一区精品视频在线 | 99久久精品免费看国产麻豆 | 亚洲视频一区在线播放 | 欧洲亚洲视频 | 中文字幕日韩专区 | 天天干天天爽天天射 | 欧美日本成人 | 免费久久 | 久久精品视频7 | 久草精品在线播放 | 99精选视频| 久久99九九99九九精品 | 欧美日韩视频在线播放 | 精品久久久久久久 | 亚洲国产欧洲综合997久久 | 免费观看一级欧美大 |