From d484b36284fa7d022ba6c5fe793e5e7d95762b4b Mon Sep 17 00:00:00 2001 From: Were_Woof <118316858+Were-Woof@users.noreply.github.com> Date: Mon, 24 Jun 2024 21:59:44 +0800 Subject: [PATCH] Add boilerplate market frame with ability to switch to it --- gui/app.py | 2 ++ gui/frames/market.py | 26 ++++++++++++++++++++++++++ gui/sidebar.py | 7 +++++++ 3 files changed, 35 insertions(+) create mode 100644 gui/frames/market.py diff --git a/gui/app.py b/gui/app.py index 544ff96..a2900b1 100644 --- a/gui/app.py +++ b/gui/app.py @@ -12,6 +12,7 @@ from gui.frames.api_key import APIKeyFrame from gui.frames.empty_frame import EmptyFrame from gui.frames.outposts import OutpostsFrame +from gui.frames.market import MarketFrame class App(tkinter.Tk): @@ -43,6 +44,7 @@ def build_app(self, destroy: bool = False) -> None: self.settings_frame = SettingsFrame(self) self.api_key_frame = APIKeyFrame(self) self.outposts_frame = OutpostsFrame(self) + self.market_frame = MarketFrame(self) self.sidebar.place(x=0, y=0, height=600, width=150) self.current_frame = EmptyFrame(self) self.current_frame.place(x=150, y=0, height=600, width=650) diff --git a/gui/frames/market.py b/gui/frames/market.py new file mode 100644 index 0000000..e6a8ea1 --- /dev/null +++ b/gui/frames/market.py @@ -0,0 +1,26 @@ +import tkinter +from ..components import labels, containers, dropdowns, popups + + +class MarketFrame(tkinter.Frame): + def __init__(self, parent, bg="gray"): + super().__init__(parent, width=650, height=600, bg=bg) + self.parent = parent + self.bg = bg + + self.item_selector = dropdowns.Dropdown( + self, ["Placeholder One", "Placeholder Two", "Placeholder Three"] + ) + self.item_selector_label = labels.InputLabel(self, "Item", bg="white") + + self.buy_offers = tkinter.Listbox(self, bg=self.bg) + + def render(self): + self.item_selector.place(x=150, y=100) + self.item_selector_label.place(x=150, y=80) + self.buy_offers.place(x=150, y=150) + # self.get_all_offers() + + # def get_all_offers(self) -> list[dict]: #TODO fix issue where running this throws an backend.exceptions.ValidationError + # orders = self.parent.backend.get_market_orders() + # return orders diff --git a/gui/sidebar.py b/gui/sidebar.py index c2fc1cd..5c64b22 100644 --- a/gui/sidebar.py +++ b/gui/sidebar.py @@ -57,6 +57,13 @@ def __init__(self, parent): ) self.outposts_button.pack() + self.market_button = buttons.Sidebarbutton( + self, + text="Market", + command=lambda: self.switch_frame(self.parent.market_frame), + ) + self.market_button.pack() + self.apiKey_button = buttons.Sidebarbutton( self, text="API Key",