Form UI

Form UI

Control Plugins via Convenient UI Forms

In previous versions of IO Ninja (version 5.2.x and earlier), plugins could only feature user interface (UI) elements in the toolbar, status bar, and the property grid within the modal "Settings" dialog. While this setup worked in most cases, it had significant limitations — for example, fitting all the necessary controls into a single row of the session toolbar was a challenge!

Now, every plugin can feature fully interactive forms without limitations. You have access to buttons, labels, text fields, combo boxes, lists, and every other UI tool imaginable.

What's Available?

Buttons

Buttons are used to trigger actions (command buttons), represent ON/OFF switches (checkboxes), or select one of several mutually exclusive options (radio buttons).

There are two visual styles for buttons — the standard "system" look and the more compact toolbar style.

Inputs

Input controls allow users to enter specific values, with or without validation.

IO Ninja provides line editors, number spinners, and combo boxes, which combine a text field with a dropdown list of predefined options.

Containers

Container widgets are used to display collections of uniform items.

List widgets show planar lists of elements (e.g., clients connected to a TCP server) and may include a checkbox column for selecting a subset of elements.

Dictionary widgets display key-value pairs and allow convenient in-place editing (e.g., HTTP headers).

Layouts

UI elements are organized and aligned using a flexible, yet simple layout system.

The vbox layout arranges items vertically (top-to-bottom), the hbox layout arranges them horizontally (left-to-right), and the form layout creates a two-column grid (label-field). There are also group boxes to group related items together.


IO Ninja’s form UI engine allows you to design and organize any form you need. We also plan to gradually add more widgets for domain-specific tasks.

This update makes IO Ninja’s already intuitive interface even more user-friendly and efficient!