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

RCP中设置view和editor的tilte字体

    博客分类:
  • RCP
阅读更多
[align=left]我们在rcp的项目开发中,view和editor的字体都是eclipse默认的。但是,很多时候,由于其字体太小或者想改变其样式,需要能够设置tilte的字体。eclipse里可以非常方便的设置其字体和颜色:按照如下路径:
Preferences/General/Appearance/Colors and Fonts/Part title font
即可以更改view和editor的外观。

但是,在rcp中,该怎样重新设置其值呢。找了很久发现,当在eclipse中作如上修改后,在eclipse的工作空间workspace下有一个配置文件保存了其修改后的值,只要找到这个值,我们就有办法了。具体的路径如下,${workspace}代表当前你正在使用的workspace路径。
${workspace}\.metadata\.plugins\org.eclipse.core.runtime\.settings
\org.eclipse.ui.workbench.prefs

在org.eclipse.ui.workbench.prefs文件中多了一行记录,类似于:

org.eclipse.ui.workbench.TAB_TEXT_FONT
=1|\u5B8B\u4F53|11.0|1|WINDOWS|1|-16|0|0|0|700|0|0|0|-122|3|2|1|2|\u5B8B\u4F53


就是这个TAB_TEXT_FONT属性,想死我了。
其中红色的11代表字体大小,700代表粗体。如果是normal则为400.\u5B8B\u4F53代表的是unicode编码的"宋体"

好了,知道了这个参数,该怎么用呢??
在rcp中,我们有一个plugin_customization.ini的全局配置文件。很多配置可以写在代码里也可以写在这个配置项中。比如设置view和editor的tab样式为非传统的样式,可以这么写:
org.eclipse.ui/SHOW_TRADITIONAL_STYLE_TABS=false
该配置文件的书写格式一般为:
<pluginId>/<preferenceName>=<preferenceValue>
这里,我们要想改变view和editor的title字体,则可以写成:
org.eclipse.ui.workbench/org.eclipse.ui.workbench.TAB_TEXT_FONT
=1|\u5B8B\u4F53|11.0|0|WINDOWS|1|-16|0|0|0|700|0|0|0|-122|3|2|1|2|\u5B8B\u4F53


当然了,还有很多的配置都可以写在plugin_customization.ini文件中。
从org.eclipse.ui.internal.IWorkbenchThemeConstants接口中我们能够看见eclipse系统定义的一些可配属性。该接口完整代码如下
/*******************************************************************************
 * Copyright (c) 2004, 2007 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.ui.internal;

/**
 * A source of color/font/theme data constants used throughout the workbench.
 * 
 * @since 3.0
 */
public interface IWorkbenchThemeConstants {
    public static final String TAB_TEXT_FONT = "org.eclipse.ui.workbench.TAB_TEXT_FONT"; //$NON-NLS-1$    

    public static final String VIEW_MESSAGE_TEXT_FONT = "org.eclipse.ui.workbench.VIEW_MESSAGE_TEXT_FONT"; //$NON-NLS-1$

    public static final String ACTIVE_TAB_TEXT_COLOR = "org.eclipse.ui.workbench.ACTIVE_TAB_TEXT_COLOR"; //$NON-NLS-1$

    public static final String ACTIVE_NOFOCUS_TAB_TEXT_COLOR = "org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_TEXT_COLOR"; //$NON-NLS-1$

    public static final String INACTIVE_TAB_TEXT_COLOR = "org.eclipse.ui.workbench.INACTIVE_TAB_TEXT_COLOR"; //$NON-NLS-1$

    public static final String ACTIVE_TAB_BG_START = "org.eclipse.ui.workbench.ACTIVE_TAB_BG_START"; //$NON-NLS-1$

    public static final String ACTIVE_TAB_BG_END = "org.eclipse.ui.workbench.ACTIVE_TAB_BG_END"; //$NON-NLS-1$

    public static final String ACTIVE_TAB_HIGHLIGHT = "org.eclipse.ui.workbench.ACTIVE_TAB_HIGHLIGHT"; //$NON-NLS-1$

    public static final String ACTIVE_TAB_HIGHLIGHT_START = "org.eclipse.ui.workbench.ACTIVE_TAB_HIGHLIGHT_START"; //$NON-NLS-1$

    public static final String ACTIVE_NOFOCUS_TAB_BG_START = "org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_START"; //$NON-NLS-1$

    public static final String ACTIVE_NOFOCUS_TAB_BG_END = "org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_END"; //$NON-NLS-1$    

    public static final String INACTIVE_TAB_BG_START = "org.eclipse.ui.workbench.INACTIVE_TAB_BG_START"; //$NON-NLS-1$

    public static final String INACTIVE_TAB_BG_END = "org.eclipse.ui.workbench.INACTIVE_TAB_BG_END"; //$NON-NLS-1$

    public static final String ACTIVE_TAB_PERCENT = "org.eclipse.ui.workbench.ACTIVE_TAB_PERCENT"; //$NON-NLS-1$

    public static final String ACTIVE_NOFOCUS_TAB_PERCENT = "org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_PERCENT"; //$NON-NLS-1$

    public static final String INACTIVE_TAB_PERCENT = "org.eclipse.ui.workbench.INACTIVE_TAB_PERCENT"; //$NON-NLS-1$

    public static final String ACTIVE_TAB_VERTICAL = "org.eclipse.ui.workbench.ACTIVE_TAB_VERTICAL"; //$NON-NLS-1$

    public static final String ACTIVE_NOFOCUS_TAB_VERTICAL = "org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_VERTICAL"; //$NON-NLS-1$

    public static final String INACTIVE_TAB_VERTICAL = "org.eclipse.ui.workbench.INACTIVE_TAB_VERTICAL"; //$NON-NLS-1$    
}

借助于这个接口,我们可以了解到很多的配置项信息。
从上面可以看见进行view和editor外观颜色的设置,颜色的设置可以用扩展点来实现,会在后续的文章中介绍这种设置颜色的方法。
先写到这里吧
[/align]
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics