Feeling
三人行,必有我师焉
:: ::
新随笔
::
联系
:: ::
管理
::
52 随笔 :: 0 文章 :: 172 评论 :: 0 Trackbacks
<
2007年12月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(8)
给我留言
查看公开留言
查看私人留言
随笔档案
(52)
2008年12月 (1)
2008年10月 (1)
2008年9月 (1)
2008年7月 (1)
2008年6月 (3)
2008年5月 (3)
2008年4月 (3)
2008年3月 (2)
2008年1月 (1)
2007年12月 (3)
2007年9月 (4)
2007年7月 (2)
2007年6月 (3)
2007年5月 (2)
2007年4月 (6)
2007年3月 (1)
2007年1月 (3)
2006年12月 (2)
2006年11月 (4)
2006年7月 (1)
2006年6月 (5)
朋友圈
MSN Space同步
(rss)
SWT Extension Project
搜索
积分与排名
积分 - 85888
排名 - 108
最新评论
1. re: Redhat,Ubuntu,SUSE的初浅比较
就我本人来说是很喜欢Ubuntu的。以前我电脑就装了大半年的Ubuntu。后来装Windows了,因为这样学习方便。
--LiKui
2. re: 做不下去了,Vista快把我逼疯了
评论内容较长,点击标题查看
--三人行,必有我师焉
3. re: 做不下去了,Vista快把我逼疯了[未登录]
又一机器玩人的实例...
--Matthew
4. re: 做不下去了,Vista快把我逼疯了
开发Vista的人自己已经先疯掉了:)
--Always BaNg.
5. re: 做不下去了,Vista快把我逼疯了
不觉得VISTA有什么差的,没见哪个优秀的软件不能在vista下运行的,难道楼主想开发恶意软件?
太过依赖系统API本来就是有问题的
--=。=。。
阅读排行榜
1. Redhat,Ubuntu,SUSE的初浅比较(9216)
2. Eclipse3.4 插件配置Reset(5753)
3. Excelsior JET:把Java程序编译成本机可执行程序的工具(3504)
4. Birt小试牛刀(3458)
5. 三国志11制霸模式勇将集结不复活单挑14最强武将技巧(3279)
评论排行榜
1. Redhat,Ubuntu,SUSE的初浅比较(27)
2. 安逸中堕落,逆境中求生(15)
3. 准备对SWT-Extension realease了(14)
4. Birt小试牛刀(8)
5. Excelsior JET:把Java程序编译成本机可执行程序的工具(7)
2007年12月25日
#
Eclipse Presentation 里的垃圾代码,气得我吐血。
做Java UI的人应该都很熟悉Look and Feel,Swing拥有的这个功能的确是相对于SWT的一个巨大优势。不过SWT的GC也可以画出自己的UI,前提是这个控件是Custom的,而不是系统级的。Eclipse Presentation 就是对eclipse本身UI提供的一个扩展。本来我还对这个扩展很友好的,不过现在觉得真是一锅粥里掉了个老鼠屎,完全变了味道。
由于闲来无视,把一个1年半前一个德国人写的Eclipse VS L&F Plugin down了下来,无奈bug太多,用户体验也和我个人感觉不一致,索性就把代码check out 出来,作了一些本地修改。不过让我吐血的地方就是,如果我从eclipse default L&F 切换到这个L&F,就问题一堆,从其它的L&F切换就没有问题。Debug了半天,毫无进展,只是发现很多地方都是Null Exception。于是把Eclipse 2.2 L&F的代码翻了出来,经过仔细对照,还是没有找到解决的方案,我就感觉怪怪的,也不知道哪儿出了问题,觉得大概是自己没有把Presentation的代码吃透的原因。于是又回头开始一行行的从有问题的代码处开始Debug,看看我的代码和2.2L&F的代码在运行时到底有什么区别,终于功夫不负有心人,我发现这个代码片断:
/** */
/**
* Sets the minimized state for this stack. The part may call this method to
* minimize or restore itself. The minimized state only affects the view
* when unzoomed.
*
* This implementation is specific to the 3.3 presentation's
* min/max story; otherwise it just forwards the call.
*/
public
void
setMinimized(
boolean
minimized)
{
//
'Smart' minimize; move the stack to the trim
Perspective persp
=
getPage().getActivePerspective();
if
(Perspective.useNewMinMax(persp))
{
原来3.3的L&F做了专门处理,而我的代码和3.3是一致的,和 2.2L&F是不一致的,不过我找了半天,也没有在2.2L&F的代码里找出异样之处,晕的不行。唯一的线索就是
boolean
useNewMinMax
=
preferenceStore.getBoolean(IWorkbenchPreferenceConstants.ENABLE_NEW_MIN_MAX);
可恶的是,IWorkbenchPreferenceConstants.ENABLE_NEW_MIN_MAX 这个静态常量是无法在项目里找到eclipse自身的引用。2.2L&F plugin里也没有,该死的eclipse肯定是写死在代码里了。于是翻出editplus,对eclipse ui workbench的代码多文件搜索了一把,然后开始吐血,它居然把所有的L&F的配置都写在UI Workbench的Preference Page里,这还算什么插件,根本就没有把扩展的接口给出来,还是很重要的一个配置。其实2.2L&F以前只是它的一个内部package,后来重构成一个plugin,3.0L&F到现在依然还是一个package。不过我想既然2.2L&F做成插件了,怎么也改和系统独立开来呀,现在这样就成了一个半吊子的plugin.
Eclipse终于被我bs了一把^_^,林子大了,什么鸟都有。
改过之后L&F自己觉得好用了不少
posted @
2007-12-25 19:19
三人行,必有我师焉 阅读(2347) |
评论 (5)
|
编辑
收藏
Powered by:
BlogJava
Copyright © 三人行,必有我师焉