Merge branch 'stable' into dev
Conflicts: src/concurrent/qtconcurrentmedian.h src/corelib/itemmodels/qabstractitemmodel.cpp Change-Id: Iac46a90bbb2958cef7670031a4b59c3becd8538a
This commit is contained in:
commit
f7837e28b5
@ -29,6 +29,8 @@ macro.endcomment = "\\c{*/}"
|
|||||||
macro.uuml.HTML = "ü"
|
macro.uuml.HTML = "ü"
|
||||||
macro.mdash.HTML = "—"
|
macro.mdash.HTML = "—"
|
||||||
macro.pi.HTML = "Π"
|
macro.pi.HTML = "Π"
|
||||||
|
macro.beginqdoc.HTML = "/*!"
|
||||||
|
macro.endqdoc.HTML = "*/"
|
||||||
|
|
||||||
macro.beginfloatleft.HTML = "<div style=\"float: left; margin-right: 2em\">"
|
macro.beginfloatleft.HTML = "<div style=\"float: left; margin-right: 2em\">"
|
||||||
macro.beginfloatright.HTML = "<div style=\"float: right; margin-left: 2em\">"
|
macro.beginfloatright.HTML = "<div style=\"float: right; margin-left: 2em\">"
|
||||||
|
@ -47,6 +47,9 @@
|
|||||||
"and any number of buttons, each with standard or custom texts." \
|
"and any number of buttons, each with standard or custom texts." \
|
||||||
"<p>Click a button to close the message box. Pressing the Esc button " \
|
"<p>Click a button to close the message box. Pressing the Esc button " \
|
||||||
"will activate the detected escape button (if any).")
|
"will activate the detected escape button (if any).")
|
||||||
|
#define MESSAGE_DETAILS \
|
||||||
|
Dialog::tr("If a message box has detailed text, the user can reveal it " \
|
||||||
|
"by pressing the Show Details... button.")
|
||||||
|
|
||||||
|
|
||||||
class DialogOptionsWidget : public QGroupBox
|
class DialogOptionsWidget : public QGroupBox
|
||||||
@ -466,6 +469,7 @@ void Dialog::warningMessage()
|
|||||||
{
|
{
|
||||||
QMessageBox msgBox(QMessageBox::Warning, tr("QMessageBox::warning()"),
|
QMessageBox msgBox(QMessageBox::Warning, tr("QMessageBox::warning()"),
|
||||||
MESSAGE, 0, this);
|
MESSAGE, 0, this);
|
||||||
|
msgBox.setDetailedText(MESSAGE_DETAILS);
|
||||||
msgBox.addButton(tr("Save &Again"), QMessageBox::AcceptRole);
|
msgBox.addButton(tr("Save &Again"), QMessageBox::AcceptRole);
|
||||||
msgBox.addButton(tr("&Continue"), QMessageBox::RejectRole);
|
msgBox.addButton(tr("&Continue"), QMessageBox::RejectRole);
|
||||||
if (msgBox.exec() == QMessageBox::AcceptRole)
|
if (msgBox.exec() == QMessageBox::AcceptRole)
|
||||||
|
@ -145,7 +145,7 @@
|
|||||||
plugin. The Q_INTERFACES macro tells Qt which interfaces the class
|
plugin. The Q_INTERFACES macro tells Qt which interfaces the class
|
||||||
implements. In our case we only implement the \c EchoInterface.
|
implements. In our case we only implement the \c EchoInterface.
|
||||||
If a class implements more than one interface, they are given as
|
If a class implements more than one interface, they are given as
|
||||||
a comma separated list. The Q_PLUGIN_METADATA macro is included next
|
a space separated list. The Q_PLUGIN_METADATA macro is included next
|
||||||
to the Q_OBJECT macro. It contains the plugins IID and a filename
|
to the Q_OBJECT macro. It contains the plugins IID and a filename
|
||||||
pointing to a json file containing the metadata for the plugin.
|
pointing to a json file containing the metadata for the plugin.
|
||||||
The json file is compiled into the plugin and does not need to be installed.
|
The json file is compiled into the plugin and does not need to be installed.
|
||||||
|
@ -348,7 +348,8 @@ Option::init(int argc, char **argv)
|
|||||||
continue;
|
continue;
|
||||||
QString candidate = currentDir.absoluteFilePath(*p + QLatin1Char('/') + argv0);
|
QString candidate = currentDir.absoluteFilePath(*p + QLatin1Char('/') + argv0);
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
candidate += ".exe";
|
if (!candidate.endsWith(QLatin1String(".exe")))
|
||||||
|
candidate += QLatin1String(".exe");
|
||||||
#endif
|
#endif
|
||||||
if (QFile::exists(candidate)) {
|
if (QFile::exists(candidate)) {
|
||||||
globals->qmake_abslocation = candidate;
|
globals->qmake_abslocation = candidate;
|
||||||
|
@ -427,7 +427,7 @@ ba2.constData(); // Returns "ca\0" with terminating \0.
|
|||||||
|
|
||||||
QByteArray ba3("ca\0r\0t", 4);
|
QByteArray ba3("ca\0r\0t", 4);
|
||||||
ba3.size(); // Returns 4.
|
ba3.size(); // Returns 4.
|
||||||
ba2.constData(); // Returns "ca\0r" with terminating \0.
|
ba3.constData(); // Returns "ca\0r" with terminating \0.
|
||||||
|
|
||||||
const char cart[] = {'c', 'a', '\0', 'r', '\0', 't'};
|
const char cart[] = {'c', 'a', '\0', 'r', '\0', 't'};
|
||||||
QByteArray ba4(QByteArray::fromRawData(cart, 6));
|
QByteArray ba4(QByteArray::fromRawData(cart, 6));
|
||||||
|
@ -79,7 +79,9 @@
|
|||||||
signal must match the signature of the receiving slot. (In fact a
|
signal must match the signature of the receiving slot. (In fact a
|
||||||
slot may have a shorter signature than the signal it receives
|
slot may have a shorter signature than the signal it receives
|
||||||
because it can ignore extra arguments.) Since the signatures are
|
because it can ignore extra arguments.) Since the signatures are
|
||||||
compatible, the compiler can help us detect type mismatches.
|
compatible, the compiler can help us detect type mismatches when
|
||||||
|
using the function pointer-based syntax. The string-based SIGNAL
|
||||||
|
and SLOT syntax will detect type mismatches at runtime.
|
||||||
Signals and slots are loosely coupled: A class which emits a
|
Signals and slots are loosely coupled: A class which emits a
|
||||||
signal neither knows nor cares which slots receive the signal.
|
signal neither knows nor cares which slots receive the signal.
|
||||||
Qt's signals and slots mechanism ensures that if you connect a
|
Qt's signals and slots mechanism ensures that if you connect a
|
||||||
|
@ -284,8 +284,6 @@ bool QDirSortItemComparator::operator()(const QDirSortItem &n1, const QDirSortIt
|
|||||||
? f1->filename_cache.localeAwareCompare(f2->filename_cache)
|
? f1->filename_cache.localeAwareCompare(f2->filename_cache)
|
||||||
: f1->filename_cache.compare(f2->filename_cache);
|
: f1->filename_cache.compare(f2->filename_cache);
|
||||||
}
|
}
|
||||||
if (r == 0) // Enforce an order - the order the items appear in the array
|
|
||||||
r = (&n1) - (&n2);
|
|
||||||
if (qt_cmp_si_sort_flags & QDir::Reversed)
|
if (qt_cmp_si_sort_flags & QDir::Reversed)
|
||||||
return r > 0;
|
return r > 0;
|
||||||
return r < 0;
|
return r < 0;
|
||||||
|
@ -1303,12 +1303,12 @@ void QAbstractItemModel::resetInternalData()
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\fn bool QAbstractItemModel::moveRow(const QModelIndex &sourceParent, int sourceColumn, const QModelIndex &destinationParent, int destinationChild)
|
\fn bool QAbstractItemModel::moveRow(const QModelIndex &sourceParent, int sourceRow, const QModelIndex &destinationParent, int destinationChild)
|
||||||
|
|
||||||
On models that support this, moves \a sourceColumn from \a sourceParent to \a destinationChild under
|
On models that support this, moves \a sourceRow from \a sourceParent to \a destinationChild under
|
||||||
\a destinationParent.
|
\a destinationParent.
|
||||||
|
|
||||||
Returns \c{true} if the columns were successfully moved; otherwise returns
|
Returns \c{true} if the rows were successfully moved; otherwise returns
|
||||||
\c{false}.
|
\c{false}.
|
||||||
|
|
||||||
\sa moveRows(), moveColumn()
|
\sa moveRows(), moveColumn()
|
||||||
|
@ -160,11 +160,7 @@ static boolean qt_fill_input_buffer(j_decompress_ptr cinfo)
|
|||||||
} else {
|
} else {
|
||||||
src->bytes_in_buffer = num_read;
|
src->bytes_in_buffer = num_read;
|
||||||
}
|
}
|
||||||
#if defined(Q_OS_UNIXWARE)
|
return TRUE;
|
||||||
return B_TRUE;
|
|
||||||
#else
|
|
||||||
return true;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void qt_skip_input_data(j_decompress_ptr cinfo, long num_bytes)
|
static void qt_skip_input_data(j_decompress_ptr cinfo, long num_bytes)
|
||||||
@ -363,7 +359,7 @@ static bool read_jpeg_image(QImage *outImage,
|
|||||||
// If high quality not required, use fast decompression
|
// If high quality not required, use fast decompression
|
||||||
if( quality < HIGH_QUALITY_THRESHOLD ) {
|
if( quality < HIGH_QUALITY_THRESHOLD ) {
|
||||||
info->dct_method = JDCT_IFAST;
|
info->dct_method = JDCT_IFAST;
|
||||||
info->do_fancy_upsampling = false;
|
info->do_fancy_upsampling = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
(void) jpeg_calc_output_dimensions(info);
|
(void) jpeg_calc_output_dimensions(info);
|
||||||
@ -496,11 +492,7 @@ static boolean qt_empty_output_buffer(j_compress_ptr cinfo)
|
|||||||
dest->next_output_byte = dest->buffer;
|
dest->next_output_byte = dest->buffer;
|
||||||
dest->free_in_buffer = max_buf;
|
dest->free_in_buffer = max_buf;
|
||||||
|
|
||||||
#if defined(Q_OS_UNIXWARE)
|
return TRUE;
|
||||||
return B_TRUE;
|
|
||||||
#else
|
|
||||||
return true;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void qt_term_destination(j_compress_ptr cinfo)
|
static void qt_term_destination(j_compress_ptr cinfo)
|
||||||
@ -625,13 +617,8 @@ static bool write_jpeg_image(const QImage &image, QIODevice *device, volatile in
|
|||||||
|
|
||||||
|
|
||||||
int quality = sourceQuality >= 0 ? qMin(int(sourceQuality),100) : 75;
|
int quality = sourceQuality >= 0 ? qMin(int(sourceQuality),100) : 75;
|
||||||
#if defined(Q_OS_UNIXWARE)
|
jpeg_set_quality(&cinfo, quality, TRUE /* limit to baseline-JPEG values */);
|
||||||
jpeg_set_quality(&cinfo, quality, B_TRUE /* limit to baseline-JPEG values */);
|
jpeg_start_compress(&cinfo, TRUE);
|
||||||
jpeg_start_compress(&cinfo, B_TRUE);
|
|
||||||
#else
|
|
||||||
jpeg_set_quality(&cinfo, quality, true /* limit to baseline-JPEG values */);
|
|
||||||
jpeg_start_compress(&cinfo, true);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
set_text(image, &cinfo, description);
|
set_text(image, &cinfo, description);
|
||||||
|
|
||||||
@ -801,11 +788,7 @@ bool QJpegHandlerPrivate::readJpegHeader(QIODevice *device)
|
|||||||
if (!setjmp(err.setjmp_buffer)) {
|
if (!setjmp(err.setjmp_buffer)) {
|
||||||
jpeg_save_markers(&info, JPEG_COM, 0xFFFF);
|
jpeg_save_markers(&info, JPEG_COM, 0xFFFF);
|
||||||
|
|
||||||
#if defined(Q_OS_UNIXWARE)
|
(void) jpeg_read_header(&info, TRUE);
|
||||||
(void) jpeg_read_header(&info, B_TRUE);
|
|
||||||
#else
|
|
||||||
(void) jpeg_read_header(&info, true);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int width = 0;
|
int width = 0;
|
||||||
int height = 0;
|
int height = 0;
|
||||||
|
@ -502,10 +502,7 @@ WId QWindow::winId() const
|
|||||||
if(!d->platformWindow)
|
if(!d->platformWindow)
|
||||||
const_cast<QWindow *>(this)->create();
|
const_cast<QWindow *>(this)->create();
|
||||||
|
|
||||||
WId id = d->platformWindow->winId();
|
return d->platformWindow->winId();
|
||||||
// See the QPlatformWindow::winId() documentation
|
|
||||||
Q_ASSERT(id != WId(0));
|
|
||||||
return id;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -137,12 +137,6 @@ private:
|
|||||||
friend class QDistanceFieldData;
|
friend class QDistanceFieldData;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
inline QImage Q_GUI_EXPORT qt_renderDistanceFieldGlyph(const QRawFont &f, glyph_t g, bool d)
|
|
||||||
{ return QDistanceField(f, g, d).toImage(QImage::Format_Indexed8); }
|
|
||||||
inline QImage Q_GUI_EXPORT qt_renderDistanceFieldGlyph(QFontEngine *fe, glyph_t g, bool d)
|
|
||||||
{ return QDistanceField(fe, g, d).toImage(QImage::Format_Indexed8); }
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
#endif // QDISTANCEFIELD_H
|
#endif // QDISTANCEFIELD_H
|
||||||
|
@ -545,6 +545,14 @@ QFontEngine *QFontconfigDatabase::fontEngine(const QFontDef &f, QChar::Script sc
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (antialias) {
|
||||||
|
// If antialiasing is not fully disabled, fontconfig may still disable it on a font match basis.
|
||||||
|
FcBool fc_antialias;
|
||||||
|
if (FcPatternGetBool(match, FC_ANTIALIAS,0, &fc_antialias) != FcResultMatch)
|
||||||
|
fc_antialias = true;
|
||||||
|
antialias = fc_antialias;
|
||||||
|
}
|
||||||
|
|
||||||
if (f.hintingPreference == QFont::PreferDefaultHinting) {
|
if (f.hintingPreference == QFont::PreferDefaultHinting) {
|
||||||
const QPlatformServices *services = QGuiApplicationPrivate::platformIntegration()->services();
|
const QPlatformServices *services = QGuiApplicationPrivate::platformIntegration()->services();
|
||||||
if (services && (services->desktopEnvironment() == "GNOME" || services->desktopEnvironment() == "UNITY")) {
|
if (services && (services->desktopEnvironment() == "GNOME" || services->desktopEnvironment() == "UNITY")) {
|
||||||
|
@ -70,6 +70,7 @@ QT_END_NAMESPACE
|
|||||||
Qt::KeyboardModifiers currentWheelModifiers;
|
Qt::KeyboardModifiers currentWheelModifiers;
|
||||||
bool m_subscribesForGlobalFrameNotifications;
|
bool m_subscribesForGlobalFrameNotifications;
|
||||||
QCocoaGLContext *m_glContext;
|
QCocoaGLContext *m_glContext;
|
||||||
|
bool m_drawRectHasBeenCalled;
|
||||||
bool m_shouldSetGLContextinDrawRect;
|
bool m_shouldSetGLContextinDrawRect;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,6 +87,7 @@ static QTouchDevice *touchDevice = 0;
|
|||||||
m_sendKeyEvent = false;
|
m_sendKeyEvent = false;
|
||||||
m_subscribesForGlobalFrameNotifications = false;
|
m_subscribesForGlobalFrameNotifications = false;
|
||||||
m_glContext = 0;
|
m_glContext = 0;
|
||||||
|
m_drawRectHasBeenCalled = false;
|
||||||
m_shouldSetGLContextinDrawRect = false;
|
m_shouldSetGLContextinDrawRect = false;
|
||||||
currentCustomDragTypes = 0;
|
currentCustomDragTypes = 0;
|
||||||
m_sendUpAsRightButton = false;
|
m_sendUpAsRightButton = false;
|
||||||
@ -153,9 +154,9 @@ static QTouchDevice *touchDevice = 0;
|
|||||||
- (void) setQCocoaGLContext:(QCocoaGLContext *)context
|
- (void) setQCocoaGLContext:(QCocoaGLContext *)context
|
||||||
{
|
{
|
||||||
m_glContext = context;
|
m_glContext = context;
|
||||||
[m_glContext->nsOpenGLContext() setView:self];
|
if (m_drawRectHasBeenCalled) {
|
||||||
if (![m_glContext->nsOpenGLContext() view]) {
|
[m_glContext->nsOpenGLContext() setView:self];
|
||||||
//was unable to set view
|
} else {
|
||||||
m_shouldSetGLContextinDrawRect = true;
|
m_shouldSetGLContextinDrawRect = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -392,6 +393,8 @@ static QTouchDevice *touchDevice = 0;
|
|||||||
m_shouldSetGLContextinDrawRect = false;
|
m_shouldSetGLContextinDrawRect = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_drawRectHasBeenCalled = true;
|
||||||
|
|
||||||
if (!m_backingStore)
|
if (!m_backingStore)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -62,4 +62,12 @@ void *QQnxNativeInterface::nativeResourceForWindow(const QByteArray &resource, Q
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void *QQnxNativeInterface::nativeResourceForScreen(const QByteArray &resource, QScreen *screen)
|
||||||
|
{
|
||||||
|
if (resource == "QObject*" && screen)
|
||||||
|
return static_cast<QObject*>(static_cast<QQnxScreen*>(screen->handle()));
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
@ -50,6 +50,7 @@ class QQnxNativeInterface : public QPlatformNativeInterface
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
void *nativeResourceForWindow(const QByteArray &resource, QWindow *window);
|
void *nativeResourceForWindow(const QByteArray &resource, QWindow *window);
|
||||||
|
void *nativeResourceForScreen(const QByteArray &resource, QScreen *screen);
|
||||||
};
|
};
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
@ -573,8 +573,10 @@ void QQnxScreen::addUnderlayWindow(screen_window_t window)
|
|||||||
void QQnxScreen::removeOverlayOrUnderlayWindow(screen_window_t window)
|
void QQnxScreen::removeOverlayOrUnderlayWindow(screen_window_t window)
|
||||||
{
|
{
|
||||||
const int numRemoved = m_overlays.removeAll(window) + m_underlays.removeAll(window);
|
const int numRemoved = m_overlays.removeAll(window) + m_underlays.removeAll(window);
|
||||||
if (numRemoved > 0)
|
if (numRemoved > 0) {
|
||||||
updateHierarchy();
|
updateHierarchy();
|
||||||
|
Q_EMIT foreignWindowClosed(window);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void QQnxScreen::newWindowCreated(void *window)
|
void QQnxScreen::newWindowCreated(void *window)
|
||||||
@ -608,6 +610,7 @@ void QQnxScreen::newWindowCreated(void *window)
|
|||||||
addUnderlayWindow(windowHandle);
|
addUnderlayWindow(windowHandle);
|
||||||
else
|
else
|
||||||
addOverlayWindow(windowHandle);
|
addOverlayWindow(windowHandle);
|
||||||
|
Q_EMIT foreignWindowCreated(windowHandle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -98,6 +98,10 @@ public:
|
|||||||
|
|
||||||
QPlatformCursor *cursor() const;
|
QPlatformCursor *cursor() const;
|
||||||
|
|
||||||
|
Q_SIGNALS:
|
||||||
|
void foreignWindowCreated(void *window);
|
||||||
|
void foreignWindowClosed(void *window);
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
void setRotation(int rotation);
|
void setRotation(int rotation);
|
||||||
void newWindowCreated(void *window);
|
void newWindowCreated(void *window);
|
||||||
|
@ -88,8 +88,10 @@ void QWindowsBackingStore::flush(QWindow *window, const QRegion ®ion,
|
|||||||
QWindowsWindow *rw = QWindowsWindow::baseWindowOf(window);
|
QWindowsWindow *rw = QWindowsWindow::baseWindowOf(window);
|
||||||
|
|
||||||
#ifndef Q_OS_WINCE
|
#ifndef Q_OS_WINCE
|
||||||
|
const bool hasAlpha = rw->format().hasAlpha();
|
||||||
const Qt::WindowFlags flags = window->flags();
|
const Qt::WindowFlags flags = window->flags();
|
||||||
if ((flags & Qt::FramelessWindowHint) && QWindowsWindow::setWindowLayered(rw->handle(), flags, rw->format().hasAlpha(), rw->opacity())) {
|
if ((flags & Qt::FramelessWindowHint) && QWindowsWindow::setWindowLayered(rw->handle(), flags, hasAlpha, rw->opacity()) && hasAlpha) {
|
||||||
|
// Windows with alpha: Use blend function to update.
|
||||||
QRect r = window->frameGeometry();
|
QRect r = window->frameGeometry();
|
||||||
QPoint frameOffset(window->frameMargins().left(), window->frameMargins().top());
|
QPoint frameOffset(window->frameMargins().left(), window->frameMargins().top());
|
||||||
QRect dirtyRect = br.translated(offset + frameOffset);
|
QRect dirtyRect = br.translated(offset + frameOffset);
|
||||||
|
@ -314,7 +314,8 @@ static void setWindowOpacity(HWND hwnd, Qt::WindowFlags flags, bool hasAlpha, qr
|
|||||||
Q_UNUSED(level);
|
Q_UNUSED(level);
|
||||||
#else
|
#else
|
||||||
if (QWindowsWindow::setWindowLayered(hwnd, flags, hasAlpha, level)) {
|
if (QWindowsWindow::setWindowLayered(hwnd, flags, hasAlpha, level)) {
|
||||||
if (flags & Qt::FramelessWindowHint) {
|
if (hasAlpha && (flags & Qt::FramelessWindowHint)) {
|
||||||
|
// Windows with alpha: Use blend function to update.
|
||||||
BLENDFUNCTION blend = {AC_SRC_OVER, 0, (BYTE)(255.0 * level), AC_SRC_ALPHA};
|
BLENDFUNCTION blend = {AC_SRC_OVER, 0, (BYTE)(255.0 * level), AC_SRC_ALPHA};
|
||||||
QWindowsContext::user32dll.updateLayeredWindow(hwnd, NULL, NULL, NULL, NULL, NULL, 0, &blend, ULW_ALPHA);
|
QWindowsContext::user32dll.updateLayeredWindow(hwnd, NULL, NULL, NULL, NULL, NULL, 0, &blend, ULW_ALPHA);
|
||||||
} else {
|
} else {
|
||||||
|
@ -8,16 +8,16 @@ version = $QT_VERSION
|
|||||||
sourcedirs = ..
|
sourcedirs = ..
|
||||||
|
|
||||||
exampledirs = .. \
|
exampledirs = .. \
|
||||||
../examples \
|
../examples
|
||||||
../../../../examples \
|
|
||||||
config
|
|
||||||
|
|
||||||
imagedirs = ../../../doc/src/templates/images \
|
imagedirs = ../images \
|
||||||
../images \
|
../../../../widgets/doc/images
|
||||||
../../../../widgets/doc/images \
|
# ../../../doc/src/templates/images
|
||||||
|
|
||||||
tagfile = ../html/qdoc.tags
|
tagfile = ../html/qdoc.tags
|
||||||
|
|
||||||
|
examples.fileextensions = "*.cpp *.h *.js *.xq *.svg *.xml *.ui *.qhp *.qhcp *.qml *.css *.qdoc *.qdocinc *.sample"
|
||||||
|
|
||||||
qhp.projects = QDoc
|
qhp.projects = QDoc
|
||||||
|
|
||||||
qhp.QDoc.file = qdoc.qhp
|
qhp.QDoc.file = qdoc.qhp
|
||||||
|
@ -123,4 +123,4 @@ setValue() will emit valueChanged() if the new value is different
|
|||||||
from the old one. The \l{QSpinBox::}{value} property has a second notifier
|
from the old one. The \l{QSpinBox::}{value} property has a second notifier
|
||||||
signal which includes the spin box's prefix and suffix.
|
signal which includes the spin box's prefix and suffix.
|
||||||
*/
|
*/
|
||||||
//! [overloaded notifier]
|
//! [overloaded notifier]
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
and their public interfaces. The types are grouped into a module, the
|
and their public interfaces. The types are grouped into a module, the
|
||||||
\l{UI Components} module.
|
\l{UI Components} module.
|
||||||
|
|
||||||
The \l{componentset/uicomponents.qdoc}{uicomponents.qdoc} file generates
|
The \l{componentset/uicomponents.qdoc.sample}{uicomponents.qdoc} file generates
|
||||||
the overview page for the \l{UI Components} module page.
|
the overview page for the \l{UI Components} module page.
|
||||||
|
|
||||||
The generated documentation is available in the \l{UI Components} module.
|
The generated documentation is available in the \l{UI Components} module.
|
||||||
@ -82,3 +82,17 @@
|
|||||||
inside C++ classes to define the public API of the QML type.
|
inside C++ classes to define the public API of the QML type.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\qmlmodule UIComponents 1.0
|
||||||
|
\title UI Components
|
||||||
|
\brief Basic set of UI components
|
||||||
|
|
||||||
|
This is a listing of a list of UI components implemented by QML types. These
|
||||||
|
|
||||||
|
files are available for general import and they are based off the \l{Qt
|
||||||
|
Quick Code Samples}.
|
||||||
|
|
||||||
|
This module is part of the \l{componentset}{UIComponents} example.
|
||||||
|
*/
|
||||||
|
67
src/tools/qdoc/doc/files/basicqt.qdoc.sample
Normal file
67
src/tools/qdoc/doc/files/basicqt.qdoc.sample
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
/*!
|
||||||
|
\page basicqt.html
|
||||||
|
\contentspage {Basic Qt} {Contents}
|
||||||
|
\nextpage Getting Started
|
||||||
|
|
||||||
|
\indexpage Index
|
||||||
|
\startpage Basic Qt
|
||||||
|
|
||||||
|
\title Basic Qt
|
||||||
|
|
||||||
|
The Qt toolkit is a C++ class library and a set of tools for
|
||||||
|
building multiplatform GUI programs using a "write once,
|
||||||
|
compile anywhere approach".
|
||||||
|
|
||||||
|
Table of contents:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li \l {Getting Started}
|
||||||
|
\li \l {Creating Dialogs}
|
||||||
|
\li \l {Creating Main Windows}
|
||||||
|
\endlist
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page gettingstarted.html
|
||||||
|
\previouspage Basic Qt
|
||||||
|
\contentspage {Basic Qt} {Contents}
|
||||||
|
\nextpage Creating Dialogs
|
||||||
|
|
||||||
|
\indexpage Index
|
||||||
|
\startpage Basic Qt
|
||||||
|
|
||||||
|
\title Getting Started
|
||||||
|
|
||||||
|
This chapter shows how to combine basic C++ with the
|
||||||
|
functionality provided by Qt to create a few small graphical
|
||||||
|
interface (GUI) applications.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/ *!
|
||||||
|
\page creatingdialogs.html
|
||||||
|
\previouspage Getting Started
|
||||||
|
\contentspage {Basic Qt} {Contents}
|
||||||
|
|
||||||
|
\indexpage Index
|
||||||
|
\startpage Basic Qt
|
||||||
|
|
||||||
|
\title Creating Dialogs
|
||||||
|
|
||||||
|
This chapter will teach you how to create dialog boxes using Qt.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page index.html
|
||||||
|
|
||||||
|
\indexpage Index
|
||||||
|
\startpage Basic Qt
|
||||||
|
|
||||||
|
\title Index
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li \l {Basic Qt}
|
||||||
|
\li \l {Creating Dialogs}
|
||||||
|
\li \l {Getting Started}
|
||||||
|
\endlist
|
||||||
|
*/
|
||||||
|
|
@ -51,7 +51,7 @@
|
|||||||
documentation and an example of a QML type documentation.
|
documentation and an example of a QML type documentation.
|
||||||
|
|
||||||
For specific QDoc information, consult the
|
For specific QDoc information, consult the
|
||||||
\l{Table of Contents}{QDoc Manual}.
|
\l{QDoc Manual}.
|
||||||
\section1 Chapters
|
\section1 Chapters
|
||||||
|
|
||||||
\list 1
|
\list 1
|
||||||
@ -62,7 +62,6 @@
|
|||||||
\li \l{C++ Documentation Style}
|
\li \l{C++ Documentation Style}
|
||||||
\li \l{QML Documentation Style}
|
\li \l{QML Documentation Style}
|
||||||
\endlist
|
\endlist
|
||||||
\li \l{Configuration File Example}
|
|
||||||
\li \l{QML Documentation Example}
|
\li \l{QML Documentation Example}
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
@ -155,7 +154,7 @@
|
|||||||
|
|
||||||
\section2 Qt Help Framework Configuration
|
\section2 Qt Help Framework Configuration
|
||||||
|
|
||||||
QDoc will also export a \l{Qt Help Project} file, in a \c qhp file.
|
QDoc will also export a \e {Qt Help Project} file, in a \c qhp file.
|
||||||
The qhp file is then used by the \c qhelpgenerator to package the
|
The qhp file is then used by the \c qhelpgenerator to package the
|
||||||
documentation into a \c qch file. Qt Creator and Qt Assistant reads the qch
|
documentation into a \c qch file. Qt Creator and Qt Assistant reads the qch
|
||||||
file to display the documentation.
|
file to display the documentation.
|
||||||
@ -268,6 +267,7 @@
|
|||||||
\nextpage Categories of Documentation
|
\nextpage Categories of Documentation
|
||||||
|
|
||||||
\section1 QDoc Comments
|
\section1 QDoc Comments
|
||||||
|
|
||||||
Documentation is contained within qdoc \e comments, delimited by
|
Documentation is contained within qdoc \e comments, delimited by
|
||||||
\beginqdoc and \endqdoc comments. Note that these are valid comments
|
\beginqdoc and \endqdoc comments. Note that these are valid comments
|
||||||
in C++, QML, and JavaScript.
|
in C++, QML, and JavaScript.
|
||||||
@ -402,7 +402,7 @@
|
|||||||
\page qdoc-categories.html
|
\page qdoc-categories.html
|
||||||
\title Categories of Documentation
|
\title Categories of Documentation
|
||||||
\previouspage Writing Documentation
|
\previouspage Writing Documentation
|
||||||
\nextpage Configuration File Example
|
\nextpage QML Documentation Example
|
||||||
\brief Describes the different types such as How-To's, Tutorials, Overviews,
|
\brief Describes the different types such as How-To's, Tutorials, Overviews,
|
||||||
Examples, and Class Documentation.
|
Examples, and Class Documentation.
|
||||||
|
|
||||||
@ -532,7 +532,7 @@
|
|||||||
|
|
||||||
A QML type belongs to a \e module. The module
|
A QML type belongs to a \e module. The module
|
||||||
may include all the related types for a platform or contain a certain
|
may include all the related types for a platform or contain a certain
|
||||||
version of \l{Qt Quick}. For example, the Qt Quick 2 \l{QML Elements} belong
|
version of \l{Qt Quick}. For example, the Qt Quick 2 QML types belong
|
||||||
to the Qt Quick 2 module while there is also a Qt Quick 1 module for the older
|
to the Qt Quick 2 module while there is also a Qt Quick 1 module for the older
|
||||||
types introduced in Qt 4.
|
types introduced in Qt 4.
|
||||||
|
|
||||||
@ -624,87 +624,10 @@
|
|||||||
\l{Input and Output Directories}{exampledirs} variable to find the Qt
|
\l{Input and Output Directories}{exampledirs} variable to find the Qt
|
||||||
Project (\c .pro) file to generate the example files. The generated HTML
|
Project (\c .pro) file to generate the example files. The generated HTML
|
||||||
will have the filename, \c {declarative-ui-components-tabwidget.html}. QDoc
|
will have the filename, \c {declarative-ui-components-tabwidget.html}. QDoc
|
||||||
will also list all of the example code. For reference, view QDoc's generated
|
will also list all of the example code.
|
||||||
page for the \l{UI Components: Tab Widget Example}{Tab Widget} example.
|
|
||||||
|
|
||||||
\note The example's project file must be the same as the
|
\note The example's project file must be the same as the
|
||||||
directory name.
|
directory name.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
|
||||||
\example config
|
|
||||||
\title Configuration File Example
|
|
||||||
\previouspage Categories of Documentation
|
|
||||||
\brief configuration files for the QDoc Manual and QDoc Guide
|
|
||||||
|
|
||||||
The QDoc Manual uses these \c qdocconf files to generate the QDoc Guide and
|
|
||||||
the \l{Table of Contents}{QDoc Manual}.
|
|
||||||
|
|
||||||
\note The configuration files are similar to the Qt Reference Documentation
|
|
||||||
and the QDoc Manual do not use all of the variables. The variables are
|
|
||||||
included to demonstrate a full project scenario.
|
|
||||||
|
|
||||||
\section1 Macros and other Definitions
|
|
||||||
\list
|
|
||||||
\li \l{config/compat.qdocconf}
|
|
||||||
\li \l{config/macros.qdocconf}
|
|
||||||
\li \l{config/qt-cpp-ignore.qdocconf}
|
|
||||||
\li \l{config/qt-defines.qdocconf}
|
|
||||||
\endlist
|
|
||||||
|
|
||||||
QDoc allows macros to help with aliasing and for inputting special HTML
|
|
||||||
characters within the documentation. Macros are a form of workarounds if
|
|
||||||
QDoc is unable to resolve formatting issues such as when QDoc should
|
|
||||||
disregard QDoc comments in documentation paragraphs.
|
|
||||||
|
|
||||||
QDoc is also aware of the common C++ and Qt preprocessors and can decide
|
|
||||||
which documentation to generate according to the definitions in the
|
|
||||||
configuration files.
|
|
||||||
|
|
||||||
\section1 Project Information
|
|
||||||
\list
|
|
||||||
\li \l{config/qdoc-online.qdocconf}
|
|
||||||
\li \l{config/qdoc.qdocconf}
|
|
||||||
\li \l{config/qdoc-project.qdocconf}
|
|
||||||
\endlist
|
|
||||||
|
|
||||||
These configuration files dictate how QDoc will generate the project.
|
|
||||||
Depending which configuration file QDoc processes, the formatting and the
|
|
||||||
information about the project will be different. If QDoc processes
|
|
||||||
\c{qdoc-online.qdocconf}, QDoc will generate the HTML version of the manual
|
|
||||||
will have the style suitable for online viewing.
|
|
||||||
|
|
||||||
Additionally, the settings for creating the
|
|
||||||
\l{The Qt Help Framework}{Qt Help File} is in the configuration.
|
|
||||||
|
|
||||||
\note The project file uses variables used during Qt's
|
|
||||||
\l{Configuration Options for Qt}{configuration} step.
|
|
||||||
|
|
||||||
\section1 HTML Styles
|
|
||||||
\list
|
|
||||||
\li \l{config/qt-html-default-styles.qdocconf}
|
|
||||||
\li \l{config/qt-html-online-styles.qdocconf}
|
|
||||||
\li \l{config/qt-html-templates-online.qdocconf}
|
|
||||||
\li \l{config/qt-html-templates.qdocconf}
|
|
||||||
\endlist
|
|
||||||
|
|
||||||
These files indicate which styles QDoc should use for the HTML formats.
|
|
||||||
Typically, there are two templates, one for online viewing and one for
|
|
||||||
offline. Qt Creator is able to fit more content in a page with the offline
|
|
||||||
template. The templates store HTML information as strings and QDoc will copy
|
|
||||||
the template to each HTML page.
|
|
||||||
|
|
||||||
\section1 Project File
|
|
||||||
\list
|
|
||||||
\li \l{config/config.pro}
|
|
||||||
\endlist
|
|
||||||
|
|
||||||
Every example page (such as this one) needs a Qt project file. QDoc will
|
|
||||||
use the project file to determine which files are part of the example. QDoc
|
|
||||||
will then create a page listing all the files that are part of the example.
|
|
||||||
|
|
||||||
\note the directory name of the example and the name of the project file
|
|
||||||
must match. The example directory is found using the
|
|
||||||
\l{qdoc-input-output-dir}{exampledirs} variable.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ marked with the \l{c-command}{\\c} command in the case of boolean values.
|
|||||||
\section1 Properties
|
\section1 Properties
|
||||||
|
|
||||||
The property documentation resides immediately above the read function's
|
The property documentation resides immediately above the read function's
|
||||||
implementation. The \l{topic-commands}{topic command} for properties is
|
implementation. The \l{writing-topic-commands}{topic command} for properties is
|
||||||
\l{property-command}{\\property}.
|
\l{property-command}{\\property}.
|
||||||
|
|
||||||
\snippet examples/cpp.qdoc.sample property
|
\snippet examples/cpp.qdoc.sample property
|
||||||
@ -138,7 +138,7 @@ The values range from 0.0 (no blur) to maximumRadius (maximum blur). By default,
|
|||||||
\endquotation
|
\endquotation
|
||||||
|
|
||||||
\section1 Signals, Notifiers, and Slots
|
\section1 Signals, Notifiers, and Slots
|
||||||
The \l{topic-commands}{topic command} for signals, notifiers, and slots
|
The \l{writing-topic-commands}{topic command} for signals, notifiers, and slots
|
||||||
is \l{fn-command}{\\fn}. Signal documentation state when they are triggered
|
is \l{fn-command}{\\fn}. Signal documentation state when they are triggered
|
||||||
or emitted.
|
or emitted.
|
||||||
|
|
||||||
@ -168,7 +168,7 @@ the notifier.
|
|||||||
|
|
||||||
\section1 Enums, Namespaces, and other Types
|
\section1 Enums, Namespaces, and other Types
|
||||||
|
|
||||||
Enums, namespaces, and macros have a \l{topic-command} for their documentation:
|
Enums, namespaces, and macros have a \l{writing-topic-commands}{topic command} for their documentation:
|
||||||
\list
|
\list
|
||||||
\li \l{enum-command}{\\enum}
|
\li \l{enum-command}{\\enum}
|
||||||
\li \l{typedef-command}{\\typedef}
|
\li \l{typedef-command}{\\typedef}
|
||||||
|
164
src/tools/qdoc/doc/qdoc-manual-DITA.qdoc
Normal file
164
src/tools/qdoc/doc/qdoc-manual-DITA.qdoc
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
|
||||||
|
** Contact: http://www.qt-project.org/legal
|
||||||
|
**
|
||||||
|
** This file is part of the documentation of the Qt Toolkit.
|
||||||
|
**
|
||||||
|
** $QT_BEGIN_LICENSE:FDL$
|
||||||
|
** Commercial License Usage
|
||||||
|
** Licensees holding valid commercial Qt licenses may use this file in
|
||||||
|
** accordance with the commercial license agreement provided with the
|
||||||
|
** Software or, alternatively, in accordance with the terms contained in
|
||||||
|
** a written agreement between you and Digia. For licensing terms and
|
||||||
|
** conditions see http://qt.digia.com/licensing. For further information
|
||||||
|
** use the contact form at http://qt.digia.com/contact-us.
|
||||||
|
**
|
||||||
|
** GNU Free Documentation License Usage
|
||||||
|
** 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. Please review the following information to ensure
|
||||||
|
** the GNU Free Documentation License version 1.3 requirements
|
||||||
|
** will be met: http://www.gnu.org/copyleft/fdl.html.
|
||||||
|
** $QT_END_LICENSE$
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page 21-0-qdoc-creating-dita-maps.html
|
||||||
|
\previouspage Miscellaneous
|
||||||
|
\contentspage QDoc Manual
|
||||||
|
\nextpage The QDoc Configuration File
|
||||||
|
|
||||||
|
\title Creating DITA Maps
|
||||||
|
|
||||||
|
You can create DITA map files using three new qdoc commands, the \l{ditamap-command}
|
||||||
|
{ditamap} command, the \l{topicref-command} {topicref} command, and the \l{mapref-command}
|
||||||
|
{mapref} command. How these DITA maps will be used automatically or manually by the
|
||||||
|
documentation build process is still under consideration. This section will be updated
|
||||||
|
as the decisions are made.
|
||||||
|
|
||||||
|
\section1 What is a DITA map?
|
||||||
|
|
||||||
|
A complete description of DITA can be found at the
|
||||||
|
\l{http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=dita}
|
||||||
|
{OASIS Darwin Information Typing Architecture} site.
|
||||||
|
|
||||||
|
An explanation of the DITA map is found at that site
|
||||||
|
\l{http://docs.oasis-open.org/dita/v1.2/os/spec/langref/map.html}{here}.
|
||||||
|
|
||||||
|
\target ditamap-command
|
||||||
|
\section1 \\ditamap
|
||||||
|
|
||||||
|
The \\ditamap command is for creating a DITA map using qdoc commands.
|
||||||
|
The \\ditamap command is a kind of \\page command that produces a
|
||||||
|
\e{.ditamap} instead of a \e{.html} or \e{.xml} file. The file that
|
||||||
|
is created actually contains XML text, but the \e{.ditamap} suffix is
|
||||||
|
used to identify the file as containing a DITA MAP.
|
||||||
|
|
||||||
|
The argument is the name of the file to be created. In the following
|
||||||
|
example, the file \e{creator.ditamap} is output:
|
||||||
|
\code
|
||||||
|
\ditamap creator.ditamap
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
\target topicref-command
|
||||||
|
\section1 \\topicref \\endtopicref
|
||||||
|
|
||||||
|
The \\topicref \\endtopicref commands are for creating a topicref
|
||||||
|
in the ditamap. The \\endtopicref command is required because
|
||||||
|
\\topicref commands can be nested.
|
||||||
|
|
||||||
|
\\topicref has two arguments. The first argument becomes the value
|
||||||
|
of the \e navtitle attribute. Normally, you use the title of the
|
||||||
|
topic being referenced. This title is often what will appear in a
|
||||||
|
table of contents constructed from the ditamap.
|
||||||
|
|
||||||
|
The second argument is the name of the page being referenced. The
|
||||||
|
second argument is actually optional, for example if you are using
|
||||||
|
a topicref as a container for other topicrefs and maprefs. It is
|
||||||
|
also optional if you want qdoc to find the page name for you by
|
||||||
|
looking up the title in its internal data structure. It is recommended
|
||||||
|
that you provide the second parameter if you know the page name.
|
||||||
|
|
||||||
|
\code
|
||||||
|
\topicref {QML Module QtQuick 2} {qtquick-2.xml}
|
||||||
|
\mapref {Creator Manual} {creator-manual.ditamap} \endmapref
|
||||||
|
\topicref {QML Mouse Events} {qtquick2-mouseevents.xml} \endtopicref
|
||||||
|
\topicref {Property Binding} {qtquick2-propertybinding.xml} \endtopicref
|
||||||
|
\endtopicref
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
\target mapref-command
|
||||||
|
\section1 \\mapref
|
||||||
|
|
||||||
|
The \\mapref command is for creating a mapref in the ditamap. A
|
||||||
|
mapref refers to another ditamap, which you want to include in
|
||||||
|
your ditamap. Like the \\topicref command, the \\mapref command
|
||||||
|
has two arguments, but for the \\mapref command, both arguments
|
||||||
|
are required. The arguments are essentially the same as described
|
||||||
|
for \\topicref, but for \\mapref, the second command must be the
|
||||||
|
name of another ditamap, i.e. it must have the \e{.ditamap}
|
||||||
|
suffix. You must provide the file name. qdoc can't look up the
|
||||||
|
file name for you.
|
||||||
|
|
||||||
|
\code
|
||||||
|
\mapref {Creator Manual} {creator-manual.ditamap} \endmapref
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
\section1 An example ditamap page
|
||||||
|
|
||||||
|
The following example uses the three qdoc ditamap commands described above.
|
||||||
|
|
||||||
|
\code
|
||||||
|
\ditamap creator.ditamap
|
||||||
|
\title The DITA Map for Creator
|
||||||
|
|
||||||
|
\topicref {QML Module QtQuick 1}
|
||||||
|
\topicref {QML Mouse Events} \endtopicref
|
||||||
|
\topicref {Property Binding} \endtopicref
|
||||||
|
\endtopicref
|
||||||
|
|
||||||
|
\topicref {QML Module QtQuick 2} {qtquick-2.xml}
|
||||||
|
\mapref {Creator Manual} {creator-manual.ditamap} \endmapref
|
||||||
|
\topicref {QML Mouse Events} {qtquick2-mouseevents.xml} \endtopicref
|
||||||
|
\topicref {Property Binding} {qtquick2-propertybinding.xml} \endtopicref
|
||||||
|
\endtopicref
|
||||||
|
|
||||||
|
\topicref {QML Module QtQuick.Particles 2} {qtquick-particles-2.xml}
|
||||||
|
\topicref {Age} {qml-qtquick-particles2-age.xml} \endtopicref
|
||||||
|
\endtopicref
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
\section1 The resulting ditamap file
|
||||||
|
|
||||||
|
This is the \e{.ditamap} file you get when you input the qdoc
|
||||||
|
ditamap page shown above. Note that you can write ditamap files
|
||||||
|
directly in XML just as easily as you can write them using the
|
||||||
|
qdoc commands. The choice is yours.
|
||||||
|
|
||||||
|
\code
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd">
|
||||||
|
<map>
|
||||||
|
<topicmeta>
|
||||||
|
<shortdesc>The DITA Map for Creator</shortdesc>
|
||||||
|
</topicmeta>
|
||||||
|
<topicref navtitle="QML Module QtQuick 1" href="qtquick-1.xml">
|
||||||
|
<topicref navtitle="QML Mouse Events" href="qtquick2-mouseevents.xml"/>
|
||||||
|
<topicref navtitle="Property Binding" href="qtquick2-propertybinding.xml"/>
|
||||||
|
</topicref>
|
||||||
|
<topicref navtitle="QML Module QtQuick 2" href="qtquick-2.xml">
|
||||||
|
<mapref navtitle="Creator Manual" href="creator-manual.ditamap"/>
|
||||||
|
<topicref navtitle="QML Mouse Events" href="qtquick2-mouseevents.xml"/>
|
||||||
|
<topicref navtitle="Property Binding" href="qtquick2-propertybinding.xml"/>
|
||||||
|
</topicref>
|
||||||
|
<topicref navtitle="QML Module QtQuick.Particles 2" href="qtquick-particles-2.xml">
|
||||||
|
<topicref navtitle="Age" href="qml-qtquick-particles2-age.xml"/>
|
||||||
|
</topicref>
|
||||||
|
</map>
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
159
src/tools/qdoc/doc/qdoc-manual-cmdindex.qdoc
Normal file
159
src/tools/qdoc/doc/qdoc-manual-cmdindex.qdoc
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
|
||||||
|
** Contact: http://www.qt-project.org/legal
|
||||||
|
**
|
||||||
|
** This file is part of the documentation of the Qt Toolkit.
|
||||||
|
**
|
||||||
|
** $QT_BEGIN_LICENSE:FDL$
|
||||||
|
** Commercial License Usage
|
||||||
|
** Licensees holding valid commercial Qt licenses may use this file in
|
||||||
|
** accordance with the commercial license agreement provided with the
|
||||||
|
** Software or, alternatively, in accordance with the terms contained in
|
||||||
|
** a written agreement between you and Digia. For licensing terms and
|
||||||
|
** conditions see http://qt.digia.com/licensing. For further information
|
||||||
|
** use the contact form at http://qt.digia.com/contact-us.
|
||||||
|
**
|
||||||
|
** GNU Free Documentation License Usage
|
||||||
|
** 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. Please review the following information to ensure
|
||||||
|
** the GNU Free Documentation License version 1.3 requirements
|
||||||
|
** will be met: http://www.gnu.org/copyleft/fdl.html.
|
||||||
|
** $QT_END_LICENSE$
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page 27-qdoc-commands-alphabetical.html
|
||||||
|
\previouspage Introduction to QDoc
|
||||||
|
\contentspage QDoc Manual
|
||||||
|
\nextpage Topic Commands
|
||||||
|
|
||||||
|
\title Command Index
|
||||||
|
|
||||||
|
This is a complete, alphabetized list of the QDoc commands.
|
||||||
|
|
||||||
|
\list
|
||||||
|
|
||||||
|
\li \l {04-qdoc-commands-textmarkup.html#a-command} {\\a}
|
||||||
|
\li \l {11-qdoc-commands-specialcontent.html#abstract-command} {\\abstract}
|
||||||
|
\li \l {12-0-qdoc-commands-miscellaneous.html#annotatedlist-command} {\\annotatedlist}
|
||||||
|
\li \l {04-qdoc-commands-textmarkup.html#b-command} {\\b} \span {class="newStuff"} {(new 5/3/2012)}
|
||||||
|
\li \l {04-qdoc-commands-textmarkup.html#b-command} {\\bold} \span {class="newStuff"} {(deprecated, use \\b)}
|
||||||
|
\li \l {11-qdoc-commands-specialcontent.html#brief-command} {\\brief}
|
||||||
|
\li \l {04-qdoc-commands-textmarkup.html#c-command} {\\c}
|
||||||
|
\li \l {09-qdoc-commands-includingimages.html#caption-command} {\\caption}
|
||||||
|
\li \l {05-qdoc-commands-documentstructure.html#chapter-command} {\\chapter}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#class-command} {\\class}
|
||||||
|
\li \l {06-qdoc-commands-includecodeinline.html#code-command} {\\code}
|
||||||
|
\li \l {07-0-qdoc-commands-includingexternalcode.html#codeline-command} {\\codeline},
|
||||||
|
\li \l {16-qdoc-commands-status.html#compat-command} {\\compat}
|
||||||
|
\li \l {15-qdoc-commands-navigation.html#contentspage-command} {\\contentspage}
|
||||||
|
\li \l {16-qdoc-commands-status.html#default-command} {\\default}
|
||||||
|
\li \l {21-0-qdoc-creating-dita-maps.html#ditamap-command} {\\ditamap} \span {class="newStuff"} {(new 05/03/12)}
|
||||||
|
\li \l {04-qdoc-commands-textmarkup.html#div-command} {\\div}
|
||||||
|
\li \l {07-0-qdoc-commands-includingexternalcode.html#dots-command} {\\dots}
|
||||||
|
\li \l {04-qdoc-commands-textmarkup.html#e-command} {\\e} \span {class="newStuff"} {(new 5/3/2012)}
|
||||||
|
\li \l {12-0-qdoc-commands-miscellaneous.html#else-command} {\\else}
|
||||||
|
\li \l {12-0-qdoc-commands-miscellaneous.html#endif-command} {\\endif}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#enum-command} {\\enum}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#example-command} {\\example}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#externalpage-command} {\\externalpage}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#fn-command} {\\fn}
|
||||||
|
\li \l {11-qdoc-commands-specialcontent.html#footnote-command} {\\footnote}
|
||||||
|
\li \l {12-0-qdoc-commands-miscellaneous.html#generatelist-command} {\\generatelist}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#group-command} {\\group}
|
||||||
|
\li \l {10-qdoc-commands-tablesandlists.html#header-command} {\\header}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#headerfile-command} {\\headerfile}
|
||||||
|
\li \l {04-qdoc-commands-textmarkup.html#e-command} {\\i} \span {class="newStuff"} {(deprecated, use \\e)}
|
||||||
|
\li \l {12-0-qdoc-commands-miscellaneous.html#if-command} {\\if}
|
||||||
|
\li \l {09-qdoc-commands-includingimages.html#image-command} {\\image}
|
||||||
|
\li \l {12-0-qdoc-commands-miscellaneous.html#include-command} {\\include}
|
||||||
|
\li \l {15-qdoc-commands-navigation.html#indexpage-command} {\\indexpage}
|
||||||
|
\li \l {19-qdoc-commands-grouping.html#ingroup-command} {\\ingroup}
|
||||||
|
\li \l {18-qdoc-commands-relating.html#inherits-command}{\\inherits}
|
||||||
|
\li \l {09-qdoc-commands-includingimages.html#inlineimage-command} {\\inlineimage}
|
||||||
|
\li \l {19-qdoc-commands-grouping.html#inmodule-command} {\\inmodule}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#inqmlmodule-command} {\\inqmlmodule}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#instantiates-command} {\\instantiates} \span {class="newStuff"} {(new 27/7/2012)}
|
||||||
|
\li \l {16-qdoc-commands-status.html#internal-command} {\\internal}
|
||||||
|
\li \l {08-qdoc-commands-creatinglinks.html#keyword-command} {\\keyword}
|
||||||
|
\li \l {08-qdoc-commands-creatinglinks.html#l-command} {\\l}
|
||||||
|
\li \l {11-qdoc-commands-specialcontent.html#legalese-command} {\\legalese}
|
||||||
|
\li \l {10-qdoc-commands-tablesandlists.html#li-command} {\\li} \span {class="newStuff"} {(new 5/3/2012)}
|
||||||
|
\li \l {10-qdoc-commands-tablesandlists.html#list-command} {\\list}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#macro-command} {\\macro}
|
||||||
|
\li \l {19-qdoc-commands-grouping.html#mainclass-command} {\\mainclass}
|
||||||
|
\li \l {21-0-qdoc-creating-dita-maps.html#mapref-command} {\\mapref} \span {class="newStuff"} {(new 05/03/12)}
|
||||||
|
\li \l {12-0-qdoc-commands-miscellaneous.html#meta-command} {\\meta}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#module-command} {\\module}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#namespace-command} {\\namespace}
|
||||||
|
\li \l {15-qdoc-commands-navigation.html#nextpage-command} {\\nextpage}
|
||||||
|
\li \l {06-qdoc-commands-includecodeinline.html#newcode-command} {\\newcode}
|
||||||
|
\li \l {17-qdoc-commands-thread.html#nonreentrant-command} {\\nonreentrant}
|
||||||
|
\li \l {11-qdoc-commands-specialcontent.html#note-command} {\\note}
|
||||||
|
\li \l {10-qdoc-commands-tablesandlists.html#li-command} {\\o} \span {class="newStuff"} {(deprecated, use \\li)}
|
||||||
|
|
||||||
|
\li \l {16-qdoc-commands-status.html#obsolete-command} {\\obsolete}
|
||||||
|
\li \l {06-qdoc-commands-includecodeinline.html#oldcode-command} {\\oldcode}
|
||||||
|
\li \l {12-0-qdoc-commands-miscellaneous.html#omit-command} {\\omit}
|
||||||
|
\li \l {10-qdoc-commands-tablesandlists.html#omitvalue-command} {\\omitvalue}
|
||||||
|
\li \l {18-qdoc-commands-relating.html#overload-command} {\\overload}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#page-command} {\\page}
|
||||||
|
\li \l {05-qdoc-commands-documentstructure.html#part-command} {\\part}
|
||||||
|
\li \l {16-qdoc-commands-status.html#preliminary-command} {\\preliminary}
|
||||||
|
\li \l {15-qdoc-commands-navigation.html#previouspage-command} {\\previouspage}
|
||||||
|
\li \l {07-0-qdoc-commands-includingexternalcode.html#printline-command} {\\printline}
|
||||||
|
\li \l {07-0-qdoc-commands-includingexternalcode.html#printto-command} {\\printto}
|
||||||
|
\li \l {07-0-qdoc-commands-includingexternalcode.html#printuntil-command} {\\printuntil}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#property-command} {\\property}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#qmlattachedproperty-command} {\\qmlattachedproperty}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#qmlattachedsignal-command} {\\qmlattachedsignal}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#qmlbasictype-command} {\\qmlbasictype}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#qmlclass-command} {\\qmlclass} \span {class="newStuff"} {(deprecated, use \\qmltype)}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#qmltype-command} {\\qmltype} \span {class="newStuff"} {(new 27/7/2012)}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#qmlmethod-command} {\\qmlmethod}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#qmlproperty-command} {\\qmlproperty}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#qmlsignal-command} {\\qmlsignal}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#qmlmodule-command} {\\qmlmodule}
|
||||||
|
\li \l {11-qdoc-commands-specialcontent.html#quotation-command} {\\quotation}
|
||||||
|
\li \l {07-0-qdoc-commands-includingexternalcode.html#quotefile-command} {\\quotefile}
|
||||||
|
\li \l {07-0-qdoc-commands-includingexternalcode.html#quotefromfile-command} {\\quotefromfile}
|
||||||
|
\li \l {12-0-qdoc-commands-miscellaneous.html#raw-command} {\\raw} \span {class="newStuff"} {(avoid)}
|
||||||
|
\li \l {17-qdoc-commands-thread.html#reentrant-command} {\\reentrant}
|
||||||
|
\li \l {18-qdoc-commands-relating.html#reimp-command} {\\reimp}
|
||||||
|
\li \l {18-qdoc-commands-relating.html#relates-command} {\\relates}
|
||||||
|
\li \l {10-qdoc-commands-tablesandlists.html#row-command} {\\row}
|
||||||
|
\li \l {08-qdoc-commands-creatinglinks.html#sa-command} {\\sa}
|
||||||
|
\li \l {05-qdoc-commands-documentstructure.html#sectionOne-command} {\\section1}
|
||||||
|
\li \l {05-qdoc-commands-documentstructure.html#sectionTwo-command} {\\section2}
|
||||||
|
\li \l {05-qdoc-commands-documentstructure.html#sectionThree-command} {\\section3}
|
||||||
|
\li \l {05-qdoc-commands-documentstructure.html#sectionFour-command} {\\section4}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#service-command} {\\service}
|
||||||
|
\li \l {16-qdoc-commands-status.html#since-command} {\\since}
|
||||||
|
\li \l {07-0-qdoc-commands-includingexternalcode.html#skipline-command} {\\skipline}
|
||||||
|
\li \l {07-0-qdoc-commands-includingexternalcode.html#skipto-command} {\\skipto}
|
||||||
|
\li \l {07-0-qdoc-commands-includingexternalcode.html#skipuntil-command} {\\skipuntil}
|
||||||
|
\li \l {07-0-qdoc-commands-includingexternalcode.html#snippet-command} {\\snippet},
|
||||||
|
\li \l {04-qdoc-commands-textmarkup.html#span-command} {\\span}
|
||||||
|
\li \l {15-qdoc-commands-navigation.html#startpage-command} {\\startpage}
|
||||||
|
\li \l {04-qdoc-commands-textmarkup.html#sub-command} {\\sub}
|
||||||
|
\li \l {20-qdoc-commands-namingthings.html#subtitle-command} {\\subtitle}
|
||||||
|
\li \l {04-qdoc-commands-textmarkup.html#sup-command} {\\sup}
|
||||||
|
\li \l {10-qdoc-commands-tablesandlists.html#table-command} {\\table}
|
||||||
|
\li \l {11-qdoc-commands-specialcontent.html#tableofcontents-command} {\\tableofcontents}
|
||||||
|
\li \l {08-qdoc-commands-creatinglinks.html#target-command} {\\target}
|
||||||
|
\li \l {17-qdoc-commands-thread.html#threadsafe-command} {\\threadsafe}
|
||||||
|
\li \l {20-qdoc-commands-namingthings.html#title-command} {\\title}
|
||||||
|
\li \l {21-0-qdoc-creating-dita-maps.html#topicref-command} {\\topicref} \span {class="newStuff"} {(new 05/03/12)}
|
||||||
|
\li \l {04-qdoc-commands-textmarkup.html#tt-command} {\\tt}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#typedef-command} {\\typedef}
|
||||||
|
\li \l {04-qdoc-commands-textmarkup.html#uicontrol-command} {\\uicontrol} {(new 25/3/2012)}
|
||||||
|
\li \l {04-qdoc-commands-textmarkup.html#underline-command} {\\underline}
|
||||||
|
\li \l {13-qdoc-commands-topics.html#variable-command} {\\variable}
|
||||||
|
\li \l {10-qdoc-commands-tablesandlists.html#value-command} {\\value}
|
||||||
|
\li \l {11-qdoc-commands-specialcontent.html#warning-command} {\\warning}
|
||||||
|
\endlist
|
||||||
|
*/
|
1076
src/tools/qdoc/doc/qdoc-manual-contextcmds.qdoc
Normal file
1076
src/tools/qdoc/doc/qdoc-manual-contextcmds.qdoc
Normal file
File diff suppressed because it is too large
Load Diff
181
src/tools/qdoc/doc/qdoc-manual-intro.qdoc
Normal file
181
src/tools/qdoc/doc/qdoc-manual-intro.qdoc
Normal file
@ -0,0 +1,181 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
|
||||||
|
** Contact: http://www.qt-project.org/legal
|
||||||
|
**
|
||||||
|
** This file is part of the documentation of the Qt Toolkit.
|
||||||
|
**
|
||||||
|
** $QT_BEGIN_LICENSE:FDL$
|
||||||
|
** Commercial License Usage
|
||||||
|
** Licensees holding valid commercial Qt licenses may use this file in
|
||||||
|
** accordance with the commercial license agreement provided with the
|
||||||
|
** Software or, alternatively, in accordance with the terms contained in
|
||||||
|
** a written agreement between you and Digia. For licensing terms and
|
||||||
|
** conditions see http://qt.digia.com/licensing. For further information
|
||||||
|
** use the contact form at http://qt.digia.com/contact-us.
|
||||||
|
**
|
||||||
|
** GNU Free Documentation License Usage
|
||||||
|
** 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. Please review the following information to ensure
|
||||||
|
** the GNU Free Documentation License version 1.3 requirements
|
||||||
|
** will be met: http://www.gnu.org/copyleft/fdl.html.
|
||||||
|
** $QT_END_LICENSE$
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page 01-qdoc-manual.html
|
||||||
|
\contentspage QDoc Manual
|
||||||
|
\previouspage QDoc Manual
|
||||||
|
\nextpage Command Index
|
||||||
|
|
||||||
|
\title Introduction to QDoc
|
||||||
|
|
||||||
|
QDoc is a tool used by Qt Developers to generate documentation for
|
||||||
|
software projects. It works by extracting \e {QDoc comments} from
|
||||||
|
project source files and then formatting these comments as HTML
|
||||||
|
pages or DITA XML documents. QDoc finds QDoc comments in \c
|
||||||
|
{.cpp} files and in \c {.qdoc} files. QDoc does not look for QDoc
|
||||||
|
comments in \c {.h} files. A QDoc comment always begins with an
|
||||||
|
exclamation mark (\b{!})). For example:
|
||||||
|
|
||||||
|
\code
|
||||||
|
/ *!
|
||||||
|
\class QObject
|
||||||
|
\brief The QObject class is the base class of all Qt objects.
|
||||||
|
|
||||||
|
\ingroup objectmodel
|
||||||
|
|
||||||
|
\reentrant
|
||||||
|
|
||||||
|
QObject is the heart of the Qt \l{Object Model}. The
|
||||||
|
central feature in this model is a very powerful mechanism
|
||||||
|
for seamless object communication called \l{signals and
|
||||||
|
slots}. You can connect a signal to a slot with connect()
|
||||||
|
and destroy the connection with disconnect(). To avoid
|
||||||
|
never ending notification loops you can temporarily block
|
||||||
|
signals with blockSignals(). The protected functions
|
||||||
|
connectNotify() and disconnectNotify() make it possible to
|
||||||
|
track connections.
|
||||||
|
|
||||||
|
QObjects organize themselves in \l {Object Trees &
|
||||||
|
Ownership} {object trees}. When you create a QObject with
|
||||||
|
another object as parent, the object will automatically
|
||||||
|
add itself to the parent's \c children() list. The parent
|
||||||
|
takes ownership of the object. It will automatically
|
||||||
|
delete its children in its destructor. You can look for an
|
||||||
|
object by name and optionally type using findChild() or
|
||||||
|
findChildren().
|
||||||
|
|
||||||
|
Every object has an objectName() and its class name can be
|
||||||
|
found via the corresponding metaObject() (see
|
||||||
|
QMetaObject::className()). You can determine whether the
|
||||||
|
object's class inherits another class in the QObject
|
||||||
|
inheritance hierarchy by using the \c inherits() function.
|
||||||
|
|
||||||
|
....
|
||||||
|
* /
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
From the QDoc comment above, QDoc generates the HTML page
|
||||||
|
\l {http://qt-project.org/doc/qt-5.0/qtcore/qobject.html#details}
|
||||||
|
{QObject Class Reference}.
|
||||||
|
|
||||||
|
This manual explains how to use the QDoc commands in QDoc comments
|
||||||
|
to embed good documentation in your source files. It also explains
|
||||||
|
how to make a \l {The QDoc Configuration File} {QDoc configuration
|
||||||
|
file}, which you will pass to QDoc on the command line.
|
||||||
|
|
||||||
|
\section1 Running QDoc
|
||||||
|
|
||||||
|
The current name of the QDoc program is \c {qdoc}. To run qdoc
|
||||||
|
from the command line, give it the name of a configuration file:
|
||||||
|
|
||||||
|
\quotation
|
||||||
|
\c {$ ../../bin/qdoc ./config.qdocconf}
|
||||||
|
\endquotation
|
||||||
|
|
||||||
|
QDoc recognizes the \c {.qdocconf} suffix as a \l{The QDoc
|
||||||
|
Configuration File} {QDoc configuration file}. The configuration
|
||||||
|
file is where you tell QDoc where to find the project source
|
||||||
|
files, header files, and \c {.qdoc} files. It is also where you
|
||||||
|
tell QDoc what kind of output to generate (HTML, DITA XML,...),
|
||||||
|
and where to put the generated documentation. The configuration
|
||||||
|
file also contains other information for QDoc.
|
||||||
|
|
||||||
|
See \l{The QDoc Configuration File} for instructions on how to
|
||||||
|
set up a QDoc configuration file.
|
||||||
|
|
||||||
|
\section1 How QDoc works
|
||||||
|
|
||||||
|
QDoc begins by reading the configuration file you specified on the
|
||||||
|
command line. It stores all the variables from the configuration
|
||||||
|
file for later use. One of the first variables it uses is \c
|
||||||
|
{outputformats}. This variable tells QDoc which output generators
|
||||||
|
it will run. The default value is \e {HTML}, so if you don't set
|
||||||
|
\c {outputformats} in your configuration file, QDoc will generate
|
||||||
|
HTML output. That's usually what you will want anyway, but you can
|
||||||
|
also specify \e {DITAXML} to get DITA XML output instead.
|
||||||
|
|
||||||
|
Next, QDoc uses the values of the
|
||||||
|
\l {22-qdoc-configuration-generalvariables.html#headerdirs-variable}
|
||||||
|
{headerdirs} variable and/or the \l
|
||||||
|
{22-qdoc-configuration-generalvariables.html#headers-variable}
|
||||||
|
{headers} variable to find and parse all the header files for your
|
||||||
|
project. QDoc does \e not scan header files for QDoc comments. It
|
||||||
|
parses the header files to build a master tree of all the items
|
||||||
|
that should be documented, in other words, the items that QDoc should find
|
||||||
|
QDoc comments for.
|
||||||
|
|
||||||
|
After parsing all the header files and building the master tree of
|
||||||
|
items to be documented, QDoc uses the value of the \l
|
||||||
|
{22-qdoc-configuration-generalvariables.html#sourcedirs-variable}
|
||||||
|
{sourcedirs} variable and/or the value of the \l
|
||||||
|
{22-qdoc-configuration-generalvariables.html#sources-variable}
|
||||||
|
{sources} variable to find and parse all the \c {.cpp} and \c
|
||||||
|
{.qdoc} files for your project. These are the files QDoc scans for
|
||||||
|
\e {QDoc comments}. Remember that a QDoc comment begins with
|
||||||
|
an exclamation mark: \b {/*!} .
|
||||||
|
|
||||||
|
For each QDoc comment it finds, it searches the master tree for
|
||||||
|
the item where the documentation belongs. Then it interprets the
|
||||||
|
qdoc commands in the comment and stores the interpreted commands
|
||||||
|
and the comment text in the tree node for the item.
|
||||||
|
|
||||||
|
Finally, QDoc traverses the master tree. For each node, if the
|
||||||
|
node has stored documentation, QDoc calls the output generator
|
||||||
|
specified by the \c {outputformats} variable to format and write
|
||||||
|
the documentation in the directory specified in the configuration
|
||||||
|
file in the \l
|
||||||
|
{22-qdoc-configuration-generalvariables.html#outputdir-variable}
|
||||||
|
{outputdir} variable.
|
||||||
|
|
||||||
|
\section1 Command Types
|
||||||
|
|
||||||
|
QDoc interprets three types of commands:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li \l {Topic Commands}
|
||||||
|
\li \l {Context Commands}
|
||||||
|
\li \l {Markup Commands}
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
Topic commands identify the element you are documenting, for example
|
||||||
|
a C++ class, function, type, or an extra page of text
|
||||||
|
that doesn't map to an underlying C++ element.
|
||||||
|
|
||||||
|
Context commands tell QDoc how the element being documented
|
||||||
|
relates to other documented elements, for example, next and previous page
|
||||||
|
links, inclusion in page groups, or library modules. Context
|
||||||
|
commands can also provide information about the documented element
|
||||||
|
that QDoc can't get from the source files, for example, whether the
|
||||||
|
element is thread-safe, whether it is an overloaded or reimplemented function,
|
||||||
|
or whether it has been deprecated.
|
||||||
|
|
||||||
|
Markup commands tell QDoc how text and image elements in the
|
||||||
|
document should be rendered, or about the document's outline
|
||||||
|
structure.
|
||||||
|
*/
|
||||||
|
|
3967
src/tools/qdoc/doc/qdoc-manual-markupcmds.qdoc
Normal file
3967
src/tools/qdoc/doc/qdoc-manual-markupcmds.qdoc
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,78 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
|
|
||||||
** Contact: http://www.qt-project.org/legal
|
|
||||||
**
|
|
||||||
** This file is part of the documentation of the Qt Toolkit.
|
|
||||||
**
|
|
||||||
** $QT_BEGIN_LICENSE:FDL$
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and Digia. For licensing terms and
|
|
||||||
** conditions see http://qt.digia.com/licensing. For further information
|
|
||||||
** use the contact form at http://qt.digia.com/contact-us.
|
|
||||||
**
|
|
||||||
** GNU Free Documentation License Usage
|
|
||||||
** 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. Please review the following information to ensure
|
|
||||||
** the GNU Free Documentation License version 1.3 requirements
|
|
||||||
** will be met: http://www.gnu.org/copyleft/fdl.html.
|
|
||||||
** $QT_END_LICENSE$
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
/*!
|
|
||||||
\page qdoc-manual-qdocconf-minimal
|
|
||||||
\title Minimal qdocconf file
|
|
||||||
\brief Describes a qdocconf file with a minimal number of statements
|
|
||||||
|
|
||||||
The full contents of the minimal qdocconf file:
|
|
||||||
|
|
||||||
\code
|
|
||||||
#include(compat.qdocconf)
|
|
||||||
headerdirs = .
|
|
||||||
sourcedirs = .
|
|
||||||
exampledirs = .
|
|
||||||
imagedirs = ./images
|
|
||||||
|
|
||||||
\endcode
|
|
||||||
|
|
||||||
\title Statements with Comments
|
|
||||||
|
|
||||||
\code
|
|
||||||
#include(compat.qdocconf)
|
|
||||||
\endcode
|
|
||||||
|
|
||||||
In order to avoid compatibility issues between different versions of QDoc,
|
|
||||||
it is advised to include compat.qdocconf.
|
|
||||||
|
|
||||||
\code
|
|
||||||
headerdirs = .
|
|
||||||
\endcode
|
|
||||||
|
|
||||||
The header files associated with the .cpp source files can be found in the
|
|
||||||
current directory.
|
|
||||||
|
|
||||||
\code
|
|
||||||
#sourcedirs = .
|
|
||||||
\endcode
|
|
||||||
|
|
||||||
The .cpp or .qdoc files can be found in the current directory.
|
|
||||||
|
|
||||||
\code
|
|
||||||
exampledirs = .
|
|
||||||
\endcode
|
|
||||||
|
|
||||||
The source code of the example files can be found in the current directory.
|
|
||||||
|
|
||||||
\code
|
|
||||||
imagedirs = ./images
|
|
||||||
\endcode
|
|
||||||
|
|
||||||
The images used in the documentation can be found in subdirectory \e images.
|
|
||||||
|
|
||||||
\note Please take care with this minimal qdocconf file. Using it in the wrong directory could cause qdoc to include a large number of files.
|
|
||||||
*/
|
|
1603
src/tools/qdoc/doc/qdoc-manual-qdocconf.qdoc
Normal file
1603
src/tools/qdoc/doc/qdoc-manual-qdocconf.qdoc
Normal file
File diff suppressed because it is too large
Load Diff
1608
src/tools/qdoc/doc/qdoc-manual-topiccmds.qdoc
Normal file
1608
src/tools/qdoc/doc/qdoc-manual-topiccmds.qdoc
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -26,7 +26,8 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
/*!
|
/*!
|
||||||
\page qdoc-minimum-qdocconf.html
|
\page qdoc-minimum-qdocconf.html
|
||||||
\title A minimal qdocconf file with Comments
|
\target minimal-qdocconf
|
||||||
|
\title A minimal qdocconf file
|
||||||
|
|
||||||
\brief Describes a minimal .qdocconf file
|
\brief Describes a minimal .qdocconf file
|
||||||
|
|
||||||
|
@ -289,7 +289,7 @@ When executed, QDoc will ignore the directories listed.
|
|||||||
exampledirs += ../../../examples/gui \
|
exampledirs += ../../../examples/gui \
|
||||||
snippets
|
snippets
|
||||||
\endcode
|
\endcode
|
||||||
\sa examples
|
\sa {examples-variable}{examples}
|
||||||
\sa examplesinstallpath
|
\sa examplesinstallpath
|
||||||
|
|
||||||
Add the two directories specified to the list of directories containing the source
|
Add the two directories specified to the list of directories containing the source
|
||||||
|
@ -143,6 +143,11 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void selectAll()
|
||||||
|
{
|
||||||
|
textEdit->selectAll();
|
||||||
|
}
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void textCopyAvailable(bool available)
|
void textCopyAvailable(bool available)
|
||||||
{
|
{
|
||||||
@ -1405,6 +1410,10 @@ void QMessageBox::keyPressEvent(QKeyEvent *e)
|
|||||||
e->setAccepted(true);
|
e->setAccepted(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
} else if (e == QKeySequence::SelectAll && d->detailsText && d->detailsText->isVisible()) {
|
||||||
|
d->detailsText->selectAll();
|
||||||
|
e->setAccepted(true);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
#endif // !QT_NO_TEXTEDIT
|
#endif // !QT_NO_TEXTEDIT
|
||||||
|
|
||||||
@ -1437,7 +1446,7 @@ void QMessageBox::keyPressEvent(QKeyEvent *e)
|
|||||||
#endif // !QT_NO_CLIPBOARD && !QT_NO_SHORTCUT
|
#endif // !QT_NO_CLIPBOARD && !QT_NO_SHORTCUT
|
||||||
|
|
||||||
#ifndef QT_NO_SHORTCUT
|
#ifndef QT_NO_SHORTCUT
|
||||||
if (!(e->modifiers() & Qt::AltModifier)) {
|
if (!(e->modifiers() & (Qt::AltModifier | Qt::ControlModifier | Qt::MetaModifier))) {
|
||||||
int key = e->key() & ~Qt::MODIFIER_MASK;
|
int key = e->key() & ~Qt::MODIFIER_MASK;
|
||||||
if (key) {
|
if (key) {
|
||||||
const QList<QAbstractButton *> buttons = d->buttonBox->buttons();
|
const QList<QAbstractButton *> buttons = d->buttonBox->buttons();
|
||||||
|
@ -2033,14 +2033,14 @@
|
|||||||
\li Used to remove rows and the items of data they contain from all types of model.
|
\li Used to remove rows and the items of data they contain from all types of model.
|
||||||
Implementations must call
|
Implementations must call
|
||||||
\l{QAbstractItemModel::beginRemoveRows()}{beginRemoveRows()}
|
\l{QAbstractItemModel::beginRemoveRows()}{beginRemoveRows()}
|
||||||
\e before inserting new columns into any underlying data structures, and call
|
\e before rows are removed from any underlying data structures, and call
|
||||||
\l{QAbstractItemModel::endRemoveRows()}{endRemoveRows()}
|
\l{QAbstractItemModel::endRemoveRows()}{endRemoveRows()}
|
||||||
\e{immediately afterwards}.
|
\e{immediately afterwards}.
|
||||||
\row \li \l{QAbstractItemModel::insertColumns()}{insertColumns()}
|
\row \li \l{QAbstractItemModel::insertColumns()}{insertColumns()}
|
||||||
\li Used to add new columns and items of data to table models and hierarchical models.
|
\li Used to add new columns and items of data to table models and hierarchical models.
|
||||||
Implementations must call
|
Implementations must call
|
||||||
\l{QAbstractItemModel::beginInsertColumns()}{beginInsertColumns()} \e before
|
\l{QAbstractItemModel::beginInsertColumns()}{beginInsertColumns()} \e before
|
||||||
rows are removed from any underlying data structures, and call
|
inserting new columns into any underlying data structures, and call
|
||||||
\l{QAbstractItemModel::endInsertColumns()}{endInsertColumns()}
|
\l{QAbstractItemModel::endInsertColumns()}{endInsertColumns()}
|
||||||
\e{immediately afterwards}.
|
\e{immediately afterwards}.
|
||||||
\row \li \l{QAbstractItemModel::removeColumns()}{removeColumns()}
|
\row \li \l{QAbstractItemModel::removeColumns()}{removeColumns()}
|
||||||
|
@ -153,7 +153,10 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
|
|||||||
}
|
}
|
||||||
|
|
||||||
setWindowModified_helper();
|
setWindowModified_helper();
|
||||||
setWinId(win->winId());
|
WId id = win->winId();
|
||||||
|
// See the QPlatformWindow::winId() documentation
|
||||||
|
Q_ASSERT(id != WId(0));
|
||||||
|
setWinId(id);
|
||||||
|
|
||||||
// Check children and create windows for them if necessary
|
// Check children and create windows for them if necessary
|
||||||
q_createNativeChildrenAndSetParent(q);
|
q_createNativeChildrenAndSetParent(q);
|
||||||
|
@ -1526,7 +1526,10 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt,
|
|||||||
|
|
||||||
QRect aligned = alignedRect(header->direction, QFlag(header->iconAlignment), pixmap.size() / pixmap.devicePixelRatio(), rect);
|
QRect aligned = alignedRect(header->direction, QFlag(header->iconAlignment), pixmap.size() / pixmap.devicePixelRatio(), rect);
|
||||||
QRect inter = aligned.intersected(rect);
|
QRect inter = aligned.intersected(rect);
|
||||||
p->drawPixmap(inter.x(), inter.y(), pixmap, inter.x() - aligned.x(), inter.y() - aligned.y(), inter.width(), inter.height());
|
p->drawPixmap(inter.x(), inter.y(), pixmap,
|
||||||
|
inter.x() - aligned.x(), inter.y() - aligned.y(),
|
||||||
|
aligned.width() * pixmap.devicePixelRatio(),
|
||||||
|
pixmap.height() * pixmap.devicePixelRatio());
|
||||||
|
|
||||||
if (header->direction == Qt::LeftToRight)
|
if (header->direction == Qt::LeftToRight)
|
||||||
rect.setLeft(rect.left() + pixw + 2);
|
rect.setLeft(rect.left() + pixw + 2);
|
||||||
|
@ -582,6 +582,12 @@ int QWindowsStyle::styleHint(StyleHint hint, const QStyleOption *opt, const QWid
|
|||||||
ret = 1;
|
ret = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#ifndef QT_NO_ACCESSIBILITY
|
||||||
|
if (!ret && opt && opt->type == QStyleOption::SO_MenuItem
|
||||||
|
&& QStyleHelper::isInstanceOf(opt->styleObject, QAccessible::MenuItem)
|
||||||
|
&& opt->styleObject->property("_q_showUnderlined").toBool())
|
||||||
|
ret = 1;
|
||||||
|
#endif // QT_NO_ACCESSIBILITY
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -4209,7 +4209,7 @@ void Configure::readLicense()
|
|||||||
}
|
}
|
||||||
#ifdef COMMERCIAL_VERSION
|
#ifdef COMMERCIAL_VERSION
|
||||||
else {
|
else {
|
||||||
Tools::checkLicense(dictionary, licenseInfo, firstLicensePath());
|
Tools::checkLicense(dictionary, licenseInfo, firstLicensePath(), sourcePath);
|
||||||
if (dictionary["DONE"] != "error") {
|
if (dictionary["DONE"] != "error") {
|
||||||
// give the user some feedback, and prompt for license acceptance
|
// give the user some feedback, and prompt for license acceptance
|
||||||
cout << endl << "This is the " << dictionary["PLATFORM NAME"] << " " << dictionary["EDITION"] << " Edition."<< endl << endl;
|
cout << endl << "This is the " << dictionary["PLATFORM NAME"] << " " << dictionary["EDITION"] << " Edition."<< endl << endl;
|
||||||
|
@ -56,16 +56,16 @@ std::ostream &operator<<(std::ostream &s, const QString &val); // defined in con
|
|||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
void Tools::checkLicense(QMap<QString,QString> &dictionary, QMap<QString,QString> &licenseInfo,
|
void Tools::checkLicense(QMap<QString,QString> &dictionary, QMap<QString,QString> &licenseInfo,
|
||||||
const QString &path)
|
const QString &path, const QString &sourcePath)
|
||||||
{
|
{
|
||||||
QString tpLicense = dictionary["QT_SOURCE_TREE"] + "/LICENSE.PREVIEW.OPENSOURCE";
|
QString tpLicense = sourcePath + "/LICENSE.PREVIEW.OPENSOURCE";
|
||||||
if (QFile::exists(tpLicense)) {
|
if (QFile::exists(tpLicense)) {
|
||||||
dictionary["EDITION"] = "Preview";
|
dictionary["EDITION"] = "Preview";
|
||||||
dictionary["LICENSE FILE"] = tpLicense;
|
dictionary["LICENSE FILE"] = tpLicense;
|
||||||
dictionary["QT_EDITION"] = "QT_EDITION_OPENSOURCE";
|
dictionary["QT_EDITION"] = "QT_EDITION_OPENSOURCE";
|
||||||
return; // No license key checking in Tech Preview
|
return; // No license key checking in Tech Preview
|
||||||
}
|
}
|
||||||
tpLicense = dictionary["QT_SOURCE_TREE"] + "/LICENSE.PREVIEW.COMMERCIAL";
|
tpLicense = sourcePath + "/LICENSE.PREVIEW.COMMERCIAL";
|
||||||
if (QFile::exists(tpLicense)) {
|
if (QFile::exists(tpLicense)) {
|
||||||
dictionary["EDITION"] = "Preview";
|
dictionary["EDITION"] = "Preview";
|
||||||
dictionary["LICENSE FILE"] = tpLicense;
|
dictionary["LICENSE FILE"] = tpLicense;
|
||||||
@ -204,7 +204,7 @@ void Tools::checkLicense(QMap<QString,QString> &dictionary, QMap<QString,QString
|
|||||||
if (dictionary["EDITION"] == "Evaluation")
|
if (dictionary["EDITION"] == "Evaluation")
|
||||||
dictionary["LICENSE_EXTENSION"] = "-EVALUATION";
|
dictionary["LICENSE_EXTENSION"] = "-EVALUATION";
|
||||||
|
|
||||||
if (QFile::exists(dictionary["QT_SOURCE_TREE"] + "/.LICENSE")) {
|
if (QFile::exists(sourcePath + "/.LICENSE")) {
|
||||||
// Generic, no-suffix license
|
// Generic, no-suffix license
|
||||||
dictionary["LICENSE_EXTENSION"].clear();
|
dictionary["LICENSE_EXTENSION"].clear();
|
||||||
} else if (dictionary["LICENSE_EXTENSION"].isEmpty()) {
|
} else if (dictionary["LICENSE_EXTENSION"].isEmpty()) {
|
||||||
@ -220,8 +220,8 @@ void Tools::checkLicense(QMap<QString,QString> &dictionary, QMap<QString,QString
|
|||||||
}
|
}
|
||||||
|
|
||||||
// copy one of .LICENSE-*(-US) to LICENSE
|
// copy one of .LICENSE-*(-US) to LICENSE
|
||||||
QString toLicenseFile = dictionary["QT_SOURCE_TREE"] + "/LICENSE";
|
QString toLicenseFile = sourcePath + "/LICENSE";
|
||||||
QString fromLicenseFile = dictionary["QT_SOURCE_TREE"] + "/.LICENSE" + dictionary["LICENSE_EXTENSION"];
|
QString fromLicenseFile = sourcePath + "/.LICENSE" + dictionary["LICENSE_EXTENSION"];
|
||||||
if (licenseFeatures == 'B' || licenseFeatures == 'G'
|
if (licenseFeatures == 'B' || licenseFeatures == 'G'
|
||||||
|| licenseFeatures == 'L' || licenseFeatures == 'Y')
|
|| licenseFeatures == 'L' || licenseFeatures == 'Y')
|
||||||
fromLicenseFile += "-US";
|
fromLicenseFile += "-US";
|
||||||
|
@ -51,7 +51,7 @@ class Tools
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static void checkLicense(QMap<QString,QString> &dictionary, QMap<QString,QString> &licenseInfo,
|
static void checkLicense(QMap<QString,QString> &dictionary, QMap<QString,QString> &licenseInfo,
|
||||||
const QString &path);
|
const QString &path, const QString &sourcePath);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // _TOOLS_H_
|
#endif // _TOOLS_H_
|
||||||
|
Loading…
x
Reference in New Issue
Block a user