PBToolboxAI AcheterBuyKaufenAcquistaComprarComprar

← Historique de tous les composants← History of every component← Versionsverlauf aller Komponenten← Cronologia di tutti i componenti← Historial de todos los componentes← Histórico de todos os componentes

L'historique des versions est publié en anglais.Version history is published in English.Der Versionsverlauf wird auf Englisch veröffentlicht.La cronologia delle versioni è pubblicata in inglese.El historial de versiones se publica en inglés.O histórico de versões é publicado em inglês.

Radial menu — version history

u_pbt_radialmenu · Introduced in 2.0

A radial context menu: commands laid out in a ring around the cursor, picked by their direction rather than by scanning a list. Introduced in 2.0.

4.0 — October 2026 #

New #

  • of_remove_item(as_keys) removes one branch and its sub-wheel without rebuilding the wheel; it returns -5 when no branch lives at that address.
  • The pointed branch (mouse or keyboard) shows its whole label, above its neighbours: a long label is no longer cut with no way to read it.
  • A branch's colours (il_accent, il_back_color, il_text_color, il_back_color_hover, il_text_color_hover, through of_item(address)) are drawn by the wheel — band, mark, pointed slice, label — and read back.
  • A wheel with more than eight branches tightens (smaller icon, one-line label) so labels do not overlap.
  • Right-to-left reading: the ring turns the other way and the ← and → arrows swap.
  • A custom accent (il_theme_accent or the application accent) also repaints the pointed branch and its mark.

Fixed #

  • A wheel now gives one answer only: a double-click, two quick Enter presses, or a click outside followed by a click on a branch used to pick twice, or to raise ue_dismissed and then ue_item_selected.
  • of_add_item refuses (-5) a parent that does not exist — a typo (exprot/pdf) used to hang the branch on the root —, an address already taken, an empty level (export/, /pdf) and a key containing | or starting with __.
  • of_clear releases the handles obtained through of_item; of_key() on an address handle returns the key of the last level.
  • Keyboard: Esc goes back one level in a sub-wheel (it only closes the wheel at the root), Space and Backspace no longer leak into the application, and the arrows skip disabled branches.
  • A branch whose sub-entries are all hidden stays on the wheel, disabled: it used to be picked as if it were a leaf.
  • A wheel with no visible branch does not open: ue_dismissed is raised.
  • The wheel opens on the cursor's monitor, at that monitor's display scale; a click in a corner of the window, outside the disc, counts as a click outside and goes through to the application.
  • A branch removed, cleared, disabled or hidden while the wheel is open can no longer be picked (ue_dismissed); of_clear, of_remove_item and of_reset close an open wheel.
  • A right-click elsewhere while a wheel is open raises ue_dismissed for the old wheel before opening the new one.
  • A branch with an empty label shows its key instead of an empty slice.
  • A colour set through a handle on an address not yet added no longer colours the branch created at that address later, even after of_clear.
  • The arrow announcing a sub-wheel is readable in light themes, and a disabled branch's arrow is no longer more visible than an active one's.
  • Reading back il_back_color_hover or il_text_color_hover of an item never coloured returns -1 (the theme's colour), like the other item colours (it returned 0, black).
  • Enter or Esc pressed in the component, when it does not use them, goes back to the window: the PowerBuilder Default or Cancel CommandButton fires (the key was lost).
  • A disabled component (ib_enabled = false) leaves the Tab order; enabled again (or after of_reset), it takes its place back.
  • With no language chosen by the application, the component announces English to screen readers (it announced French).
  • is_theme_style, is_theme_mode and il_theme_accent read back the style and mode shown and the component's own accent (-1 when it has none); an unknown or badly written value is ignored instead of leaving the component without a theme, and an axis left empty follows the application's theme.

Behavior changes #

  • of_item with a bare key (of_item("csv")) resolves to the full address of the only branch carrying it (colours included, handle released with its parent); when ambiguous or unknown, the handle changes nothing.
  • of_show returns a long (0, or -2 when the component is not created).
  • of_show(-1, -1) opens the wheel at the point (-1, -1), like any negative coordinate; to open it at the cursor, call of_show().
  • of_count returns a long and of_keys_at takes a long rank.
  • See the 3 → 4 migration guide, section 11.37.

3.0 — September 2026 #

New #

  • of_set_property, of_get_property and of_component_name: drive a property by its name (settings screen, saved configuration).

Fixed #

  • A branch's colours read back through its handle returned 0 (black), set or not: they return the colour that was set, and -1 for the theme's.

Behavior changes #

  • of_item and of_add_item follow the full address: of_item("import/csv") or of_add_item("import/csv/x", …) target the branch at that address, no longer the first csv branch found (2 → 3 migration guide, section 10.2).

2.0 — September 2026 #

New #

  • First release: a wheel that opens when the right button is released (of_show() from the right-click of the target control, or of_show(x, y) in screen coordinates) and is picked with a second click; the component itself takes no room in the window.
  • Branches are described by address (of_add_item("export/pdf", "PDF"), with an icon + check overload): picking a parent branch replaces the wheel with its sub-wheel, and the hub becomes the way back.
  • ue_item_selected(as_keys) returns the full address of the picked branch; ue_dismissed() says the wheel closed without a choice.
  • ii_max_sectors (3 to 12, 8 by default): extra branches move under a last "More" branch that opens in turn, so none is ever lost.
  • Branch handle n_pbt_radialmenu_item (of_item(address)): is_text, ib_enabled, ib_checked (thin arc under the band), ib_visible (the branch leaves the wheel without being deleted).
  • Keyboard navigation (arrows, Enter or Space to pick, ← to go back) and of_count, of_keys_at, of_has to know what the wheel contains.
  • ue_script_error: a script error in the page reaches PowerBuilder with its message instead of being lost.