Browse Source

fixup qml doc generation

pull/2/head
Skycoder42 7 years ago
parent
commit
5c54297455
No known key found for this signature in database GPG Key ID: 8E01AD9EF0578D2B
  1. 36
      doc/Doxyfile
  2. 1
      doc/doc.pro
  3. 53
      doc/qmldoc/mvvmcore/Message.h
  4. 119
      doc/qmldoc/mvvmcore/MvvmBinding.h
  5. 36
      doc/qtmvvm.dox
  6. 109
      src/imports/mvvmcore/qqmlmvvmbinding.h
  7. 137
      src/imports/mvvmcore/qqmlmvvmmessage.h

36
doc/Doxyfile

@ -311,7 +311,7 @@ OPTIMIZE_OUTPUT_VHDL = NO
# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
# the files are not read by doxygen.
EXTENSION_MAPPING = qmldoc=C++
EXTENSION_MAPPING = qml=C++
# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
# according to the Markdown format, which allows for more readable
@ -811,6 +811,7 @@ WARN_LOGFILE =
# Note: If this tag is empty the current directory is searched.
INPUT = ../src \
../src/imports/mvvmquick \
.
# This tag can be used to specify the character encoding of the source files
@ -879,7 +880,7 @@ FILE_PATTERNS = *.c \
*.as \
*.js \
*.qdoc \
*.qmldoc
*.qml
# The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well.
@ -895,7 +896,6 @@ RECURSIVE = YES
# run.
EXCLUDE = ../src/3rdparty \
../src/imports/ \
../src/plugins
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
@ -917,7 +917,9 @@ EXCLUDE_PATTERNS = moc_* \
qrc_* \
tst_* \
*_p.* \
*.cpp
*.cpp \
*/src/mvvmquick/*.qml \
*/src/mvvmdatasyncquick/*.qml
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the
@ -929,6 +931,10 @@ EXCLUDE_PATTERNS = moc_* \
# exclude all test directories use the pattern */test/*
EXCLUDE_SYMBOLS = QtMvvm::__helpertypes \
QtMvvmCoreDeclarativeModule \
QtMvvmQuickDeclarativeModule \
QtMvvmDataSyncCoreDeclarativeModule \
QtMvvmDataSyncQuickDeclarativeModule \
\
QAbstractAspect \
QAndroidActivityResultReceiver \
@ -945,7 +951,22 @@ EXCLUDE_SYMBOLS = QtMvvm::__helpertypes \
QNodeCreatedChangeBase \
QPaintEngineEx \
QQmlExtensionInterface \
QTechniqueFilter
QTechniqueFilter \
\
ApplicationWindow \
Dialog \
Drawer \
FileChooser \
Item \
Label \
ListView \
Page \
ProgressBar \
QtObject \
RoundButton \
StackView \
ToolBar \
ToolButton
# The EXAMPLE_PATH tag can be used to specify one or more files or directories
# that contain example code fragments that are included (see the \include
@ -1006,7 +1027,7 @@ INPUT_FILTER =
# need to set EXTENSION_MAPPING for the extension otherwise the files are not
# properly processed by doxygen.
FILTER_PATTERNS = *.qmldoc=doxyqml
FILTER_PATTERNS = *.qml=doxyqml
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
# INPUT_FILTER) will also be used to filter the input files that are used for
@ -2128,7 +2149,8 @@ INCLUDE_FILE_PATTERNS = *.h \
# recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
PREDEFINED = __cplusplus=201402L
PREDEFINED = __cplusplus=201402L \
DOXYGEN_RUN
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The

1
doc/doc.pro

@ -5,7 +5,6 @@ OTHER_FILES += Doxyfile \
doxme.py \
../README.md \
*.dox \
qmldoc/mvvmcore/* \
snippets/*.cpp \
images/*

53
doc/qmldoc/mvvmcore/Message.h

@ -1,53 +0,0 @@
#include <QObject>
//! A QML signelton to access the QtMvvm namespace methods for showing simple dialogs
class Message : public QObject
{
public:
//! @brief A QML version of the QtMvvm::information method
//! @copydetails QtMvvm::information(const QString &, const QString &, const std::function<void()> &, const QString &)
static void information(string title, string text, function onResult, string okText);
//! @brief A QML version of the QtMvvm::question method
//! @copydoc QtMvvm::question(const QString &, const QString &, const std::function<void(bool)> &, const QString &, const QString &)
static void question(string title, string text, function onResult, string yesText, string noText);
//! @brief A QML version of the QtMvvm::warning method
//! @copydoc QtMvvm::warning(const QString &, const QString &, const std::function<void()> &, const QString &)
static void warning(string title, string text, function onResult, string okText);
//! @brief A QML version of the QtMvvm::critical method
//! @copydoc QtMvvm::critical(const QString &, const QString &, const std::function<void()> &, const QString &)
static void critical(string title, string text, function onResult, string okText);
//! @brief A QML version of the QtMvvm::about method
//! @copydoc QtMvvm::about
static void about(string description,
url websiteUrl,
string licenseName,
url licenseUrl,
string companyName,
bool addQtVersion,
list extraTopInfos,
string extraBottomInfos);
//! @brief A QML version of the QtMvvm::getInput method
//! @copydoc QtMvvm::getInput(const QString &, const QString &, const char *, const std::function<void(QVariant)> &, const QVariant &, const QVariantMap &, const QString &, const QString &)
static void getInput(string title,
string text,
string inputType,
function onResult,
var defaultValue,
object viewProperties,
string okText,
string cancelText);
//! @brief A QML version of the QtMvvm::getExistingDirectory method
//! @copydoc QtMvvm::getExistingDirectory(const std::function<void(QUrl)> &, const QString &, const QUrl &)
static void getExistingDirectory(function onResult, string title, url dir);
//! @brief A QML version of the QtMvvm::getOpenFile method
//! @copydoc QtMvvm::getOpenFile(const std::function<void(QUrl)> &, const QString &, const QStringList &, const QUrl &)
static void getOpenFile(function onResult, string title, list supportedMimeTypes, url dir);
//! @brief A QML version of the QtMvvm::getOpenFiles method
//! @copydoc QtMvvm::getOpenFiles(const std::function<void(QList<QUrl>)> &, const QString &, const QStringList &, const QUrl &)
static void getOpenFiles(function onResult, string title, list supportedMimeTypes, url dir);
//! @brief A QML version of the QtMvvm::getSaveFile method
//! @copydoc QtMvvm::getSaveFile(const std::function<void(QUrl)> &, const QString &, const QStringList &, const QUrl &)
static void getSaveFile(function onResult, string title, list supportedMimeTypes, url dir);
}

119
doc/qmldoc/mvvmcore/MvvmBinding.h

@ -1,119 +0,0 @@
#include <QObject>
/*! @brief A QML class to create a local mvvm multiway binding
*
* It is basically a wrapper around the QtMvvm::bind method. The parameters are set via the
* properties, and once the binding component is completed, it will create the binding. It is
* possible to modify the properties while running. This will recreate the binding, discarding
* the previous one
*
* @sa QtMvvm::bind
*/
class MvvmBinding : public QObject
{
/*! @brief The object in the role of a viewmodel
*
* @default{`null`}
* @accessors{
* @memberAc{viewModel}
* @notifyAc{viewModelChanged()}
* }
* @sa QtMvvm::bind
*/
Q_PROPERTY(QObject* viewModel MEMBER viewModel NOTIFY viewModelChanged)
/*! @brief The property of the viewmodel to use in the binding
*
* @default{<i>Empty</i>}
* @accessors{
* @memberAc{viewModelProperty}
* @notifyAc{viewModelPropertyChanged()}
* }
* @sa QtMvvm::bind
*/
Q_PROPERTY(QString viewModelProperty MEMBER viewModelProperty NOTIFY viewModelPropertyChanged)
/*! @brief The object in the role of a view
*
* @default{`parent()`}
* @accessors{
* @memberAc{view}
* @notifyAc{viewChanged()}
* }
* @sa QtMvvm::bind
*/
Q_PROPERTY(QObject* view MEMBER view NOTIFY viewChanged)
/*! @brief The property of the view to use in the binding
*
* @default{<i>Empty</i>}
* @accessors{
* @memberAc{viewProperty}
* @notifyAc{viewPropertyChanged()}
* }
* @sa QtMvvm::bind
*/
Q_PROPERTY(QString viewProperty MEMBER viewProperty NOTIFY viewPropertyChanged)
/*! @brief An alternative signal to be used instead of the viewModelProperty notify signal
* to detect property changes
*
* @default{<i>Empty</i>}
* @accessors{
* @memberAc{viewModelChangeSignal}
* @notifyAc{viewModelChangeSignalChanged()}
* }
* @sa QtMvvm::bind
*/
Q_PROPERTY(QString viewModelChangeSignal MEMBER viewModelChangeSignal NOTIFY viewModelChangeSignalChanged)
/*! @brief An alternative signal to be used instead of the viewProperty notify signal to
* detect property changes
*
* @default{<i>Empty</i>}
* @accessors{
* @memberAc{viewChangeSignal}
* @notifyAc{viewChangeSignalChanged()}
* }
* @sa QtMvvm::bind
*/
Q_PROPERTY(QString viewChangeSignal MEMBER viewChangeSignal NOTIFY viewChangeSignalChanged)
/*! @brief The type/direction of binding to create
*
* @default{`MvvmBinding::TwoWay`}
* @accessors{
* @readAc{type}
* @writeAc{setType()}
* @notifyAc{typeChanged()}
* }
* @sa QtMvvm::bind
*/
Q_PROPERTY(BindingDirection type READ type WRITE setType NOTIFY typeChanged)
public:
//! @copydoc QtMvvm::Binding::BindingDirectionFlag
enum BindingDirection {
SingleInit = 1, //!< @copydoc QtMvvm::Binding::SingleInit
OneWayToView = 3, //!< @copydoc QtMvvm::Binding::OneWayToView
OneWayToViewModel = 4, //!< @copydoc QtMvvm::Binding::OneWayToViewModel
TwoWay = 7 //!< @copydoc QtMvvm::Binding::TwoWay
};
//! @copydoc QtMvvm::Binding::unbind
void unbind();
//! @copydoc QtMvvm::Binding::isValid
bool isValid();
//! @writeAcFn{MvvmBinding::type}
void setType(BindingDirection type);
signals:
//! @notifyAcFn{MvvmBinding::viewModel}
void viewModelChanged();
//! @notifyAcFn{MvvmBinding::viewModelProperty}
void viewModelPropertyChanged();
//! @notifyAcFn{MvvmBinding::view}
void viewChanged();
//! @notifyAcFn{MvvmBinding::viewProperty}
void viewPropertyChanged();
//! @notifyAcFn{MvvmBinding::viewModelChangeSignal}
void viewModelChangeSignalChanged();
//! @notifyAcFn{MvvmBinding::viewChangeSignal}
void viewChangeSignalChanged();
//! @notifyAcFn{MvvmBinding::type}
void typeChanged();
};

