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.

Stepbar — version history

u_pbt_stepbar · Introduced in 2.0

The step trail of a wizard: the steps passed, the current one and those to come, horizontal or vertical. Introduced in 2.0.

4.0 — October 2026 #

New #

  • [symbol=name] tag in rich text: eighteen monochrome glyphs that follow the text colour (clock, location, person, calendar, phone, mail, warning…); an unknown name stays as text.
  • STATE_WARNING: a step passed with something to check (amber bullet with an exclamation mark).
  • STATE_SKIPPED: a step the user went past (hollow bullet with a dashed ring and a dash).
  • NAV_VISITED: every step already reached stays clickable (except the current one), also ahead of the current step after your code went back.

Fixed #

  • Setting ii_current raises ue_step_changed when the bar moves, as the documentation promised.
  • An ii_current set before the steps exist is kept and applied as soon as the step exists (it fell back to the first step).
  • of_previous from "all done", after a step was removed, starts again from the last step.
  • Only one step is "current" for a screen reader and for tabbing, even when another step is forced to STATE_CURRENT.
  • scroll mode: the current step is brought into view, right-to-left included; in right-to-left reading, the Left and Right arrows swap.
  • In the demo version, the tab stop and the arrows no longer target a step beyond the displayed limit.
  • Compacted bar (OVERFLOW_AUTO): the label stays on the current step even when its state is forced to error, and a step forced to STATE_CURRENT no longer gets one.
  • OVERFLOW_SHRINK: a label stays on one line and ends with "…" instead of wrapping onto several lines cut mid-word.
  • POSITION_BOTTOM: the second line (is_description) goes under the label, above the dot.
  • Hovering a disabled or out-of-reach step no longer lights its hover colour: it will not answer the click.
  • The colours and tooltip of a removed step (of_remove_step, of_clear_steps) no longer come back on a step re-created under the same key; an is_state set on an unknown key no longer waits for the step that will be born under that name.
  • NAV_NONE: each step's state is still announced to a screen reader.
  • A disabled step is readable in every light theme (at least 3:1 contrast); the halo of the current step and the error state follow the theme, dark mode included.
  • Rich text: a closing tag closes its own tag only ([b]A[i]B[/b]C leaves C in italics only), a ] escaped by of_escape_markup right after a tag no longer breaks the formatting around it, and [picture=…] accepts a data URI and a file name containing a comma.
  • 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.
  • The application accent (PBT_SetDefaultThemeAccent) survives a change of theme, is followed as long as the component has no accent of its own, and repaints everything derived from it (hover, pressed, selections); Windows high contrast is supported.

Behavior changes #

  • The current step is tracked by its identity, no longer by its rank: removing, inserting or moving a step before it no longer changes the current step; removing the current step moves to the next reachable one and raises ue_step_changed.
  • "All done" is anchored on the last step: a step added after it becomes the current step and raises ue_step_changed; inserted before, nothing changes.
  • of_clear_steps starts again on the first step.
  • of_add_step and of_insert_step return -5 on an empty key, a key already taken or one containing / or |; of_move_step and of_remove_step return -5 on an unknown key.
  • of_insert_step(…, 0) inserts at the head (it appended at the end); of_add_step still appends at the end.
  • A handle kept after of_remove_step or of_clear_steps is released: IsValid() returns false.
  • of_count returns a long and of_keys_at takes a long rank.
  • Rich text: a markup image on a network share ([picture=\\server\share\x.png]) is no longer shown: go through of_icon(), which embeds it.
  • See the 3 → 4 migration guide, sections 11.3 and 11.23.

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 step'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.
  • Rich text: a [word] that is not a tag is shown as typed (report[final].pdf) instead of disappearing with the rest of the text.

Behavior changes #

  • The positions of of_insert_step and of_move_step count from 1, like the events (2 → 3 migration guide, section 10.1).

2.0 — September 2026 #

New #

  • First release: steps by key (of_add_step, of_insert_step, of_move_step, of_remove_step, of_clear_steps), with an icon in place of the rank and a second line (is_description).
  • ii_current places the bar (number of steps + 1 = all done); of_next and of_previous move on, skipping hidden and disabled steps.
  • A click reports (ue_step_clicked) without moving the bar: the application decides; ue_step_changed gives the step left and the step reached, by rank and by key.
  • is_navigation_mode (NAV_FREE, NAV_BACKWARD, NAV_NONE) filters what a click can reach; is_overflow_mode (OVERFLOW_AUTO, OVERFLOW_SCROLL, OVERFLOW_SHRINK) handles a lack of room.
  • is_position: horizontal trail (POSITION_TOP, POSITION_BOTTOM) or vertical (POSITION_START, POSITION_END, logical in right-to-left).
  • Step handle n_pbt_stepbar_step (of_step(key)): is_state (forced or computed state), is_text, is_description, is_image, ib_enabled, ib_visible.
  • A single tab stop: arrows, Home and End move the focus, Enter or Space report the click.
  • ue_script_error: a script error in the page reaches PowerBuilder with its message instead of being lost.
  • of_count, of_keys_at and of_has: what the component holds can be asked, at every level.