posts - 20, comments - 16, trackbacks - 0, articles - 0
两条路:
1.
IStructuredSelection structureSel = (IStructuredSelection) event
                .getSelection();
SourceManipulation source 
= (SourceManipulation) structureSel
                .getFirstElement();
source.toString();
//获得当前所选的元素名
source.getParent().toString();//得到c文件名
source.getParent().getParent().getCProject().getProject().getLocation();//得到项目路径

用以上代码,然后可以得到source,也就是所选的东西的代码级层次,例如所选的为“方法”,则source类型为Function,如果所选为声明的“头文件”,则source类型为Include,可以使用source公共的方法获取当前所选元素的很多信息,例如名字。也可以调用getParent()方法在层次之间游走,获取到丰富的信息,例如该“方法”所属文件名,项目名,路径,等等。

2.
TreeViewer tv = (TreeViewer) event.getSource();
tv.getInput();
//得到当前TreeViewer的数据输入,例如文件名
tv.getSelection();//得到当前所选元素,例如所选方法list

用event.getSource(),可以获取到产生事件的控件,需要进行类型转换,然后就可以直接操作控件了。



只有注册用户登录后才能发表评论。


网站导航: