diff --git a/MPENNconfigs/icon.ico b/MPENNconfigs/icon.ico new file mode 100644 index 0000000..0dbc0ec Binary files /dev/null and b/MPENNconfigs/icon.ico differ diff --git a/MPENNconfigs/program.json b/MPENNconfigs/program.json new file mode 100644 index 0000000..df77148 --- /dev/null +++ b/MPENNconfigs/program.json @@ -0,0 +1,16 @@ +{ + "window_width": 800, + "window_height": 1000, + "window_state": "zoomed", + "btn_img_size": [ + 75, + 75 + ], + "skipable_frames": 30, + "img_format": ".jpg", + "used_threads": 4, + "thread_detection_method": "manual", + "data_mode": "Resize", + "color": "#5f00c7", + "thickness": 4 +} \ No newline at end of file diff --git a/MPENNconfigs/theme.json b/MPENNconfigs/theme.json new file mode 100644 index 0000000..8d00b70 --- /dev/null +++ b/MPENNconfigs/theme.json @@ -0,0 +1,359 @@ +{ + "CTk": { + "fg_color": [ + "#ebebeb", + "#1d1d1d" + ] + }, + "CTkToplevel": { + "fg_color": [ + "gray92", + "#1d1d1d" + ] + }, + "CTkFrame": { + "corner_radius": 6, + "border_width": 0, + "fg_color": [ + "gray86", + "#292929" + ], + "top_fg_color": [ + "gray81", + "gray20" + ], + "border_color": [ + "gray65", + "gray28" + ] + }, + "CTkButton": { + "corner_radius": 6, + "border_width": 0, + "fg_color": [ + "#5f00c7", + "#5f00c7" + ], + "hover_color": [ + "#7d03ff", + "#7d03ff" + ], + "border_color": [ + "#3E454A", + "#949A9F" + ], + "text_color": [ + "#f7f7f7", + "#f7f7f7" + ], + "text_color_disabled": [ + "gray74", + "gray60" + ] + }, + "CTkLabel": { + "corner_radius": 0, + "fg_color": "transparent", + "text_color": [ + "#313131", + "#f7f7f7" + ] + }, + "CTkEntry": { + "corner_radius": 6, + "border_width": 2, + "fg_color": [ + "#cfcfcf", + "#323232" + ], + "border_color": [ + "#cfcfcf", + "#323232" + ], + "text_color": [ + "#2a2a2a", + "#f7f7f7" + ], + "placeholder_text_color": [ + "gray52", + "gray62" + ] + }, + "CTkCheckBox": { + "corner_radius": 6, + "border_width": 3, + "fg_color": [ + "#5f00c7", + "#5f00c7" + ], + "border_color": [ + "#313131", + "#949A9F" + ], + "hover_color": [ + "#7d03ff", + "#7d03ff" + ], + "checkmark_color": [ + "#DCE4EE", + "gray90" + ], + "text_color": [ + "gray10", + "#DCE4EE" + ], + "text_color_disabled": [ + "gray60", + "gray45" + ] + }, + "CTkSwitch": { + "corner_radius": 1000, + "border_width": 3, + "button_length": 0, + "fg_color": [ + "#939BA2", + "#4A4D50" + ], + "progress_color": [ + "#ab5cff", + "#35006f" + ], + "button_color": [ + "#5f00c7", + "#5f00c7" + ], + "button_hover_color": [ + "#7d03ff", + "#7d03ff" + ], + "text_color": [ + "gray10", + "#DCE4EE" + ], + "text_color_disabled": [ + "gray60", + "gray45" + ] + }, + "CTkRadioButton": { + "corner_radius": 1000, + "border_width_checked": 6, + "border_width_unchecked": 3, + "fg_color": [ + "#5f00c7", + "#5f00c7" + ], + "border_color": [ + "#313131", + "#3f3f3f" + ], + "hover_color": [ + "#7d03ff", + "#7d03ff" + ], + "text_color": [ + "gray10", + "#DCE4EE" + ], + "text_color_disabled": [ + "gray60", + "gray45" + ] + }, + "CTkProgressBar": { + "corner_radius": 1000, + "border_width": 0, + "fg_color": [ + "#ab5cff", + "#35006f" + ], + "progress_color": [ + "#5f00c7", + "#5f00c7" + ], + "border_color": [ + "gray", + "gray" + ] + }, + "CTkSlider": { + "corner_radius": 1000, + "button_corner_radius": 1000, + "border_width": 6, + "button_length": 0, + "fg_color": [ + "#ab5cff", + "#35006f" + ], + "progress_color": [ + "#5f00c7", + "#5f00c7" + ], + "button_color": [ + "#5f00c7", + "#5f00c7" + ], + "button_hover_color": [ + "#7d03ff", + "#7d03ff" + ] + }, + "CTkOptionMenu": { + "corner_radius": 6, + "fg_color": [ + "#ab5cff", + "#35006f" + ], + "button_color": [ + "#5f00c7", + "#5f00c7" + ], + "button_hover_color": [ + "#7d03ff", + "#7d03ff" + ], + "text_color": [ + "#DCE4EE", + "#DCE4EE" + ], + "text_color_disabled": [ + "gray74", + "gray60" + ] + }, + "CTkComboBox": { + "corner_radius": 6, + "border_width": 2, + "fg_color": [ + "#ab5cff", + "#35006f" + ], + "border_color": [ + "#5f00c7", + "#5f00c7" + ], + "button_color": [ + "#5f00c7", + "#5f00c7" + ], + "button_hover_color": [ + "#7d03ff", + "#7d03ff" + ], + "text_color": [ + "#f7f7f7", + "#DCE4EE" + ], + "text_color_disabled": [ + "gray50", + "gray45" + ] + }, + "CTkScrollbar": { + "corner_radius": 1000, + "border_spacing": 4, + "fg_color": "transparent", + "button_color": [ + "#cecece", + "#636363" + ], + "button_hover_color": [ + "gray40", + "gray53" + ] + }, + "CTkSegmentedButton": { + "corner_radius": 6, + "border_width": 2, + "fg_color": [ + "#ab5cff", + "#35006f" + ], + "selected_color": [ + "#5f00c7", + "#5f00c7" + ], + "selected_hover_color": [ + "#7d03ff", + "#7d03ff" + ], + "unselected_color": [ + "#ab5cff", + "#35006f" + ], + "unselected_hover_color": [ + "#7d03ff", + "#7d03ff" + ], + "text_color": [ + "#DCE4EE", + "#DCE4EE" + ], + "text_color_disabled": [ + "gray74", + "gray60" + ] + }, + "CTkTextbox": { + "corner_radius": 6, + "border_width": 0, + "fg_color": [ + "#dbdbdb", + "#2a2a2a" + ], + "border_color": [ + "#979DA2", + "#565B5E" + ], + "text_color": [ + "gray10", + "#DCE4EE" + ], + "scrollbar_button_color": [ + "gray55", + "gray41" + ], + "scrollbar_button_hover_color": [ + "gray40", + "gray53" + ] + }, + "CTkScrollableFrame": { + "label_fg_color": [ + "gray78", + "gray23" + ] + }, + "DropdownMenu": { + "fg_color": [ + "gray90", + "gray20" + ], + "hover_color": [ + "gray75", + "gray28" + ], + "text_color": [ + "gray10", + "gray90" + ] + }, + "CTksystem_code.FONT": { + "macOS": { + "family": "SF Display", + "size": 13, + "weight": "normal" + }, + "Windows": { + "family": "Roboto", + "size": 13, + "weight": "normal" + }, + "Linux": { + "family": "Roboto", + "size": 13, + "weight": "normal" + } + } +} \ No newline at end of file diff --git a/README.md b/README.md index 4c1b584..d2c9caf 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,11 @@ MPENN is a simple software solution designed to transform the way we process and edit large volumes of images, particularly in applications involving neural networks. This versatile tool combines video-to-picture conversion capabilities with an advanced image editor, enabling users to manage and manipulate images efficiently at scale. Whether you are working on machine learning datasets, enhancing digital media assets, or require a robust tool for bulk image editing, MPENN is the ideal solution for your needs. +## --Support-- + +Currently only working on Windows! +Linux Support is WIP! + ## Features MPENN provides a comprehensive set of features designed to streamline the process of converting, editing, and managing large sets of images. Here's what you can expect: diff --git a/data/MPENN_theme.json b/data/MPENN_theme.json index 1e68e5c..52698a6 100644 --- a/data/MPENN_theme.json +++ b/data/MPENN_theme.json @@ -339,7 +339,7 @@ "gray90" ] }, - "CTkFont": { + "CTksystem_code.FONT": { "macOS": { "family": "SF Display", "size": 13, diff --git a/data/mpenn_font.TTF b/data/mpenn_font.TTF new file mode 100644 index 0000000..509477e Binary files /dev/null and b/data/mpenn_font.TTF differ diff --git a/icons/icons.py b/icons/icons.py index b94afe3..4703640 100644 --- a/icons/icons.py +++ b/icons/icons.py @@ -16,7 +16,7 @@ class Icons: 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_code.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 diff --git a/main.py b/main.py index 6970802..de6d24b 100644 --- a/main.py +++ b/main.py @@ -13,17 +13,15 @@ from scripts.folder_mangement.OpenFolder import OpenFolder from scripts.folder_mangement.CreateFolder import CreateFolder from scripts.folder_mangement.SwitchFolder import SwitchFolder - SELECTION_TEXT = "Select your Directory and your Export Directory" class App(Ctk.CTk): def __init__(self): super().__init__() system_code.load_json_file() + Ctk.FontManager.load_font("/mpenn_font.TTF") self.icons = Icons(path=system_code.data_path) system_code.set_theme() - self.my_font = Ctk.CTkFont(family="Berlin Sans FB", size=22) - self.font_entry = Ctk.CTkFont(family="Berlin Sans FB", size=18) self.minsize(1000, 750) self.geometry(f"{system_code.window_width}x{system_code.window_height}") if platform.system() == "Windows": @@ -47,10 +45,10 @@ class App(Ctk.CTk): self.window_informaton_save = () # Top Menu # Widgets - self.settings_btn = Ctk.CTkButton(self, text="Settings", width=100, command=self.open_settings, font=self.my_font) - image = Ctk.CTkImage(self.back_btn_image, size=(50, 50)) - self.back_btn = Ctk.CTkButton(self, text="", image=image,width=50, command=self.go_back, font=self.my_font) - self.window_information = Ctk.CTkLabel(self, text="Choose if you want to convert or label DATA", width=100, font=self.my_font) + self.settings_btn = Ctk.CTkButton(self, text="Settings", width=100, command=self.open_settings, font=(system_code.MPENN_FONT, 22)) + image = Ctk.CTkImage(self.back_btn_image, size=(40, 40)) + self.back_btn = Ctk.CTkButton(self, text="", font=(system_code.MPENN_FONT, 22), image=image,width=50, command=self.go_back) + self.window_information = Ctk.CTkLabel(self, text="Choose if you want to convert or label DATA", width=100, font=(system_code.MPENN_FONT, 26)) # Alignment self.place_top_menu() @@ -63,8 +61,8 @@ class App(Ctk.CTk): self.buttons_frame = Ctk.CTkFrame(self) self.active_frame = self.buttons_frame # Main Menu - self.convert_btn = Ctk.CTkButton(self.buttons_frame, text="Convert Videos\ninto IMG-Sequences", command=self.open_converter, width=64, font=self.my_font) - self.label_btn = Ctk.CTkButton(self.buttons_frame, text="Label and\n manage Images", command=self.open_current_labeling_ui, width=64,font=self.my_font) + self.convert_btn = Ctk.CTkButton(self.buttons_frame, text="Convert Videos\ninto IMG-Sequences", command=self.open_converter, width=64, font=(system_code.MPENN_FONT, 22)) + self.label_btn = Ctk.CTkButton(self.buttons_frame, text="Label and\n manage Images", command=self.open_current_labeling_ui, width=64,font=(system_code.MPENN_FONT, 22)) # Main Menu self.active_frame.place( relx=0.5, rely=0.52,relwidth=0.95, relheight=0.85, anchor="center" diff --git a/scripts/ClosePopup.py b/scripts/ClosePopup.py index da022e2..c811762 100644 --- a/scripts/ClosePopup.py +++ b/scripts/ClosePopup.py @@ -9,7 +9,6 @@ class ClosePopup(Ctk.CTkToplevel): super().__init__(master, **kwargs) system_code.load_json_file() self.icons = Icons(path=system_code.data_path) - self.my_font = Ctk.CTkFont(family="Berlin Sans FB", size=22) self.geometry("400x300") self.resizable(False, False) if platform.system() == "Windows": @@ -17,11 +16,11 @@ class ClosePopup(Ctk.CTkToplevel): self.iconbitmap(icon_path) self.after(201, lambda: self.iconbitmap(icon_path)) self.callback = callback - self.label = Ctk.CTkLabel(self, text="Do you want to leave?\n You might lose some Data", font=self.my_font) + self.label = Ctk.CTkLabel(self, text="Do you want to leave?\n You might lose some Data", font=(system_code.MPENN_FONT, 22)) # Add exit button - self.exit_button = Ctk.CTkButton(self, text="Exit",fg_color="#bd202d",hover_color="#f24150", command=self.confirm_exit, font=self.my_font) + self.exit_button = Ctk.CTkButton(self, text="Exit",fg_color="#bd202d",hover_color="#f24150", command=self.confirm_exit, font=(system_code.MPENN_FONT, 22)) # Add leave button - self.leave_button = Ctk.CTkButton(self, text="Stay", command=self.destroy, font=self.my_font) + self.leave_button = Ctk.CTkButton(self, text="Stay", command=self.destroy, font=(system_code.MPENN_FONT, 22)) self.grab_set() #aligning self.align() diff --git a/scripts/Converter.py b/scripts/Converter.py index 6e0cfea..f137c55 100644 --- a/scripts/Converter.py +++ b/scripts/Converter.py @@ -72,8 +72,6 @@ class Converter(Ctk.CTkFrame): #system_code.load_json_file() self.thread_count = system_code.used_threads self.continue_offset = 0 - self.my_font = Ctk.CTkFont(family="Berlin Sans FB", size=22) - self.font_entry = Ctk.CTkFont(family="Berlin Sans FB", size=18) stop_btn_txt = ("Stop Convert", "Continue") self.test_var = 0 self.input_path = None @@ -83,19 +81,19 @@ class Converter(Ctk.CTkFrame): self.step_size = None # the layout # input layout - self.input_entry = Ctk.CTkEntry(self, placeholder_text="input path", width=350, font=self.my_font) - self.input_btn = Ctk.CTkButton(self, text="Browse Input", width=100, command=self.get_video_path, font=self.my_font) + self.input_entry = Ctk.CTkEntry(self, placeholder_text="input path", width=350, font=(system_code.MPENN_FONT, 22)) + self.input_btn = Ctk.CTkButton(self, text="Browse Input", width=100, command=self.get_video_path, font=(system_code.MPENN_FONT, 22)) # output layout - self.output_entry = Ctk.CTkEntry(self, placeholder_text="output path", width=350, font=self.my_font) - self.output_btn = Ctk.CTkButton(self, text="Browse Output", width=100, command=self.get_folder_path, font=self.my_font) + self.output_entry = Ctk.CTkEntry(self, placeholder_text="output path", width=350, font=(system_code.MPENN_FONT, 22)) + self.output_btn = Ctk.CTkButton(self, text="Browse Output", width=100, command=self.get_folder_path, font=(system_code.MPENN_FONT, 22)) # button row + img name selection - self.img_naming = Ctk.CTkEntry(self, placeholder_text="Img_seq", width=150, font=self.my_font) + self.img_naming = Ctk.CTkEntry(self, placeholder_text="Img_seq", width=150, font=(system_code.MPENN_FONT, 22)) # start Button - self.start_btn = Ctk.CTkButton(self, text="Start Convert", width=100, command=self.start_threads, font=self.my_font) + self.start_btn = Ctk.CTkButton(self, text="Start Convert", width=100, command=self.start_threads, font=(system_code.MPENN_FONT, 22)) # stop Button - self.stop_btn = Ctk.CTkButton(self, text=stop_btn_txt[0], width=50, command=self.stop_continue_threads, font=self.my_font) + self.stop_btn = Ctk.CTkButton(self, text=stop_btn_txt[0], width=50, command=self.stop_continue_threads, font=(system_code.MPENN_FONT, 22)) self.stop_btn.configure(text='Stop', state=Ctk.DISABLED) self.show_progress() self.progress_bar.set(0) @@ -153,7 +151,7 @@ class Converter(Ctk.CTkFrame): # progressbar self.progress_bar = Ctk.CTkProgressBar(self,orientation="horizontal", width=500, height=30) # progressinfo - self.progress_info = Ctk.CTkLabel(self, text="", width=1, font=self.my_font) + self.progress_info = Ctk.CTkLabel(self, text="", width=1, font=(system_code.MPENN_FONT, 22)) # button row self.progress_bar.place( relx=0.5, diff --git a/scripts/Labeling.py b/scripts/Labeling.py index 689e28c..175233b 100644 --- a/scripts/Labeling.py +++ b/scripts/Labeling.py @@ -13,7 +13,6 @@ class Labeling(Ctk.CTkFrame): system_code.load_json_file() self.icons = Icons(path=system_code.data_path) self.data_saver = SaveData() - self.my_font = Ctk.CTkFont(family="Berlin Sans FB", size=22) self.image_btn_size = system_code.btn_img_size #callback self.callback = callback @@ -133,18 +132,18 @@ class Labeling(Ctk.CTkFrame): def create_labeling(self): """adapt button size to window_size""" self.big_canvas = Ctk.CTkCanvas(self,background="#5f00c7", bd=0, highlightthickness=0) - self.reset_btn = Ctk.CTkButton(self, text="reset Image", width=100, command=self.reset_image, font=self.my_font) - self.create_folder_btn = Ctk.CTkButton(self,image=self.create_folder_image, text="", width=100, command=self.create_new_folder, font=self.my_font) - self.open_folder_btn = Ctk.CTkButton(self, image=self.open_folder_image,text="", width=100, command=self.open_new_folder, font=self.my_font) - self.save_img_btn = Ctk.CTkButton(self, text="Save Image", width=100, command=self.save_and_load, font=self.my_font) - self.delete_img_btn = Ctk.CTkButton(self, text="Delete Image", width=100, command=self.delete_img, font=self.my_font) - self.skip_time_btn = Ctk.CTkButton(self, text="Jump", width=100, command=self.skip_time, font=self.my_font) - self.new_source_btn = Ctk.CTkButton(self,image=self.source_folder_image, text="", width=100, command=self.source_folder_dialog, font=self.my_font) + self.reset_btn = Ctk.CTkButton(self, text="reset Image", width=100, command=self.reset_image, font=(system_code.MPENN_FONT, 22)) + self.create_folder_btn = Ctk.CTkButton(self,image=self.create_folder_image, text="", width=100, command=self.create_new_folder, font=(system_code.MPENN_FONT, 22)) + self.open_folder_btn = Ctk.CTkButton(self, image=self.open_folder_image,text="", width=100, command=self.open_new_folder, font=(system_code.MPENN_FONT, 22)) + self.save_img_btn = Ctk.CTkButton(self, text="Save Image", width=100, command=self.save_and_load, font=(system_code.MPENN_FONT, 22)) + self.delete_img_btn = Ctk.CTkButton(self, text="Delete Image", width=100, command=self.delete_img, font=(system_code.MPENN_FONT, 22)) + self.skip_time_btn = Ctk.CTkButton(self, text="Jump", width=100, command=self.skip_time, font=(system_code.MPENN_FONT, 22)) + self.new_source_btn = Ctk.CTkButton(self,image=self.source_folder_image, text="", width=100, command=self.source_folder_dialog, font=(system_code.MPENN_FONT, 22)) self.preview_canvas = Ctk.CTkCanvas(self,background="#5f00c7", bd=0, highlightthickness=0) self.start_mode = Ctk.StringVar(value=system_code.data_mode) self.choose_mode = Ctk.CTkSegmentedButton(self, values= system_code.data_modes, variable=self.start_mode, - command=self.set_data_mode,width=64,font=self.my_font) + command=self.set_data_mode,width=64,font=(system_code.MPENN_FONT, 22)) # big_canvas self.big_canvas.bind("", self.on_press) diff --git a/scripts/folder_mangement/CreateFolder.py b/scripts/folder_mangement/CreateFolder.py index 9c8a8b7..35e17a4 100644 --- a/scripts/folder_mangement/CreateFolder.py +++ b/scripts/folder_mangement/CreateFolder.py @@ -3,14 +3,13 @@ import os import scripts.get_sys_info as system_code from ..SaveData import SaveData -FONT = "Berlin Sans FB" +FONT = system_code.MPENN_FONT class CreateFolder(Ctk.CTkFrame): def __init__(self,master, output_path,callback, **kwargs): super().__init__(master, **kwargs) system_code.load_json_file() self.data_saver = SaveData() - self.my_font = Ctk.CTkFont(family=FONT, size=22) self.output_path = output_path self.callback = callback self.error_txt = "" @@ -29,10 +28,10 @@ class CreateFolder(Ctk.CTkFrame): self.create_new_data_folder() def create_folder(self): - self.create_folder_label = Ctk.CTkLabel(self, text="Type name for new Object:", width=100, font=self.my_font) - self.create_folder_entry = Ctk.CTkEntry(self, placeholder_text="New Data Object", width=100, font=self.my_font) - self.create_folder_name_btn = Ctk.CTkButton(self, text="Create", width=100, command=self.create_new_data_folder, font=self.my_font) - self.create_folder_error = Ctk.CTkLabel(self, text=self.error_txt, width=100, font=self.my_font) + self.create_folder_label = Ctk.CTkLabel(self, text="Type name for new Object:", width=100, font=(system_code.MPENN_FONT, 22)) + self.create_folder_entry = Ctk.CTkEntry(self, placeholder_text="New Data Object", width=100, font=(system_code.MPENN_FONT, 22)) + self.create_folder_name_btn = Ctk.CTkButton(self, text="Create", width=100, command=self.create_new_data_folder, font=(system_code.MPENN_FONT, 22)) + self.create_folder_error = Ctk.CTkLabel(self, text=self.error_txt, width=100, font=(system_code.MPENN_FONT, 22)) self.place_create_folder() def create_new_data_folder(self): diff --git a/scripts/folder_mangement/OpenFolder.py b/scripts/folder_mangement/OpenFolder.py index 0060f54..5e508f1 100644 --- a/scripts/folder_mangement/OpenFolder.py +++ b/scripts/folder_mangement/OpenFolder.py @@ -5,13 +5,10 @@ from ..SaveData import SaveData import scripts.get_sys_info as system_code -FONT = "Berlin Sans FB" - class OpenFolder(Ctk.CTkScrollableFrame): def __init__(self,master,output_path, callback, **kwargs, ): super().__init__(master, **kwargs) - self.my_font = Ctk.CTkFont(family=FONT, size=16) - self.warning_font = Ctk.CTkFont(family=FONT, size=20) + # the variables needed to get from the upper class system_code.load_json_file() self.icons = Icons(path=system_code.data_path) @@ -91,7 +88,7 @@ class OpenFolder(Ctk.CTkScrollableFrame): image=self.button_image, # Corrected: Use self.button_image for the image parameter compound="top", # Position text below the image command=lambda val=value: self.new_folder_chosen(val), - font=self.my_font + font=(system_code.MPENN_FONT, 22) ) folder_btn.grid_remove() self.buttons.append(folder_btn) diff --git a/scripts/folder_mangement/SwitchFolder.py b/scripts/folder_mangement/SwitchFolder.py index 70bef85..147dbe1 100644 --- a/scripts/folder_mangement/SwitchFolder.py +++ b/scripts/folder_mangement/SwitchFolder.py @@ -5,14 +5,13 @@ from ..SaveData import SaveData from tkinter import filedialog -FONT = "Berlin Sans FB" + class SwitchFolder(Ctk.CTkFrame): def __init__(self,master, callback, **kwargs): super().__init__(master, **kwargs) system_code.load_json_file() self.data_saver = SaveData() - self.my_font = Ctk.CTkFont(family=FONT, size=22) self.callback = callback self.error_txt = "" self.input_path = None @@ -31,14 +30,14 @@ class SwitchFolder(Ctk.CTkFrame): # the selection part def create_selection(self): # input - self.input_entry = Ctk.CTkEntry(self, placeholder_text="Input folder path", width=100, font=self.my_font) - self.input_btn = Ctk.CTkButton(self, text="Browse", width=100, command=self.get_folder_path, font=self.my_font) + self.input_entry = Ctk.CTkEntry(self, placeholder_text="Input folder path", width=100, font=(system_code.MPENN_FONT, 22)) + self.input_btn = Ctk.CTkButton(self, text="Browse", width=100, command=self.get_folder_path, font=(system_code.MPENN_FONT, 22)) # output - self.output_entry = Ctk.CTkEntry(self, placeholder_text="Output folder path", width=100, font=self.my_font) - self.output_btn = Ctk.CTkButton(self, text="Browse", width=100, command=self.get_project_path, font=self.my_font) + self.output_entry = Ctk.CTkEntry(self, placeholder_text="Output folder path", width=100, font=(system_code.MPENN_FONT, 22)) + self.output_btn = Ctk.CTkButton(self, text="Browse", width=100, command=self.get_project_path, font=(system_code.MPENN_FONT, 22)) # start - self.start_btn = Ctk.CTkButton(self, text="Start", width=100, command=self.open_labeling, font=self.my_font) - self.error_label = Ctk.CTkLabel(self, text=self.error_txt, width=100, font=self.my_font) + self.start_btn = Ctk.CTkButton(self, text="Start", width=100, command=self.open_labeling, font=(system_code.MPENN_FONT, 22)) + self.error_label = Ctk.CTkLabel(self, text=self.error_txt, width=100, font=(system_code.MPENN_FONT, 22)) self.place_label_selection() def open_labeling(self, value = None): diff --git a/scripts/get_sys_info.py b/scripts/get_sys_info.py index ad8328b..5935feb 100644 --- a/scripts/get_sys_info.py +++ b/scripts/get_sys_info.py @@ -153,7 +153,7 @@ def set_theme(): customtkinter.set_appearance_mode("System") # Modes: system (default), light, dark customtkinter.set_default_color_theme(theme.get_theme()) - +MPENN_FONT = "Berlin Sans FB" data_path = create_folder("MPENNconfigs") json_file_path = data_path + "/program.json" diff --git a/scripts/settings.py b/scripts/settings.py index fd9eb44..61401a8 100644 --- a/scripts/settings.py +++ b/scripts/settings.py @@ -6,41 +6,40 @@ class Settings(Ctk.CTkFrame): def __init__(self,master, **kwargs): super().__init__(master, **kwargs) system_code.load_json_file() - self.my_font = Ctk.CTkFont(family="Berlin Sans FB", size=22) - self.color_information = Ctk.CTkLabel(self, text="Bounding Box Color: ", width=100, font=self.my_font) - self.color_btn = Ctk.CTkButton(self, text="Set Color",fg_color=system_code.color, width=100, command=self.ask_color, font=self.my_font) + self.color_information = Ctk.CTkLabel(self, text="Bounding Box Color: ", width=100, font=(system_code.MPENN_FONT, 22)) + self.color_btn = Ctk.CTkButton(self, text="Set Color",fg_color=system_code.color, width=100, command=self.ask_color, font=(system_code.MPENN_FONT, 22)) # set the time for skiping frames - self.thickness_label = Ctk.CTkLabel(self, text="Bounding Box Thickness:", width=100, font=self.my_font) + self.thickness_label = Ctk.CTkLabel(self, text="Bounding Box Thickness:", width=100, font=(system_code.MPENN_FONT, 22)) self.thickness_slider = Ctk.CTkSlider(self, from_=1, to=100, command=self.change_thickness) - self.thickness_slider_value = Ctk.CTkLabel(self, text=system_code.thickness, width=100, font=self.my_font) + self.thickness_slider_value = Ctk.CTkLabel(self, text=system_code.thickness, width=100, font=(system_code.MPENN_FONT, 22)) self.thickness_slider.set(system_code.thickness) # set the time for skiping frames - self.skip_label = Ctk.CTkLabel(self, text="Skipable Frames:", width=100, font=self.my_font) + self.skip_label = Ctk.CTkLabel(self, text="Skipable Frames:", width=100, font=(system_code.MPENN_FONT, 22)) self.skip_slider = Ctk.CTkSlider(self, from_=2, to=100, command=self.change_skipped_frame) - self.skip_slider_value = Ctk.CTkLabel(self, text=system_code.skipable_frames, width=100, font=self.my_font) + self.skip_slider_value = Ctk.CTkLabel(self, text=system_code.skipable_frames, width=100, font=(system_code.MPENN_FONT, 22)) self.skip_slider.set(system_code.skipable_frames) # set the outputs - self.label_output_formats = Ctk.CTkLabel(self, text="Output formats:", width=256, font=self.my_font) + self.label_output_formats = Ctk.CTkLabel(self, text="Output formats:", width=256, font=(system_code.MPENN_FONT, 22)) self.change_output_format = Ctk.StringVar(value=system_code.img_format) self.output_formats = Ctk.CTkSegmentedButton(self, values= system_code.img_format_options, command=self.set_img_format, - variable=self.change_output_format,width=64,font=self.my_font) + variable=self.change_output_format,width=64,font=(system_code.MPENN_FONT, 22)) # set the threads - self.label_threads = Ctk.CTkLabel(self, text="Threads: ", width=196, font=self.my_font) + self.label_threads = Ctk.CTkLabel(self, text="Threads: ", width=196, font=(system_code.MPENN_FONT, 22)) self.thread_switcher = Ctk.StringVar(value=system_code.thread_detection_mode) self.thread_switch = Ctk.CTkSegmentedButton(self, values=system_code.thread_switcher, command=self.change_thread_type, variable=self.thread_switcher, - width=64,font=self.my_font) + width=64,font=(system_code.MPENN_FONT, 22)) self.used_threads = Ctk.StringVar(value=system_code.used_threads) self.thread_count_switch = Ctk.CTkSegmentedButton(self, values=system_code.thread_options, command=self.change_manual_threads, - width=256,font=self.my_font) + width=256,font=(system_code.MPENN_FONT, 22)) if system_code.thread_detection_mode == "manual": self.show_thread_selection() @@ -69,7 +68,7 @@ class Settings(Ctk.CTkFrame): self.thickness_slider_value.configure(text=value) def ask_color(self): - self.pick_color = AskColor(master=self.master, font=self.my_font) + self.pick_color = AskColor(master=self.master, font=(system_code.MPENN_FONT, 22)) self.wait_window(self.pick_color) self.color = self.pick_color.get() # get the color string diff --git a/scripts/theme.py b/scripts/theme.py index ae26b7a..53ab580 100644 --- a/scripts/theme.py +++ b/scripts/theme.py @@ -345,7 +345,7 @@ class Theme: "gray90" ] }, - "CTkFont": { + "CTksystem_code.FONT": { "macOS": { "family": "SF Display", "size": 13, diff --git a/tempCodeRunnerFile.py b/tempCodeRunnerFile.py new file mode 100644 index 0000000..e97f7a2 --- /dev/null +++ b/tempCodeRunnerFile.py @@ -0,0 +1 @@ +BackButton \ No newline at end of file