请问有关开发HTML的所见即所得的可视化编辑器的Eclipse插件的问题?

Euyi 2005-08-03 08:12:09
我目前采用的技术路线是参考MyEclipse的Visual HTML Editor的方法将开源项目FCKEditor(知名的基于网络浏览器的JavaScript实现的开源页面可视化编辑器)封装成Eclipse插件。但是MyEclipse的Visual HTML Editor插件com.genuitec.eclipse.webdesigner_3.9.210是商业插件,我需要对
其进行反编译,参考其创建MultiPageEditorPart的方法,并建立Source Mode/Preview Mode/Design Mode,在Design Mode下集成FCKEditor 1.6版。但是我的程序经常出现意想不到的问题,特别是其中用到的"com.ibm.sse.editor.*"包和"com.ibm.sse.model.*"包,我更是一无所知,而且网上也没有找到相关的资料。

或许是我的技术路线有问题,不知大家对我的目前的做法有没有什么建议?感激不尽!
...全文
1167 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
weblogic67113125 2010-06-12
  • 打赏
  • 举报
回复
兄弟们,如何在一个插件中引用另一个插件所注册的服务?????救命呀
java_augur 2005-08-27
  • 打赏
  • 举报
回复
i m on the ninth cloud.
Euyi 2005-08-26
  • 打赏
  • 举报
回复
插件开发的程序中import org.eclipse.pde.internal.ui.parts.ComboPart; Eclipse会报出Discouraged access的warning。虽然程序编译通过,但还是不理解Discouraged access究竟是何缘故?是不鼓励access,还是不允许access呢?用了又会怎样?是不是有其他的方式达到目的?如何访问这些internal api? 是否可以通过修改access rule的定义来访问internal api ?
Euyi 2005-08-24
  • 打赏
  • 举报
回复
我倒是想请教一个Eclipse插件开发的基础问题:在MANIFEST.MF中,我并未在Require-Bundle中添加对某个插件的依赖,而只是在Bundle-ClassPath中添加该插件对应的jar文件。这样做编译是没有问题的,但是运行和调试会出项问题。会不会是因为少了插件依赖性注册的过程,导致问题的出现呢?不太理解插件依赖机制和import某个jar中类的区别和联系。
Euyi 2005-08-24
  • 打赏
  • 举报
回复
或许也可以这样理解:一个插件由两部分组成,即配置文件(plugin.xml和MANIFEST.MF等)和程序文件(jar文件等)。如果没有在Require-Bundle中import某插件,而只是在Bundle-Classpath中添加该插件所对应的jar文件,结果就要看该插件的配置文件的配置信息的作用。如果有直接作用,则缺少配置信息的插件jar文件就会失效,导致编译通过但运行调试出错。如果插件配置文件只是对插件jar的象征性封装,并无实际意义,则编译运行调试都不会出现问题。
烟灰飘散 2005-08-24
  • 打赏
  • 举报
回复
我了解得不是很清楚。大概的意思是eclipse比较新的版本中的plugin的机制都遵循osgi规范。其中plugin的调用过程是通过context的getServiceReference先获取其他plugin的句柄,再通过context.getService(ServiceReference)的方法获取Service的实体。所以我以为Require-Bundle的方式是把plugin进行了注册这样就可以得到句柄并实现。而用Bundle-Classpath的方式只是一个库的引用,所以没办法实例化。
6fish 2005-08-21
  • 打赏
  • 举报
回复
强烈关注ing..........鼓励
dongcenphoenix 2005-08-21
  • 打赏
  • 举报
回复
mark
apicescn 2005-08-20
  • 打赏
  • 举报
回复
Euyi(如意) 这段时间把这个研究的工作和成果能尽量贴出来,让大家分享一下吧!
Euyi 2005-08-19
  • 打赏
  • 举报
回复
在创建某一个表单元素时,通过各自的Wizard,向PropertyStore提交各种属性;用户可以通过Properties视图来读取并修改某一个表单元素的属性。

画布是基于浏览器的DHTML实现的,我并非通过GEF的createFigure()来画input对象。

控件定位和selection紧密相关,通过property文件来保存位置信息应该不是一个好方法。

mshtml是微软的技术,提供了WYSIWYG的编辑环境,可以到MSDN里查看。

JNIWrapper提供了面向windows和linux的JNI封装,如果用MSHTML,那就只能考虑Windows,不用考虑Linux了。
烟灰飘散 2005-08-19
  • 打赏
  • 举报
