def _set_frame_listbox_parameters(self): self.listbox_widget_parameters = tkw.ListboxSelectionWidget( self.frame_parameters, prop_frame={}, prop_items={'height': 4}, prop_selected={'height': 4}, items=[], selected_items=[], title_items='Available parameters', title_selected='Selected parameters', font=None, include_button_move_all_items=True, include_button_move_all_selected=True, callback_match_in_file=None, callback_match_subselection=None, sort_selected=False, include_blank_item=False, target=None, target_select=None, target_deselect=None, bind_tab_entry_items=None, widget_id=u'', allow_nr_selected=None, vertical=False) tkw.grid_configure(self.frame_parameters)
def _set_labelframe_files(self): frame = self.frame_files opt = {'padx': 5, 'pady': 5, 'sticky': 'nw'} self.combobox_files = tkw.ComboboxWidget( frame, align='horizontal', title='Show file', items=self.settings_files.get_list(), callback_target=self._on_select_file, **opt) frame_save = tk.Frame(frame) frame_save.grid(row=0, column=1, **opt) tkw.grid_configure(frame, nr_rows=1, nr_columns=2) self.button_save = tk.Button(frame_save, text='Save', command=self._save_file) self.button_save.grid(row=0, column=0, **opt) self.button_save_as = tk.Button(frame_save, text='Save as', command=self._save_file_as) self.button_save_as.grid(row=0, column=1, **opt) tkw.grid_configure(frame_save, nr_rows=0, nr_columns=2) self.combobox_files.set_value( self.user.sampling_type_settings.setdefault( 'show_file', self.settings_files.get_list()[0]))
def _set_frame_source(self): frame = self.labelframe_source self.directory_widget_mit = tkw.DirectoryWidgetLabelframe( frame, label='MIT directory', default_directory=self.default_import_directory, callback=self._save_settings_to_user, row=0, column=0, **self.grid) self.directory_widget_co2 = tkw.DirectoryWidgetLabelframe( frame, label='CO2 directory', default_directory=self.default_import_directory, callback=self._save_settings_to_user, row=1, column=0, **self.grid) self.button_inspect_file = tk.Button(frame, text='Inspect files', command=self._inspect_files, bg='mediumseagreen') self.button_inspect_file.grid(row=2, column=0, **self.grid) tkw.grid_configure(frame, nr_rows=3)
def _set_frame(self): self.frame_top = tk.Frame(self) # self.frame_mid = tk.Frame(self) self.frame_bot = tk.Frame(self) # Grid self.frame_top.grid(row=0, column=0, sticky="nsew") # self.frame_mid.grid(row=1, column=0, sticky="nsew") self.frame_bot.grid(row=2, column=0, sticky="nsew") # Gridconfigure tkw.grid_configure(self, nr_rows=3, r0=100, r1=5, r2=1) # ---------------------------------------------------------------------- # Frame top # Create container in that will hold (show) all frames self.container = tk.Frame(self.frame_top) self.container.grid(row=0, column=0, sticky="nsew") tkw.grid_configure(self.frame_top) # ---------------------------------------------------------------------- # # Frame mid # self.frame_mid_left = tk.Frame(self.frame_mid) # self.frame_mid_right = tk.Frame(self.frame_mid) # # # Grid # self.frame_mid_left.grid(row=0, column=0, sticky="nsew") # self.frame_mid_right.grid(row=0, column=1, sticky="nsew") # # # Gridconfigure # tkw.grid_configure(self.frame_mid, nr_columns=2) # ---------------------------------------------------------------------- # Frame bot self._set_frame_bot()
def _set_frame(self): self.grid = dict(padx=5, pady=5, sticky='nsew') self.labelframe_file_inspection = tk.LabelFrame(self, text='File_inspection') self.labelframe_file_inspection.grid(row=0, column=0, columnspan=3, **self.grid) self.labelframe_source = tk.LabelFrame(self, text='Source') self.labelframe_source.grid(row=1, column=0, rowspan=2, **self.grid) self.labelframe_options = tk.LabelFrame(self, text='Merge options') self.labelframe_options.grid(row=1, column=1, rowspan=2, **self.grid) self.labelframe_merge = tk.LabelFrame(self, text='Merge') self.labelframe_merge.grid(row=1, column=2, **self.grid) self.labelframe_qc = tk.LabelFrame(self, text='QC files') self.labelframe_qc.grid(row=2, column=2, **self.grid) tkw.grid_configure(self, nr_rows=3, nr_columns=3) self._set_frame_file_inspection() self._set_frame_source() self._set_frame_options() self._set_frame_merge() self._set_frame_qc() self._set_directories() self._enable_and_disable()
def _set_frame(self): padx = 5 pady = 5 self.labelframe_about = tk.LabelFrame(self, text='About') self.labelframe_about.grid(row=0, column=0, sticky='nsew', padx=padx, pady=pady) self.labelframe_developed = tk.LabelFrame(self, text='Developed by') self.labelframe_developed.grid(row=0, column=1, sticky='nsew', padx=padx, pady=pady) self.labelframe_cooperation = tk.LabelFrame(self, text='In cooperation with') self.labelframe_cooperation.grid(row=0, column=2, sticky='nsew', padx=padx, pady=pady) tkw.grid_configure(self, nr_columns=3) self._set_frame_about() self._set_frame_developed() self._set_frame_cooperation()
def _set_frame_developed(self): def _on_click_smhi_link(event): webbrowser.open_new(r'www.smhi.se') frame = self.labelframe_developed padx = 5 pady = 5 self.smhi_image = tk.PhotoImage(file=os.path.join( self.controller.app_directory, 'system/pic/smhi_logo.gif')) self.smhi_image_label = tk.Label(frame, image=self.smhi_image, cursor="hand2") self.smhi_image_label.grid(row=0, column=0, sticky='nsew', padx=padx, pady=pady) self.smhi_image_label.bind("<Button-1>", _on_click_smhi_link) self.smhi_link = tk.Label(frame, text=r'www.smhi.se', fg="blue", cursor="hand2") self.smhi_link.grid(row=1, column=0, sticky='nsew', padx=padx, pady=pady) self.smhi_link.bind("<Button-1>", _on_click_smhi_link) tkw.grid_configure(frame, nr_rows=2)
def _set_frame_cooperation(self): def _on_click_jerico_link(event): webbrowser.open_new(r'www.jerico-ri.eu') frame = self.labelframe_cooperation padx = 5 pady = 5 self.jerico_image = tk.PhotoImage( file=os.path.join(self.controller.app_directory, 'system/pic/Logotype_Jerico_next.gif')) self.jerico_image_label = tk.Label(frame, image=self.jerico_image, cursor="hand2") self.jerico_image_label.grid(row=0, column=0, sticky='nsew', padx=padx, pady=pady) self.jerico_image_label.bind("<Button-1>", _on_click_jerico_link) self.jerico_link = tk.Label(frame, text=r'www.jerico-ri.eu', fg="blue", cursor="hand2") self.jerico_link.grid(row=1, column=0, sticky='nsew', padx=padx, pady=pady) self.jerico_link.bind("<Button-1>", _on_click_jerico_link) tkw.grid_configure(frame, nr_rows=2)
def _set_frame_color_maps(self): labelframe = self.labelframe_color_maps frame = tk.Frame(labelframe) frame.grid(row=0, column=0, sticky='nw') tkw.grid_configure(labelframe) cmap_list = core.Colormaps().get_list() self.widget_selected_cmap = tkw.ComboboxWidget( frame, items=cmap_list, title='', callback_target=self._on_select_colormap, row=0, column=0, sticky='w') # self.button_save_cmap = tk.Button(frame, text='Save colormaps', command=self._save_colormap, bg='lightgreen') # self.button_save_cmap.grid(row=0, column=1, sticky='w', padx=5, pady=5) self.widget_listbox_cmap = tkw.ListboxSelectionWidget( frame, row=1, column=0, sticky='nw', target=self._on_select_par_for_colormap) tkw.grid_configure(frame, nr_rows=2) self.current_pars_in_cmap = {}
def display(self): padx = 5 pady = 5 self.popup_frame = tk.Toplevel(self.controller) x = self.controller.winfo_x() y = self.controller.winfo_y() # Set text self.label = tk.Label(self.popup_frame, text=self.text) self.label.grid(row=0, column=0, columnspan=2, padx=padx, pady=pady) self.entry = tkw.EntryWidget(self.popup_frame, entry_type='int') button_ok = tk.Button(self.popup_frame, text='Ok', command=self._ok) button_ok.grid(row=1, column=0, padx=padx, pady=pady) tkw.grid_configure(self.popup_frame, nr_columns=2, nr_rows=2) self.popup_frame.update_idletasks() root_dx = self.controller.winfo_width() root_dy = self.controller.winfo_height() dx = int(root_dx / 3) dy = int(root_dy / 3) w = self.popup_frame.winfo_width() h = self.popup_frame.winfo_height() self.popup_frame.geometry("%dx%d+%d+%d" % (w, h, x + dx, y + dy))
def _save_file_as(self): def _save_file(): file_name = stringvar_entry.get() if not file_name: main_gui.show_information('Save file', 'No file name selected') return if file_name in self.settings_files.get_list(): from tkinter import messagebox overwrite = messagebox.askyesno( 'Save file', f'File name "{file_name}" exist. Would you like to overwrite this file?' ) if not overwrite: return try: self.settings_object.file_name = (file_name, SETTINGS_FILES_DIRECTORY ) # Setter method # Update Settings files object self.settings_files.add_directory( SETTINGS_FILES_DIRECTORY) # This will update files self.settings_object.save() # Update combobox self._update_combobox_files() self.combobox_files.set_value(file_name) self.user.sampling_type_settings.setdefault( 'show_file', file_name) except GISMOExceptionSaveNotAllowed: main_gui.show_warning( 'Saving Sampling type settings', f'Not allowed to overwrite file {self.settings_object.file_name}. ' f'Please save with a different name. ') except GUIException as e: main_gui.show_error( 'Save file', '{}\nSomething went wrong Try again!'.format(e.message)) popup_frame.destroy() def _cancel(): popup_frame.destroy() popup_frame = tk.Toplevel(self) grid = dict(sticky='w', padx=5, pady=5) tk.Label(popup_frame, text='File name:').grid(row=0, column=0, **grid) stringvar_entry = tk.StringVar() entry = tk.Entry(popup_frame, textvariable=stringvar_entry, width=40) entry.grid(row=1, column=0, columnspan=2, **grid) widget_button_done = tk.Button(popup_frame, text='Save file', command=_save_file) widget_button_done.grid(row=2, column=0, **grid) widget_button_done = tk.Button(popup_frame, text='Cancel', command=_cancel) widget_button_done.grid(row=2, column=1, **grid) tkw.grid_configure(popup_frame, nr_rows=3, nr_columns=2)
def _set_frame(self): self.combobox_metadata_files = tkw.ComboboxWidget(self, title='Show metadata for file', prop_combobox={'width': 60}, sticky='w', callback_target=self._update_treeview) self.treeview_metadata = tkw.TreeviewWidget(self, columns=['Metadata', 'Value'], row=1) tkw.grid_configure(self, nr_rows=2, r1=20)
def _set_frame_bot(self): self.frame_info = tk.Frame(self.frame_bot) self.frame_info.grid(row=0, column=0, sticky="nsew") self.frame_progress = tk.Frame(self.frame_bot) self.progress_widget = tkw.ProgressbarWidget(self.frame_progress, sticky='nsew') # self.info_widget = tkw.LabelFrameLabel(self.frame_info, pack=False) tkw.grid_configure(self.frame_info) tkw.grid_configure(self.frame_bot)
def _set_frame(self): opt = {'padx': 5, 'pady': 5, 'sticky': 'nsew'} padx = 5 pady = 5 # User self.user_frame = tk.Frame(self) self.user_frame.grid(row=0, column=0, **opt) tk.Label(self.user_frame, text='Settings for user:'******'w', padx=padx, pady=pady) self.stringvar_user = tk.StringVar() tk.Label(self.user_frame, textvariable=self.stringvar_user).grid(row=0, column=1, sticky='w', padx=padx, pady=pady) tkw.grid_configure(self.user_frame, nr_columns=2) r = 1 # ----------------------------------------------------------------------- # Creating frames self.labelframe_map = ttk.Labelframe(self, text='Map') self.labelframe_map.grid(row=r, column=0, **opt) self.labelframe_color_maps = ttk.Labelframe(self, text='Color maps') self.labelframe_color_maps.grid(row=r, column=1, **opt) self.labelframe_plot_ref = ttk.Labelframe(self, text='Plot reference data') self.labelframe_plot_ref.grid(row=r, column=2, **opt) r += 1 self.labelframe_options = ttk.Labelframe(self, text='Other options') self.labelframe_options.grid(row=r, column=0, **opt) self.labelframe_plot_style = ttk.Labelframe(self, text='Plot style') self.labelframe_plot_style.grid(row=r, column=1, **opt) tkw.grid_configure(self, nr_rows=3, nr_columns=3, r1=10) self._set_frame_map() self._set_frame_color_maps() self._set_frame_plot_ref() self._set_frame_plot_style() self._set_frame_options()
def _set_frame_merge(self): frame = self.labelframe_merge r = 0 self.button_merge = tk.Button(frame, text='Merge data and calculate', command=self._merge_data, bg='mediumseagreen') self.button_merge.grid(row=r, column=0, columnspan=2, **self.grid) r += 1 tk.Label(frame, text='Export directory').grid(row=r, column=0, columnspan=2, sticky='nw') r += 1 self.directory_widget_save_merge = tkw.DirectoryWidget( frame, default_directory=self.default_export_directory, callback=self._save_settings_to_user, row=r, column=0, columnspan=2, sticky='nw') r += 1 self.stringvar_include_types = tk.StringVar() tk.Label(frame, text='Include CO2 Types').grid(row=r, column=0, sticky='nw') tk.Label(frame, textvariable=self.stringvar_include_types).grid(row=r, column=1, sticky='nw') r += 1 self.stringvar_exclude_types = tk.StringVar() tk.Label(frame, text='Exclude CO2 Types').grid(row=r, column=0, sticky='nw') tk.Label(frame, textvariable=self.stringvar_exclude_types).grid(row=r, column=1, sticky='nw') r += 1 self.button_save_merge = tk.Button(frame, text='Save merge data', command=self._export_data, bg='mediumseagreen') self.button_save_merge.grid(row=r, column=0, columnspan=2, **self.grid) tkw.grid_configure(frame, nr_rows=r + 1, nr_columns=1)
def _set_frame_bot(self): self.frame_info = tk.Frame(self.frame_bot) self.frame_info.grid(row=0, column=0, sticky="nsew") # TODO: Progressbar deactivated. Threading not working as expected. self.frame_progress = tk.Frame(self.frame_bot) self.progress_widget = tkw.ProgressbarWidget(self.frame_progress, sticky='nsew') self.info_widget = tkw.LabelFrameLabel(self.frame_info, pack=False) tkw.grid_configure(self.frame_info) tkw.grid_configure(self.frame_bot)
def _set_frame_file_inspection(self): frame = self.labelframe_file_inspection self.notebook_widget_files = tkw.NotebookWidget( frame, frames=['MIT files', 'CO2 files', 'Files with errors']) tkw.grid_configure(frame) self.columns_files = [ 'File name', 'Start time', 'End time', 'File path', 'File size (kB)' ] self.table_widget_mit = tkw.TableWidget( self.notebook_widget_files.frame_mit_files, columns=self.columns_files, int_columns=['File size (kB)']) self.table_widget_co2 = tkw.TableWidget( self.notebook_widget_files.frame_co2_files, columns=self.columns_files, int_columns=['File size (kB)']) self.table_widget_err = tkw.TableWidget( self.notebook_widget_files.frame_files_with_errors, columns=self.columns_files, int_columns=['File size (kB)']) tkw.grid_configure(self.notebook_widget_files.frame_mit_files) tkw.grid_configure(self.notebook_widget_files.frame_co2_files) tkw.grid_configure(self.notebook_widget_files.frame_files_with_errors)
def _set_frame_bot(self): self.frame_info = tk.Frame(self.frame_bot) self.frame_info.grid(row=0, column=0, sticky="nsew") # ttk.Separator(self.frame_bot, orient=tk.VERTICAL).grid(row=0, column=1, sticky='ns') self.frame_progress = tk.Frame(self.frame_bot) # self.frame_progress.grid(row=0, column=2, sticky="nsew") self.progress_widget = tkw.ProgressbarWidget(self.frame_progress, sticky='nsew') self.info_widget = tkw.LabelFrameLabel(self.frame_info, pack=False) tkw.grid_configure(self.frame_info) tkw.grid_configure(self.frame_bot)
def _set_frame_loaded_files(self): """ Created 20180821 """ frame = self.frame_loaded prop_listbox = {'height': 4} self.listbox_widget_loaded_files = tkw.ListboxWidget( frame, include_delete_button=False, # include_delete_button='Remove source', prop_listbox=prop_listbox, callback_delete_button=self._delete_source, padx=1, pady=1) tkw.grid_configure(frame)
def show_information(self, text=''): try: if not self.user_manager.user.options.setdefault( 'show_info_popups', True): return except: pass padx = 5 pady = 5 self.popup_frame = tk.Toplevel(self.controller) x = self.controller.winfo_x() y = self.controller.winfo_y() # Set text # text = self._format_text(text) self.label = tk.Label(self.popup_frame, text=text) self.label.grid(row=0, column=0, columnspan=2, padx=padx, pady=pady) self.label.bind('<Configure>', self._update_wrap) button_ok = tk.Button(self.popup_frame, text='Great tip!\nKeep them coming!', command=self._ok) button_ok.grid(row=1, column=0, padx=padx, pady=pady) button_ok_and_forget = tk.Button( self.popup_frame, text="Thanks,\nbut I don't need tips anymore!", command=self._ok_and_forget) button_ok_and_forget.grid(row=1, column=1, padx=padx, pady=pady) tkw.grid_configure(self.popup_frame, nr_columns=2, nr_rows=2) self.popup_frame.update_idletasks() root_dx = self.controller.winfo_width() root_dy = self.controller.winfo_height() dx = int(root_dx / 3) dy = int(root_dy / 3) w = self.popup_frame.winfo_width() h = self.popup_frame.winfo_height() self.popup_frame.geometry("%dx%d+%d+%d" % (w, h, x + dx, y + dy))
def _set_frame_options(self): def _on_change(): self.user.options.set('show_info_popups', self.intvar_show_info_popup.get()) frame = self.labelframe_options self.intvar_show_info_popup = tk.IntVar() self.checkbutton_show_info_popup = tk.Checkbutton( frame, text='Show help info popups', variable=self.intvar_show_info_popup, command=_on_change) self.checkbutton_show_info_popup.grid(row=0, column=0, padx=5, pady=5, sticky='nw') tkw.grid_configure(frame)
def _build(self): padding = dict(padx=15, pady=15) frame_working_directory = ttk.LabelFrame(self, text='Working directory') frame_working_directory.grid(row=0, column=0, sticky='nsew', **padding) frame_metadata_file = ttk.LabelFrame(self, text='Create metadata file') frame_metadata_file.grid(row=1, column=0, sticky='nsew', **padding) frame_standard_format = ttk.LabelFrame( self, text='Create standard format files') frame_standard_format.grid(row=2, column=0, sticky='nsew', **padding) tkw.grid_configure(self, nr_columns=1, nr_rows=3) self._build_frame_working_directory(frame_working_directory) self._build_frame_metadata_file(frame_metadata_file) self._build_frame_standard_format(frame_standard_format)
def _set_frame_about(self): def _on_click_mit_link(event): webbrowser.open_new(r'https://opensource.org/licenses/MIT') frame = self.labelframe_about padx = 5 pady = 5 tk.Label(frame, text='GISMOtoolbox', font=("Times New Roman", 40)).grid(row=0, column=0, sticky='nsew', padx=padx, pady=pady) tk.Label(frame, text='Version {}'.format(self.controller.version), font=("Times New Roman", 10)).grid(row=1, column=0, sticky='nsew', padx=padx, pady=pady) # tk.Label(frame, text='').grid(row=1, column=0, sticky='nsew', padx=padx, pady=pady) self.info_label = tk.Label(frame, text=core.texts.about()) self.info_label.grid(row=2, column=0, sticky='nsew', padx=padx, pady=pady) self.info_label.bind('<Configure>', self._update_wrap) self.mit_link = tk.Label(frame, text=r'https://opensource.org/licenses/MIT', fg="blue", cursor="hand2") self.mit_link.grid(row=3, column=0, sticky='nsew', padx=padx, pady=pady) self.mit_link.bind("<Button-1>", _on_click_mit_link) tkw.grid_configure(frame, nr_rows=4, r0=10, r2=10)
def _create_new_user(self): def _create_user(): source_user = widget_source_user.get_value().strip() new_user_name = widget_new_user_name.get_value().strip() if not new_user_name: gui.show_information('Create user', 'No user name given!') return if not source_user: source_user = None try: self.user_manager.add_user(new_user_name, source_user) if intvar_load_user.get(): self._change_user(new_user_name) self._update_menubar_users() except GUIExceptionUserError as e: gui.show_error('Creating user', '{}\nUser not created. Try again!'.format(e.message)) popup_frame.destroy() def _cancel(): popup_frame.destroy() popup_frame = tk.Toplevel(self) current_user_list = [''] + self.user_manager.get_user_list() grid = dict(sticky='w', padx=5, pady=5) widget_source_user = tkw.ComboboxWidget(popup_frame, title='Create copy of user', items=current_user_list, **grid) widget_new_user_name = tkw.EntryWidget(popup_frame, row=1, **grid) intvar_load_user = tk.IntVar() widget_checkbutton_load_user = tk.Checkbutton(popup_frame, text="Load new user", variable=intvar_load_user) widget_checkbutton_load_user.grid(row=1, column=1, **grid) intvar_load_user.set(1) widget_button_done = tk.Button(popup_frame, text='Create user', command=_create_user) widget_button_done.grid(row=2, column=0, **grid) widget_button_done = tk.Button(popup_frame, text='Cancel', command=_cancel) widget_button_done.grid(row=2, column=1, **grid) tkw.grid_configure(popup_frame, nr_rows=3, nr_columns=2)
def _set_frame(self): self.frame_top = tk.Frame(self, bg='red') self.frame_bot = tk.Frame(self, bg='blue') self.frame_top.grid(row=0, column=0, sticky="nsew") self.frame_bot.grid(row=2, column=0, sticky="nsew") # Gridconfigure tkw.grid_configure(self, nr_rows=3, r0=100, r1=5, r2=1) #---------------------------------------------------------------------- # Frame top # Create container in that will hold (show) all frames self.container = tk.Frame(self.frame_top) self.container.grid(row=0, column=0, sticky="nsew") tkw.grid_configure(self.frame_top) #---------------------------------------------------------------------- # Frame bot self._set_frame_bot()
def _set_frame_qc(self): frame = self.labelframe_qc r = 0 tk.Label(frame, text='Work with files in directory:').grid(row=r, column=0, columnspan=3, sticky='nw') r += 1 self.directory_widget_qc = tkw.DirectoryWidget( frame, default_directory=self.default_export_directory, callback=self._enable_and_disable, prop_entry={'width': 100}, row=r, column=0, columnspan=3, sticky='nw') r += 1 self.button_create_qc0_file = tk.Button(frame, text='Create QC0 file', command=self._create_qc0_file, bg='mediumseagreen') self.button_create_qc0_file.grid(row=r, column=0, **self.grid) self.button_add_qc_columns = tk.Button(frame, text='Add QC columns', command=self._add_qc_columns, bg='mediumseagreen') self.button_add_qc_columns.grid(row=r, column=1, **self.grid) self.button_add_qc0_to_merge = tk.Button( frame, text='Add QC0 to merged file', command=self._add_qc0_to_merge, bg='mediumseagreen') self.button_add_qc0_to_merge.grid(row=r, column=2, **self.grid) tkw.grid_configure(frame, nr_rows=r + 1, nr_columns=3)
def startup(self): """ :return: """ padding = dict(padx=50, pady=50, sticky='nsew') button_basic = ttk.Button( self, text='Basic', command=lambda: self.parent_app.show_frame('PageBasic')) button_basic.grid(row=0, column=0, **padding) button_advanced = ttk.Button( self, text='Advanced', command=lambda: self.parent_app.show_frame('PageAdvanced')) button_advanced.grid(row=0, column=1, **padding) tkw.grid_configure(self, nr_columns=2) self.update_page()
def _set_frame(self): opt = {'padx': 5, 'pady': 5, 'sticky': 'nsew'} self.frame_files = tk.LabelFrame(self, text='Settings file') self.frame_files.grid(row=0, column=0, columnspan=2, **opt) r = 1 self.frame_dependent_parameters = tk.LabelFrame( self, text='Dependent parameters', bg='pink') self.frame_dependent_parameters.grid(row=r, column=0, **opt) self.frame_flags = tk.LabelFrame(self, text='Flags', bg='lightyellow') self.frame_flags.grid(row=r, column=1, **opt) r += 1 self.frame_mandatory_columns = tk.LabelFrame(self, text='Mandatory columns', bg='lightgreen') self.frame_mandatory_columns.grid(row=r, column=0, **opt) self.frame_parameter_mapping = tk.LabelFrame(self, text='Parameter mapping', bg='lightblue') self.frame_parameter_mapping.grid(row=r, column=1, **opt) r += 1 self.frame_station_mapping = tk.LabelFrame(self, text='Station mapping', bg='lightseagreen') self.frame_station_mapping.grid(row=r, column=0, **opt) self.frame_properties = tk.LabelFrame(self, text='Properties', bg='sandybrown') self.frame_properties.grid(row=r, column=1, **opt) tkw.grid_configure(self, nr_rows=4, nr_columns=2, r1=10, r2=10)
def _set_frame_plot_style(self): labelframe = self.labelframe_plot_style frame = tk.Frame(labelframe) frame.grid(row=0, column=0, sticky='nw') tkw.grid_configure(labelframe) style_list = plt.style.available self.widget_selected_plotstyle = tkw.ComboboxWidget( frame, items=style_list, title='', callback_target=self._on_select_plotstyle, row=0, column=0, sticky='nw') self.widget_selected_plotstyle.set_value( self.user.layout.setdefault('plotstyle', self.settings['default']['plotstyle'])) tk.Label( frame, text= 'Note that you have to restart\nthe program to activate the\nnew plot style.' ).grid(row=1, column=0, pady=10, sticky='nw') tkw.grid_configure(frame, nr_rows=2)
def _set_frame(self): padx = 5 pady = 5 frame = tk.Frame(self) frame.grid(row=0, column=0, padx=padx, pady=pady, sticky='w') self.frame_parameters = tk.Frame(frame) # self.frame_parameters = tk.LabelFrame(frame, text='Parameters to export') self.frame_parameters.grid(row=0, column=0, columnspan=1, padx=padx, pady=pady, sticky='nsew') self.checkbutton_widget = tkw.CheckbuttonWidget( frame, items=['Combined plot', 'Individual plots'], pre_checked_items=[], include_select_all=False, colors=[], pady=0, row=0, column=1) ttk.Button(frame, text='Export', command=self._save_file).grid(row=1, column=0, columnspan=2, padx=padx, pady=pady, sticky='sw') tkw.grid_configure(frame, nr_rows=2, nr_columns=2) self._set_frame_listbox_parameters()