Modified documentation format (#1240)

This commit is contained in:
xarkes 2019-03-06 21:30:39 +01:00 committed by GitHub
parent 687ef2d799
commit 003d0d3c26
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 264 additions and 268 deletions

View File

@ -26,9 +26,9 @@ protected:
bool event(QEvent *e);
private:
/*!
* \brief Load and translations depending on Language settings
* \return true on success
/**
* @brief Load and translations depending on Language settings
* @return true on success
*/
bool loadTranslations();
@ -38,15 +38,15 @@ private:
};
/*!
* \brief CutterProxyStyle is used to force shortcuts displaying in context menu
/**
* @brief CutterProxyStyle is used to force shortcuts displaying in context menu
*/
class CutterProxyStyle : public QProxyStyle
{
Q_OBJECT
public:
/*!
* \brief it is enough to get notification about QMenu polishing to force shortcut displaying
/**
* @brief it is enough to get notification about QMenu polishing to force shortcut displaying
*/
void polish(QWidget *widget) override;
};

View File

@ -2,8 +2,8 @@
#include "CutterApplication.h"
#include "core/MainWindow.h"
/*!
* \brief Migrate Settings used before Cutter 1.8
/**
* @brief Migrate Settings used before Cutter 1.8
*/
static void migrateSettings(QSettings &newSettings)
{

View File

@ -11,8 +11,8 @@ BasicBlockHighlighter::~BasicBlockHighlighter()
}
}
/*!
* \brief Highlight the basic block at address
/**
* @brief Highlight the basic block at address
*/
void BasicBlockHighlighter::highlight(RVA address, const QColor &color)
{
@ -22,16 +22,16 @@ void BasicBlockHighlighter::highlight(RVA address, const QColor &color)
bbMap[address] = block;
}
/*!
* \brief Clear the basic block highlighting
/**
* @brief Clear the basic block highlighting
*/
void BasicBlockHighlighter::clear(RVA address)
{
bbMap.erase(address);
}
/*!
* \brief Return a highlighted basic block
/**
* @brief Return a highlighted basic block
*
* If there is nothing to highlight at specified address, returns nullptr
*/

View File

@ -16,8 +16,8 @@ const QList<CutterQtTheme> kCutterQtThemesList = {
Configuration *Configuration::mPtr = nullptr;
/*!
* \brief All asm.* options saved as settings. Values are the default values.
/**
* @brief All asm.* options saved as settings. Values are the default values.
*/
static const QHash<QString, QVariant> asmOptions = {
{ "asm.esil", false },
@ -136,28 +136,28 @@ void Configuration::resetAll()
emit fontsUpdated();
}
/*!
* \brief get the current Locale set in Cutter's user configuration
* \return a QLocale object describes user's current locale
/**
* @brief get the current Locale set in Cutter's user configuration
* @return a QLocale object describes user's current locale
*/
QLocale Configuration::getCurrLocale() const
{
return s.value("locale", QLocale().system()).toLocale();
}
/*!
* \brief sets Cutter's locale
* \param l - a QLocale object describes the locate to configure
/**
* @brief sets Cutter's locale
* @param l - a QLocale object describes the locate to configure
*/
void Configuration::setLocale(const QLocale &l)
{
s.setValue("locale", l);
}
/*!
* \brief set Cutter's interface language by a given locale name
* \param language - a string represents the name of a locale language
* \return true on success
/**
* @brief set Cutter's interface language by a given locale name
* @param language - a string represents the name of a locale language
* @return true on success
*/
bool Configuration::setLocaleByName(const QString &language)
{
@ -353,10 +353,10 @@ QString Configuration::getLogoFile()
: QString(":/img/cutter_plain.svg");
}
/*!
* \brief Configuration::setColor sets the local Cutter configuration color
* \param name Color Name
* \param color The color you want to set
/**
* @brief Configuration::setColor sets the local Cutter configuration color
* @param name Color Name
* @param color The color you want to set
*/
void Configuration::setColor(const QString &name, const QColor &color)
{
@ -471,9 +471,9 @@ void Configuration::setConfig(const QString &key, const QVariant &value)
Core()->setConfig(key, value);
}
/*!
* \brief this function will gather and return available translation for Cutter
* \return a list of all available translations
/**
* @brief this function will gather and return available translation for Cutter
* @return a list of all available translations
*/
QStringList Configuration::getAvailableTranslations()
{
@ -514,9 +514,9 @@ QStringList Configuration::getAvailableTranslations()
return languages << QLatin1String("English");
}
/*!
* \brief check if this is the first time Cutter's is executed on this computer
* \return true if this is first execution; otherwise returns false.
/**
* @brief check if this is the first time Cutter's is executed on this computer
* @return true if this is first execution; otherwise returns false.
*/
bool Configuration::isFirstExecution()
{

View File

@ -97,23 +97,23 @@ public:
QString getColorTheme() const { return s.value("theme", "cutter").toString(); }
void setColorTheme(const QString &theme);
/*!
* \brief Get the value of a config var either from r2 or settings, depending on the key.
/**
* @brief Get the value of a config var either from r2 or settings, depending on the key.
*/
QVariant getConfigVar(const QString &key);
bool getConfigBool(const QString &key);
int getConfigInt(const QString &key);
QString getConfigString(const QString &key);
/*!
* \brief Set the value of a config var either to r2 or settings, depending on the key.
/**
* @brief Set the value of a config var either to r2 or settings, depending on the key.
*/
void setConfig(const QString &key, const QVariant &value);
bool isFirstExecution();
/*!
* \brief Get list of available translation directories (depends on configuration and OS)
* \return list of directories
/**
* @brief Get list of available translation directories (depends on configuration and OS)
* @return list of directories
*/
QStringList getTranslationsDirectories() const;

View File

@ -29,8 +29,8 @@ public:
void restoreThread();
void saveThread();
/*!
* \brief RAII Helper class to call restoreThread() and saveThread() automatically
/**
* @brief RAII Helper class to call restoreThread() and saveThread() automatically
*
* As long as an object of this class is in scope, the Python thread will remain restored.
*/

View File

@ -10,8 +10,8 @@ class RefreshDeferrer;
using RefreshDeferrerParams = void *;
using RefreshDeferrerParamsResult = void *;
/*!
* \brief Abstract class for accumulating params in RefreshDeferrer
/**
* @brief Abstract class for accumulating params in RefreshDeferrer
*/
class RefreshDeferrerAccumulator
{
@ -21,31 +21,31 @@ public:
virtual ~RefreshDeferrerAccumulator() = default;
protected:
/*!
* \brief Add a new param to the accumulator
/**
* @brief Add a new param to the accumulator
*/
virtual void accumulate(RefreshDeferrerParams params) =0;
/*!
* \brief Ignore the incoming params. Useful for freeing if necessary.
/**
* @brief Ignore the incoming params. Useful for freeing if necessary.
*/
virtual void ignoreParams(RefreshDeferrerParams params) =0;
/*!
* \brief Clear the current accumulator
/**
* @brief Clear the current accumulator
*/
virtual void clear() =0;
/*!
* \brief Return the final result of the accumulation
/**
* @brief Return the final result of the accumulation
*/
virtual RefreshDeferrerParamsResult result() =0;
};
/*!
* \brief Accumulator which simply replaces the current value by an incoming new one
* \tparam T The type of the param to store
/**
* @brief Accumulator which simply replaces the current value by an incoming new one
* @tparam T The type of the param to store
*
* This accumulator takes the ownership of all params passed to it and deletes them automatically if not needed anymore!
*/
@ -57,7 +57,7 @@ private:
bool replaceIfNull;
public:
/*!
/**
* \param Determines whether, if nullptr is passed, the current value should be replaced or kept.
*/
explicit ReplacingRefreshDeferrerAccumulator(bool replaceIfNull = true)
@ -95,8 +95,8 @@ protected:
}
};
/*!
* \brief Helper class for deferred refreshing in Widgets
/**
* @brief Helper class for deferred refreshing in Widgets
*
* This class can handle the logic necessary to defer the refreshing of widgets when they are not visible.
* It contains an optional RefreshDeferrerAccumulator, which can be used to accumulate incoming events while
@ -138,8 +138,8 @@ private:
bool dirty = false;
public:
/*!
* \param acc The accumulator (can be nullptr). The RefreshDeferrer takes the ownership!
/**
* @param acc The accumulator (can be nullptr). The RefreshDeferrer takes the ownership!
*/
explicit RefreshDeferrer(RefreshDeferrerAccumulator *acc, QObject *parent = nullptr);
~RefreshDeferrer() override;

View File

@ -415,11 +415,11 @@ bool CutterCore::tryFile(QString path, bool rw)
return true;
}
/*!
* \brief Opens a file using r2 API
* \param path Path to file
* \param mapaddr Map Address
* \return bool
/**
* @brief Opens a file using r2 API
* @param path Path to file
* @param mapaddr Map Address
* @return bool
*/
bool CutterCore::openFile(QString path, RVA mapaddr)
{

View File

@ -106,8 +106,8 @@ public:
void setImmediateBase(const QString &r2BaseName, RVA offset = RVA_INVALID);
void setCurrentBits(int bits, RVA offset = RVA_INVALID);
/*!
* \brief Changes immediate displacement to structure offset
/**
* @brief Changes immediate displacement to structure offset
* This function makes use of the "ta" command of r2 to apply structure
* offset to the immediate displacement used in the given instruction
* \param structureOffset The name of struct which will be applied
@ -291,38 +291,38 @@ public:
QList<ResourcesDescription> getAllResources();
QList<VTableDescription> getAllVTables();
/*!
* \return all loaded types
/**
* @return all loaded types
*/
QList<TypeDescription> getAllTypes();
/*!
* \return all loaded primitive types
/**
* @return all loaded primitive types
*/
QList<TypeDescription> getAllPrimitiveTypes();
/*!
* \return all loaded unions
/**
* @return all loaded unions
*/
QList<TypeDescription> getAllUnions();
/*!
* \return all loaded structs
/**
* @return all loaded structs
*/
QList<TypeDescription> getAllStructs();
/*!
* \return all loaded enums
/**
* @return all loaded enums
*/
QList<TypeDescription> getAllEnums();
/*!
* \return all loaded typedefs
/**
* @return all loaded typedefs
*/
QList<TypeDescription> getAllTypedefs();
/*!
* \brief Adds new types
/**
* @brief Adds new types
* It first uses the r_parse_c_string() function from radare2 API to parse the
* supplied C file (in the form of a string). If there were errors, they are displayed.
* If there were no errors, it uses sdb_query_lines() function from radare2 API
@ -333,10 +333,10 @@ public:
QString addTypes(const char *str);
QString addTypes(const QString &str) { return addTypes(str.toUtf8().constData()); }
/*!
* \brief Checks if the given address is mapped to a region
* \param addr The address to be checked
* \return true if addr is mapped, false otherwise
/**
* @brief Checks if the given address is mapped to a region
* @param addr The address to be checked
* @return true if addr is mapped, false otherwise
*/
bool isAddressMapped(RVA addr);
@ -394,19 +394,19 @@ signals:
void projectSaved(bool successfully, const QString &name);
/*!
/**
* emitted when config regarding disassembly display changes
*/
void asmOptionsChanged();
/*!
/**
* emitted when config regarding graph display changes
*/
void graphOptionsChanged();
/*!
* \brief seekChanged is emitted each time radare2 seek value is modified
* \param offset
/**
* @brief seekChanged is emitted each time radare2 seek value is modified
* @param offset
*/
void seekChanged(RVA offset);

View File

@ -25,18 +25,18 @@
// Global information for Cutter
#define APPNAME "Cutter"
/*!
* \brief Type to be used for all kinds of addresses/offsets in r2 address space.
/**
* @brief Type to be used for all kinds of addresses/offsets in r2 address space.
*/
typedef ut64 RVA;
/*!
* \brief Maximum value of RVA. Do NOT use this for specifying invalid values, use RVA_INVALID instead.
/**
* @brief Maximum value of RVA. Do NOT use this for specifying invalid values, use RVA_INVALID instead.
*/
#define RVA_MAX UT64_MAX
/*!
* \brief Value for specifying an invalid RVA.
/**
* @brief Value for specifying an invalid RVA.
*/
#define RVA_INVALID RVA_MAX

View File

@ -433,8 +433,8 @@ void MainWindow::openNewFileFailed()
mb.exec();
}
/*!
* \brief displays the WelocmeDialog
/**
* @brief displays the WelocmeDialog
*
* Upon first execution of Cutter, the WelcomeDialog would be showed to the user.
* The Welcome dialog would be showed after a reset of Cutter's preferences by the user.
@ -1179,8 +1179,8 @@ void MainWindow::addDockWidgetAction(QDockWidget *dockWidget, QAction *action)
this->dockWidgetActions[action] = dockWidget;
}
/*!
* \brief Show a warning message box.
/**
* @brief Show a warning message box.
*
* This API can either be used in Cutter internals, or by Python plugins.
*/

View File

@ -79,13 +79,13 @@ public:
void initUI();
/*!
/**
* @param quit whether to show destructive button in dialog
* @return if quit is true, false if the application should not close
*/
bool saveProject(bool quit = false);
/*!
/**
* @param quit whether to show destructive button in dialog
* @return false if the application should not close
*/

View File

@ -17,8 +17,8 @@ class EditMethodDialog : public QDialog
Q_OBJECT
public:
/*!
* \param classFixed whether the user should be able to change the class. If false, a QComboBox will be shown, otherwise a plain QLabel.
/**
* @param classFixed whether the user should be able to change the class. If false, a QComboBox will be shown, otherwise a plain QLabel.
*/
explicit EditMethodDialog(bool classFixed, QWidget *parent = nullptr);
~EditMethodDialog();
@ -29,24 +29,24 @@ public:
QString getClass();
AnalMethodDescription getMethod();
/*!
* \brief Helper function to display the dialog
/**
* @brief Helper function to display the dialog
*
* \param title title of the dialog
* \param classFixed whether the user should be able to change the class
* \param className initial class name, will be overwritten if the user changed the class
* \param desc initial data for the method information
* \return whether the dialog was accepted by the user
* @param title title of the dialog
* @param classFixed whether the user should be able to change the class
* @param className initial class name, will be overwritten if the user changed the class
* @param desc initial data for the method information
* @return whether the dialog was accepted by the user
*/
static bool showDialog(const QString &title, bool classFixed, QString *className, AnalMethodDescription *desc, QWidget *parent = nullptr);
/*!
* \brief Show the dialog to add a new method a given class
/**
* @brief Show the dialog to add a new method a given class
*/
static void newMethod(QString className = nullptr, const QString &meth = QString(), QWidget *parent = nullptr);
/*!
* \brief Show the dialog to edit a given method of a given class
/**
* @brief Show the dialog to edit a given method of a given class
*/
static void editMethod(const QString &className, const QString &meth, QWidget *parent = nullptr);
@ -62,7 +62,7 @@ private:
QComboBox *classComboBox = nullptr;
QLabel *classLabel = nullptr;
/*!
/**
* This will only be used when the dialog was created with classFixed = true in order to remember the class name.
*/
QString fixedClass;

View File

@ -16,46 +16,46 @@ public:
explicit LinkTypeDialog(QWidget *parent = nullptr);
~LinkTypeDialog();
/*!
* \brief Sets the default type which will be displayed in the combo box
* \param type Default type to be used as default type
/**
* @brief Sets the default type which will be displayed in the combo box
* @param type Default type to be used as default type
*/
void setDefaultType(const QString &type);
/*!
* \brief Sets the value of the default address which will be displayed
/**
* @brief Sets the value of the default address which will be displayed
* If the given address is linked to a type, then it also sets the default
* type to the currently linked type
* \param address The address to be used as default address
* @param address The address to be used as default address
*/
void setDefaultAddress(QString address);
private slots:
/*!
* \brief Overrides the done() method of QDialog
/**
* @brief Overrides the done() method of QDialog
* On clicking the Ok button, it links a valid address to a type.
* If "(No Type)" is selected as type, it removes the link.
* In case of an invalid address, it displays error message
* \param r The value which will be returned by exec()
* @param r The value which will be returned by exec()
*/
void done(int r) override;
/*!
* \brief Executed whenever the text inside exprLineEdit changes
/**
* @brief Executed whenever the text inside exprLineEdit changes
* If expression evaluates to valid address, it is displayed in addressLineEdit
* Otherwise "Invalid Address" is shown in addressLineEdit
* \param text The current value of exprLineEdit
* @param text The current value of exprLineEdit
*/
void on_exprLineEdit_textChanged(const QString &text);
private:
Ui::LinkTypeDialog *ui;
/*!
* \brief Used for finding the type which is linked to the given address
* \param address
* \return The type linked to "address" if it exists, or empty string otherwise
/**
* @brief Used for finding the type which is linked to the given address
* @param address
* @return The type linked to "address" if it exists, or empty string otherwise
*/
QString findLinkedType(RVA address);
};

View File

@ -18,22 +18,22 @@ public:
~LoadNewTypesDialog();
private slots:
/*!
* \brief Executed when the user clicks the selectFileButton
/**
* @brief Executed when the user clicks the selectFileButton
* Opens a File Dialog from where the user can select a file from where
* the types will be loaded.
*/
void on_selectFileButton_clicked();
/*!
* \brief Executed whenever the text inside the textbox changes
/**
* @brief Executed whenever the text inside the textbox changes
* When the text box is empty, the OK button is disabled.
*/
void on_plainTextEdit_textChanged();
/*!
* \brief done Closes the dialog and sets its result code to r
* \param r The value which will be returned by exec()
/**
* @brief done Closes the dialog and sets its result code to r
* @param r The value which will be returned by exec()
*/
void done(int r) override;
@ -42,8 +42,8 @@ private:
SyntaxHighlighter *syntaxHighLighter;
signals:
/*!
* \brief Emitted when new types are loaded
/**
* @brief Emitted when new types are loaded
*/
void newTypesLoaded();
};

View File

@ -46,12 +46,12 @@ protected:
private:
std::unique_ptr<Ui::NewFileDialog> ui;
/*!
/**
* @return true if list is not empty
*/
bool fillRecentFilesList();
/*!
/**
* @return true if list is not empty
*/
bool fillProjectsList();

View File

