<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta name="copyright" content=
    "Copyright (c) IBM Corporation and others 2000, 2011. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <link rel="STYLESHEET" href="../book.css" charset="ISO-8859-1" type=
    "text/css" />
    <title>
      Moving and docking views
    </title>
    <script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js" type="text/javascript">
</script>

    <style type="text/css">
/*<![CDATA[*/
    body {
    background-color: #FFFFFF;
    }
    /*]]>*/
    </style>
  </head>
  <body>
    <h1>
      Moving and docking views
    </h1>
    <p>
      To change the location of a view in the current perspective:
    </p>

    <ol>
      <li>Drag the view by its title bar. Do not release the left mouse button
      yet.
      </li>
      <li>As you move the view around the Workbench, the mouse pointer changes
      to one of the <i>drop cursors</i> shown in the table below. The drop
      cursor indicates where the view will be docked if you release the left
      mouse button. To see the drop cursor change, drag the view over the left,
      right, top, or bottom border of another view or editor. You may also drag
      the view <i>outside</i> of the Workbench area to turn it into a
      "Detached" view.
      </li>
      <li>When the view is in the location that you want, relative to the view
      or editor area underneath the drop cursor, release the left mouse button.
      </li>

      <li>(Optional) If you want to save your changes, select <a class=
      "command-link" href=
      'javascript:executeCommand("org.eclipse.ui.window.savePerspective")'><img src="PLUGINS_ROOT/org.eclipse.help/command_link.png"
        alt="command link" /> <b>Window &gt; Save Perspective As...</b></a>
        from the main menu bar.
      </li>
      <li>Note that a group of stacked views can be dragged using the empty
      space to the right of the view tabs.
      </li>
    </ol>
    <p>

      You can also move a view by using the pop-up menu for the view.
      (Left-click on the icon at the left end of the view's title bar, or
      right-click anywhere else in the view's title bar). As well as moving the
      view this menu will provide sortcut options for turning a view into
      either a "Fast" or "Detached" view.
    </p>
    <table border="1" cellspacing="0" cellpadding="5">
      <tbody>
        <tr>
          <th colspan="1" valign="bottom" align="left" height="38">
            Drop cursor
          </th>
          <th colspan="1" valign="bottom" align="left" height="38">
            Where the view will be moved to
          </th>

        </tr>
        <tr>
          <td colspan="1" align="center" height="38">
            <p class="Para">
              <img src="../images/drop_top_source.png" alt=" Up icon" border=
              "0" />
            </p>
          </td>
          <td colspan="1" valign="top" align="left" height="38">
            <p class="Para">

              Dock above: The view is docked above the view underneath the
              cursor.
            </p>
          </td>
        </tr>
        <tr>
          <td rowspan="1" colspan="1" align="center" height="38">
            <p class="Para">
              <img src="../images/drop_bottom_source.png" alt=" Down icon"
              border="0" />
            </p>

          </td>
          <td rowspan="1" colspan="1" valign="top" align="left" height="38">
            <p class="Para">
              Dock below: The view is docked below the view underneath the
              cursor.
            </p>
          </td>
        </tr>
        <tr>
          <td rowspan="1" colspan="1" align="center" height="38">

            <p class="Para">
              <img align="top" border="0" src=
              "../images/drop_right_source.png" alt="Right icon" />
            </p>
          </td>
          <td rowspan="1" colspan="1" valign="top" align="left" height="38">
            <p class="Para">
              Dock to the right: The view is docked to the right of the view
              underneath the cursor.
            </p>
          </td>

        </tr>
        <tr>
          <td colspan="1" align="center" height="38">
            <img align="top" border="0" src=
            "../images/drop_left_source.png" alt=" Left icon" />
          </td>
          <td colspan="1" valign="top" align="left" height="38">
            Dock to the left: The view is docked to the left of the view
            underneath the cursor.
          </td>
        </tr>

        <tr>
          <td colspan="1" align="center" height="38">
            <img align="top" border="0" src="../images/drop_stack.png" alt=
            " Stack views" />
          </td>
          <td colspan="1" valign="top" align="left" height="38">
            Stack: The view is docked as a Tab in the same pane as the view
            underneath the cursor.
          </td>
        </tr>
        <tr>

          <td colspan="1" align="center" height="38">
            <img align="top" border="0" src=
            "../images/drop_offscreen_source.png" alt=" Tear off icon " />
          </td>
          <td colspan="1" valign="top" align="left" height="38">
            Detached: The view is detached from the Workbench window and is
            shown in its own separate window.
          </td>
        </tr>
        <tr>
          <td colspan="1" align="center" height="38">

            <img align="top" border="0" src=
            "../images/drop_invalid_source.png" alt=" Restricted icon" />
          </td>
          <td colspan="1" valign="top" align="left" height="38">
            Restricted: You cannot dock the view in this area.
          </td>
        </tr>
      </tbody>
    </table>
    <p>

      <img border="0" src="../images/ngrelc.png" alt=
      "Related concepts." /><br />
      <a href="../concepts/concepts-5.htm">Views</a><br />
      <a href="../concepts/concepts-21.htm">Fast views</a><br />
      <a href="../concepts/concepts-21a.htm">Detached views</a><br />
      <a href="../concepts/concepts-4.htm">Perspectives</a>
    </p>
    <p>

      <img border="0" src="../images/ngrelt.png" alt="Related tasks" /><br />
      <a href="tasks-3.htm">Opening views</a><br />
      <a href="tasks-9b.htm">Creating fast views</a><br />
      <a href="tasks-9l.htm">Detaching views and editors</a><br />
      <a href="../gettingStarted/qs-39g.htm">Maximizing a view or
      editor</a><br />
      <a href="tasks-9i.htm">Saving a user defined perspective</a><br />

      <a href="tasks-9j.htm">Resetting perspectives</a>
    </p>
  </body>
</html>
