- 浏览: 268912 次
- 性别:
- 来自: 北京
最新评论
-
扬手就是一长鞭:
移动label也无法使得save可以执行。
让连线上的Label动起来吧 -
扬手就是一长鞭:
我的save是正常的,我添加删除node或者connectio ...
让连线上的Label动起来吧 -
扬手就是一长鞭:
我也是这扥写的,可是我双击label改变他的文字时,发现sav ...
让连线上的Label动起来吧 -
ae6623:
这段代码放到哪里??
控制拖拽范围 -
ae6623:
真牛!鼠标滚轮缩放GEF画布 ..
getGraphicalV ...
GEF实现用鼠标滑轮控制画布的放大与缩小
文章列表
讲述了如何将一个Java Project编译成JET Project;通过模板来生成代码,测试所生成的代码
内容包括,创建EMF工程,利用EMF生成模型、生成模型代码、生成edit、editor代码
希望大家多多支持
做插件开发的都知道当应用跑不起来了就去看看workspace里的.log文件,错误信息很详细,那样解决问题就方便多了,这个功能很好,所以学习了下,和大家分享下,实现的原理也就一行代码
Platform.getLog(Platform.getBundle(bundleID)).log(
...
如果说只需要改变RCP的皮肤可以参照IBM上的Eclipse程序界面美化技术
http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-rcprich/
如果想自定义RCP的外观就得用到presentationFactories,presentationFactories是eclipse为editor以及view提供的一个外观工厂,在eclipse官网上推荐的书中就提到过这么个工厂,今天再看MP3MANAGER源代码的时候发现实现起来也挺简单的,不过我还是习惯eclipse风格,所以没将应用的外观改变,之前也一直在寻找改变RCP外观的方法 ...
还记得在做WEB国际化的时候,通常都是用ResourceBundle来得到配置文件信息的,现在做插件开发了,从LOGIC源代码里知道了NLS,太方便了,之前群里的同志们也谈到过,但是自己以为是OSGI里的东西就没关注,现在自己对OSGI又有了兴趣,就想起来了,好用的东西就得多用啊,所以项目里的ResourceBundle都换成了NIS,实现步骤:
一:写一个MESSAGE类继承NLS,里面放键 格式如下
public static String Command_Add;
public static String Command_Clone;
public static String C ...
如果有需求要将Composite的边框颜色改成红色,大家肯定就想到用GC了,先给Composite添加Apaint监听这里我将这种方法称之为一,然后再实现重绘的方法,或者是直接GC gc = new GC(Composite)然后直接画了,将这种方法称之为二,那么我现在就来说说方法二法有什么问题,大家也可以做实验,搞个composite 添加双击事件 双击之后改变机框,相信大家都知道怎么写,然后最小化界面,在打开,大家可以发现颜色没了,这就说明这个方法是临时性的,你要想永久存在,还是得用监听;好的,那么大家现在将方法二换成方法一试试:完全可以实现,那么在原有的基础上在加一个Composite调用 ...
理论:有些时候的需求往往不是通过plette来创建模型和连线以及其他的Command,那么你要想在别的地方执行Command,且让DiagramEditor知道你修改了,那么你就将Command传到Editor中去执行就可以了;具体的实现:在DiagramEditor中提供一个方法,用来执行Comamnd,代码如下:
public void executeCommand(Command command){
if (command != null && command.canExecute()) {
getViewer().getEditDomain().get ...
一个接口ReadWriteInt ,一个实现类ReadWriteIntImp ,代码如下:
package com.netunit.workbench.util;
import java.io.IOException;
import java.util.List;
/**
* 读写XML接口
* @author Ming.He
*
* @Data 2009-12-21
*/
public interface ReadWriteInt {
/**
* 把数据写入xml文件
* @param list
* @param cls
* ...
在LineConnectionEditPart类中实现AbstractConnectionEditPart中的setSelected方法,代码如下:
@Override
public void setSelected(int value) {
// TODO Auto-generated method stub
super.setSelected(value);
//选择或取消选择当前的EditPart,改变连线视图的连线宽度
if (value != EditPart.SELECTED_NONE)
((PolylineConnection) getFigur ...
大家都知道new PolygonDecoration就表示带箭头,但有的时候不想是箭头,想搞个圆圈,或者方块,那怎么做呢?那就只能自定义PolygonDecoration咯,我昨天自定义了一个圆圈,给大家看看吧package com.netunit.workbench.parts;
import org.eclipse.draw2d.Ellipse;
import org.eclipse.draw2d.RotatableDecoration;
import org.eclipse.draw2d.geometry.Point;
import org.eclipse.draw2d. ...
大家都知道GEF中连线上的label默认是在线的中间,一旦要连很多线的时候显示label就是棘手的问题了,所以啊就要求可以移动label避免重叠啊
三个步骤
第一步:写个类继承MidpointLocator
public class MidpointOffsetLocator extends MidpointLocator {
private Point offset;
public MidpointOffsetLocator(Connection c, int i) {
super(c, i);
offset = ...
EditorPart[] parts =
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditors();
或者
IEditorReference[] parts = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences();
private void setConnectionShiape(String str){
if (0 == "直线".compareTo(str)) {
connection.setConnectionRouter(new BendpointConnectionRouter());
connection.setLineStyle(SWT.LINE_SOLID);
} else if (0 == "折线".compareTo(str)) {
connection.setConnectionRouter(new ManhattanC ...
从http://www.eclipse.org/swt/javaw.exe.manifest这个链接上下载javaw.exe.manifest文件,放在jre下的bin目录里面就OK了http://msdn.microsoft.com/en-us/library/ms997646.aspx这里有解释
当有人想继承org.eclipse.draw2d.graph中的GraphVisitor类时,却惊奇的发现import不进来,而且jar包里确实有这个包,这个时候不妨看看它的源代码吧,
/*******************************************************************************
* Copyright (c) 2003, 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
...