summaryrefslogtreecommitdiffstats
path: root/examples/nfc/ndefeditor/doc/src/ndefeditor.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'examples/nfc/ndefeditor/doc/src/ndefeditor.qdoc')
-rw-r--r--examples/nfc/ndefeditor/doc/src/ndefeditor.qdoc78
1 files changed, 74 insertions, 4 deletions
diff --git a/examples/nfc/ndefeditor/doc/src/ndefeditor.qdoc b/examples/nfc/ndefeditor/doc/src/ndefeditor.qdoc
index ed7d2bba..eb638200 100644
--- a/examples/nfc/ndefeditor/doc/src/ndefeditor.qdoc
+++ b/examples/nfc/ndefeditor/doc/src/ndefeditor.qdoc
@@ -3,7 +3,7 @@
** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the documentation of the Qt local connectivty modules.
+** This file is part of the documentation of the Qt local connectivity modules.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
@@ -30,12 +30,82 @@
\title NDEF Editor Example
\brief An example about reading and writing NFC Data Exchange Format (NDEF) messages to NFC Forum Tags.
-The NDEF Editor example reads and writes NFC Data Exchange Format (NDEF)
-messages to NFC Forum Tags. NDEF messages can be composed by adding records of
-supported types.
+The NDEF Editor example reads and writes NFC Data Exchange Format
+(NDEF) messages to NFC Forum Tags. NDEF messages can be composed by
+adding records of supported types. Additionally, NDEF messages can be
+loaded/saved from/into a file located in the file system of the
+machine where the application is running.
\image ndefeditor.png
+\section1 NFC Tag detection
+
+The MainWindow class is able to detect if a NFC Tag is in the range
+for read/write operations. It can also detect if connectivity has been
+lost. This is achieved by connecting the MainWindow class private
+handlers to the signals QNearFieldManager::targetDetected and
+QNearFieldManager::targetLost.
+
+\snippet ndefeditor/mainwindow.cpp QNearFieldManager init
+
+Through the UI a user requests when to start the detection of a NFC
+Tag by calling the method QNearFieldManager::startTargetDetection.
+
+\snippet ndefeditor/mainwindow.cpp QNearFieldManager start detection
+
+Once the target is detected the MainWindow connects the following
+signals to its internal private slots:
+QNearFieldTarget::ndefMessageRead, QNearFieldTarget::NdefReadError,
+QNearFieldTarget::ndefMessagesWritten,
+QNearFieldTarget::NdefWriteError and QNearFieldTarget::error
+
+\snippet ndefeditor/mainwindow.cpp QNearFieldTarget detected
+
+If during the process of reading or writing to a NFC Tag the
+connection is lost, the MainWindow reacts to this event by
+scheduling the target deletion (QObject::deleteLater).
+
+\snippet ndefeditor/mainwindow.cpp QNearFieldTarget lost
+
+\section1 Record creation
+
+The main window of the ndefeditor example manages the composition and
+creation of NFC records. The UI contains a QScrollArea where
+RecordEditors are added dynamically on a user requests basis. The
+following methods of the MainWindow class provide an interface towards
+each of the record editing classes managing the different types of
+records.
+
+\snippet ndefeditor/mainwindow.h 0
+
+The following sections explain each of the record editing classes.
+\section1 Record editing classes
+
+\section2 TextRecordEditor
+
+The TextRecordEditor is a QWidget that can handle editing the values
+of text record that has been requested by the user. For each text
+record, there is a new instance of this class.
+
+\snippet ndefeditor/textrecordeditor.h 0
+
+\section2 UriRecordEditor
+
+The UriRecordEditor is a QWidget that can handle editing the values of
+Uri record that has been requested by the user. For each new Uri
+record there is a new instance of this class.
+
+\snippet ndefeditor/urirecordeditor.h 0
+
+\section2 MimeImageRecordEditor
+
+The UriRecordEditor is a QWidget that can handle editing the values of
+a Mime Image record that has been requested by the user. For each Mime
+Image record there is a new instance of this class.
+
+\snippet ndefeditor/mimeimagerecordeditor.h 0
+
+
\include examples-run.qdocinc
\sa {Qt NFC}