??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲免费av一区二区,九九九九九精品,黄色成人在线观看网站 http://www.aygfsteel.com/nighty/category/24946.html折腾的年?/description>zh-cn Wed, 03 Jun 2015 06:45:20 GMT Wed, 03 Jun 2015 06:45:20 GMT 60 MyEclipse 9.0 安装freemarker~辑?/title> http://www.aygfsteel.com/nighty/archive/2011/05/22/350787.html寒武U?/dc:creator>寒武U?/author>Sun, 22 May 2011 14:15:00 GMT http://www.aygfsteel.com/nighty/archive/2011/05/22/350787.html http://www.aygfsteel.com/nighty/comments/350787.html http://www.aygfsteel.com/nighty/archive/2011/05/22/350787.html#Feedback 0 http://www.aygfsteel.com/nighty/comments/commentRss/350787.html http://www.aygfsteel.com/nighty/services/trackbacks/350787.html freemarker几天前才发布?.3.17版本Q??1号又发布?.3.18Q距2.3.16已经一q多了。老的~辑器已l不能安装在新版本的eclipse和myeclipse上面了,最新的官方~辑器仍在开发阶D,有网友貌似知道最新的源代码链接位|,不过肯定是不E_的?br /> 另一个可选的~辑器就是JBoss Tools 3.2中的FreeMarker~辑器,值得安慰Q启动MyEclipse9.0后进入MyEclipse Configuration Center --> Software --> add siteQ输入Name: freemarker, URL: http://download.jboss.org/jbosstools/updates/stable/helios/ 然后在All JBoss Tools 3.2.0下选择FreeMarker IDEQ其它的大概你不需要都不用,也不影响下蝲旉Q然后一路确认安装就OK! ]]> RssOwl2源码阅读 -- ActionSet http://www.aygfsteel.com/nighty/archive/2008/08/21/223431.html寒武U?/dc:creator>寒武U?/author>Thu, 21 Aug 2008 03:29:00 GMT http://www.aygfsteel.com/nighty/archive/2008/08/21/223431.html http://www.aygfsteel.com/nighty/comments/223431.html http://www.aygfsteel.com/nighty/archive/2008/08/21/223431.html#Feedback 0 http://www.aygfsteel.com/nighty/comments/commentRss/223431.html http://www.aygfsteel.com/nighty/services/trackbacks/223431.html
1. 菜单的插入点 -- GroupMarker和Separator的?br />
ApplicationActionBarAdvisorcL定义全局所有Action插入点和入口Q查看fillMenuBar(IMenuManager)ҎQؓ了简化,以其中的辅助ҎcreateFileMenu(IMenuManager)ZQ讲qC下实现菜?#8220;文g”的内容,先看一下菜单的l构
像CloseQImport...之类的非常简单,看一下它是如何实现Newq个子菜单的。首先看一下它的源代码如何定义插入?br />
/**/ /* Menu: File */
private void createFileMenu(IMenuManager menuBar) {
MenuManager fileMenu = new MenuManager( " &File " , IWorkbenchActionConstants.M_FILE);
menuBar.add(fileMenu);
fileMenu.add( new GroupMarker(IWorkbenchActionConstants.FILE_START));
fileMenu.add( new GroupMarker(IWorkbenchActionConstants.NEW_EXT));
fileMenu.add( new Separator());
fileMenu.add(getAction(ActionFactory.CLOSE.getId()));
fileMenu.add(getAction(ActionFactory.CLOSE_ALL.getId()));
fileMenu.add( new GroupMarker(IWorkbenchActionConstants.CLOSE_EXT));
fileMenu.add( new Separator());
fileMenu.add(getAction(ActionFactory.SAVE_AS.getId()));
fileMenu.add( new GroupMarker(IWorkbenchActionConstants.SAVE_EXT));
fileMenu.add( new Separator());
fileMenu.add(getAction(ActionFactory.PRINT.getId()));
fileMenu.add( new Separator());
fileMenu.add( new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
fileMenu.add(fReopenEditors); // TODO Consider moving into a "Go" Menu!
fileMenu.add(new Separator());
fileMenu.add( new GroupMarker(IWorkbenchActionConstants.FILE_END));
fileMenu.add( new Separator());
fileMenu.add(getAction(ActionFactory.QUIT.getId()));
}
其中有一行fileMenu.add(new GroupMarker(IWorkbenchActionConstants.NEW_EXT)); q里是定义一个GroupMarker作ؓl标讎ͼ把子菜单New容纳q来。这个NEW_EXT的值是Qnew.ext
现在跛_到plugin.xmlȝ一下它的ActionSet定义Q结构如下:
Q点击New(menu)Q它的pathgؓQfile/new.extQ这个\径就是在createFileMenuҎ定义的\径,W一个是“File”本n的ID。也是把子菜单New(menu)插入到指定的那个GroupMarkerQID为new.ext。然后定义了三个ID分别为bookmarkQnewsbin,searchmark,的groupmarker和一个folder的separatorQ这个三ID分别对应上面actionSet定义的三个actionQ以其中的BookmarkQactionQؓ例,它的menubarPath为:file/new_sub/bookmarkQ代表插入到"File"主菜单中定义的new_sub子菜单中Qnew_sub是New(menu)的ID。因为folder是定义ؓseparatorQ所以它会有一条分隔线。这只是RssOwl的定义方法,其实以前自己做开发的时候是没有q样定义的,而且把子菜单New也写在方法fillMenuBar中的Q菜单把ID都写在里面,ActionSet的配|就没有子菜单出CQ但是这样定义看h比较ؕ。采用这U写法感觉比较简z?br />
2. Action的实?br />
仍以bookmarkZQ它的实现类是NewBookMarkActionQ实CIWorkbenchWindowActionDelegate, IObjectActionDelegate二个接口Q第一个是ActionSet指定实现接口Q第二个是对象操作菜单要求实现的接口Q但事实发现没有再定义它的配|,可能是internal版本的原因)Q也是说这个Action是多功能Q它会出现在主菜单Q工hQ和局部的右键菜单上。主菜单和工h的位|都在ActionSet配置定义了,看看它的右键菜单实现是在哪里的,q个右键是在视图Bookmarks定义的,那么跌{到org.rssowl.ui.internal.views.explorer.BookMarkExplorercd看看。里面有一个hookContextualMenu()ҎQ就是定义它的右键菜单的Q看一下代码实玎ͼ
private void hookContextualMenu() {
MenuManager manager = new MenuManager();
/**/ /* New Menu */
MenuManager newMenu = new MenuManager( " New " );
manager.add(newMenu);
/**/ /* New BookMark */
newMenu.add(new Action( " Bookmark " ) {
@Override
public void run() {
IStructuredSelection selection = (IStructuredSelection) fViewer.getSelection();
IFolder parent = getParent(selection);
IMark position = (IMark) ((selection.getFirstElement() instanceof IMark) ? selection.getFirstElement() : null );
new NewBookMarkAction(fViewSite.getShell(), parent, position).run( null );
}
@Override
public ImageDescriptor getImageDescriptor() {
return OwlUI.BOOKMARK;
}
});
// 其它定义
}
原来实现也很单,只是往MenuManager里面d一个Action而已,而且runҎ是直接调用定义好的NewBookMarkAction的runҎQ但是把选中对象做ؓ参数传进去,因ؓq个new是涉及当前上下文选择对象的?br />
3. 下拉cd的工h钮定?br />
非常常见的Dropdowncd的工h按钮可以把功能类型的按钮归ؓ一c,做成一个下拉菜单Ş式,有默认的按下功能Q也有可以选择其它cM功能的下三角形式Q样子如下:
q个dropdown的Action是定义在ActionSet配置里的。style是pulldowncd的,所以实现类NewTypeDropdownAction实现了IWorkbenchWindowPulldownDelegate接口Q它的runҎ是定义默认点击不做选择时的事情Q这个下拉菜单是实现getMenu(Control parent)Ҏ而来Q它定义了如何生成这个菜单,q就用到了最原始的SWT中的MenuItem了,q且为它们添加SelectionListenerQ方法实玎ͼ不用说都知道了,又是New一个先前定义好的NewBookMarkActionc,然后又是调用它的runҎ。所以ȝ一下,Action的重用不一定是q个cȝ重用Q关键是它的runҎ的重用,在不同的场景下它的外在表现Ş式可能会多种多样Q但是它的run内容是一致的。像dq种d的run大部分时候都是弹Z个对话框Q而对话框大都又是Winzardcd的,因ؓWinzard可以׃n攑ֈdialog里面。所以这U复用的思想在Eclipse里面随处可见?br />
归结一下,其实q些技巧都是次要的Q因为做GUI一个比较痛苦的事情是l常要写很多重复cM的代码,抽取的不好,可能变得不伦不cM。怎么利用它的q种思想Q把复用的代码都抽取在一P而阅读v来又比较L才是关键?br />
知道的就q些Q先介绍到这里,下次再谈谈其它新的发现?br />
]]> 学习RssOwl2中的d隐藏工具栏和状态栏的功?/title> http://www.aygfsteel.com/nighty/archive/2008/07/31/219038.html寒武U?/dc:creator>寒武U?/author>Thu, 31 Jul 2008 07:13:00 GMT http://www.aygfsteel.com/nighty/archive/2008/07/31/219038.html http://www.aygfsteel.com/nighty/comments/219038.html http://www.aygfsteel.com/nighty/archive/2008/07/31/219038.html#Feedback 5 http://www.aygfsteel.com/nighty/comments/commentRss/219038.html http://www.aygfsteel.com/nighty/services/trackbacks/219038.html 阅读全文 ]]> Eclipse3.3安装中文语言?/title> http://www.aygfsteel.com/nighty/archive/2008/05/30/204106.html寒武U?/dc:creator>寒武U?/author>Fri, 30 May 2008 07:44:00 GMT http://www.aygfsteel.com/nighty/archive/2008/05/30/204106.html http://www.aygfsteel.com/nighty/comments/204106.html http://www.aygfsteel.com/nighty/archive/2008/05/30/204106.html#Feedback 13 http://www.aygfsteel.com/nighty/comments/commentRss/204106.html http://www.aygfsteel.com/nighty/services/trackbacks/204106.html Eclipse3.3出来很久了,一直都使用英文版,刚好看到有网友介lEclipse的一个ProjectQ叫BabelQ官方的描述q样QEclipse is a global community. It is in everyone's interest to ensure that Eclipse is available and translated in as many locales as possible. 目的主地址是:http://www.eclipse.org/babel/ 。按照说明从q里可以下蝲安装到语a包?br />
直接从Eclipse3.3的菜?Help --> Software Updates --> Find and Insatll..."Q新Z个远E站点,URL?http://download.eclipse.org/technology/babel/update-site/ Q然后直接在U安装。在弹出的语a选择界面上选择中文体。如下图Q?br />
|络情况如果正常的话Q安装应该不会有问题的,中间可能会弹出几ơ下载jar文gp|的对话框Qlretryp?br />
最后重启一下,可以看到都变成中文界面的?br />
原来?.3的EclipseQ怎么变成3.2呢?原因估计是语a插g的版本是3.2的导致的Q所以你看到有一些地Ҏ化ƈ不完全,像Error Log视图的标题,目右键菜单Q以及一些顶U菜单都没有完全汉化?br />
希望以后Babel目后面更新跟得上主版本的变化,不过习惯了英文版的,其实也是差不多的?/p>
]]>保存你的RCP视图状?/title> http://www.aygfsteel.com/nighty/archive/2007/10/30/156952.html寒武U?/dc:creator>寒武U?/author>Tue, 30 Oct 2007 07:51:00 GMT http://www.aygfsteel.com/nighty/archive/2007/10/30/156952.html http://www.aygfsteel.com/nighty/comments/156952.html http://www.aygfsteel.com/nighty/archive/2007/10/30/156952.html#Feedback 0 http://www.aygfsteel.com/nighty/comments/commentRss/156952.html http://www.aygfsteel.com/nighty/services/trackbacks/156952.html 阅读全文 ]]> d完整的Eclipse RCP帮助pȝ http://www.aygfsteel.com/nighty/archive/2007/10/25/155795.html寒武U?/dc:creator>寒武U?/author>Thu, 25 Oct 2007 02:30:00 GMT http://www.aygfsteel.com/nighty/archive/2007/10/25/155795.html http://www.aygfsteel.com/nighty/comments/155795.html http://www.aygfsteel.com/nighty/archive/2007/10/25/155795.html#Feedback 3 http://www.aygfsteel.com/nighty/comments/commentRss/155795.html http://www.aygfsteel.com/nighty/services/trackbacks/155795.html
l过一L索,最后终于折腑և来,在这里记录下面,与大家分享。如果你做过RCP产品Q下面这些内容应该很熟悉?br />
1. d帮助的菜单?br />
在ApplicationActionBarAdvisorcM加入帮助菜单V代码片断如下:
// 帮助
private IWorkbenchAction helpAction;
/**
* 创徏操作
*/
protected void makeActions(IWorkbenchWindow window) {
....
/* 帮助 */
.....
helpAction = ActionFactory.HELP_CONTENTS.create(window);
register(helpAction);
.....
}
/**
* 填充主菜?br />
*/
protected void fillMenuBar(IMenuManager menuBar) {
/* 主菜单栏 */
IMenuManager mainMenu = getActionBarConfigurer().getMenuManager();
MenuManager helpMenu = new MenuManager( " 帮助(&H) " , IWorkbenchActionConstants.M_HELP);
helpMenu.add(introAction);
helpMenu.add(helpAction);
....
mainMenu.add(helpMenu);
}
2. d相关的依赖项?br />
打开plugin.xmlQ{?依赖?的tab?点击"d"按钮Q需要加入下面的q些依赖:
1. org.apache.lucene
2. org.eclipse.help.appserver
3. org.eclipse.help.base
4. org.eclipse.help.ui
5. org.eclipse.help.webapp
6. org.eclipse.tomcat
7.org.eclipse.ui.forms
3. dorg.eclipse.help.toc扩展?br />
q个非常ҎQ{?扩展"tab,点击“d”按钮。网上或是相关的书籍有很多关于添加help内容的介l,Z节省幅Q这里直接添加一个扩展向导来完成。选择"扩展向导"-->"帮助内容"Q确定后可以看到“所有扩?#8221;的列表中多了一个org.eclipse.help.toc扩展Q这里可能需要修改一下,生成的toc.xml和testToc.xml里面的label属性标{不能是qQ不然帮助框架会M出,到时候显CZ出帮助的l织l构?br />
l构如下Q?br />
< extension
point ="org.eclipse.help.toc" >
< toc file ="toc.xml" />
< toc
file ="testToc.xml"
primary="true" />
</ extension >
4. 部v产品配置
为您的RCPd一个品配|,打开产品配置~辑器(xxx.productQ,转到"配置"tab,点击“d”Q加入你的插Ӟ然后点击“d必需的插?#8221;,q样?#8220;插g和段”列表会看C的插件以及你的RCP要完整启动的所有必需相关插g。在q里你应该看C在plugin.xml中依赖的那七个help相关的插Ӟ以及一些以nl1l尾的插Ӟq些是语a插g。保存,转到“概述”tab,点击"启动产品"。然后打开“帮助--> 帮助内容”Q就可能看到你的帮助pȝ了?br />
到此一个完整的帮助pȝ完成了。下面是一个截图:
]]> 一个ActionDelegate代理多个Action http://www.aygfsteel.com/nighty/archive/2007/08/15/136823.html寒武U?/dc:creator>寒武U?/author>Wed, 15 Aug 2007 01:55:00 GMT http://www.aygfsteel.com/nighty/archive/2007/08/15/136823.html http://www.aygfsteel.com/nighty/comments/136823.html http://www.aygfsteel.com/nighty/archive/2007/08/15/136823.html#Feedback 0 http://www.aygfsteel.com/nighty/comments/commentRss/136823.html http://www.aygfsteel.com/nighty/services/trackbacks/136823.html 阅读全文 ]]>
վ֩ģ壺
̨ʡ |
ͨ |
|
|
|
|
|
˫ |
|
|
μԴ |
¹ |
|
ɽ |
֣ |
|
Ϫ |
|
|
ֶ |
|
|
Ƹ |
Դ |
Զ |
ʤ |
|
ʯ̨ |
|
Դ |
|
ϳ |
|
¡ |
ɰ |
|
|
ͨ |
ʡ |
|
|