Skip to content

Commit

Permalink
Improve layout
Browse files Browse the repository at this point in the history
  • Loading branch information
Kuellar committed Jan 23, 2024
1 parent 1e4e266 commit 9caa1bf
Showing 1 changed file with 21 additions and 8 deletions.
29 changes: 21 additions & 8 deletions app.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
QFileDialog,
QSplitter,
QGridLayout,
QTabWidget,
)
from PyQt6.QtCore import Qt
from PyQt6.QtGui import QAction
Expand Down Expand Up @@ -42,7 +43,7 @@ def __init__(self): # pylint: disable=R0915
self._create_actions()
self._create_menu_bar()

# Create layout -> TODO: organize
# Create layout
main_layout = QHBoxLayout()
main_layout_splitter = QSplitter()
self.files_menu = FilesMenu(self)
Expand All @@ -53,15 +54,21 @@ def __init__(self): # pylint: disable=R0915
widget_content.setLayout(content_layout)
main_layout_splitter.addWidget(widget_content)
main_layout.addWidget(main_layout_splitter)

# Workspace (plot + controls)
canvas_workspace = QWidget()
self.controls = QWidget()
self.canvas_plot = MplCanvas(self, width=10, height=8, dpi=100)
canvas_workspace_layout = QHBoxLayout()
canvas_workspace_layout.setContentsMargins(0, 0, 0, 0)
self.canvas_workspace_layout_splitter = QSplitter()
canvas_workspace.setLayout(canvas_workspace_layout)

# Canvas plot (with tabs)
self.tabs = QTabWidget()
self.canvas_plot = MplCanvas(self, width=10, height=8, dpi=100)
self.canvas_plot_grid = QWidget()
canvas_plot_grid_layout = QGridLayout()
canvas_plot_grid_layout.setContentsMargins(0, 0, 10, 0)
canvas_plot_grid_layout.setContentsMargins(0, 10, 10, 0)
self.canvas_plot_grid.setLayout(canvas_plot_grid_layout)
self.canvas_plot_left_slider = SliderZoom(horizontal=False)
self.canvas_plot_bottom_slider = SliderZoom(horizontal=True)
Expand All @@ -70,15 +77,17 @@ def __init__(self): # pylint: disable=R0915
canvas_plot_grid_layout.addWidget(self.canvas_plot_left_slider, 0, 0, 1, 1)
canvas_plot_grid_layout.addWidget(self.canvas_plot_bottom_slider, 1, 1, 1, 1)
canvas_plot_grid_layout.addWidget(canvas_plot_null, 1, 0, 1, 1)
self.canvas_workspace_layout_splitter.addWidget(self.canvas_plot_grid)
self.canvas_workspace_layout_splitter.addWidget(self.controls)
canvas_plot_grid_layout.addWidget(self.canvas_plot, 0, 1, 1, 1)
self.tabs.addTab(self.canvas_plot_grid, "Matplotlib")

# Splitter Canvas and Settings
self.canvas_workspace_layout_splitter.addWidget(self.tabs)
self.canvas_workspace_layout_splitter.addWidget(self.controls)

# Canvas Controls
canvas_workspace_layout.addWidget(self.canvas_workspace_layout_splitter)
content_layout_splitter.addWidget(canvas_workspace)
self.output_console = ConsoleOutput()
content_layout_splitter.addWidget(self.output_console)
content_layout.addWidget(content_layout_splitter)

# Add things to Controls
self.controls_layout = QVBoxLayout()
self.controls.setLayout(self.controls_layout)
Expand All @@ -96,6 +105,10 @@ def __init__(self): # pylint: disable=R0915

self.controls_layout.addStretch()

# Console output (after canvas plot)
self.output_console = ConsoleOutput()
content_layout_splitter.addWidget(self.output_console)

# Create main widget and assign layout
widget = QWidget()
widget.setLayout(main_layout)
Expand Down

0 comments on commit 9caa1bf

Please sign in to comment.