- 浏览: 375455 次
- 性别:
- 来自: 上海
最新评论
-
heshifk:
我今天用这个也遇到了一个问题,当焦点在别的组件上面,也添加了快 ...
SWT 添加全局的监听 -
回归蔚蓝:
好文,归纳的太准确了
Groovy闭包深入学习 -
零度弥合:
写的真好,赞赞赞。
Groovy闭包深入学习 -
yuxg:
顶
Java在Eclipse环境下调用Subclipse接口完成SVN操作(附源码) -
zk1878:
不错,好文
Groovy闭包深入学习
文章列表
一:DSL
概念
指的是用于一个特定领域的语言(功能领域、业务领域)。在这个给出的概念中有
3个重点:
只用于一个特定领域,而非所有通用领域,比如
Java
/ C++就是用于通用领域,而不可被称为
DSL,同样也不可把
Groovy称为
DSL。
语言,必须经过编写后才可发挥它的功能。比如:五线谱编写后成乐谱;
ANT编写用于编译;
SVN命令编写后可对资源库进行操作;
Shell编程;
SQL编程;
PL-SQL编程等等。
忽略具体的运行环境(媒介),可以是纸、
XML文件、命令行、
Shell、数据库等 ...
- 2009-12-07 23:14
- 浏览 9091
- 评论(5)
一 相关知识
org.eclipse.compare
插件项目,用于进行文本、源码比对的一个插件,提供了一个Editor或Dialog可方便调用。
org.eclipse.compare.CompareEditorInput.CompareEditorInput
是用于给Compare Editor 的EditorInput, 需要自己实现。
org.eclipse.compare.CompareConfiguration
对CompareEditor的配置。是否允许左边内容被修改,或是否允许右边内容被修改;左右两边的label,image等。
org ...
- 2009-10-28 17:57
- 浏览 9652
- 评论(7)
一. 核心类说明
ImageDescriptor
用于表示一个可用于创建org.eclipse.swt.graphics.Image的类
CompositeImageDescriptor
可用于创建出自定义图像效果的Image的抽象类
DecoratorOverlayIcon
这是org.eclipse.ui.internal.decorators下的类,很可惜,它是package的class,不可外部调用
OverlayIcon
用于创建出2个图片叠加效果的类. 不过, 只可以做”右上”的叠加
OverlayImageDescriptor ...
- 2009-09-23 10:58
- 浏览 3932
- 评论(3)
一. 目标
在2个不同Table的2个Column间能建立Connection二. 书写Connection模型
public class ColumnConnectionModel extends BaseModel {
private TableColumnModel target;
private TableColumnModel source;、
public void setTarget(TableColumnModel target) {
this.target = target;
target.addTarget(t ...
- 2009-09-23 00:05
- 浏览 2973
- 评论(1)
一. 目标
能够选中Table,移动Table的位置,调整Table的大小。
可以支持撤销Undo和重做Redo。
二. 给DataBase书写XYLayoutEditPolicy
书写一个DataBaseXYLayoutEditPolicy
类继承与XYLayoutEditPolicy
public class DataBaseXYLayoutEditPolicy extends XYLayoutEditPolicy {
@Override
protected Command createChangeConstraintCommand ...
- 2009-09-11 09:18
- 浏览 3896
- 评论(1)
一. 目标
能够选中Column。
对Column选择时,能够在首要选中、次要选中、取消选中显示不一样的颜色。
二. 修改GraphicalViewer,设置EditDomain,并指定ActiveTool
会发现目前的效果中,无法点选、圈选图像(Table或Column),没错,因为缺少了SelectionTool或MarqueeTool。
//
EditDomain domain = new EditDomain();
domain.setActiveTool(new SelectionTool());
graphicalViewer.setE ...
一. 目标
不基于GraphicalEditorWithPalette或GraphicalEditorWithFlyoutPalette,而是完全在ViewPart上,因为实际开发中用户很难接受GraphicalEditor呆板的界面风格。
实现了一个简易的DataBase->Table->TableColumn的图像编辑器。
在不停的增强功能的过程中,探索GEF。
二. 修改GraphicalViewer
FigureCanvas canvas = (FigureCanvas) graphicalViewer.getControl();
canvas.setBa ...
- 2009-09-07 20:20
- 浏览 3555
- 评论(1)
一. 怎么通过model创建对应的EditPart?
EditPartFactory
:通过model创建对应EditPart的工厂类。
就和jface.TableView一样,能知道通过model得到TableItem。和jface.TreeViewer一样,能通过model知道要生成对应的TreeItem一样的功效。
@Override
publ ...
- 2009-09-06 22:10
- 浏览 3048
- 评论(0)
一. 创建一个插件项目
通过从RCP application with a view 模板创建一个含ViewPart的Eclipse RCP项目。
二. 在MANIFEST.MF 添加对org.eclipse.gef插件的依赖。
三. 创建model
为了方便使用,我们了创建BaseModel和BaseContainerModel这两种基类。BaseModel
:所有模型的最基础类。一定要能够明白里面的PropertyChangeSupport和firePropertyChange的意义。BaseContainerModel
:父模型。DiagramModel
...
- 2009-09-05 20:13
- 浏览 3457
- 评论(3)
为了实现这样的效果:
载入的过程中,显示Pending。
载入完毕,Pending消失。
我们先从基础的说起,先来看ITreeContentProvider 接口:
public interface ITreeContentProvider {
public Object[] getElements(Object inputElement) ;
public ...
- 2009-08-08 17:30
- 浏览 6002
- 评论(2)
一:基本概念
在SWT内,有一个UI主线程的概念,自定义的线程不可操作UI控件,如果要操作则必须使用
display.asyncExec(new Runnable() {
public void run() {
// UI操作
}
});
需要注意的是:在Display.asyncExec()方法内运行的线程就是UI主线程,而不是用户自定义的线程。通过简单的实验可以知道,可见附件。
二:Display.asyncExec与Display.syncExec
display.asyncExec(new Runnable() {
public vo ...
- 2009-07-15 23:42
- 浏览 5028
- 评论(0)
目标功能:
随便焦点的跳转(键盘的上下左右操作;键盘的PgUp、PgDown操作;鼠标的点击操作),得到焦点所在位置的Style信息。
StyledText可以添加TraverseListener, 表示对界面上的焦点移动的监听.
getStyledText().addTraverseListener(new TraverseListener() {
public void keyTraversed(TraverseEvent e) {
}
});
一般的处理代码都是对event.detail进行判断,再进行对应的操作, 代码如下:
switch (e ...
- 2009-05-06 10:36
- 浏览 2697
- 评论(0)
Draw2d里面的GridLayout、BorderLayout和SWT的GridLayout、BorderLayout用法非常像,很容易上手。效果见图,源码见附件。
GridLayout
BorderLayout
- 2009-04-29 23:42
- 浏览 2598
- 评论(0)
Java在Eclipse环境下调用Subclipse接口完成SVN操作(附源码)
在Eclipse环境中使用SVN还是比较简单的, 因为已经Subclipse已经对SVN的操作进行了封装,只需要给你的Eclipse应用添加Subclipse,然后你自己的插件项目再对Subclipse进行依赖即可。具体实现如下:
一. 给Eclipse添加Subclipse插件
Subclipse下载地址:http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240
二. 新建EclipseRCP项目
三. 给Plugin项目 ...
- 2009-04-19 19:16
- 浏览 7904
- 评论(3)
单元测试
1. 基本测试
class OneTest extends GroovyTestCase {
void setUp() {
println 'setUp'
}
void tearDown() {
println 'tearDown'
}
void testOne() {
println 'testOne'
}
void testTwo() {
println 'testTwo'
}
}
setUp
testOne
teardown
setUp
testTwo
te ...
- 2009-04-10 18:26
- 浏览 2215
- 评论(0)