Jump to content

Qt5/Documentation/OverviewStructure: Difference between revisions

From KDE Community Wiki
Capisce (talk | contribs)
No edit summary
Capisce (talk | contribs)
No edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
See [[Qt5/Documentation/OverviewClassification ]] for a classification of existing documentation pages based on this structure.
==Qt 5 Documentation Landing page==
==Qt 5 Documentation Landing page==


Line 9: Line 11:
* 10-15 line snippet of QML
* 10-15 line snippet of QML
* Link to SDK
* Link to SDK
* Getting started, link to Hello Word example (QML? Widgets? Both?)
* Getting started, link to Hello Word example (QML? Widgets? Both?) (What about GraphicsScene and Console?)
* What's new in Qt 5
* What's new in Qt 5
* Licensing / legal information
* Licensing / legal information
Line 17: Line 19:
This section contains links to pages listing all modules, all C++ classes, and all QML components. Maybe a page listing manuals, like the qmake manual etc, + tools.
This section contains links to pages listing all modules, all C++ classes, and all QML components. Maybe a page listing manuals, like the qmake manual etc, + tools.


===Examples===
===Examples===


Waiting for example project.
Waiting for example project.
Line 50: Line 52:
A feature is what Qt 5 offers. For examples, QML is an offering and requires an overview or some sort of documentation that connects all the relevant material together. Different topics have various feature overviews. These feature overviews may be specific to a Qt module and may reside in the module's repository.
A feature is what Qt 5 offers. For examples, QML is an offering and requires an overview or some sort of documentation that connects all the relevant material together. Different topics have various feature overviews. These feature overviews may be specific to a Qt module and may reside in the module's repository.


==Application Development (tools and Qt Creator)==
===="Application Development (tools and Qt Creator)" Topic Page====
* SDK
* SDK
* Creator
* Creator
Line 56: Line 58:
* Qmake
* Qmake


==="Graphics"===
===="Graphics" Topic Page====


Graphics Stack - about Qt's graphic stack and the processes involved
Graphics Stack - about Qt's graphic stack and the processes involved
Line 67: Line 69:
* OpenGL
* OpenGL


==="User Interface" Topic Page===
===="User Interface" Topic Page====


A page describing the UI options in Qt 5. This page includes links to the overviews from various repositories and modules.
A page describing the UI options in Qt 5. This page includes links to the overviews from various repositories and modules.
Line 85: Line 87:
* I18N
* I18N


==="Data Structure and Storage" Topic Page===
===="Data Structure and Storage" Topic Page====


A page describing the data storage options in Qt 5. This page includes links to the overviews from various repositories and modules.
A page describing the data storage options in Qt 5. This page includes links to the overviews from various repositories and modules.
Line 98: Line 100:
* Qt resources?
* Qt resources?


==="Multimedia" Topic Page===
===="Multimedia" Topic Page====


A page describing the multimedia story in Qt 5. This page includes links to the overviews from various repositories and modules.
A page describing the multimedia story in Qt 5. This page includes links to the overviews from various repositories and modules.
Line 113: Line 115:
Candidate: [http://doc-snapshot.qt-project.org/5.0/multimediaoverview.html Qt Multimedia Overview] (Maybe renamed to "Multimedia in Qt"?)
Candidate: [http://doc-snapshot.qt-project.org/5.0/multimediaoverview.html Qt Multimedia Overview] (Maybe renamed to "Multimedia in Qt"?)


==="Connectivity and Networking" Topic Page===
===="Connectivity and Networking" Topic Page====


A page describing the connectivity and networking offering in Qt 5. This can mean communication between the same application, inside the application, to the operating system, or through the internet or bluetooth.
A page describing the connectivity and networking offering in Qt 5. This can mean communication between the same application, inside the application, to the operating system, or through the internet or bluetooth.
Line 125: Line 127:
* WebKit?
* WebKit?


=== "Core fundamentals" Topic Page ===
==== "Core fundamentals" Topic Page ====


A list of topics in this topic page:
A list of topics in this topic page:
Line 148: Line 150:
* Plugins
* Plugins


=== "Scripting" Topic Page ===
==== "Scripting" Topic Page ====


A list of topics in this topic page:
A list of topics in this topic page:

Latest revision as of 12:10, 19 November 2012

See Qt5/Documentation/OverviewClassification for a classification of existing documentation pages based on this structure.

Qt 5 Documentation Landing page

The Qt 5 documentation landing page consists of an Introduction section at the top, plus three vertical sections, namely "References", "Examples", and "Overviews".

Introduction

Sub-parts:

  • Sales pitch, aka "What is Qt", high level introduction
  • 10-15 line snippet of QML
  • Link to SDK
  • Getting started, link to Hello Word example (QML? Widgets? Both?) (What about GraphicsScene and Console?)
  • What's new in Qt 5
  • Licensing / legal information

References

This section contains links to pages listing all modules, all C++ classes, and all QML components. Maybe a page listing manuals, like the qmake manual etc, + tools.

Examples

Waiting for example project.

Overviews

This section / page maps and outlines the topics covered in Qt 5 documentation. The most important topics can be listed on the documentation landing page.

Qt Topics and Aspects

Topics in this context are the aspects of applications that developers are concerned with. These topics involve several Qt modules and should reside in qt5/qtdoc repository. These overviews tie in the relevant features provided by the relevant modules. The emphasis is on functionality, not the module. This means that we should assume that the developer is not heavily concerned about the difference between the modules or the Essential/Add-On distinction. They simply import which classes or QML types they wish.

For example, the SQL Programming article is linked _both_ from the Qt SQL landing page _and_ the SQL section of the "Data Structure and Storage" topic page. Readers who know which module to read will go to the Qt SQL landing page and find the article, but people who are concerned about the data storage options will find the page from the topic page. The first six of these goes in the front page. All of them are listed in the "overviews" landing page.

Possible list of topics:

  • Application Development (tools and Qt Creator)
  • User Interfaces
  • Core fundamentals (IPC, containers, signals/slots, properties, meta-object, and so on.)
  • Data Structure and Storage
  • Multimedia
  • Networking and Connectivity


  • Graphics
  • Scripting
  • Web applications
  • Testing (UI testing, debugging)
  • Add-ons (Contacts, Sensors, Location, Qt 3D etc)
  • Porting guide from Qt 4?

Feature Overviews

A feature is what Qt 5 offers. For examples, QML is an offering and requires an overview or some sort of documentation that connects all the relevant material together. Different topics have various feature overviews. These feature overviews may be specific to a Qt module and may reside in the module's repository.

"Application Development (tools and Qt Creator)" Topic Page

  • SDK
  • Creator
  • Linguist
  • Qmake

"Graphics" Topic Page

Graphics Stack - about Qt's graphic stack and the processes involved

  • 2D graphics
  • enablers
  • painting
  • math classes
  • raster
  • rendering
  • OpenGL

"User Interface" Topic Page

A page describing the UI options in Qt 5. This page includes links to the overviews from various repositories and modules.

A list of sections in this topic page (with links to the feature overviews):

  • QML- talks about "declarative" and the use of JavaScript to provide "highly dynamic interfaces".
  • Widgets -what can be done with widgets such as layouts, themes, platform implementation.
  • Web Interfaces - about CSS, HTML, WebView, and so on.
  • Model/View programming
  • Links to guides on using Qt Creator for designing widget- and QML-based UIs?
  • Animation framework?
  • Accessibility
  • Drag and drop (is this under Widgets or do we support it in QML?)
  • Rich text engines?
    • QTextDocument in QML and Widgets
    • WebKit
  • I18N

"Data Structure and Storage" Topic Page

A page describing the data storage options in Qt 5. This page includes links to the overviews from various repositories and modules.

A list of sections in this topic page (with links to the feature overviews):

  • Containers
  • Saving and Loading Data (maybe about QIODevice, QTextStream, QDataStream and QFile)
  • XML
  • SQL and related database APIs
  • JavaScript Storage (available from Qt WebKit and Qt Quick)
  • QSettings
  • Qt resources?

"Multimedia" Topic Page

A page describing the multimedia story in Qt 5. This page includes links to the overviews from various repositories and modules.

A list of sections in this topic page (with links to the feature overviews):

  • Backend/engine
  • Supported platforms, media, codecs, and so on.
  • Audio API
  • Video API
  • Camera API
  • Radio API
  • Printing API?

Candidate: Qt Multimedia Overview (Maybe renamed to "Multimedia in Qt"?)

"Connectivity and Networking" Topic Page

A page describing the connectivity and networking offering in Qt 5. This can mean communication between the same application, inside the application, to the operating system, or through the internet or bluetooth.

A list of sections in this topic page (with links to the feature overviews):

  • TCP/IP
  • Bluetooth
  • Bearer Management
  • QNetworkAccessManager
  • Network transparency in QML
  • WebKit?

"Core fundamentals" Topic Page

A list of topics in this topic page:

  • IPC
  • Threading
  • QProcess
  • Containers
  • Events
  • State Machine Framework?
  • Object ownership model
  • QString / Unicode
  • Text codecs
  • Meta-object
    • Signals and slots
    • Property system
    • Meta-object and the moc
    • The meta-object in QML
  • QPA
    • Wayland
    • Platform specific development
  • Plugins

"Scripting" Topic Page

A list of topics in this topic page:

  • QtScript
  • QJSEngine / QJSValue etc
  • QQmlEngine, link to a guide on using QML for non-graphical purposes if such a thing makes sense?
  • Something about web / JavaScript ?