2024-03-14 15:31:22 +01:00
|
|
|
|
|
|
|
|
function tab_console_draw(htab: zui_handle_t) {
|
|
|
|
|
let ui: zui_t = ui_base_ui;
|
|
|
|
|
|
|
|
|
|
let title: string = console_message_timer > 0 ? console_message + " " : tr("Console");
|
|
|
|
|
let color: i32 = console_message_timer > 0 ? console_message_color : -1;
|
|
|
|
|
|
|
|
|
|
let statush: i32 = config_raw.layout[layout_size_t.STATUS_H];
|
|
|
|
|
if (zui_tab(htab, title, false, color) && statush > ui_status_default_status_h * zui_SCALE(ui)) {
|
|
|
|
|
|
|
|
|
|
zui_begin_sticky();
|
2024-06-16 19:36:26 +02:00
|
|
|
///if (krom_windows || krom_linux || krom_macos) // Copy
|
2024-03-14 15:31:22 +01:00
|
|
|
if (config_raw.touch_ui) {
|
2024-04-25 22:04:43 +02:00
|
|
|
let row: f32[] = [1 / 4, 1 / 4, 1 / 4];
|
|
|
|
|
zui_row(row);
|
2024-03-14 15:31:22 +01:00
|
|
|
}
|
|
|
|
|
else {
|
2024-04-25 22:04:43 +02:00
|
|
|
let row: f32[] = [1 / 14, 1 / 14, 1 / 14];
|
|
|
|
|
zui_row(row);
|
2024-03-14 15:31:22 +01:00
|
|
|
}
|
|
|
|
|
///else
|
|
|
|
|
if (config_raw.touch_ui) {
|
2024-04-25 22:04:43 +02:00
|
|
|
let row: f32[] = [1 / 4, 1 / 4];
|
|
|
|
|
zui_row(row);
|
2024-03-14 15:31:22 +01:00
|
|
|
}
|
|
|
|
|
else {
|
2024-04-25 22:04:43 +02:00
|
|
|
let row: f32[] = [1 / 14, 1 / 14];
|
|
|
|
|
zui_row(row);
|
2024-03-14 15:31:22 +01:00
|
|
|
}
|
|
|
|
|
///end
|
|
|
|
|
|
|
|
|
|
if (zui_button(tr("Clear"))) {
|
|
|
|
|
console_last_traces = [];
|
|
|
|
|
}
|
|
|
|
|
if (zui_button(tr("Export"))) {
|
2024-03-20 16:13:54 +01:00
|
|
|
ui_files_show("txt", true, false, function (path: string) {
|
2024-05-03 21:29:39 +02:00
|
|
|
let str: string = string_array_join(console_last_traces, "\n");
|
2024-03-14 15:31:22 +01:00
|
|
|
let f: string = ui_files_filename;
|
2024-03-20 16:13:54 +01:00
|
|
|
if (f == "") {
|
|
|
|
|
f = tr("untitled");
|
|
|
|
|
}
|
2024-03-14 15:31:22 +01:00
|
|
|
path = path + path_sep + f;
|
2024-03-20 16:13:54 +01:00
|
|
|
if (!ends_with(path, ".txt")) {
|
|
|
|
|
path += ".txt";
|
|
|
|
|
}
|
2024-05-03 21:29:39 +02:00
|
|
|
krom_file_save_bytes(path, sys_string_to_buffer(str), 0);
|
2024-03-14 15:31:22 +01:00
|
|
|
});
|
|
|
|
|
}
|
2024-06-16 19:36:26 +02:00
|
|
|
///if (krom_windows || krom_linux || krom_macos)
|
2024-03-14 15:31:22 +01:00
|
|
|
if (zui_button(tr("Copy"))) {
|
2024-05-03 21:29:39 +02:00
|
|
|
let str: string = string_array_join(console_last_traces, "\n");
|
2024-03-14 15:31:22 +01:00
|
|
|
krom_copy_to_clipboard(str);
|
|
|
|
|
}
|
|
|
|
|
///end
|
|
|
|
|
|
|
|
|
|
zui_end_sticky();
|
|
|
|
|
|
2024-04-10 19:39:17 +02:00
|
|
|
let _font: g2_font_t = ui.ops.font;
|
2024-03-14 15:31:22 +01:00
|
|
|
let _fontSize: i32 = ui.font_size;
|
|
|
|
|
let f: g2_font_t = data_get_font("font_mono.ttf");
|
|
|
|
|
zui_set_font(ui, f);
|
|
|
|
|
ui.font_size = math_floor(15 * zui_SCALE(ui));
|
2024-03-21 21:06:41 +01:00
|
|
|
for (let i: i32 = 0; i < console_last_traces.length; ++i) {
|
|
|
|
|
let t: string = console_last_traces[i];
|
2024-03-14 15:31:22 +01:00
|
|
|
zui_text(t);
|
|
|
|
|
}
|
|
|
|
|
zui_set_font(ui, _font);
|
|
|
|
|
ui.font_size = _fontSize;
|
|
|
|
|
}
|
|
|
|
|
}
|