回复
我是利用正则来解析html,比如拿出一个<input>的tag,这样就可以利用一个已定义好的input类的实例来装载它的属性,属性中包括他的唯一标识。再用相应的方法调用一个input的用GEF建的画图方法,把input对象画出来。
这个方法比较复杂,因为有很多细节的东西需要注意。比如控件如何定位,我准备用一个property文件来保存位置信息;还有互动的问题也不好解决。
我不太了解你说的方法,但我正在看。只是有几个问题,第一mshtml支持扩展控件吗?因为我要做的不只是html的tag,还有一些自己的tag。第二你说的这些工具是否是开源或免费的?我不想用商业用途的软件。另外用JNI就要调用本地的东西,那平台无关性比然也成问题。
你说的页面切换时的几个方法是mshtml中已用的吗?
希望大家能够多交流,谢谢
Euyi 2005-08-19
  • 打赏
  • 举报
回复
“利用正则表达式对后台html进行解析,然后生成众多的tag类”
请问所指后台html是指Design Mode的后台html吗?生成众多tag类又是为何?

“用GEF进行画图”
莫非画图方式和org.eclipse.gef.examples.shapes差不多吗?

“至于画布,如果我没记错,GEF中应该有画布的”
我所指画布还是基于浏览器的,并非GEF的作图画布。对GEF的依赖在于Palette.

“控件的定位就是一个问题”
这的确是一个共同的问题。不过我倒是基于MSHTML实现了一个MSHTMLDOMLocation类.

“对Design mode进行修改时如何与source mode中的代码进行互动”
这就需要在页面切换时进行loadSource()/unloadSource()/transformSource()/untransformSource()操作了。

大家共同交流!或许可以了解一下MSHTML & JNIWrapper & JExplorer.
烟灰飘散 2005-08-19
  • 打赏
  • 举报
回复
谢谢你的回复,感觉你的方法要比我现在想的方便很多也好很多。但实际上这种方式借助ms的技术很多。感觉做的不够底层。我的想法是实现一个类似于NitroX的东东,大多数东西可能需要自己来写。
也可以说我要研究的是你用的这些技术的底层是如何实现的。比如mshtml是如何把代码转换成控件然后画在dhtml上的,或者说是dhtml是如何解析代码的。一开始想想觉得有点自不量力,但我想这也并非不可能的事情。接下来我会好好研究一下你说的技术,应该能给我很大的启示的。
烟灰飘散 2005-08-18
  • 打赏
  • 举报
回复
强烈关注!我现在也在想这个问题。主要的思路是利用正则表达式对后台html进行解析,然后生成众多的tag类。用GEF进行画图。至于画布,如果我没记错,GEF中应该有画布的。这只是一个初步想法,并有了一部分的实现,但问题还是很多的。比如控件的定位就是一个问题。还有对Design mode进行修改时如何与source mode中的代码进行互动也是一个问题。
prostephen 2005-08-17
  • 打赏
  • 举报
回复
强烈顶一下!!!
Euyi 2005-08-17
  • 打赏
  • 举报
回复
想通过GEF实现Design Mode.现在的问题是设计区域的画布如何实现?或许我可以考虑MSHTML?但在Eclipse环境下,我得要借助JNI技术,或许JNIWrapper可以帮我一把?
Euyi 2005-08-07
  • 打赏
  • 举报
回复
近日从SourceForge官方网站了解到令我兴奋的消息,我所在的项目让我对其所有深刻认识的三个开源项目中,AWStats获得2004年6月最佳,JasperReports获得2005年7月最佳,而FCKEditor在Most Active排行榜中排名第六,而且继续攀升。只可惜MyEclipse的Web Development组的Riyad告诉我MyEclipse 4.0 M3将放弃FCKEditor. "The designer comming in M3 is completely new and offers a whole slew of new functionality".
Euyi 2005-08-07
  • 打赏
  • 举报
回复
版主对我的建议是对MyEclipse进行瘦身,但是插件依赖性检测的结果肯定还是需要MyEclipse核心com.genuitec.eclipse.core的,而这必然会需要用户的注册。如果只是用,还可以从网上找注册码,但是如果是开发,恐怕只对MyEclipse瘦身是解决不了问题的。

另外,plugin.xml中的requires和程序中的import,这两者是什么关系?前者只是后者的前提?如果只是把plugin的jar文件作为我所开发的插件程序的外部jar,又会怎样?

Keep trying!
Euyi 2005-08-04
  • 打赏
  • 举报
回复
看过"About Eclipse SDK"的"Feature Details"的"com.genuitec.myeclipse.wdt"的"Plug-in Details"的"com.ibm.sse.editor"才知,这是"MyEclipse Source Editors"。看来无法从网上获取信息时可以理解的。我在考虑放弃structred source editor(sse),直接用TextEditor().但是在使用com.genuitec.eclipsetidy插件时出现很多问题。
「已注销」 2005-08-04
  • 打赏
  • 举报
回复
Gooooooooooooooogle..................

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