@ -8,8 +8,8 @@ namespace Ui {
class RenameDialog;
}
/*!
* \brief General Dialog for entering a name
/**
* @brief General Dialog for entering a name
*/
class RenameDialog : public QDialog
{
@ -24,13 +24,13 @@ public:
void setPlaceholderText(const QString &text);
/*!
* \brief Helper function to display and execute the dialog
/**
* @brief Helper function to display and execute the dialog
*
* \param title title of the dialog
* \param name initial name, will be overwritten if the user entered something else
* \param placeholder placeholder text for the QLineEdit
* \return whether the dialog was accepted by the user
* @param title title of the dialog
* @param name initial name, will be overwritten if the user entered something else
* @param placeholder placeholder text for the QLineEdit
* @return whether the dialog was accepted by the user
*/
static bool showDialog(const QString &title, QString *name, const QString &placeholder, QWidget *parent = nullptr);

View File

@ -7,9 +7,9 @@
#include "ui_WelcomeDialog.h"
/*!
* \brief Constructs a WelcomeDialog object
* \param parent
/**
* @brief Constructs a WelcomeDialog object
* @param parent
*/
WelcomeDialog::WelcomeDialog(QWidget *parent) :
QDialog(parent),
@ -38,17 +38,17 @@ WelcomeDialog::WelcomeDialog(QWidget *parent) :
}
/*!
* \brief Destroys the WelcomeDialog
/**
* @brief Destroys the WelcomeDialog
*/
WelcomeDialog::~WelcomeDialog()
{
delete ui;
}
/*!
* \brief change Cutter's QT Theme as selected by the user
* \param index - a Slot being called after theme's value changes its index
/**
* @brief change Cutter's QT Theme as selected by the user
* @param index - a Slot being called after theme's value changes its index
*/
void WelcomeDialog::on_themeComboBox_currentIndexChanged(int index)
{
@ -63,9 +63,9 @@ void WelcomeDialog::on_themeComboBox_currentIndexChanged(int index)
ui->logoSvgWidget->load(Config()->getLogoFile());
}
/*!
* \brief change Cutter's interface language as selected by the user
* \param index - a Slot being called after language combo box value changes its index
/**
* @brief change Cutter's interface language as selected by the user
* @param index - a Slot being called after language combo box value changes its index
*/
void WelcomeDialog::onLanguageComboBox_currentIndexChanged(int index)
{
@ -80,8 +80,8 @@ void WelcomeDialog::onLanguageComboBox_currentIndexChanged(int index)
mb.exec();
}
/*!
* \brief show Cutter's About dialog
/**
* @brief show Cutter's About dialog
*/
void WelcomeDialog::on_checkUpdateButton_clicked()
{
@ -90,8 +90,8 @@ void WelcomeDialog::on_checkUpdateButton_clicked()
a->open();
}
/*!
* \brief accept user preferences, close the window and continue Cutter's execution
/**
* @brief accept user preferences, close the window and continue Cutter's execution
*/
void WelcomeDialog::on_continueButton_clicked()
{

View File

@ -5,9 +5,9 @@
namespace Ui {
/*!
* \class WelcomeDialog
* \brief The WelcomeDialog class will show the user the Welcome windows
/**
* @class WelcomeDialog
* @brief The WelcomeDialog class will show the user the Welcome windows
* upon first execution of Cutter.
*
* Upon first execution of Cutter, the WelcomeDialog would be showed to the user.

View File

@ -20,9 +20,9 @@ public slots:
void setOffset(RVA offset);
void setCanCopy(bool enabled);
/*!
* \brief Sets the value of curHighlightedWord
* \param text The current highlighted word
/**
* @brief Sets the value of curHighlightedWord
* @param text The current highlighted word
*/
void setCurHighlightedWord(const QString &text);
@ -61,16 +61,16 @@ private slots:
void on_actionSetToData_triggered();
void on_actionSetToDataEx_triggered();
/*!
* \brief Executed on selecting an offset from the structureOffsetMenu
/**
* @brief Executed on selecting an offset from the structureOffsetMenu
* Uses the applyStructureOffset() function of CutterCore to apply the
* structure offset
* \param action The action which trigered the event
*/
void on_actionStructureOffsetMenu_triggered(QAction *action);
/*!
* \brief Executed on selecting the "Link Type to Address" option
/**
* @brief Executed on selecting the "Link Type to Address" option
* Opens the LinkTypeDialog box from where the user can link the address
* to a type
*/
@ -91,8 +91,8 @@ private:
QKeySequence getDisplayOptionsSequence() const;
QList<QKeySequence> getAddBPSequence() const;
/*!
* \return the shortcut key for "Link Type to Address" option
/**
* @return the shortcut key for "Link Type to Address" option
*/
QKeySequence getLinkTypeSequence() const;

View File

@ -17,13 +17,13 @@ public:
PluginManager();
~PluginManager();
/*!
* \brief Load all plugins, should be called once on application start
/**
* @brief Load all plugins, should be called once on application start
*/
void loadPlugins();
/*!
* \brief Destroy all loaded plugins, should be called once on application shutdown
/**
* @brief Destroy all loaded plugins, should be called once on application shutdown
*/
void destroyPlugins();

View File

@ -18,36 +18,36 @@ class QTreeWidgetItem;
class MainWindow;
class ClassesWidget;
/*!
* \brief Common abstract base class for Bin and Anal classes models
/**
* @brief Common abstract base class for Bin and Anal classes models
*/
class ClassesModel: public QAbstractItemModel
{
public:
enum Columns { NAME = 0, TYPE, OFFSET, VTABLE, COUNT };
/*!
* \brief values for TypeRole data
/**
* @brief values for TypeRole data
*/
enum class RowType { Class = 0, Base, VTable, Method, Field };
/*!
* \brief Offset role of data for QModelIndex
/**
* @brief Offset role of data for QModelIndex
*
* will contain values of type RVA
*/
static const int OffsetRole = Qt::UserRole;
/*!
* \brief Name role of data for QModelIndex
/**
* @brief Name role of data for QModelIndex
*
* will contain values of QString, used for sorting,
* as well as identifying classes and methods
*/
static const int NameRole = Qt::UserRole + 1;
/*!
* \brief Type role of data for QModelIndex
/**
* @brief Type role of data for QModelIndex
*
* will contain values of RowType
*/
@ -87,8 +87,8 @@ class AnalClassesModel: public ClassesModel
Q_OBJECT
private:
/*!
* \brief List entry below a class
/**
* @brief List entry below a class
*
* This roughly corresponds to attributes of r2 anal classes, which means it is not an attribute in the sense of
* a class member variable, but any kind of sub-info associated with the class.
@ -104,15 +104,15 @@ private:
Attribute(Type type, const QVariant &data) : type(type), data(data) {}
};
/*!
/**
* This must always stay sorted alphabetically.
*/
QList<QString> classes;
RefreshDeferrer *refreshDeferrer;
/*!
* \brief Cache for class attributes
/**
* @brief Cache for class attributes
*
* Maps class names to a list of Attributes.
* This is filled only when the attributes of a specific class are requested.

View File

@ -17,9 +17,9 @@ public:
bool eventFilter(QObject *object, QEvent *event) override;
bool isVisibleToUser() { return isVisibleToUserCurrent; }
/*!
* \brief Convenience method for creating and registering a RefreshDeferrer without any parameters
* \param refreshNowFunc lambda taking no parameters, called when a refresh should occur
/**
* @brief Convenience method for creating and registering a RefreshDeferrer without any parameters
* @param refreshNowFunc lambda taking no parameters, called when a refresh should occur
*/
template<typename Func>
RefreshDeferrer *createRefreshDeferrer(Func refreshNowFunc)
@ -32,10 +32,10 @@ public:
return deferrer;
}
/*!
* \brief Convenience method for creating and registering a RefreshDeferrer with a replacing Accumulator
* \param replaceIfNull passed to the ReplacingRefreshDeferrerAccumulator
* \param refreshNowFunc lambda taking a single parameter of type ParamResult, called when a refresh should occur
/**
* @brief Convenience method for creating and registering a RefreshDeferrer with a replacing Accumulator
* @param replaceIfNull passed to the ReplacingRefreshDeferrerAccumulator
* @param refreshNowFunc lambda taking a single parameter of type ParamResult, called when a refresh should occur
*/
template<class ParamResult, typename Func>
RefreshDeferrer *createReplacingRefreshDeferrer(bool replaceIfNull, Func refreshNowFunc)

View File

@ -55,7 +55,7 @@ private:
QString curHighlightedWord;
/*!
/**
* offset of lines below the first line of the current seek
*/
int cursorLineOffset;

View File

@ -63,7 +63,7 @@ public:
QVariant data(const QModelIndex &index, int role) const;
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
/*!
/**
* @return true if the index changed
*/
bool updateCurrentIndex();
@ -139,8 +139,4 @@ private:
void setScrollMode();
};
#endif // FUNCTIONSWIDGET_H

View File

@ -11,8 +11,8 @@ class OverviewView : public GraphView
Q_OBJECT
signals:
/*
* \brief signal when mouse is pressed or moved so that
/**
* @brief signal when mouse is pressed or moved so that
* Graph can refresh its contents corresponded with Overview
*/
void mouseMoved();
@ -21,13 +21,13 @@ public:
OverviewView(QWidget *parent);
~OverviewView() override;
/*
* \brief a rect on Overview to show where you are on Graph
/**
* @brief a rect on Overview to show where you are on Graph
*/
QRectF rangeRect;
/*
* \brief Graph access this function to set minimum set of the data
/**
* @brief Graph access this function to set minimum set of the data
* @param baseWidth width of Graph when it computed the blocks
* @param baseHeigh height of Graph when it computed the blocks
* @param baseBlocks computed blocks passed by Graph
@ -35,80 +35,80 @@ public:
void setData(int baseWidth, int baseHeight, std::unordered_map<ut64, GraphBlock> baseBlocks);
public slots:
/*
* \brief refresh the view and adjust the scale
/**
* @brief refresh the view and adjust the scale
*/
void refreshView();
private slots:
/*
* \brief update Colors.
/**
* @brief update Colors.
* for example this will be called when the theme is changed.
*/
void colorsUpdatedSlot();
protected:
/*
* \brief mousePressEvent to start moving the rect.
/**
* @brief mousePressEvent to start moving the rect.
*/
void mousePressEvent(QMouseEvent *event) override;
/*
* \brief mouseReleaseEvent to tell not to move the rect anymore.
/**
* @brief mouseReleaseEvent to tell not to move the rect anymore.
*/
void mouseReleaseEvent(QMouseEvent *event) override;
/*
* \brief mouseMoveEvent to move the rect.
/**
* @brief mouseMoveEvent to move the rect.
*/
void mouseMoveEvent(QMouseEvent *event) override;
/*
* \brief override this to prevent scrolling
/**
* @brief override this to prevent scrolling
*/
void wheelEvent(QWheelEvent *event) override;
private:
/*
* \brief this will be handled in mouse events to move the rect properly
/**
* @brief this will be handled in mouse events to move the rect properly
* along with the mouse.
*/
bool mouseActive = false;
/*
* \brief save the initial distance
/**
* @brief save the initial distance
* between the point where the mouse was pressed and the point of the rect
* so as to change the rect point properly along with mouse.
*/
QPointF initialDiff;
/*
* \brief draw the computed blocks passed by Graph
/**
* @brief draw the computed blocks passed by Graph
*/
virtual void drawBlock(QPainter &p, GraphView::GraphBlock &block) override;
/*
* \brief override the edgeConfiguration so as to
/**
* @brief override the edgeConfiguration so as to
* adjust the width of the edges by the scale
* @return EdgeConfiguration
*/
virtual GraphView::EdgeConfiguration edgeConfiguration(GraphView::GraphBlock &from,
GraphView::GraphBlock *to) override;
/*
* \brief override the paintEvent to draw the rect on Overview
/**
* @brief override the paintEvent to draw the rect on Overview
*/
void paintEvent(QPaintEvent *event) override;
/*
* \brief if the mouse is in the rect in Overview.
/**
* @brief if the mouse is in the rect in Overview.
*/
bool mouseContainsRect(QMouseEvent *event);
/*
* \brief base background color changing depending on the theme
/**
* @brief base background color changing depending on the theme
*/
QColor disassemblyBackgroundColor;
/*
* \brief color for each node changing depending on the theme
/**
* @brief color for each node changing depending on the theme
*/
QColor graphNodeColor;
};

