CND67QtSupport

Qt Support

Team

Dev: Alexey Vladykin (AV; username: alexey_vladykin)

QA: Valeriy Soldatov (VS; username: soldatov)

Charter

Provide support for qmake-based projects to simplify development of new and existing Qt applications with NetBeans. The current manual process is described here: http://www.tsseshop.com/developer/Tutorials/HowToQtOnNetBeans/

Goals

  • It should be possible to create, build, run and debug managed Qt project (application or library) with NetBeans. (Will be tested on small example project.)
  • It should be possible to create Qt project from existing sources, build, run and debug it. (Existing project for this test case is TBD.)
  • All standard Code Assistance features should be available while editing Qt code.
  • External tools (GUI Designer, qmake, uic, moc) should be launched by NetBeans automatically when necessary.
  • No configuration should be required except for specifying of Qt installation directory (in case it's non-standard).
  • Supported OS: Linux, Solaris (? - which version of Qt)
  • No P1 or P2 issues, P3 issues < 10.

Target:

  • Supported OS: Windows
  • Qt resources support (rcc, *.qrc files).
  • Qt translations support (lupdate, lrelease, *.ts files).

Nice to have:

User View

User

Anyone developing new or existing Qt applications.

Issue the feature solves

Large amount of manual actions required to configure Qt application in NetBeans.

Feature overview

Create Qt project, add files, edit files (with all code assistance features), build, run, debug. The workflow is going to be very similar to standard C/C++ projects, but with support for Qt-specific file types and tools.

  • Forms (*.ui files) can be created and added to project within IDE, for editing IDE launches external tool - Qt Designer.
  • Simple form templates are required, and corresponding *.cpp/*.h may need to be generated
  • Resources (*.qrc files) can be created and added to project within IDE, for editing IDE launches external tool - Qt Designer.
  • Translations (*.ts files) can be created and added to project within IDE, for editing IDE launches external tool - Qt Linguist
  • Sources are created, added to project and edited within IDE
  • Qt projects (*.pro files) are created and managed by IDE automatically, there should be no need for user to edit them (but some customization is possible in project properties)
  • qmake and other tools are run by IDE automatically, there should be no need for user to run them manually

See CND67UIChanges.

Limitations

  • Full Qt support as described above is planned for managed projects. For projects created from existing sources some manual configuration may be required (e.g. the *.pro files need to be updated manually by user).
  • Per-file code assistance configuration (macros, include directories) is impossible for Qt projects (qmake's limitation). Code assistance should be configured for the whole project.
  • Qt4 has priority. Qt3 support may be limited.

Metrics

See Goals.

Test Plan

Link should be provided by QA.

Schedule

M1 Nov 28 Complete planning
M2 Dec 31 Defining features implemented
M3 Jan 31 Bugs fixed and target features implemented, if possible


Risks and dependencies

  • Parts of CND that will be changed: project system (Qt project configuration and Makefile generation are different), toolchain support (need to include Qt tools).
  • It's not clear how stable are Qt tool features across versions, i.e. if we'll need to handle different Qt versions differently.

Status and test results

Flash demo: qt_support_CND67QtSupport.htm

Design specifications

Unit tests

IssueZilla

Feature IZ: http://www.netbeans.org/issues/show_bug.cgi?id=135998

Status Whiteboard keyword: qtsupport

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo