jabyengine/src/Tools/tim_tool/ui/app-window.slint

83 lines
3.6 KiB
Plaintext

import { AboutTab } from "./tab/about-tab.slint";
import { FileTab, State } from "./tab/file-tab.slint";
import { MainTab } from "./tab/main-tab.slint";
import { TabWidget } from "std-widgets.slint";
export component MainWindow inherits Window {
// Main Tab values
in-out property main_tab_vram_bg <=> main_tab.vram_bg;
in-out property main_tab_vram_file_list <=> main_tab.vram_files;
in-out property main_tab_vram_images <=> main_tab.vram_images;
callback main_tab_remove_file_clicked <=> main_tab.remove_file_clicked;
callback move_vram_image <=> main_tab.move_vram_image;
// Project widget values
in-out property project_widget-open_project_path <=> file_tab.project_widget-open_project_path;
in-out property project_widget-save_project_path <=> file_tab.project_widget-save_project_path;
callback project_widget-load_project_clicked <=> file_tab.project_widget-load_project_clicked;
callback project_widget-save_project_clicked <=> file_tab.project_widget-save_project_clicked;
callback project_widget-browse_open_project_clicked <=> file_tab.project_widget-browse_open_project_clicked;
callback project_widget-browse_save_project_clicked <=> file_tab.project_widget-browse_save_project_clicked;
// Convert Image values
in-out property file_tab-encoding_options <=> file_tab.conv-encoding_options;
in-out property file_tab-browse_path <=> file_tab.conv-image_path;
in-out property file_tab-image_data <=> file_tab.conv-image_data;
in-out property file_tab-image_width <=> file_tab.conv-image_width;
in-out property file_tab-image_height <=> file_tab.conv-image_height;
in-out property file_tab-palette_data <=> file_tab.conv-palette_data;
in-out property file_tab-palette_width <=> file_tab.conv-palette_width;
in-out property file_tab-palette_height <=> file_tab.conv-palette_height;
in-out property file_tab-palette_visible <=> file_tab.conv-palette_enable;
in-out property file_tab-selected_encoding <=> file_tab.conv-selected_encoding;
in-out property file_tab-image_name <=> file_tab.conv-image_name;
in-out property file_tab-enable <=> file_tab.conv-enable_view;
callback file_tab-update_palette_size <=> file_tab.conv-image_update_palette_size;
callback file_tab-browse_convert_image <=> file_tab.conv-image_browse_clicked;
callback file_tab-add_convert_image <=> file_tab.conv-image_add_clicked;
title: "TIM Tool 0.1.0";
width: tab_widget.width;
height: tab_widget.height;
tab_widget := TabWidget {
x: 0px;
y: 0px;
width: main_tab.width;
height: main_tab.height;
current-index: 1;
Tab {
title: "File";
file_tab := FileTab {
x: 0px;
y: 0px;
}
}
Tab {
title: "VRAM Layout";
main_tab := MainTab {
x: 0px;
y: 0px;
add_file_clicked => {root.change_to_load_file()}
}
}
Tab {
title: "About";
about_tab := AboutTab {}
}
}
public function set_version(version: string) {
about_tab.version = version;
}
public function change_to_load_file() {
file_tab.state = State.ConvertImage;
tab_widget.current-index = 0;
}
public function change_to_main() {
tab_widget.current-index = 1;
}
}