Files
armorpaint/base/Sources/TabHistory.ts
T

33 lines
755 B
TypeScript
Raw Normal View History

2019-06-20 16:50:57 +02:00
2024-01-17 18:53:31 +01:00
///if (is_paint || is_sculpt)
2023-03-24 21:53:48 +01:00
2019-06-20 16:50:57 +02:00
class TabHistory {
2024-02-06 19:32:21 +01:00
static draw = (htab: zui_handle_t) => {
2024-03-07 20:37:30 +01:00
let ui: zui_t = UIBase.ui;
2024-02-06 19:32:21 +01:00
if (zui_tab(htab, tr("History"))) {
2024-03-07 20:37:30 +01:00
for (let i: i32 = 0; i < History.steps.length; ++i) {
let active: i32 = History.steps.length - 1 - History.redos;
2019-06-20 16:50:57 +02:00
if (i == active) {
2024-02-06 19:32:21 +01:00
zui_fill(0, 0, ui._window_w, ui.t.ELEMENT_H, ui.t.HIGHLIGHT_COL);
2019-06-20 16:50:57 +02:00
}
2024-02-06 19:32:21 +01:00
zui_text(History.steps[i].name);
if (ui.is_released) { // Jump to undo step
2024-03-07 20:37:30 +01:00
let diff: i32 = i - active;
2021-05-06 10:14:40 +02:00
while (diff > 0) {
diff--;
History.redo();
}
while (diff < 0) {
diff++;
History.undo();
}
2019-06-20 16:50:57 +02:00
}
2024-02-06 19:32:21 +01:00
zui_fill(0, 0, (ui._window_w / zui_SCALE(ui) - 2), 1 * zui_SCALE(ui), ui.t.SEPARATOR_COL);
2019-06-20 16:50:57 +02:00
}
}
}
}
2023-04-24 15:16:42 +02:00
2024-01-17 18:53:31 +01:00
///end