<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0) on Fri Jan 12 16:42:05 EST 2007 -->
<TITLE>
X-Index
</TITLE>

<META NAME="date" CONTENT="2007-01-12">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="X-Index";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="index-23.html"><B>PREV LETTER</B></A>&nbsp;
&nbsp;<A HREF="index-25.html"><B>NEXT LETTER</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../index.html?index-filesindex-24.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-24.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<A HREF="index-1.html">A</A> <A HREF="index-2.html">B</A> <A HREF="index-3.html">C</A> <A HREF="index-4.html">D</A> <A HREF="index-5.html">E</A> <A HREF="index-6.html">F</A> <A HREF="index-7.html">G</A> <A HREF="index-8.html">H</A> <A HREF="index-9.html">I</A> <A HREF="index-10.html">J</A> <A HREF="index-11.html">K</A> <A HREF="index-12.html">L</A> <A HREF="index-13.html">M</A> <A HREF="index-14.html">N</A> <A HREF="index-15.html">O</A> <A HREF="index-16.html">P</A> <A HREF="index-17.html">Q</A> <A HREF="index-18.html">R</A> <A HREF="index-19.html">S</A> <A HREF="index-20.html">T</A> <A HREF="index-21.html">U</A> <A HREF="index-22.html">V</A> <A HREF="index-23.html">W</A> <A HREF="index-24.html">X</A> <A HREF="index-25.html">Y</A> <A HREF="index-26.html">Z</A> <HR>
<A NAME="_X_"><!-- --></A><H2>
<B>X</B></H2>
<DL>
<DT><A HREF="../org/eclipse/swt/accessibility/AccessibleControlEvent.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.accessibility.<A HREF="../org/eclipse/swt/accessibility/AccessibleControlEvent.html" title="class in org.eclipse.swt.accessibility">AccessibleControlEvent</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/custom/CTabFolderEvent.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.custom.<A HREF="../org/eclipse/swt/custom/CTabFolderEvent.html" title="class in org.eclipse.swt.custom">CTabFolderEvent</A>
<DD>The widget-relative, x coordinate of the chevron button
 at the time of the event.
<DT><A HREF="../org/eclipse/swt/custom/PaintObjectEvent.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.custom.<A HREF="../org/eclipse/swt/custom/PaintObjectEvent.html" title="class in org.eclipse.swt.custom">PaintObjectEvent</A>
<DD>the x location
<DT><A HREF="../org/eclipse/swt/dnd/DragSourceEvent.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.dnd.<A HREF="../org/eclipse/swt/dnd/DragSourceEvent.html" title="class in org.eclipse.swt.dnd">DragSourceEvent</A>
<DD>In dragStart, the x coordinate (relative to the control) of the 
 position the mouse went down to start the drag.
<DT><A HREF="../org/eclipse/swt/dnd/DropTargetEvent.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.dnd.<A HREF="../org/eclipse/swt/dnd/DropTargetEvent.html" title="class in org.eclipse.swt.dnd">DropTargetEvent</A>
<DD>The x-cordinate of the cursor relative to the <code>Display</code>
<DT><A HREF="../org/eclipse/swt/events/MouseEvent.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.events.<A HREF="../org/eclipse/swt/events/MouseEvent.html" title="class in org.eclipse.swt.events">MouseEvent</A>
<DD>the widget-relative, x coordinate of the pointer
 at the time the mouse button was pressed or released
<DT><A HREF="../org/eclipse/swt/events/PaintEvent.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.events.<A HREF="../org/eclipse/swt/events/PaintEvent.html" title="class in org.eclipse.swt.events">PaintEvent</A>
<DD>the x offset of the bounding rectangle of the 
 region that requires painting
<DT><A HREF="../org/eclipse/swt/events/SelectionEvent.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.events.<A HREF="../org/eclipse/swt/events/SelectionEvent.html" title="class in org.eclipse.swt.events">SelectionEvent</A>
<DD>The x location of the selected area.
<DT><A HREF="../org/eclipse/swt/graphics/ImageData.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.graphics.<A HREF="../org/eclipse/swt/graphics/ImageData.html" title="class in org.eclipse.swt.graphics">ImageData</A>
<DD>The x coordinate of the top left corner of the image
 within the logical screen (this field corresponds to
 the GIF89a Image Left Position value).
