// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
    \page creator-axivion.html
    \previouspage creator-how-tos.html

    \ingroup creator-how-to-analyze

    \title View Axivion static code analysis results

    Connect to an Axivion dashboard server from \QC to view results of code
    analysis.

    \note Enable the Axivion plugin to use it.

    To use the plugin, you must have access to an Axivion dashboard
    server.
    To inspect issues found during the analyses:

    \list
        \li Go to \uicontrol Analyze > \uicontrol Axivion.
        \li Switch to the \uicontrol Debug mode, and select \uicontrol Axivion
            in the debugger toolbar.
    \endlist

    The editor shows found issues as inline annotations if the project matches
    the currently open one and the respective file is part of the project.
    Hover the mouse over an annotation to bring up a tooltip with a short
    description of the issue.

    \image qtcreator-axivion-annotation.webp {Annotation popup}

    Select \inlineimage icons/info.png to view detailed information about the
    issue in the \uicontrol {Issue Details} view.

    \image qtcreator-axivion-view-rule.webp {Issue Details view}

    \section1 View issues

    To view issues, select a dashboard and a project.

    The \uicontrol Axivion dashboard displays the following types of
    issues that Axivion found in the selected project:

    \table
    \header
        \li Icon
        \li Type
        \li Description
    \row
        \li \inlineimage icons/axivion-av.png
        \li \uicontrol AV
        \li Architecture violations, such as hidden dependencies.
    \row
        \li \inlineimage icons/axivion-cl.png
        \li \uicontrol CL
        \li Clones, such as duplicates and similar pieces of code.
    \row
        \li \inlineimage icons/axivion-cy.png
        \li \uicontrol CY
        \li Cyclic dependencies, such as call, component, and include cycles.
    \row
        \li \inlineimage icons/axivion-de.png
        \li \uicontrol DE
        \li Dead entities are callable entities in the source code that cannot
            be reached from the entry points of the system under analysis.
    \row
        \li \inlineimage icons/axivion-mv.png
        \li \uicontrol MV
        \li Violations of metrics based on lines and tokens,
            nesting, cyclomatic complexity, control flow, and so on.
    \row
        \li \inlineimage icons/axivion-sv.png
        \li \uicontrol SV
        \li Style violations, such as deviations from the naming
            or coding conventions.
    \endtable

    \section1 Filter issues

    \image qtcreator-axivion-issue-search.webp {Issues in Axivion view}

    To filter issues, select:

    \list
        \li The icon of an issue type.
        \li Two analyzed versions to compare. Select \uicontrol EMPTY to see
            issues from the version you select in the right-side version box.
        \li \inlineimage icons/arrowup.png to see only added issues.
        \li \inlineimage icons/arrowdown.png to see only removed issues.
        \li The owner of the issue. Select \uicontrol ANYBODY to see all issues,
            \uicontrol NOBODY to see issues that are not associated with a user,
            or a user name to see issues owned by a particular user.
        \li Path patterns to show issues in the files in the directories that
            match the pattern.
    \endlist

    Select \inlineimage icons/filtericon.png for a column to set or clear the
    filter expression for the column.

    The information you see depends on the issue type. Double-click an issue
    to see more information about it in the \uicontrol {Issue Details} view.

    \section1 Jump to issues in the editor

    Typically, the details for cycles and clones show several paths. To view the
    issues in the editor:

    \list
        \li Click in a location column (that shows a file or line) to open the
            respective location (if it can be found).
        \li Click in other columns to open the first link in the issue details.
            Usually, it leads to the \uicontrol {Left location} or
            \uicontrol {Source location}.
    \endlist

    The easiest way to jump to the \uicontrol {Right location} is to
    select the link in the details or in the \uicontrol {Right Path}
    or \uicontrol {Target Path} column.

    \sa {Enable and disable plugins}, {Analyze}{How To: Analyze},
    {Analyzers}, {Axivion}, {Analyzing Code}
*/

/*!
    \page creator-preferences-axivion.html
    \previouspage creator-reference.html

    \ingroup creator-reference-preferences

    \title Axivion

    \brief Create a connection to an Axivion dashboard server.

    To set preferences for the Axivion static code analysis tool, go to
    \preferences > \uicontrol Axivion.

    \image qtcreator-preferences-axivion.webp {General tab in Axivion Preferences}

    To connect to an Axivion dashboard server:

    \list
        \li Select \uicontrol Add to add a new connection to an Axivion
            dashboard server.
        \li Select \uicontrol Edit to modify an existing connection to
            an Axivion dashboard server.
            \image qtcreator-edit-dashboard-configuration.webp {Edit Dashboard Configuration dialog}
            \list
                \li In \uicontrol {Dashboard URL}, enter the URL of the server.
                \li In \uicontrol Username, enter the username to access the server.
            \endlist
        \li Select \uicontrol Remove to remove the current selected connection
            to an Axivion dashboard server.
    \endlist

    The first time you access the server, you must enter the password that
    matches the username. It is stored safely in your keychain that is provided
    by the OS for later use.

    Select \uicontrol {Highlight marks} to highlight found issues on the
    scrollbar in the editor.

    \sa {Enable and disable plugins}, {View Axivion static code analysis results}
*/
