解决这个问题翻找了很多英文文档,但是发布以后文章被到处复制没有来源,表示十分气愤。
如需转载,请标明来源http://equalxx.iteye.com/
在右下角添加状态时配置的control继承的类是WorkbenchWindowControlContribution,按正常步骤在createControl后发现只能调整横向大小,不能调整竖向,每次都是显示一部分,很奇怪。查了很多资料,包括eclipse登记的bug网址:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=466609#c21
https://bugs.eclipse.org/bugs/show_bug.cgi?id=186800
https://bugs.eclipse.org/bugs/show_bug.cgi?id=471313
里面都有详细的对话描述问题,总之就是这个toolItem被固定了大小,且用户不可改变。
最后其实解决办法很简单,在createControl中添加parent.getParent().setRedraw(true);以及isDynamic
plugin.xml配置如下
<menuContribution locationURI=" toolbar:org.eclipse.ui.trim.status"> <toolbar id="test.trim.status.toolbar"> <control class="xxxxxxxx.ExampleControlContribution" id="xxxxxxxxx.ExampleControlContribution"> </control> </toolbar> </menuContribution>
类中代码如下
import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.ui.menus.WorkbenchWindowControlContribution; public class ExampleControlContribution extends WorkbenchWindowControlContribution { // Image imgOnLine = SignInConstants.online.createImage(); // Image imgOffLine = SignInConstants.offline.createImage(); // Image imgMessage = SignInConstants.message.createImage(); WorkbenchWindowControlContribution contribution; public ExampleControlContribution() { super(); contribution = this; } protected Control createControl(Composite parent) { parent.getParent().setRedraw(true); GridLayout gridLayout = new GridLayout(1, false); gridLayout.horizontalSpacing = 0; gridLayout.verticalSpacing = 0; gridLayout.marginLeft = 0; gridLayout.marginHeight = 0; gridLayout.marginTop = 0; gridLayout.numColumns = 1; parent.setLayout(gridLayout); GridData data = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); data.heightHint = 20; Button ccCtrl = new Button(parent, SWT.CENTER); // ccCtrl.setImage(imgOnLine); ccCtrl.setText("已登录"); ccCtrl.setToolTipText("已登录"); ccCtrl.setLayoutData(data); return parent; } @Override public boolean isDynamic() { return true; } }
相关推荐
//如果指定文件的目录不存在,则创建之. File parent = file.getParentFile(); if(!parent.exists()){ parent.mkdirs(); } is = zipFile.getInputStream(entry); fileOut = new FileOutputStream(file);...
技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:...
trim函数.txt
如果不可用,请调用其“ shim”方法对String.prototype.trim进行填充。 该软件包实现了接口。 它可以在ES3支持的环境中工作,并符合规范( 和 )。 最常见的用法: var assert = require ( 'assert' ) ; var ...
js_trim()十二种实现.txtjs_trim()十二种实现.txtjs_trim()十二种实现.txtjs_trim()十二种实现.txt
trim函数.xls
SQL语句中Trim的使用问题.doc
mp3剪辑...trim-raindy.rar
主要介绍了Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
电源模块Trim引脚的应用pdf,电源模块Trim引脚的应用
MessageBox.Show("数据不完整! 请重新输入"); return; } SqlConnection conn = new SqlConnection(strcon); string sql = "INSERT INTO View_1 VALUES(" + textBox1.Text.Trim() + ",'" + textBox2.Text.Trim()...
Trim Enabler v4.2 黑苹果,用来开启SSD Trim。
This script will setup the nonlinear simulation (UAV_NL.mdl) and call trim and linearization routines. Select the desired aircraft here in this script, via the "UAV_config()" function call.
代码统计插件 eclipse plugin java 提供xls导出。 liugang594 开发的,方便下载 这是一款小型的代码统计软件。它具有以下功能: 1、良好的统计性能。可以统计各种方式的注释,如单行、多行注释;注释在行前 、行...
解决浏览器对trim()方法的支持问题。开发是解决浏览器的兼容问题,发现某些浏览器对trim()方法不支持引起了问题
C语言实现trim函数,函数名:trim,参数:源字符串、目的字符串...
a.ui.version||(a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,...
trim()返回一个字符串两端空白字符被删除的新字符串,不影响原字符串。 第一种实现方式:理论上算是比较不错的 if (!String.prototype.trim) { String.prototype.trim = function () { return this.replace(/^[\s...
Table of Contents Introduction .............................................................................................................................8 ...Real-Time Monitoring and Attack Detection ...
Trim Enabler_4.0.5 的keygen 安装后用这个 pj 。trimenabler 是苹果增强苹果系统下固态硬盘寿命的必备工具。很好用,有许多功能的。