<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 阿南 閱讀(3821) 評論(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 翔南

    沒見過的東東!
    學習啦 呵呵
      回復  更多評論    
    主站蜘蛛池模板: 免费国产在线观看| 亚洲情a成黄在线观看动漫尤物| 国产免费牲交视频免费播放| 亚洲熟妇av一区二区三区漫画| 6080午夜一级毛片免费看6080夜福利| 丁香婷婷亚洲六月综合色| 免费人妻av无码专区| 在线涩涩免费观看国产精品| 亚洲国产乱码最新视频| 亚洲色偷偷偷鲁综合| 性感美女视频在线观看免费精品 | 国产激情久久久久影院老熟女免费| 亚洲成A人片777777| 好大好硬好爽免费视频| 免费看无码特级毛片| 亚洲精品无码久久久久YW| 国产亚洲av片在线观看播放| 拨牐拨牐x8免费| 免费91最新地址永久入口| 在线观看亚洲免费| 亚洲视频一区在线观看| 亚洲国产精品激情在线观看| 美女视频黄免费亚洲| 97无码人妻福利免费公开在线视频| 亚洲色大网站WWW永久网站| 亚洲第一成年男人的天堂| 又粗又硬又大又爽免费视频播放| 99久久99热精品免费观看国产 | 91久久精品国产免费一区| 永久免费观看黄网站| 亚洲看片无码在线视频| 久久亚洲国产成人精品性色| 亚洲精品国产成人影院| 精品国产免费一区二区| 亚洲免费观看网站| 两个人看的www免费视频中文| 日韩色视频一区二区三区亚洲| 亚洲国产精品综合久久久| 国产国拍亚洲精品mv在线观看 | 在线观看亚洲精品福利片| 免费在线观看亚洲|