Roadmap
-
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
-
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
- JavaScript engine? Multimedia? Location/mapping? Web engine? WebGL? 3D renderer?
- See http://doc.qt.io/qt-5/qtmodules.html for what's available
-
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
-
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.