`
lggege
  • 浏览: 372723 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
  一:DSL 概念     指的是用于一个特定领域的语言(功能领域、业务领域)。在这个给出的概念中有 3个重点:   只用于一个特定领域,而非所有通用领域,比如 Java / C++就是用于通用领域,而不可被称为 DSL,同样也不可把 Groovy称为 DSL。 语言,必须经过编写后才可发挥它的功能。比如:五线谱编写后成乐谱; ANT编写用于编译; SVN命令编写后可对资源库进行操作; Shell编程; SQL编程; PL-SQL编程等等。 忽略具体的运行环境(媒介),可以是纸、 XML文件、命令行、 Shell、数据库等 ...
一 相关知识 org.eclipse.compare 插件项目,用于进行文本、源码比对的一个插件,提供了一个Editor或Dialog可方便调用。   org.eclipse.compare.CompareEditorInput.CompareEditorInput 是用于给Compare Editor 的EditorInput, 需要自己实现。 org.eclipse.compare.CompareConfiguration 对CompareEditor的配置。是否允许左边内容被修改,或是否允许右边内容被修改;左右两边的label,image等。   org ...
一. 核心类说明   ImageDescriptor 用于表示一个可用于创建org.eclipse.swt.graphics.Image的类 CompositeImageDescriptor 可用于创建出自定义图像效果的Image的抽象类 DecoratorOverlayIcon 这是org.eclipse.ui.internal.decorators下的类,很可惜,它是package的class,不可外部调用 OverlayIcon 用于创建出2个图片叠加效果的类. 不过, 只可以做”右上”的叠加 OverlayImageDescriptor ...
一. 目标 在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 ...
一. 目标 能够选中Table,移动Table的位置,调整Table的大小。 可以支持撤销Undo和重做Redo。 二. 给DataBase书写XYLayoutEditPolicy 书写一个DataBaseXYLayoutEditPolicy 类继承与XYLayoutEditPolicy public class DataBaseXYLayoutEditPolicy extends XYLayoutEditPolicy { @Override protected Command createChangeConstraintCommand ...
一. 目标 能够选中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 ...
一. 怎么通过model创建对应的EditPart? EditPartFactory :通过model创建对应EditPart的工厂类。 就和jface.TableView一样,能知道通过model得到TableItem。和jface.TreeViewer一样,能通过model知道要生成对应的TreeItem一样的功效。 @Override publ ...
一. 创建一个插件项目 通过从RCP application with a view 模板创建一个含ViewPart的Eclipse RCP项目。 二. 在MANIFEST.MF 添加对org.eclipse.gef插件的依赖。 三. 创建model 为了方便使用,我们了创建BaseModel和BaseContainerModel这两种基类。BaseModel :所有模型的最基础类。一定要能够明白里面的PropertyChangeSupport和firePropertyChange的意义。BaseContainerModel :父模型。DiagramModel ...
为了实现这样的效果:     载入的过程中,显示Pending。     载入完毕,Pending消失。     我们先从基础的说起,先来看ITreeContentProvider 接口: public interface ITreeContentProvider { public Object[] getElements(Object inputElement) ; public ...
一:基本概念 在SWT内,有一个UI主线程的概念,自定义的线程不可操作UI控件,如果要操作则必须使用 display.asyncExec(new Runnable() { public void run() { // UI操作 } }); 需要注意的是:在Display.asyncExec()方法内运行的线程就是UI主线程,而不是用户自定义的线程。通过简单的实验可以知道,可见附件。 二:Display.asyncExec与Display.syncExec display.asyncExec(new Runnable() { public vo ...
目标功能:     随便焦点的跳转(键盘的上下左右操作;键盘的PgUp、PgDown操作;鼠标的点击操作),得到焦点所在位置的Style信息。 StyledText可以添加TraverseListener, 表示对界面上的焦点移动的监听. getStyledText().addTraverseListener(new TraverseListener() { public void keyTraversed(TraverseEvent e) { } }); 一般的处理代码都是对event.detail进行判断,再进行对应的操作, 代码如下: switch (e ...
Draw2d里面的GridLayout、BorderLayout和SWT的GridLayout、BorderLayout用法非常像,很容易上手。效果见图,源码见附件。 GridLayout BorderLayout
Java在Eclipse环境下调用Subclipse接口完成SVN操作(附源码) 在Eclipse环境中使用SVN还是比较简单的, 因为已经Subclipse已经对SVN的操作进行了封装,只需要给你的Eclipse应用添加Subclipse,然后你自己的插件项目再对Subclipse进行依赖即可。具体实现如下: 一. 给Eclipse添加Subclipse插件 Subclipse下载地址:http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240 二. 新建EclipseRCP项目 三. 给Plugin项目 ...
单元测试 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 ...
Global site tag (gtag.js) - Google Analytics