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.

Gantt chart — version history

u_pbt_gantt · Introduced in 5.0

A project plan: a grid of tasks beside their bars on a time scale, with summaries, milestones, links and the critical path. Introduced in 5.0.

5.0 #

New #

  • Tasks added at their address (of_add_task): "build" at the top, "build/design" inside it; a task that holds others becomes a summary whose dates and progress are computed from what it holds (the progress weighted by the durations), and folds by its chevron, a double click on its row, the keyboard or the code (ib_collapsed, of_expand_all, of_collapse_all, ue_task_toggled).
  • Milestones (of_add_milestone): one day, drawn as a diamond. Dates are whole days, yyyy-mm-dd or PowerBuilder date values, the end included.
  • A grid on the reading start with the name, start, finish, duration and progress columns (is_columns, is_date_format), and the bars on a day, week, month or quarter scale (is_scale, ue_scale_changed) chosen in a toolbar (ib_toolbar, with a Today button) or with Ctrl + wheel, the day under the pointer staying in place; the red line of today (is_today) and the days off shaded (is_work_days).
  • Links between tasks (of_add_dependency), finish-to-start by default or start-to-start, finish-to-finish and start-to-finish (DEP_ constants), drawn as arrows; a link the dates break is drawn dashed in the danger colour, and a link that would close a loop is refused. of_remove_dependency, of_clear_dependencies, of_dependency_type, and the linked tasks read from a task handle (of_predecessors, of_successors).
  • The critical path in the danger colour (ib_critical_path): the tasks and links without float; of_is_critical reads it whether it is drawn or not.
  • The user drags a bar to move a task by whole days, its end edge to change its end and the small triangle under it to set its progress, with a bubble showing the dates or the percentage and Escape to cancel; ue_task_moved, ue_task_resized and ue_progress_changed report each change, which a value written by the code never raises. With ib_veto_changes, ue_task_changing is asked first, with the values the task would take, and can refuse the change.
  • Links drawn with the mouse, on option (ib_link_by_mouse): two dots beside the bar under the pointer, dragged onto another task, ask for a link (ue_link_requested) that your application adds; a click on an arrow raises ue_dependency_clicked.
  • The handle of a task (of_task) writes and reads its label (rich text markup), dates, progress, milestone, fold and read-only state, and reads its length, level, place among its siblings counted from 1 and whether it is a summary; a tooltip and an accent colour per task.
  • The text beside each bar and the tooltip of a bar written by templates (is_bar_template, is_tooltip_title_template, is_tooltip_template): fields of your own (of_set_field, of_get_field), dates written your way ({end:d mmm}) and pieces shown only when a field says something ({?x}…{/x}).
  • The chart is fed from a DataStore (of_from_datastore): one task per row, its key an id column or the RowID, its parent named by a column, a column playing a role when it is named like it or when of_map says so (label, dates, progress, milestone, colour, predecessors written "12, 14:ss"), dates read in the regional order of the workstation, every column a field of the templates.
  • With ib_write_back, a gesture writes the new dates or progress into the DataStore before its event; a value the DataStore refuses puts the task back and raises ue_write_back_failed. of_reload_row sends a row changed by your code to the chart again.
  • Selection by click, keyboard or code (of_select_task, of_clear_selection, of_selected_key, ue_selection_changed); ue_task_clicked, ue_task_opened (double click or Enter), ue_task_rclicked for your menus, ue_delete_requested on Delete; of_scroll_to_task opens what holds a task and brings it into view, of_scroll_to_date scrolls to a day.
  • Keyboard: arrows, Home, End and pages to move, Right and Left to open and fold, Ctrl + Left / Right to move a task by a day, Ctrl + Shift + Left / Right to change its end; the chart is one stop of the Tab key, and right-to-left applications are followed, arrows included.
  • The user drags the line between the grid and the chart (ii_grid_width) and the edge of a column header; the layout he arranged — the scale, the widths, the folded summaries — is read by of_get_layout and given back by of_set_layout, and ue_layout_changed carries the whole layout after every change.
  • Read-only charts and tasks (ib_read_only), the height of the rows (ii_row_height); of_remove_task, of_clear and of_reset remove what was added and free the handles, and of_get_last_error says why a value was refused.
  • Thousands of tasks scroll like twenty: only the rows in sight are drawn.