<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大夢想家

    5年開發工程師,2年實施經理,X年售前顧問,......
    數據加載中……
    一個使用SWT Ribbon代替Eclipse-RCP上面Coolbar的例子~



    我用代碼硬生生的把Eclipse-RCP丑陋的Coolbar替換掉了,但是不爽的是,Viewer上使用的是CTabFolder,而這個CTabFolder的產生,我沒有辦法操控,希望有高手指點。
    修改代碼如下:
     1package test;
     2
     3import org.eclipse.swt.SWT;
     4import org.eclipse.swt.graphics.Point;
     5import org.eclipse.swt.layout.FillLayout;
     6import org.eclipse.swt.widgets.Composite;
     7import org.eclipse.swt.widgets.Shell;
     8import org.eclipse.ui.application.ActionBarAdvisor;
     9import org.eclipse.ui.application.IActionBarConfigurer;
    10import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
    11import org.eclipse.ui.application.WorkbenchWindowAdvisor;
    12import org.eclipse.ui.internal.WindowTrimProxy;
    13import org.eclipse.ui.internal.WorkbenchMessages;
    14import org.eclipse.ui.internal.WorkbenchWindowConfigurer;
    15import org.eclipse.ui.internal.layout.TrimLayout;
    16
    17import com.hexapixel.widgets.generic.ColorCache;
    18import com.hexapixel.widgets.ribbon.RibbonTab;
    19import com.hexapixel.widgets.ribbon.RibbonTabFolder;
    20
    21public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
    22
    23    private TrimLayout defaultLayout;
    24    private Composite topComposite;
    25    private WindowTrimProxy topCompositeTrim;
    26    private Composite pageComposite;
    27    
    28    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
    29        super(configurer);
    30    }

    31
    32    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
    33        return new ApplicationActionBarAdvisor(configurer);
    34    }

    35    
    36    public void preWindowOpen() {
    37        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
    38        configurer.setInitialSize(new Point(400300));
    39        configurer.setShowCoolBar(false);
    40        configurer.setShowStatusLine(false);
    41        configurer.setTitle("Hello RCP");
    42    }

    43
    44    @Override
    45    public void createWindowContents(Shell shell) {
    46        shell.setBackground(ColorCache.getInstance().getColor(182206238));
    47        // TODO Auto-generated method stub
    48        defaultLayout = new TrimLayout();
    49        defaultLayout.setSpacing(2222);
    50        defaultLayout.setMargins(22);
    51        shell.setLayout(defaultLayout);
    52        
    53        //topComposite
    54        topComposite = new Composite(shell, SWT.None);
    55        topComposite.setLayout(new FillLayout(SWT.VERTICAL)); 
    56        topComposite.setBackground(ColorCache.getInstance().getColor(182206238));
    57        
    58            final RibbonTabFolder ftf = new RibbonTabFolder(topComposite, SWT.NONE);
    59            RibbonTab ft0 = new RibbonTab(ftf, "Home");
    60            RibbonTab ft1 = new RibbonTab(ftf, "Insert");
    61            new RibbonTab(ftf, "Page Layout");
    62            new RibbonTab(ftf, "References");
    63        
    64        topCompositeTrim = new WindowTrimProxy(topComposite,"org.eclipse.ui.internal.WorkbenchWindow.topBar", WorkbenchMessages.TrimCommon_Main_TrimName, SWT.NONE, true);
    65        
    66        
    67        
    68        
    69        pageComposite = (Composite) ((WorkbenchWindowConfigurer) getWindowConfigurer()).createPageComposite(shell);
    70        setLayoutDataForContents();
    71    }

    72
    73    private void setLayoutDataForContents() {
    74        updateLayoutDataForContents();
    75        
    76    }

    77
    78    private void updateLayoutDataForContents() {
    79        if (defaultLayout == null{
    80            return;
    81        }

    82        defaultLayout.addTrim(SWT.TOP, topCompositeTrim);
    83        topComposite.setVisible(true);
    84        
    85        pageComposite.setBackground(ColorCache.getInstance().getColor(182206238));
    86        defaultLayout.setCenterControl(pageComposite);
    87        
    88    }

    89    
    90}

    91



    客戶虐我千百遍,我待客戶如初戀!

    posted on 2007-10-09 11:52 阿南 閱讀(3820) 評論(11)  編輯  收藏 所屬分類: Eclipse-RCP

    評論

    # re: 一個使用SWT Ribbon代替Eclipse-RCP上面Coolbar的例子~ 2007-10-09 12:03 千里冰封

    不錯,挺好看的,我還是喜歡swing
      回復  更多評論    

    # re: 一個使用SWT Ribbon代替Eclipse-RCP上面Coolbar的例子~ 2007-10-09 12:03 千里冰封

    不錯,挺好看的,我還是喜歡swing
      回復  更多評論    

    # re: 一個使用SWT Ribbon代替Eclipse-RCP上面Coolbar的例子~ 2007-10-09 12:11 阿南

    本地化有時候也不是什么好事!
      回復  更多評論    

    # re: 一個使用SWT Ribbon代替Eclipse-RCP上面Coolbar的例子~ 2007-10-09 13:05 交口稱贊

    樓主這么用累不?
    不如直接用swing得了

    好像有人用swing實現了rcp
      回復  更多評論    

    # re: 一個使用SWT Ribbon代替Eclipse-RCP上面Coolbar的例子~ 2007-10-09 13:14 阿南

    哎~等著IBM繼續開源一點吧~
      回復  更多評論    

    # re: 一個使用SWT Ribbon代替Eclipse-RCP上面Coolbar的例子~[未登錄] 2007-10-09 14:23 test

    估計得修改eclipse底層了
      回復  更多評論    

    # re: 一個使用SWT Ribbon代替Eclipse-RCP上面Coolbar的例子~ 2007-10-09 16:51 Pande

    自定義一個org.eclipse.ui.presentationFactories擴展點就行了
      回復  更多評論    

    # re: 一個使用SWT Ribbon代替Eclipse-RCP上面Coolbar的例子~ 2007-10-09 17:29 Pande

    這和本地化不本地化沒有絲毫關系!!!
      回復  更多評論    

    # re: 一個使用SWT Ribbon代替Eclipse-RCP上面Coolbar的例子~ 2007-10-09 17:33 阿南

    謝謝提醒~
    請問,上面的那塊灰色的區域怎么修改阿?
      回復  更多評論    

    # re: 一個使用SWT Ribbon代替Eclipse-RCP上面Coolbar的例子~ 2007-10-09 18:33 Pande

    你是不是不想要View的Title?

    用addStandaloneView(id, false)就行了

    如果用org.eclipse.ui.presentationFactories,你可以完全控制圍繞View或者Editor的Trimming的,寫一個StackPresentation的子類。eclipse.org的cvs里有例子的。好像是Project org.eclipse.ui.examples.presetation. 有興趣可以看看。

    其實Eclipse RCP是非常靈活的,Rich Client Platform這本書的第18和19章講得很詳細,你可以參考。只要你愿意,可以很方便的定制RCP程序的每一處細節。

    費事的是Design,實現是很簡單。
      回復  更多評論    

    # re: 一個使用SWT Ribbon代替Eclipse-RCP上面Coolbar的例子~ 2007-10-16 13:12 翔南

    沒見過的東東!
    學習啦 呵呵
      回復  更多評論    
    主站蜘蛛池模板: 国产亚洲福利在线视频| 国产精品亚洲аv无码播放| 亚洲av无码乱码在线观看野外 | 精品亚洲A∨无码一区二区三区 | 亚洲色婷婷一区二区三区| 亚洲αv久久久噜噜噜噜噜| 亚洲精品在线免费观看视频| 香蕉大伊亚洲人在线观看| 日韩色日韩视频亚洲网站| aa毛片免费全部播放完整| 67194国产精品免费观看| 青青青青青青久久久免费观看| 亚洲成a人片在线观看国产| 亚洲va无码专区国产乱码| 亚洲AV色吊丝无码| 成人免费夜片在线观看| 久久综合图区亚洲综合图区| 亚洲电影在线免费观看| 亚洲aⅴ天堂av天堂无码麻豆| 香蕉视频在线免费看| 51精品视频免费国产专区| 日本不卡高清中文字幕免费| 亚洲精品中文字幕乱码三区| 亚洲jizzjizz在线播放久| 成人免费夜片在线观看| 免费看h片的网站| 亚洲国产91精品无码专区| 久久亚洲AV成人无码| 免费无码AV一区二区| 精品免费人成视频app| 亚洲午夜av影院| 亚洲av乱码一区二区三区 | 99999久久久久久亚洲| 国产精品综合专区中文字幕免费播放| 日韩av无码久久精品免费| 国产a级特黄的片子视频免费| 99久久亚洲精品无码毛片| 少妇亚洲免费精品| 美女视频黄的全免费视频网站| 在线观看亚洲精品国产| 亚洲精品久久无码av片俺去也 |