<DT><A HREF="../org/eclipse/swt/graphics/Point.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.graphics.<A HREF="../org/eclipse/swt/graphics/Point.html" title="class in org.eclipse.swt.graphics">Point</A>
<DD>the x coordinate of the point
<DT><A HREF="../org/eclipse/swt/graphics/Rectangle.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.graphics.<A HREF="../org/eclipse/swt/graphics/Rectangle.html" title="class in org.eclipse.swt.graphics">Rectangle</A>
<DD>the x coordinate of the rectangle
<DT><A HREF="../org/eclipse/swt/internal/gdip/PointF.html#X"><B>X</B></A> - 
Variable in class org.eclipse.swt.internal.gdip.<A HREF="../org/eclipse/swt/internal/gdip/PointF.html" title="class in org.eclipse.swt.internal.gdip">PointF</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/internal/gdip/Rect.html#X"><B>X</B></A> - 
Variable in class org.eclipse.swt.internal.gdip.<A HREF="../org/eclipse/swt/internal/gdip/Rect.html" title="class in org.eclipse.swt.internal.gdip">Rect</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/internal/gdip/RectF.html#X"><B>X</B></A> - 
Variable in class org.eclipse.swt.internal.gdip.<A HREF="../org/eclipse/swt/internal/gdip/RectF.html" title="class in org.eclipse.swt.internal.gdip">RectF</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/internal/win32/COMPOSITIONFORM.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.internal.win32.<A HREF="../org/eclipse/swt/internal/win32/COMPOSITIONFORM.html" title="class in org.eclipse.swt.internal.win32">COMPOSITIONFORM</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/internal/win32/CREATESTRUCT.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.internal.win32.<A HREF="../org/eclipse/swt/internal/win32/CREATESTRUCT.html" title="class in org.eclipse.swt.internal.win32">CREATESTRUCT</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/internal/win32/HELPINFO.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.internal.win32.<A HREF="../org/eclipse/swt/internal/win32/HELPINFO.html" title="class in org.eclipse.swt.internal.win32">HELPINFO</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/internal/win32/LOGPEN.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.internal.win32.<A HREF="../org/eclipse/swt/internal/win32/LOGPEN.html" title="class in org.eclipse.swt.internal.win32">LOGPEN</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/internal/win32/LVHITTESTINFO.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.internal.win32.<A HREF="../org/eclipse/swt/internal/win32/LVHITTESTINFO.html" title="class in org.eclipse.swt.internal.win32">LVHITTESTINFO</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/internal/win32/MSG.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.internal.win32.<A HREF="../org/eclipse/swt/internal/win32/MSG.html" title="class in org.eclipse.swt.internal.win32">MSG</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/internal/win32/NMLISTVIEW.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.internal.win32.<A HREF="../org/eclipse/swt/internal/win32/NMLISTVIEW.html" title="class in org.eclipse.swt.internal.win32">NMLISTVIEW</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/internal/win32/NMLVFINDITEM.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.internal.win32.<A HREF="../org/eclipse/swt/internal/win32/NMLVFINDITEM.html" title="class in org.eclipse.swt.internal.win32">NMLVFINDITEM</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/internal/win32/NMRGINFO.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.internal.win32.<A HREF="../org/eclipse/swt/internal/win32/NMRGINFO.html" title="class in org.eclipse.swt.internal.win32">NMRGINFO</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/internal/win32/POINT.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.internal.win32.<A HREF="../org/eclipse/swt/internal/win32/POINT.html" title="class in org.eclipse.swt.internal.win32">POINT</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/internal/win32/TRIVERTEX.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.internal.win32.<A HREF="../org/eclipse/swt/internal/win32/TRIVERTEX.html" title="class in org.eclipse.swt.internal.win32">TRIVERTEX</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/internal/win32/TVHITTESTINFO.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.internal.win32.<A HREF="../org/eclipse/swt/internal/win32/TVHITTESTINFO.html" title="class in org.eclipse.swt.internal.win32">TVHITTESTINFO</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/internal/win32/WINDOWPOS.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.internal.win32.<A HREF="../org/eclipse/swt/internal/win32/WINDOWPOS.html" title="class in org.eclipse.swt.internal.win32">WINDOWPOS</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/widgets/Event.html#x"><B>x</B></A> - 
Variable in class org.eclipse.swt.widgets.<A HREF="../org/eclipse/swt/widgets/Event.html" title="class in org.eclipse.swt.widgets">Event</A>
<DD>depending on the event type, the x offset of the bounding
 rectangle of the region that requires painting or the
 widget-relative, x coordinate of the pointer at the
 time the mouse button was pressed or released
<DT><A HREF="../org/eclipse/swt/internal/win32/OS.html#XBUTTON1"><B>XBUTTON1</B></A> - 
Static variable in class org.eclipse.swt.internal.win32.<A HREF="../org/eclipse/swt/internal/win32/OS.html" title="class in org.eclipse.swt.internal.win32">OS</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/internal/win32/OS.html#XBUTTON2"><B>XBUTTON2</B></A> - 
Static variable in class org.eclipse.swt.internal.win32.<A HREF="../org/eclipse/swt/internal/win32/OS.html" title="class in org.eclipse.swt.internal.win32">OS</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/swt/internal/win32/ICONINFO.html#xHotspot"><B>xHotspot</B></A> - 
Variable in class org.eclipse.swt.internal.win32.<A HREF="../org/eclipse/swt/internal/win32/ICONINFO.html" title="class in org.eclipse.swt.internal.win32">ICONINFO</A>
<DD>&nbsp;
</DL>
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="index-23.html"><B>PREV LETTER</B></A>&nbsp;
&nbsp;<A HREF="index-25.html"><B>NEXT LETTER</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../index.html?index-filesindex-24.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-24.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<A HREF="index-1.html">A</A> <A HREF="index-2.html">B</A> <A HREF="index-3.html">C</A> <A HREF="index-4.html">D</A> <A HREF="index-5.html">E</A> <A HREF="index-6.html">F</A> <A HREF="index-7.html">G</A> <A HREF="index-8.html">H</A> <A HREF="index-9.html">I</A> <A HREF="index-10.html">J</A> <A HREF="index-11.html">K</A> <A HREF="index-12.html">L</A> <A HREF="index-13.html">M</A> <A HREF="index-14.html">N</A> <A HREF="index-15.html">O</A> <A HREF="index-16.html">P</A> <A HREF="index-17.html">Q</A> <A HREF="index-18.html">R</A> <A HREF="index-19.html">S</A> <A HREF="index-20.html">T</A> <A HREF="index-21.html">U</A> <A HREF="index-22.html">V</A> <A HREF="index-23.html">W</A> <A HREF="index-24.html">X</A> <A HREF="index-25.html">Y</A> <A HREF="index-26.html">Z</A> <HR>

</BODY>
</HTML>
