ui_status.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. let ui_status_default_status_h: i32 = 33;
  2. function ui_status_init() {
  3. }
  4. function ui_status_width(): i32 {
  5. ///if is_paint
  6. return iron_window_width() - ui_toolbar_w(true) - config_raw.layout[layout_size_t.SIDEBAR_W];
  7. ///end
  8. ///if is_lab
  9. return iron_window_width();
  10. ///end
  11. }
  12. function ui_status_render_ui() {
  13. let ui: ui_t = ui_base_ui;
  14. let statush: i32 = config_raw.layout[layout_size_t.STATUS_H];
  15. if (ui_window(ui_base_hwnds[tab_area_t.STATUS], sys_x(), iron_window_height() - statush, ui_status_width(), statush)) {
  16. ui._y += 2;
  17. // Border
  18. draw_set_color(ui.ops.theme.SEPARATOR_COL);
  19. draw_filled_rect(0, 0, 1, ui._window_h);
  20. draw_filled_rect(ui._window_w - 1, 0, 1, ui._window_h);
  21. // Draw tabs
  22. let hwnd_draws: tab_draw_t[] = ui_base_hwnd_tabs[tab_area_t.STATUS];
  23. let htab: ui_handle_t = ui_base_htabs[tab_area_t.STATUS];
  24. for (let i: i32 = 0; i < hwnd_draws.length; ++i) {
  25. let draw: tab_draw_t = hwnd_draws[i];
  26. draw.f(htab);
  27. }
  28. let minimized: bool = statush <= ui_status_default_status_h * config_raw.window_scale;
  29. if (htab.changed && (htab.position == context_raw.last_status_position || minimized)) {
  30. ui_base_toggle_browser();
  31. }
  32. context_raw.last_status_position = htab.position;
  33. }
  34. }
  35. function ui_status_draw_version_tab(htab: ui_handle_t) {
  36. // Version label
  37. if (!config_raw.touch_ui) {
  38. let ui: ui_t = ui_base_ui;
  39. ui.enabled = false;
  40. ui_tab(ui_base_htabs[tab_area_t.STATUS], manifest_version);
  41. ui.enabled = true;
  42. }
  43. }