2、通过拖放托盘里面的图标来建立的图元,会先讄model的sizeQ然后通过model对应的figure.setPreferredSize()来设|了Q而location则是通过鼠标的位|来定?/div>
??xml version="1.0" encoding="utf-8" standalone="yes"?>
上面的语句指定了子窗体child为模式窗体。在上面的style中指定SWT.SHELL_TRIM
是ؓ了显C窗体的三个默认按钮Q最大,最和关闭Q,也可以用SWT.DIALOG_TRIMQ不q此时ؓ对话框样式,只有一个默认按钮(关闭Q。默认的Shell是非模式H体Qƈ且是有默认系l按钮的Q即样式为:SWT.SHELL_TRIM|SWT.MODELESS?br>Z说一下,在JFace的Dialog中用模式对话框只要单的讄该对话框setBlockOnOpen(true)卛_?strong>
2。TabsQ这个需要扩展org.eclipse.ui.views.properties.tabbed.propertyTabs扩展点,其中contributorId是与之相关联的Contributor的idQ然后我们可以定义多个tabQ这些tab的属性如下:
1QlabelQ用于显C在property view的tab bar上的?br /> 2QcategoryQ填入的是在Contributor扩展点中定义的那些categoryQ用于聚合tabs
3QidQ本tab的唯一标识
4QafterTabQ用于tab之间的排序,如果q是W一个tabQ则没有afterTabQafterTab指的是在本tab之前的那个tabQƈ且afterTab描述的是在同一个category中的tabsQ不同category之间的顺序是按照在contributor中定义category的顺序来定义的?br /> 5QindentedQ如果ؓtureQ则各个tabs是有~进?br /> 6QimageQ本tab的图?br />
3。section Q需要扩?org.eclipse.ui.views.properties.tabbed.PropertySections扩展点,它的contributionId是本section所在的Contribution的idQ针Ҏ个tabQ我们可以定义多个sectionQ每个section的attribut描述如下Q?br /> 1QidQ本secation的唯一标识
2QtabQ本section所属tab的标?br /> 3QclassQ实Corg.eclipse.ui.views.properties.tabbed.AbstractPropertySection抽象cȝc,用于描述q个section的控件和布局?br /> 4Qaftersection和上面的aftertab差不多,描述的是同一个tab中的section的顺序,注意afterserction描述的是本section之前的section的id
5QfilterQ一个实现org.eclipse.jface.viewers.IFilter接口的过滤器Q对选中元素q行qo?br /> 6QenableForQ一个用于只是选择数目的|必须要符合这个舒服才能能这个section。如果不W合Q则q个sectionpqo了,如果省略本|则section的能器׃会工作了。这是一个自然数Q比如,当enableForQ?Ӟ仅仅只有一个元素被选择的时候,本section才会被能?br />
some notesQ?br /> 上面说过实现ITabbedPropertySheetPageContributor接口的workbench part除了要实现getContributeIdҎ外,q需要重载getAdapterҎQ因为eclipse的默认加载的property veiw时原来的那个viewQؓ了tabbed property view能够加蝲Q我们就需要重载getAdapterҎQ返回一个TabbedPropertySheetPage对象?br />
在实现section class的时候需要注意,createcontrol旉先应该先创徏一个compositeQ一般是 Composite composite = getWidgetFactory().createFlatFormComposite(parent); 然后各个控g在这个composite上创建?/font>
理解Java ClassLoader机制 |
|
Java ClassLoader |
2006-5-23 |
除此之外Qecoreq提供了一U递归的定义方法。就是用eSubPackage来分别包含业务模型和视图模型Qƈ且在q两个subPackage间徏立referenceQ对于package来说是自己引用自己)?BR>4。我们可以有多种Ҏ来生成ecore模型。通过注释的java接口(annotated java interface),通过rantional rose创徏模型Q通过XML Schema{等?/P>
使用GMF开发一个类囑Ş模型~辑器的步骤如下Q?BR>
1。创建域模型Q这个模型描qC通过~辑器编辑的非图形信息?BR>2。创建图定义模型Q这个模型描qC昄在图形编辑器中的囑Ş元素?BR>3。创建图映射模型Q这个模型定义了域模型元素和囑Ş元素之间的对应关pR?BR>4。生成图形编辑器?BR>5。通过改进生成的代码来提高囑Ş~辑器?BR>介绍一点GMF的图形编辑器的特性:
1。折?BR>2。label的直接编?BR>3。提C?BR>4。弹出bar
5。连接柄
6。通用l图工具
7。通用菜单命o
8。通用工具?BR>9。自动羃攑֒布局
10。通用属性编?BR>11。打印和打印预览
12。SVG和剪贴板支持
http://www.eclipse.org/articles/Article-Introducing-GMF/article.html