`
equalxx
  • 浏览: 65407 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

org.eclipse.ui.trim.status显示不完整的问题

阅读更多

解决这个问题翻找了很多英文文档,但是发布以后文章被到处复制没有来源,表示十分气愤。

如需转载,请标明来源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;
	}
}

 

 

0
2
分享到:
评论

相关推荐

    org.apache.tools.zip解决解压乱码问题

    //如果指定文件的目录不存在,则创建之. File parent = file.getParentFile(); if(!parent.exists()){ parent.mkdirs(); } is = zipFile.getInputStream(entry); fileOut = new FileOutputStream(file);...

    org.apache.commons.lang3.StringUtils.jar.rar

    3. **分割操作**:`StringUtils.split()` 可以按照指定的分隔符将字符串拆分为字符串数组,而 `StringUtils.splitByWholeSeparatorPreserveAllTokens()` 可以确保每个完整的分隔符后面都会生成一个空字符串元素。...

    技巧:MyBatis 中的trim标签,好用!.zip

    技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:...

    trim函数.txt

    根据提供的文件信息,可以看出这份代码主要实现了几个与字符串处理相关的功能:删除子串、删除左侧匹配的字符序列以及字符串...此外,函数中的一些注释使用了非标准的字符编码,这可能是由于编码问题导致的显示错误。

    swt小技巧,SWT的SHELL样式

    import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class ShellExample { public static void main(String[] args) { Display display = new Display(); Shell ...

    SQL语句中Trim的使用问题.doc

    1. 使用 Trim 函数可能会导致 Oracle 数据库不使用对应字段的索引,从而导致性能问题。 2. 对于 Char 类型的字段,一般不需要使用 Trim 函数。 3. 对于 Varchar2 类型的字段,如果不能保证插入数据都没有末尾空格,...

    String.prototype.trim:适用于String.prototype.trim的ES5规范的垫片

    如果不可用,请调用其“ shim”方法对String.prototype.trim进行填充。 该软件包实现了接口。 它可以在ES3支持的环境中工作,并符合规范( 和 )。 最常见的用法: var assert = require ( 'assert' ) ; var ...

    SWT入门.docx

    首先,使用SWT需要下载相应的jar包,例如`org.eclipse.swt.win32.win32.x86_64_3.104.2.v20160212-1350.jar`,这适用于Windows 64位系统。如果你使用Eclipse IDE,可以从库中直接导入SWT库。 `Display`类是SWT中...

    trim函数.xls

    trim函数.xls

    电源模块Trim引脚的应用.pdf

    在探讨开关电源模块的应用中,Trim引脚的使用是一个十分重要的知识点,特别是在面对非标准电压需求时,它提供了一种灵活的调节解决方案。本文将详细介绍Trim引脚的功能、应用方法以及其电阻的计算方式。 Trim引脚是...

    element-ui离线文档.zip

    由于 Element UI 的在线文档可能依赖外部 JavaScript 文件,直接在没有网络的情况下访问会遇到问题。这个压缩包包含了所有必要的资源,确保开发者可以在无网环境中正常使用文档,这对于离线开发或者网络环境不稳定的...

    mp3剪辑trim-raindy.rar

    在数字音频的世界里,MP3剪辑是一项常见的操作,它允许我们根据需求裁剪音频文件中的特定部分,删除不想要的部分,或者将多个片段合并成一个完整的音乐作品。今天我们将深入探讨MP3剪辑技术,并以"trim-raindy.rar...

    Trim工具.zip

    《C#编程实践:利用Trim工具提升开发效率》 在软件开发过程中,代码优化和工具化是提升工作效率的关键。本文将深入探讨一个名为"Trim工具.zip"的C#项目,它包含源码并允许开发者根据实际需求进行定制,旨在帮助...

    Trim()的含义

    ### Trim()函数详解 在计算机编程领域,字符串处理是日常工作中极为常见的任务之一。其中,`Trim()`函数作为字符串操作的基础工具,在各种编程语言中都有着广泛的应用。本文将围绕“Trim()的含义”这一主题,深入...

    js设置兼容trim函数

    ### js设置兼容trim函数 #### 知识点一:JavaScript中的`trim()`方法 `trim()` 方法用于删除字符串两端的空白字符(包括空格、制表符、换页符等)。此方法不会改变原始字符串,而是返回一个新的字符串。 **语法**...

    图书管理系统

    MessageBox.Show("数据不完整! 请重新输入"); return; } SqlConnection conn = new SqlConnection(strcon); string sql = "INSERT INTO View_1 VALUES(" + textBox1.Text.Trim() + ",'" + textBox2.Text.Trim()...

    javascript自定义trim()方法

    通过以上介绍可以看出,在JavaScript中自定义实现`trim()`方法并不复杂,主要依靠对字符串的遍历和截取操作完成。这种方法不仅能够帮助开发者高效地处理字符串数据,还能提高程序的健壮性和可读性。需要注意的是,...

    js 自定义trim去除字符串左右杂质

    * JavaScript 中不存在 trim() 方法来去除字符串左右的空格,需要自定义 trim() 方法。 * 使用 String.prototype 来扩展 String 对象的功能。 * 使用 eval() 函数将字符串形式的表达式转换为正则表达式。 * 使用 ...

    js-trim()方法IE无效的解决办法

    为了解决IE浏览器不支持`trim()`方法的问题,可以使用正则表达式来实现一个兼容的`trim()`方法。下面是一个示例实现: ```javascript function trim1(str) { return str.replace(/^\s\s*/, '').replace(/\s\s*$/, ...

    Trim Enabler_4.2_WaitsUn.com.dmg

    Trim Enabler v4.2 黑苹果,用来开启SSD Trim。

Global site tag (gtag.js) - Google Analytics