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.

Shell explorer — version history

u_pbt_shellexplorer · Introduced in 2.0

The tree of the real Windows shell — Desktop, This PC, drives, folders, Network — with the machine's own icons. Introduced in 2.0.

4.0 — October 2026 #

New #

  • is_file_filter: the files shown when ib_show_files is true, by patterns (*.pdf;*.docx) matched against the real name; folders always pass.
  • ib_show_hidden: hidden files and folders; until the application sets it, it follows the "Hidden items" setting of the machine's File Explorer.
  • ib_enabled: when false, the tree stays on screen, dimmed, answers neither mouse nor keyboard and leaves the tab order; the application can still drive it.
  • of_refresh(as_path) re-reads a single branch; of_refresh now returns a long.
  • ue_collapsed(as_path): a branch closes.
  • ue_path_not_found(as_path, as_action, as_reason): an of_expand or of_select could not be served (missing path, outside the root, not a branch, unreadable branch).
  • of_selected_is_folder(): folder or file, for the selected node.
  • of_has, of_count and of_keys_at take a whole path (its backslashes are not levels, case does not matter); the path returned by of_keys_at can be passed back as is to of_has, of_select, of_expand.
  • A path not drawn yet can be reached from any root: under the Desktop, of_select("C:\Windows\System32") goes through This PC and opens the branches above it.
  • Full keyboard: Home, End, Page Up/Down, typing the start of a name, Right arrow to enter, Enter as a double-click; in right-to-left reading, the Left and Right arrows swap.
  • A truncated label shows its full name in a tooltip; icons switch to the large size above 150 % display scale.

Fixed #

  • Reading the shell no longer freezes the application: a disconnected network drive, an unresponsive share or a folder with thousands of files are read in the background.
  • An unresponsive share raises ue_error ("…: timeout") after 30 seconds instead of showing "…" forever; the branch is asked again when reopened.
  • A folder without access rights is an error (ue_error), no longer an empty folder; an unreadable root says so in the tree, an unreadable branch closes again.
  • A .zip archive is no longer shown as a folder; with ib_show_files, a folder that contains only files has its chevron.
  • An of_expand or of_select always completes — served, or reported by ue_path_not_found — instead of waiting forever and reopening what the user closed; a folder created after its parent was read is found.
  • The same folder shown at two levels (Music under the Desktop and under the user folder): a click, a chevron or a double-click on one no longer acts on the other.
  • The keyboard focus follows the selected row.
  • 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 language set by PBT_SetLanguage applies from the very next order given to the component: a text of an event raised by that order no longer comes in the old language.
  • 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.
  • A disabled component (ib_enabled = false) leaves the Tab order; enabled again (or after of_reset), it takes its place back.

Behavior changes #

  • of_refresh() and a change of ib_show_files no longer collapse the tree: open branches and the selection come back, found again by their path; a selection that no longer exists raises ue_selected("", "").
  • of_select returns a long; of_expand, of_select and of_collapse on an empty path return -5; of_expand on a file or on a folder without children raises ue_path_not_found(…, "expand", "not a branch").
  • of_keys_at(path, i) returns the child's whole path (it returned path/child).
  • Hidden items appear when the machine's File Explorer shows them: set ib_show_hidden = false to never show them.
  • of_count() without argument counts the displayed rows.
  • of_count returns a long and of_keys_at takes a long rank.
  • See the 3 → 4 migration guide, section 11.35.

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 #

  • ue_error was never raised: it now is, while script errors in the page stay on ue_script_error.

2.0 — September 2026 #

New #

  • First release: the shell tree as File Explorer shows it — Desktop, This PC, drives, folders, Network — with the machine's icons (the AutoCAD icon on a .dwg when AutoCAD is installed) and the shell's display names.
  • is_root (ROOT_* constants, or a path) chooses where the tree starts; ib_show_files also shows files.
  • of_expand, of_collapse, of_select and of_refresh drive the tree; of_selected_key() returns the parsing name of the selected node (the only key the shell can read back) and of_selected_name() its display name.
  • Events ue_selected(as_path, as_name), ue_expanded, ue_activated (double-click, Enter) and ue_error.
  • Branches are read on demand, when first opened.
  • ue_script_error: a script error in the page reaches PowerBuilder with its message instead of being lost.