/****************************************************************************
**
** Copyright (c) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of Qt Creator
**
**
** GNU Free Documentation License
**
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
**
****************************************************************************/

// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************

/*!
    \contentspage {Qt Creator Manual}
    \previouspage creator-editor-functions.html
    \page creator-coding-navigating.html
    \nextpage creator-highlighting.html

    \title Working in Edit Mode

    This section describes how to use the \gui Edit mode. For more information
    about using the sidebar, see \l{Browsing Project Contents}.

    \section1 Using the Editor Toolbar

    The editor toolbar is located at the top of the editor view. The editor
    toolbar is context sensitive and shows items relevant to the file currently
    open in the editor.

    \image qtcreator-editortoolbar-symbols.png

    Use the toolbar to navigate between open files and symbols in use.
    To browse backward or forward through your location history, click
    \inlineimage qtcreator-back.png
    (\gui {Go Back}) and \inlineimage qtcreator-forward.png
    (\gui {Go Forward}).

    To go to any open file, select it from the \gui{Open files} drop-down menu (1).
    Right-click the menu title and select \gui {Copy Full Path to Clipboard} to
    copy the path and name of the current file to the clipboard.

    To jump to any symbol used in the current file, select it from the
    \gui Symbols drop-down menu (2). By default, the symbols are displayed in the
    order in which they appear in the file. Right-click the menu title and
    select \gui {Sort Alphabetically} to arrange the symbols in alphabetic
    order.

    To jump to a line and column in the current file, select the line and column
    indicator (3) or press \key {Ctrl+L} (or \key {Cmd+L} on OS X) to open
    the locator. Enter the line number and column number in the locator,
    separated by a colon (:).

    To show the file encoding of the current file on the editor toolbar (4),
    select \gui Tools > \gui Options > \gui {Text Editor} > \gui Display >
    \gui {Display file encoding}.

    \note Other convenient ways of navigating in \QC are provided by the
    \l{Searching with the Locator}{locator}, \l{Keyboard Shortcuts}
    {keyboard shortcuts}, and the \l{Browsing Project Contents}{sidebar}.

    \section1 Splitting the Editor View

    Split the editor view or open the editor in a new window when you want to
    work on and view multiple files on the same screen or on multiple screens.

    \image qtcreator-spliteditorview.png

    You can view multiple files simultaneously in the following ways:

    \list

        \li To split the editor view into a top and bottom view, select
            \gui Window > \gui Split, press \key{Ctrl+E, 2}, or select the
            \inlineimage qtcreator-split-button.png
            (\gui Split) button and then select \gui Split.

            Split command creates views below the currently active editor view.

        \li To split the editor view into adjacent views, select
            \gui Window > \gui{Split Side by Side}, press \key{Ctrl+E, 3}, or
            select \gui {Split > Split Side by Side}.

           Side by side split command creates views to the right of the
           currently active editor view.

        \li To open the editor in a detached window, press \key{Ctrl+E, 4}, or
            select \gui Window > \gui {Open in New Window}.

            The new window behaves basically in the same way as the editor area
            in the main window. For example, you can split this window, as well.
            Documents are opened in the currently active editor window.

    \endlist

    To move between split views and detached editor windows, select \gui Window
    > \gui{Go to Next Split or Window} or press \key{Ctrl+E, O}.

    To remove a split view, place the cursor within the view you want to
    remove and select \gui Window > \gui{Remove Current Split}, press
    \key{Ctrl+E, 0}, or select the
    \inlineimage qtcreator-remove-split-button.png
    (\gui {Remove Split}) button. To remove all but the currently selected split
    view,
    select \gui Window > \gui{Remove All Splits} or press \key{Ctrl+E, 1}.

    \section1 Using Bookmarks

    To insert or delete a bookmark:

    \list

        \li Right-click the line number and select \gui{Toggle Bookmark}.

        \li Press \key Shift and click the left margin at a line.

        \li Press \key{Ctrl+M} when the cursor is on a line.

    \endlist

    \image qtcreator-togglebookmark.png

    To add a note to a bookmark, right-click the bookmark and select
    \gui{Edit Bookmark}. To view the note, move the mouse pointer over the
    bookmark.

    To go to previous bookmark in the current session, press \key{Ctrl+,}.

    To go to next bookmark in the current session, press \key{Ctrl+.}.

    \section1 Moving to Symbol Definition or Declaration

    You can move directly to the definition or the declaration of a symbol by
    holding the \key Ctrl key and clicking the symbol. If you have multiple splits
    opened, you can open the link in the next split by holding \key Ctrl and
    \key Alt while clicking the symbol.

    To enable this moving function, select \gui Tools > \gui{Options} >
    \gui{Text Editor} > \gui Behavior > \gui{Enable mouse navigation}.

    You can also select the symbol and press \key F2, or right-click the symbol
    and select \gui {Follow Symbol Under Cursor} to move to its definition or
    declaration. This feature is supported for namespaces, classes, functions,
    variables, include statements, and macros.

    To switch between the definition and declaration of a function, place the
    cursor on either and press \key {Shift+F2} or right-click and select \gui
    {Switch Between Function Declaration/Definition}. For example, this allows
    you to navigate from anywhere within a function body directly to the function
    declaration.

    Links are opened in the same split by default. To open links in the next
    split, prepend \key {Ctrl+E} to the shortcut. For example, press \key {Ctrl+E,F2}
    to follow the symbol in the next split. If necessary, the view is
    automatically split. To change the default behavior, select \gui Tools >
    \gui{Options} > \gui{Text Editor} > \gui Display, and then select
    \gui{Always Open Links in Next Split}. Additional symbols are displayed and
    switching between definition and declaration is done in another split.
    If you change the default behavior, the shortcuts for opening link targets
    in the next split are used to open them in the current split.

    \section1 Reparsing Externally Changed Files

    If source files are modified from outside \QC, the opened files will be
    reparsed automatically. For all other files, you can use \gui{Tools} >
    \gui{C++} > \gui{Reparse Externally Changed Files} to update the code
    model.

    \section1 Inspecting the Code Model

    When you report a bug that is related to the C++ code model, the \QC
    developers might ask you to write information about the internal state of
    the code model into a log file and to deliver the file to them for
    inspection.

    To view information about the C++ code model in the
    \gui {C++ Code Model Inspector} dialog and write it to a log file, select
    \gui Tools > \gui C++ > \gui {Inspect C++ Code Model} or press
    \key {Ctrl+Shift+F12}.

    \QC generates the code model inspection log file in a temporary folder.

    \QC underlines semantic errors in olive in the C++ code editor. To
    check the correct paths for includes that are not resolved or that are
    resolved to the wrong file, select \gui {Project Parts} >
    \gui {Include Paths}.
*/
