From 588c34a3d595fcad5e93b8d4893f1098ce64d046 Mon Sep 17 00:00:00 2001 From: blendoit Date: Mon, 30 Sep 2019 18:42:34 -0700 Subject: First commit! Changed coordinate lists into numpy arrays. --- gui.py | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 gui.py (limited to 'gui.py') diff --git a/gui.py b/gui.py new file mode 100644 index 0000000..2eea281 --- /dev/null +++ b/gui.py @@ -0,0 +1,81 @@ +from tools import creator, evaluator, generator +# import creator +# import evaluator +# import generator +import tkinter as tk +import tkinter.ttk as ttk + +from matplotlib.backends.backend_tkagg import ( + FigureCanvasTkAgg, NavigationToolbar2Tk) + + +class MainWindow(tk.Frame): + """Main editor window.""" + + def __init__(self, *args, **kwargs): + tk.Frame.__init__(self, *args, **kwargs) + root = tk.Tk() + root.wm_title('MAE 154B - Airfoil Design, Evaluation, Optimization') + + # self.button = tk.Button(self, text="Create new window", + # command=self.create_window) + # self.button.pack(side="top") + frame_1 = ttk.Frame(root) + l_naca, e_naca = new_field(frame_1, 'naca') + l_chord, e_chord = new_field(frame_1, 'chord') + l_semi_span, e_semi_span = new_field(frame_1, 'semi_span') + af = generator.default_airfoil() + # Graph window + frame_2 = ttk.Frame(root) + fig, ax = creator.plot_geom(af, False) + plot = FigureCanvasTkAgg(fig, frame_2) + # plot.draw() + toolbar = NavigationToolbar2Tk(plot, frame_2) + # toolbar.update() + + l_naca.grid(row=0, column=0) + e_naca.grid(row=0, column=1, padx=4) + # b_naca.grid(row=0, column=2) + l_chord.grid(row=1, column=0) + e_chord.grid(row=1, column=1, padx=4) + l_semi_span.grid(row=2, column=0, padx=4) + e_semi_span.grid(row=2, column=1, padx=4) + frame_1.pack(side=tk.LEFT) + # Graph window + plot.get_tk_widget().pack(expand=1, fill=tk.BOTH) + toolbar.pack() + frame_2.pack(side=tk.LEFT) + + def create_window(self): + self.counter += 1 + window = tk.Toplevel(self) + window.wm_title("Window #%s" % self.counter) + label = tk.Label(window, text="This is window #%s" % self.counter) + label.pack(side="top", fill="both", expand=True, padx=100, pady=100) + + +def new_field(parent, name): + """Add a new user input field.""" + + label = ttk.Label(parent, text=name) + entry = ttk.Entry(parent) + return label, entry + + +def set_naca(name): + naca_num = name.get() + print(naca_num) + + +def set_chord(name): + chord = name.get() + print(chord) + + +def set_semi_span(name): + semi_span = name.get() + print(semi_span) + + +# plot.get_tk_widget().pack() +MainWindow().mainloop() -- cgit v1.2.3