Components with clear responsibilities

In this approach, a UI component displays information and reports user interactions. Business logic decides what happens next. A list, a settings panel, or a container can then be assembled to suit the application.

The UI modules are built on DQMH. Containers arrange panels horizontally or vertically; requests and events connect the interface to the rest of the software.

Where this can help your project

This approach is worth exploring when several screens or products share interface functions.

  • Evolve a screen while keeping business logic separate.
  • Reuse components and interface conventions across screens.
  • Compose panels at runtime and adapt their layout to the window.
  • Test each module’s functions with its API Tester.

Prepare for the next developer, too

DQMH provides familiar structure. The UI layer shown here adds its own components and rules, which also need explanation and documentation. Keeping components generic requires discipline, and learning their API takes time.

We document the project’s components and dependencies. To check that another developer can take over, they should also be able to build the application and make a change using the instructions provided.

Start with one representative screen

We can start with a settings panel or an operator screen. Together, we check its behavior, resizing, and connections to existing modules before extending the approach to other screens.

Enrich a LabVIEW interface with HTML and JavaScript →