Skip to content

Roadmap

Sze Howe Koh edited this page Apr 16, 2022 · 2 revisions

LQ Widgets Roadmap

Short-term

  • Support more native LabVIEW types:

    • Paths
    • Timestamps
    • Waveforms?
  • Polish the API and engine

    • Mark "required" terminals
    • Set default input values
    • Support disconnecting signals without having to shut down the engine
  • Add and develop widgets

    • Achieve feature parity with native LabVIEW graphs/charts
    • Add LED indicators
    • Expose more Qt widgets
    • Expose more properties and methods of existing widgets

Medium-term

  • Support development on 32-bit and 64-bit LabVIEW on Linux

    • (Should only involve compiling the C++ code on Linux)
    • Add the Qt X11 Extras module
  • Add other technologies from current modules

    • Model/View framework with lists, tables and trees
    • Animation framework
    • Undo framework
  • Add more modules

  • Deeper integration between LabVIEW and the C++ libraries

    • Support LabVIEW variants in the signal-slot system
    • Convert to/from native LabVIEW image types
    • Embed LabVIEW Front Panels into Qt widgets
    • Bind widgets to DataSocket items and/or Shared Variables
    • Use XNodes to let property setter VIs to be used directly as callbacks...???
  • Support popular GUI features that LabVIEW users have been requesting for a long time, especially with graphs/charts

  • Modularize the shared libraries further (one .dll/.so per Qt module)

    • Make it possible to add a new module (or update an existing module) without rebuilding the others
    • Separate out the LGPL'ed modules from the GPL'ed modules. The former can be used in proprietary applications, but the latter cannot.
  • Do proper packaging (VIPM, LabVIEW palettes)

  • Support user-defined event handlers (to intercept key press or mouse move events, for example)

  • Optimize performance

  • Support polymorphic methods

Long-term (depends on demand and ability)

  • Integrate a WYSIWYG GUI editor (i.e. Qt Designer) into the LabVIEW IDE

  • Support other GUI technologies from Qt

    • Graphics View Framework: For interactive 2D scenes which can support lots of objects
    • Qt Quick: For hardware-accelerated, fluid, animated GUIs (à la mobile phones/tablets)
  • Support macOS

    • (More complicated than Linux -- if it's even possible at all -- due to restrictions in Apple's Cocoa framework)
  • Look into providing commercial licenses, for those who don’t want to (or can't) use (L)GPL'ed software.

Clone this wiki locally