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; } }