View File

@ -17,20 +17,20 @@ public:
private:
RefreshDeferrer *refreshDeferrer;
/*
* \brief this takes care of scaling the overview when the widget is resized
/**
* @brief this takes care of scaling the overview when the widget is resized
*/
void resizeEvent(QResizeEvent *event) override;
private slots:
/*
* \brief update the overview
/**
* @brief update the overview
*/
void updateContents();
signals:
/*
* \brief emit signal to update the rect
/**
* @brief emit signal to update the rect
*/
void resized();
};

View File

@ -78,34 +78,34 @@ public:
private slots:
void refreshTypes();
/*!
* \brief Show custom context menu
* \param pt Position of the place where the right mouse button was clicked
/**
* @brief Show custom context menu
* @param pt Position of the place where the right mouse button was clicked
*/
void showTypesContextMenu(const QPoint &pt);
/*!
* \brief Executed on clicking the Export Types option in the context menu
/**
* @brief Executed on clicking the Export Types option in the context menu
* It shows the user a file dialog box to select a file where the types
* will be exported. It uses the "tc" command of radare2 to export the types.
*/
void on_actionExport_Types_triggered();
/*!
* \brief Executed on clicking the Load New types option in the context menu
/**
* @brief Executed on clicking the Load New types option in the context menu
* It will open the LoadNewTypesDialog where the user can either enter the
* types manually, or can select a file from where the types will be loaded
*/
void on_actionLoad_New_Types_triggered();
/*!
* \brief Executed on clicking the Delete Type option in the context menu
/**
* @brief Executed on clicking the Delete Type option in the context menu
* Upon confirmation from the user, it will delete the selected type.
*/
void on_actionDelete_Type_triggered();
/*!
* \brief Executed on clicking the Link To Address option in the context menu
/**
* @brief Executed on clicking the Link To Address option in the context menu
* Opens the LinkTypeDialog box from where the user can link a address to a type
*/
void on_actionLink_Type_To_Address_triggered();
@ -120,9 +120,9 @@ private:
void setScrollMode();
/*!
* \brief Sets the contents of the ComboBox to the supplied contents
* \param categories The list of categories which has to be added to the ComboBox
/**
* @brief Sets the contents of the ComboBox to the supplied contents
* @param categories The list of categories which has to be added to the ComboBox
*/
void refreshCategoryCombo(const QStringList &categories);
};