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

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

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

    雙桅漁船  
    漂泊,沒有終點
    日歷
    <2006年1月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234
    統計
    • 隨筆 - 5
    • 文章 - 0
    • 評論 - 3
    • 引用 - 0

    導航

    常用鏈接

    留言簿(1)

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

     
     自己遇到了這方面問題,在瀚海星云上咨詢了一下,解決后總結了一下。現在收錄到自己的空間里:)
    前段時間為了使用jdt中的package explorer進行一個rcp程序的開發。在版面上進行了
    提問,得到了simon lei,pandawang 的熱情幫助,在此表示感謝。經過一番學習,在幾個論
    壇上問了一下,當時仍沒有找到解決方法(主要是使用package explorer時項目和文件
    夾的顯示問題),又看到rcp的faq中有reusable 的說法就得出不能在rcp中復用jdt組件
    的結論。實際上這個結論是錯誤的,只要提供相關的插件支持是可以重用jdt中組件的,
    我再一次重復這個問題是為了避免我那個回帖誤導別人。
    
    我在rcp的perspective中用addview加入package explorer是沒有問題的,之所以不能顯
    示項目名稱是因為沒有注冊相關的adapter。
    
    只要在workbenchadvisor中的initialize方法中加入:
    WorkbenchAdapterBuilder.registerAdapters();
    declareWorkbenchImages();
    就可以解決問題。WorkbenchAdapterBuilder是org.eclipse.ui.ide中的類,用
    registerAdapters方法注冊adapter后就可以正常顯示項目名稱以及文件夾名稱,但是這
    時候還不能顯示相關的圖標。
    declareWorkbenchImages()方法用來解決圖標的問題。
    實現如下:
    
    
    private void declareWorkbenchImages() {

                
    final String ICONS_PATH = "$nl$/icons/full/";//$NON-NLS-1$
                final String PATH_ELOCALTOOL = ICONS_PATH + "elcl16/"//Enabled
    toolbar icons.//$NON-NLS-1$
                final String PATH_ETOOL = ICONS_PATH + "etool16/"//Enabled toolbar
    icons.//$NON-NLS-1$
                final String PATH_DTOOL = ICONS_PATH + "dtool16/"//Disabled
    toolbar icons.//$NON-NLS-1$
                final String PATH_OBJECT = ICONS_PATH + "obj16/"//Model object
    icons//$NON-NLS-1$
                final String PATH_WIZBAN = ICONS_PATH + "wizban/"//Wizard
    icons//$NON-NLS-1$

                Bundle ideBundle 
    = Platform.getBundle(IDEWorkbenchPlugin.IDE_WORKBENCH);

                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC, PATH_ETOOL
                                
    + "build_exec.gif"false); //$NON-NLS-1$
                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC_HOVER,
                        PATH_ETOOL 
    + "build_exec.gif"false); //$NON-NLS-1$
                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC_DISABLED,
                        PATH_DTOOL 
    + "build_exec.gif"false); //$NON-NLS-1$

                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC, PATH_ETOOL
                                
    + "search_src.gif"false); //$NON-NLS-1$
                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC_HOVER,
                        PATH_ETOOL 
    + "search_src.gif"false); //$NON-NLS-1$
                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC_DISABLED,
                        PATH_DTOOL 
    + "search_src.gif"false); //$NON-NLS-1$

                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_ETOOL_NEXT_NAV, PATH_ETOOL
                                
    + "next_nav.gif"false); //$NON-NLS-1$

                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_ETOOL_PREVIOUS_NAV, PATH_ETOOL
                                
    + "prev_nav.gif"false); //$NON-NLS-1$

                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_WIZBAN_NEWPRJ_WIZ, PATH_WIZBAN
                                
    + "newprj_wiz.gif"false); //$NON-NLS-1$
                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_WIZBAN_NEWFOLDER_WIZ,
                        PATH_WIZBAN 
    + "newfolder_wiz.gif"false); //$NON-NLS-1$
                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_WIZBAN_NEWFILE_WIZ, PATH_WIZBAN
                                
    + "newfile_wiz.gif"false); //$NON-NLS-1$

                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_WIZBAN_IMPORTDIR_WIZ,
                        PATH_WIZBAN 
    + "importdir_wiz.gif"false); //$NON-NLS-1$
                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_WIZBAN_IMPORTZIP_WIZ,
                        PATH_WIZBAN 
    + "importzip_wiz.gif"false); //$NON-NLS-1$

                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_WIZBAN_EXPORTDIR_WIZ,
                        PATH_WIZBAN 
    + "exportdir_wiz.gif"false); //$NON-NLS-1$
                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_WIZBAN_EXPORTZIP_WIZ,
                        PATH_WIZBAN 
    + "exportzip_wiz.gif"false); //$NON-NLS-1$

                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_WIZBAN_RESOURCEWORKINGSET_WIZ,
                        PATH_WIZBAN 
    + "workset_wiz.gif"false); //$NON-NLS-1$
                
                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_DLGBAN_SAVEAS_DLG,
                        PATH_WIZBAN 
    + "saveas_wiz.gif"false); //$NON-NLS-1$

                declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJ_PROJECT,
                        PATH_OBJECT 
    + "prj_obj.gif"true); //$NON-NLS-1$
                declareWorkbenchImage(ideBundle,
                        IDE.SharedImages.IMG_OBJ_PROJECT_CLOSED, PATH_OBJECT
                                
    + "cprj_obj.gif"true); //$NON-NLS-1$
                declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OPEN_MARKER,
                        PATH_ELOCALTOOL 
    + "gotoobj_tsk.gif"true); //$NON-NLS-1$

                
    // task objects
               
    //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_HPRIO_TSK,
    PATH_OBJECT+"hprio_tsk.gif");
               
    //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_MPRIO_TSK,
    PATH_OBJECT+"mprio_tsk.gif");
               
    //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_LPRIO_TSK,
    PATH_OBJECT+"lprio_tsk.gif");

                declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJS_TASK_TSK,
                        PATH_OBJECT 
    + "taskmrk_tsk.gif"true); //$NON-NLS-1$
                declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJS_BKMRK_TSK,
                        PATH_OBJECT 
    + "bkmrk_tsk.gif"true); //$NON-NLS-1$

                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_OBJS_COMPLETE_TSK, PATH_OBJECT
                                
    + "complete_tsk.gif"true); //$NON-NLS-1$
                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_OBJS_INCOMPLETE_TSK, PATH_OBJECT
                                
    + "incomplete_tsk.gif"true); //$NON-NLS-1$
                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_ITEM, PATH_OBJECT
                                
    + "welcome_item.gif"true); //$NON-NLS-1$
                declareWorkbenchImage(ideBundle,
                        IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_BANNER, PATH_OBJECT
                                
    + "welcome_banner.gif"true); //$NON-NLS-1$

                
    // synchronization indicator objects
               
    //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_WBET_STAT,
    PATH_OVERLAY+"wbet_stat.gif");
               
    //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_SBET_STAT,
    PATH_OVERLAY+"sbet_stat.gif");
               
    //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_CONFLICT_STAT,
    PATH_OVERLAY+"conflict_stat.gif");

                
    // content locality indicator objects
               
    //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_NOTLOCAL_STAT,
    PATH_STAT+"notlocal_stat.gif");
               
    //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_LOCAL_STAT,
    PATH_STAT+"local_stat.gif");
               
    //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_FILLLOCAL_STAT,
    PATH_STAT+"filllocal_stat.gif");
            }


            
    /**
             * Declares an IDE-specific workbench image.
             * 
             * 
    @param symbolicName the symbolic name of the image
             * 
    @param path the path of the image file; this path is relative to the base
             * of the IDE plug-in
             * 
    @param shared <code>true</code> if this is a shared image, and
             * <code>false</code> if this is not a shared image
             * 
    @see IWorkbenchConfigurer#declareImage
             
    */

            
    private void declareWorkbenchImage(Bundle ideBundle, String symbolicName,
                    String path, 
    boolean shared) {
                URL url 
    = Platform.find(ideBundle, new Path(path));
                ImageDescriptor desc 
    = ImageDescriptor.createFromURL(url);
                getWorkbenchConfigurer().declareImage(symbolicName, desc, shared);
            }

    由于jdt是在為ide服務的,所以在重用組件時遇到的問題應該可以在eclipse源碼中找到 答案。
    posted on 2006-01-08 14:47 USTCEric 閱讀(1131) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
     
    Copyright © USTCEric Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 久久久久亚洲精品无码蜜桃| 国产亚洲色视频在线| 亚洲色图校园春色| 久9久9精品免费观看| 亚洲国产精品一区二区成人片国内| 久章草在线精品视频免费观看| 久久亚洲国产成人影院网站| 69av免费观看| 又硬又粗又长又爽免费看| 亚洲av无码乱码国产精品 | 91在线手机精品免费观看| 亚洲综合精品第一页| 亚洲熟妇无码另类久久久| 1000部免费啪啪十八未年禁止观看 | 午夜免费国产体验区免费的| 亚洲国产美女精品久久| 免费吃奶摸下激烈视频| 亚洲一级免费毛片| 国产免费A∨在线播放| 自拍日韩亚洲一区在线| 亚洲国产成人片在线观看| 日日AV拍夜夜添久久免费| 久久午夜伦鲁片免费无码| 国产精品久久久久久亚洲影视| 亚洲av之男人的天堂网站| a级毛片视频免费观看| 亚洲手机中文字幕| 国产一级淫片a免费播放口之| 日韩大片免费观看视频播放| 亚洲国产精品VA在线看黑人 | 久久亚洲国产精品成人AV秋霞| 日韩免费一区二区三区在线播放| 亚洲AV无码AV日韩AV网站| 亚洲综合伊人久久大杳蕉| 亚洲免费在线视频观看| 国产亚洲视频在线| 亚洲国产香蕉碰碰人人| 日韩人妻无码免费视频一区二区三区| 精品无码国产污污污免费网站国产 | 亚洲第一页综合图片自拍| 国产精品免费一区二区三区四区|