mg-pso-gui 0.1.38__tar.gz → 0.1.40__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/PKG-INFO +1 -1
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mg_pso_gui.egg-info/PKG-INFO +1 -1
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/HomePage.py +11 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/VisualizeTab/SideBar.py +34 -9
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/VisualizeTab/VisualizeTab.py +1 -1
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/setup.py +1 -1
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mg_pso_gui.egg-info/SOURCES.txt +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mg_pso_gui.egg-info/dependency_links.txt +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mg_pso_gui.egg-info/entry_points.txt +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mg_pso_gui.egg-info/requires.txt +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mg_pso_gui.egg-info/top_level.txt +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/__init__.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/OptionManager.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/PlatformTab/PlatformTab.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/PlatformTab/__init__.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/RunTab/RunTab.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/RunTab/__init__.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/SetupTab/BoundsEditorWindow.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/SetupTab/BoundsList.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/SetupTab/CalibrationParametersView.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/SetupTab/FunctionsList.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/SetupTab/ListParametersView.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/SetupTab/SetupTab.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/SetupTab/StaticParameterView.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/SetupTab/StepView.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/SetupTab/__init__.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/VisualizeTab/__init__.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/__init__.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/images/IGOW 4 Logo.png +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/images/collapse.png +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/images/down.png +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/images/expand.png +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/images/play.png +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/images/refresh.png +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/images/refresh_hd.png +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/images/stop.png +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/images/test.png +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/images/trash.png +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/gui/images/up.png +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/mgpsogui.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/start.yaml +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/util/CTkToolTip/__init__.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/util/CTkToolTip/ctk_tooltip.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/util/GraphGenerator.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/util/PSORunner.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/util/__init__.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/util/recosu/__init__.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/util/recosu/pso/__init__.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/util/recosu/pso/csip_access.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/util/recosu/pso/pso.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/util/recosu/utils/__init__.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/util/recosu/utils/plot/__init__.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/util/recosu/utils/plot/cost_steps.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/util/recosu/utils/trace_writer.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/mgpsogui/util/recosu/utils/utils.py +0 -0
- {mg-pso-gui-0.1.38 → mg-pso-gui-0.1.40}/setup.cfg +0 -0
|
@@ -67,6 +67,17 @@ class App(customtkinter.CTk):
|
|
|
67
67
|
|
|
68
68
|
self.selected_csv = tk.StringVar()
|
|
69
69
|
self.selected_csv.set("No files found...")
|
|
70
|
+
self.open_file = "None"
|
|
71
|
+
self.csv_data = None
|
|
72
|
+
|
|
73
|
+
self.selected_x = tk.StringVar()
|
|
74
|
+
self.selected_x.set("time")
|
|
75
|
+
|
|
76
|
+
self.selected_y1 = tk.StringVar()
|
|
77
|
+
self.selected_y1.set("NONE")
|
|
78
|
+
|
|
79
|
+
self.selected_y2 = tk.StringVar()
|
|
80
|
+
self.selected_y2.set("NONE")
|
|
70
81
|
|
|
71
82
|
self.running_config = None
|
|
72
83
|
self.selected_graph_name = None
|
|
@@ -9,6 +9,8 @@ from customtkinter import CTkOptionMenu
|
|
|
9
9
|
from PIL import Image
|
|
10
10
|
import os
|
|
11
11
|
|
|
12
|
+
import pandas as pd
|
|
13
|
+
|
|
12
14
|
class SideBar(CTkScrollableFrame):
|
|
13
15
|
def __init__(self, *args,
|
|
14
16
|
option_manager: None,
|
|
@@ -60,13 +62,14 @@ class SideBar(CTkScrollableFrame):
|
|
|
60
62
|
os.makedirs(folder)
|
|
61
63
|
|
|
62
64
|
# Get all CSV files in the folder and add their paths to a list
|
|
63
|
-
|
|
65
|
+
path_map = {}
|
|
64
66
|
name_list = []
|
|
65
67
|
for root, dirs, files in os.walk(folder):
|
|
66
68
|
for file in files:
|
|
67
69
|
if file.endswith(".csv"):
|
|
68
|
-
|
|
69
|
-
name_list.append(
|
|
70
|
+
name = file.replace(".csv", "")
|
|
71
|
+
name_list.append(name)
|
|
72
|
+
path_map[name] = os.path.join(root, file)
|
|
70
73
|
|
|
71
74
|
if (len(name_list) == 0):
|
|
72
75
|
name_list.append("No files found...")
|
|
@@ -74,10 +77,32 @@ class SideBar(CTkScrollableFrame):
|
|
|
74
77
|
if (self.home_page.selected_csv.get() not in name_list):
|
|
75
78
|
self.home_page.selected_csv.set(name_list[0])
|
|
76
79
|
|
|
77
|
-
print("PATH LIST")
|
|
78
|
-
print(path_list)
|
|
79
|
-
print("NAME LIST")
|
|
80
|
-
print(name_list)
|
|
81
|
-
|
|
82
80
|
self.home_page.csv_file_selector = CTkOptionMenu(self.containerFrame, values=name_list, variable=self.home_page.selected_csv, command=self.home_page.update_graph)
|
|
83
|
-
self.home_page.csv_file_selector.grid(row=0, column=0, padx=(20, 20), pady=(20, 20), sticky="nsew")
|
|
81
|
+
self.home_page.csv_file_selector.grid(row=0, column=0, padx=(20, 20), pady=(20, 20), sticky="nsew")
|
|
82
|
+
|
|
83
|
+
selected_file = self.home_page.selected_csv.get()
|
|
84
|
+
if (selected_file in path_map and selected_file != self.home_page.open_file):
|
|
85
|
+
self.home_page.csv_data = pd.read_csv(path_map[selected_file], skiprows=3)
|
|
86
|
+
self.home_page.open_file = selected_file
|
|
87
|
+
|
|
88
|
+
if (self.home_page.csv_data != None):
|
|
89
|
+
# Get all column names of CSV
|
|
90
|
+
columns = self.home_page.csv_data.columns
|
|
91
|
+
|
|
92
|
+
self.home_page.csv_x_selector = CTkOptionMenu(self.containerFrame, values=columns, variable=self.home_page.selected_x, command=self.home_page.update_graph)
|
|
93
|
+
self.home_page.csv_x_selector.grid(row=2, column=0, padx=(20, 20), pady=(20, 20), sticky="nsew")
|
|
94
|
+
|
|
95
|
+
if (self.home_page.csv_x_selector.get() not in columns):
|
|
96
|
+
self.home_page.csv_x_selector.set(columns[1])
|
|
97
|
+
|
|
98
|
+
self.home_page.csv_y1_selector = CTkOptionMenu(self.containerFrame, values=columns, variable=self.home_page.selected_y1, command=self.home_page.update_graph)
|
|
99
|
+
self.home_page.csv_y1_selector.grid(row=2, column=0, padx=(20, 20), pady=(20, 20), sticky="nsew")
|
|
100
|
+
|
|
101
|
+
if (self.home_page.csv_y1_selector.get() not in columns):
|
|
102
|
+
self.home_page.csv_y1_selector.set(columns[2])
|
|
103
|
+
|
|
104
|
+
self.home_page.csv_y2_selector = CTkOptionMenu(self.containerFrame, values=columns, variable=self.home_page.selected_y2, command=self.home_page.update_graph)
|
|
105
|
+
self.home_page.csv_y2_selector.grid(row=2, column=0, padx=(20, 20), pady=(20, 20), sticky="nsew")
|
|
106
|
+
|
|
107
|
+
if (self.home_page.csv_y2_selector.get() not in columns):
|
|
108
|
+
self.home_page.csv_y2_selector.set(columns[3])
|
|
@@ -65,7 +65,7 @@ def create_tab(self, tab):
|
|
|
65
65
|
self.graph_selector.grid(row=0, column=0, padx=(20, 20), pady=(20, 20), sticky="nsew")
|
|
66
66
|
|
|
67
67
|
# Create SideBar
|
|
68
|
-
self.vis_sidebar = SideBar.SideBar(self.graph_sidebar, option_manager=self.option_manager, home_page=self)
|
|
68
|
+
self.vis_sidebar = SideBar.SideBar(self.graph_sidebar, option_manager=self.option_manager, home_page=self, fg_color="transparent")
|
|
69
69
|
self.vis_sidebar.grid(row=1, column=0, rowspan=8, padx=(0, 0), pady=(0, 0), sticky="nsew")
|
|
70
70
|
|
|
71
71
|
# Add a button to call open_graph_in_browser
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|