36
doc/qtmvvm.dox

@ -19,6 +19,7 @@ The following list shows which classes belong to which Qt module, in alphabetica
- SettingsViewModel
- ViewModel
- All Methods not explicitly listed
- QML import: @ref de::skycoder42::QtMvvm::Core "de.skycoder42.QtMvvm.Core"
- QtMvvmWidgets:
- InputWidgetFactory
- IPresentingView
@ -27,15 +28,50 @@ The following list shows which classes belong to which Qt module, in alphabetica
- QtMvvmQuick:
- InputViewFactory
- QuickPresenter
- QML import: @ref de::skycoder42::QtMvvm::Quick "de.skycoder42.QtMvvm.Quick"
- QtMvvmDataSyncCore:
- AccountModel
- DataSyncViewModel
- ExchangeDevicesModel
- NetworkExchangeViewModel
- QML import: @ref de::skycoder42::QtMvvm::DataSync::Core "de.skycoder42.QtMvvm.DataSync.Core"
- QtMvvmDataSyncWidgets:
- DataSyncWindow
- NetworkExchangeWindow
- registerDataSyncWidgets()
- QtMvvmDataSyncQuick:
- registerDataSyncQuick()
- QML import: @ref de::skycoder42::QtMvvm::DataSync::Quick "de.skycoder42.QtMvvm.DataSync.Quick"
*/
/*!
@namespace de::skycoder42::QtMvvm::Core
@brief The QML import for the QtMvvmCore QML module
<b>Current Version</b><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.0
*/
/*!
@namespace de::skycoder42::QtMvvm::Quick
@brief The QML import for the QtMvvmQuick QML module
<b>Current Version</b><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.0
*/
/*!
@namespace de::skycoder42::QtMvvm::DataSync::Core
@brief The QML import for the QtMvvmDataSyncCore QML module
<b>Current Version</b><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.0
*/
/*!
@namespace de::skycoder42::QtMvvm::DataSync::Quick
@brief The QML import for the QtMvvmDataSyncQuick QML module
<b>Current Version</b><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.0
*/

109
src/imports/mvvmcore/qqmlmvvmbinding.h

@ -6,50 +6,151 @@
#include <QtMvvmCore/Binding>
#ifdef DOXYGEN_RUN
namespace de::skycoder42::QtMvvm::Core {
/*! @brief A QML class to create a local mvvm multiway binding
*
* @since 1.0
*
* It is basically a wrapper around the QtMvvm::bind method. The parameters are set via the
* properties, and once the binding component is completed, it will create the binding. It is
* possible to modify the properties while running. This will recreate the binding, discarding
* the previous one
*
* @sa QtMvvm::bind
*/
class MvvmBinding : public QtObject
#else
namespace QtMvvm {
class QQmlMvvmBinding : public QObject, public QQmlParserStatus
#endif
{
Q_OBJECT
Q_INTERFACES(QQmlParserStatus)
/*! @brief The object in the role of a viewmodel
*
* @default{`null`}
* @accessors{
* @memberAc{viewModel}
* @notifyAc{viewModelChanged()}
* }
* @sa QtMvvm::bind
*/
Q_PROPERTY(QObject* viewModel MEMBER _viewModel NOTIFY viewModelChanged)
/*! @brief The property of the viewmodel to use in the binding
*
* @default{<i>Empty</i>}
* @accessors{
* @memberAc{viewModelProperty}
* @notifyAc{viewModelPropertyChanged()}
* }
* @sa QtMvvm::bind
*/
Q_PROPERTY(QString viewModelProperty MEMBER _viewModelProperty NOTIFY viewModelPropertyChanged)
/*! @brief The object in the role of a view
*
* @default{`parent()`}
* @accessors{
* @memberAc{view}
* @notifyAc{viewChanged()}
* }
* @sa QtMvvm::bind
*/
Q_PROPERTY(QObject* view MEMBER _view NOTIFY viewChanged)
/*! @brief The property of the view to use in the binding
*
* @default{<i>Empty</i>}
* @accessors{
* @memberAc{viewProperty}
* @notifyAc{viewPropertyChanged()}
* }
* @sa QtMvvm::bind
*/
Q_PROPERTY(QString viewProperty MEMBER _viewProperty NOTIFY viewPropertyChanged)
/*! @brief An alternative signal to be used instead of the viewModelProperty notify signal
* to detect property changes
*
* @default{<i>Empty</i>}
* @accessors{
* @memberAc{viewModelChangeSignal}
* @notifyAc{viewModelChangeSignalChanged()}
* }
* @sa QtMvvm::bind
*/
Q_PROPERTY(QString viewModelChangeSignal MEMBER _viewModelChangeSignal NOTIFY viewModelChangeSignalChanged)
/*! @brief An alternative signal to be used instead of the viewProperty notify signal to
* detect property changes
*
* @default{<i>Empty</i>}
* @accessors{
* @memberAc{viewChangeSignal}
* @notifyAc{viewChangeSignalChanged()}
* }
* @sa QtMvvm::bind
*/
Q_PROPERTY(QString viewChangeSignal MEMBER _viewChangeSignal NOTIFY viewChangeSignalChanged)
/*! @brief The type/direction of binding to create
*
* @default{`MvvmBinding::TwoWay`}
* @accessors{
* @memberAc{type}
* @notifyAc{typeChanged()}
* }
* @sa QtMvvm::bind
*/
Q_PROPERTY(BindingDirection type READ type WRITE setType NOTIFY typeChanged) //MEMBER is broken for flags
public:
//! @copydoc QtMvvm::Binding::BindingDirectionFlag
enum BindingDirectionFlag { //copy flags from binding
SingleInit = Binding::SingleInit,
OneWayToView = Binding::OneWayToView,
OneWayToViewModel = Binding::OneWayToViewModel,
TwoWay = Binding::TwoWay
SingleInit = Binding::SingleInit, //!< @copydoc QtMvvm::Binding::SingleInit
OneWayToView = Binding::OneWayToView, //!< @copydoc QtMvvm::Binding::OneWayToView
OneWayToViewModel = Binding::OneWayToViewModel, //!< @copydoc QtMvvm::Binding::OneWayToViewModel
TwoWay = Binding::TwoWay //!< @copydoc QtMvvm::Binding::TwoWay
};
Q_DECLARE_FLAGS(BindingDirection, BindingDirectionFlag)
Q_FLAG(BindingDirection)
//! @private
explicit QQmlMvvmBinding(QObject *parent = nullptr);
//! @private
void classBegin() override;
//! @private
void componentComplete() override;
//! @private
BindingDirection type() const;
//! @copydoc QtMvvm::Binding::isValid
Q_INVOKABLE bool isValid() const;
#ifdef DOXYGEN_RUN
public:
#else
public Q_SLOTS:
#endif
//! @private
void setType(BindingDirection type);
//! @copydoc QtMvvm::Binding::unbind
void unbind();
Q_SIGNALS:
//! @notifyAcFn{MvvmBinding::viewModel}
void viewModelChanged(QObject* viewModel);
//! @notifyAcFn{MvvmBinding::viewModelProperty}
void viewModelPropertyChanged(const QString &viewModelProperty);
//! @notifyAcFn{MvvmBinding::view}
void viewChanged(QObject* view);
//! @notifyAcFn{MvvmBinding::viewProperty}
void viewPropertyChanged(const QString &viewProperty);
//! @notifyAcFn{MvvmBinding::viewModelChangeSignal}
void typeChanged(BindingDirection type);
//! @notifyAcFn{MvvmBinding::viewChangeSignal}
void viewModelChangeSignalChanged(const QString &viewModelChangeSignal);
//! @notifyAcFn{MvvmBinding::type}
void viewChangeSignalChanged(const QString &viewChangeSignal);
private Q_SLOTS:

137
src/imports/mvvmcore/qqmlmvvmmessage.h

@ -9,68 +9,109 @@
#include <QtMvvmCore/Messages>
#ifdef DOXYGEN_RUN
namespace de::skycoder42::QtMvvm::Core {
/*! @brief A QML signelton to access the QtMvvm namespace methods for showing simple dialogs
*
* @since 1.0
*
* @sa QtMvvm::MessageConfig, QtMvvm::CoreApp::showDialog
*/
class Message : public QtObject
#else
namespace QtMvvm {
class QQmlMvvmMessage : public QObject
#endif
{
Q_OBJECT
public:
//! @private
explicit QQmlMvvmMessage(QJSEngine *engine, QObject *parent = nullptr);
#ifdef DOXYGEN_RUN
public:
#else
public Q_SLOTS:
void information(const QString &title,
const QString &text,
const QJSValue &onResult = {},
const QString &okText = {});
void question(const QString &title,
const QString &text,
const QJSValue &onResult = {},
const QString &yesText = {},
const QString &noText = {});
void warning(const QString &title,
const QString &text,
const QJSValue &onResult = {},
const QString &okText = {});
void critical(const QString &title,
const QString &text,
const QJSValue &onResult = {},
const QString &okText = {});
#define static
#endif
//! @brief A QML version of the QtMvvm::information method
//! @copydetails QtMvvm::information(const QString &, const QString &, const std::function<void()> &, const QString &)
static void information(const QString &title,
const QString &text,
const QJSValue &onResult = {},
const QString &okText = {});
//! @brief A QML version of the QtMvvm::question method
//! @copydoc QtMvvm::question(const QString &, const QString &, const std::function<void(bool)> &, const QString &, const QString &)
static void question(const QString &title,
const QString &text,
const QJSValue &onResult = {},
const QString &yesText = {},
const QString &noText = {});
//! @brief A QML version of the QtMvvm::warning method
//! @copydoc QtMvvm::warning(const QString &, const QString &, const std::function<void()> &, const QString &)
static void warning(const QString &title,
const QString &text,
const QJSValue &onResult = {},
const QString &okText = {});
//! @brief A QML version of the QtMvvm::critical method
//! @copydoc QtMvvm::critical(const QString &, const QString &, const std::function<void()> &, const QString &)
static void critical(const QString &title,
const QString &text,
const QJSValue &onResult = {},
const QString &okText = {});
void about(const QString &description,
const QUrl &websiteUrl = QUrl(),
const QString &licenseName = QString(),
const QUrl &licenseUrl = QUrl(),
const QString &companyName = QString(),
bool addQtVersion = true,
const QStringList &extraTopInfos = QStringList(),
const QString &extraBottomInfos = QString());
//! @brief A QML version of the QtMvvm::about method
//! @copydoc QtMvvm::about
static void about(const QString &description,
const QUrl &websiteUrl = QUrl(),
const QString &licenseName = QString(),
const QUrl &licenseUrl = QUrl(),
const QString &companyName = QString(),
bool addQtVersion = true,
const QStringList &extraTopInfos = QStringList(),
const QString &extraBottomInfos = QString());
void getInput(const QString &title,
const QString &text,
const QString &inputType,
const QJSValue &onResult = {},
const QVariant &defaultValue = {},
const QVariantMap &viewProperties = {},
const QString &okText = {},
const QString &cancelText = {});
//! @brief A QML version of the QtMvvm::getInput method
//! @copydoc QtMvvm::getInput(const QString &, const QString &, const char *, const std::function<void(QVariant)> &, const QVariant &, const QVariantMap &, const QString &, const QString &)
static void getInput(const QString &title,
const QString &text,
const QString &inputType,
const QJSValue &onResult = {},
const QVariant &defaultValue = {},
const QVariantMap &viewProperties = {},
const QString &okText = {},
const QString &cancelText = {});
void getExistingDirectory(const QJSValue &onResult = {},
const QString &title = {},
const QUrl &dir = {});
void getOpenFile(const QJSValue &onResult = {},
const QString &title = {},
const QStringList &supportedMimeTypes = {},
const QUrl &dir = {});
//! @brief A QML version of the QtMvvm::getExistingDirectory method
//! @copydoc QtMvvm::getExistingDirectory(const std::function<void(QUrl)> &, const QString &, const QUrl &)
static void getExistingDirectory(const QJSValue &onResult = {},
const QString &title = {},
const QUrl &dir = {});
//! @brief A QML version of the QtMvvm::getOpenFile method
//! @copydoc QtMvvm::getOpenFile(const std::function<void(QUrl)> &, const QString &, const QStringList &, const QUrl &)
static void getOpenFile(const QJSValue &onResult = {},
const QString &title = {},
const QStringList &supportedMimeTypes = {},
const QUrl &dir = {});
//! @brief A QML version of the QtMvvm::getOpenFiles method
//! @copydoc QtMvvm::getOpenFiles(const std::function<void(QList<QUrl>)> &, const QString &, const QStringList &, const QUrl &)
static void getOpenFiles(const QJSValue &onResult,
const QString &title = {},
const QStringList &supportedMimeTypes = {},
const QUrl &dir = {});
//! @brief A QML version of the QtMvvm::getSaveFile method
//! @copydoc QtMvvm::getSaveFile(const std::function<void(QUrl)> &, const QString &, const QStringList &, const QUrl &)
static void getSaveFile(const QJSValue &onResult,
const QString &title = {},
const QStringList &supportedMimeTypes = {},
const QUrl &dir = {});
void getOpenFiles(const QJSValue &onResult,
const QString &title = {},
const QStringList &supportedMimeTypes = {},
const QUrl &dir = {});
void getSaveFile(const QJSValue &onResult,
const QString &title = {},
const QStringList &supportedMimeTypes = {},
const QUrl &dir = {});
#ifndef DOXYGEN_RUN
#undef static
#endif
private:
QJSEngine *_engine;

Loading…
Cancel
Save