Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Eclipse Plug-in Developer Guide
Previous Page Home Next Page

Ruler Column

Identifier:
org.eclipse.ui.workbench.texteditor.rulerColumns

Since:
3.3

Description:
Ruler column contributions are line based information areas that are normally shown in the vertical ruler area of a textual editor.

Configuration Markup:

<!ELEMENT extension ( column+)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED

>

  • point - a fully qualified identifier of the target extension point
  • id - an optional identifier of the extension instance
  • name - an optional name of the extension instance

<!ELEMENT column (( targetEditor | targetContentType | targetClass)+ , placement)>

<!ATTLIST column

id            CDATA #REQUIRED

name          CDATA #IMPLIED

icon          CDATA #IMPLIED

class         CDATA #REQUIRED

enabled       (true | false) "true"

global        (true | false) "true"

includeInMenu (true | false) "true"

>

The specification of a ruler column contribution.


  • id - the unique id of this column
  • name - an optional name of the column, may be used in the user interface (e.g. in preference pages)
  • icon - an optional icon for the column. May be used in the user interface, for example on preference pages.
  • class - the class implementing the column; must implement org.eclipse.ui.texteditor.rulers.IContributedRulerColumn
  • enabled - the default enablement state of this column
  • global - controls whether toggling the visibility of this column operates on all targeted editors, or only the active editor. If true, the ruler is added to all applicable editors when the user enables the column; if false, the ruler is only added to the active editor.
  • includeInMenu - whether to include a "Show/Hide" menu entry for this column in the ruler context menu

<!ELEMENT targetEditor EMPTY>

<!ATTLIST targetEditor

id IDREF #REQUIRED

>

Describes an editor that the column is contributed to. See the org.eclipse.ui.editors extension point. Note that the rulerColumns extension point is typically only supported by line based text editors.


  • id - the editor id of the target editor

<!ELEMENT targetContentType EMPTY>

<!ATTLIST targetContentType

id CDATA #REQUIRED

>

Describes a content type that the column is contributed to. See the org.eclipse.core.runtime.contentTypes extension point. Note that the rulerColumns extension point is typically only supported by line based text editors.


  • id - the id of the target content type

<!ELEMENT targetClass EMPTY>

<!ATTLIST targetClass

class CDATA #REQUIRED

>

Describes an editor class that the column is contributed to. Subclasses of the specified class are also targeted by this colum contribution.


  • class - the fully qualified name of a class implementing org.eclipse.ui.texteditor.ITextEditor. The class does not need to be instantiatable. Note that contributing ruler columns to an internal editor class outside of the contributor's namespace is considered bad practice, as the class name may change without notice.

<!ELEMENT placement (( before | after))*>

<!ATTLIST placement

gravity CDATA "1.0"

>

Describes the placement of this ruler column relative to other contributed columns. A column may request to be placed before or after other known columns (identified by their id). Columns that would end up at the same position are ordered by gravity (see below). If the ordering is contradicting or no ordering can be found that fulfills all placement requests, some placement requirements are dropped until the placement can be achieved. If a column does not fully specify its placement it will be placed at an arbitrary but consistent location.


  • gravity - a float number between 0.0 and 1.0 that tells how close the column wants to be to the editor, where 0.0 means as far away as possible and 1.0 means as close as possible. After all before and after constraints are evaluated, columns that would end up at the same position are ordered by their gravity value.

<!ELEMENT before EMPTY>

<!ATTLIST before

id IDREF #REQUIRED

>

Requests placement before another column. The meaning of before is similar to the SWT.LEAD flag: In left-to-right environments, before means to the left of, in right-to-left environments, it means to the right of.


  • id - the id of another rulerColumns contribution

<!ELEMENT after EMPTY>

<!ATTLIST after

id IDREF #REQUIRED

>

Requests placement after another column. The meaning of after is similar to the SWT.TRAIL flag: In left-to-right environments, after means to the right of, in right-to-left environments, it means to the left of.


  • id - the id of another rulerColumns contribution

Examples:
The following is an example of a ruler column definition:

<extension
  point=
"org.eclipse.ui.workbench.texteditor.rulerColumns"
>
  <column
    id=
"org.eclipse.ui.editors.columns.linenumbers"

    name=
"Line Numbers"

    class=
"org.eclipse.ui.internal.texteditor.LineNumberColumn"

    enabled=
"false"

    global=
"true"

    includeInMenu=
"false"
>
    <placement
       gravity=
"0.9"
>
       <after id=
"org.eclipse.ui.editors.columns.annotations"
/>
    </placement>
    <targetClass
       class=
"org.eclipse.ui.texteditor.AbstractDecoratedTextEditor"
>
    </targetClass>
  </column>
</extension>

Supplied Implementation:
All ruler column contributions must implement org.eclipse.ui.texteditor.rulers.IContributedRulerColumn. Many contributors will find the supplied org.eclipse.ui.texteditor.rulers.AbstractContributedRulerColumn useful which serves as super class for contributed ruler columns. Others might start off org.eclipse.jface.text.source.AbstractRulerColumn which takes over most painting and scrolling aspects of a line based column and can be extended at various granularity levels. Those subclassing the latter class will have to implement org.eclipse.ui.texteditor.rulers.IContributedRulerColumn on their own by using org.eclipse.ui.texteditor.rulers.AbstractContributedRulerColumn as template.


Copyright (c) 2006, 2008 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 https://www.eclipse.org/legal/epl-v10.html


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire