Skip to content

Commit 297b396

Browse files
committed
Refactor button handling
1 parent d3cbbed commit 297b396

File tree

1 file changed

+15
-19
lines changed

1 file changed

+15
-19
lines changed

src/ert/gui/main_window.py

+15-19
Original file line numberDiff line numberDiff line change
@@ -81,14 +81,14 @@ def __init__(
8181
self.add_experiment_button()
8282
self.central_panels = []
8383
self._plot_tool = PlotTool(self.config_file, self)
84-
self.add_sidebar_button(self._plot_tool)
84+
self._create_sidebar_button(self._plot_tool)
8585

8686
self._manage_experiments_tool = ManageExperimentsTool(
8787
self.ert_config,
8888
self.notifier,
8989
self.ert_config.model_config.num_realizations,
9090
)
91-
self.add_sidebar_button(self._manage_experiments_tool)
91+
self._create_sidebar_button(self._manage_experiments_tool)
9292

9393
self.vbox_layout.addStretch()
9494
self.central_layout.addWidget(self.side_frame)
@@ -119,38 +119,32 @@ def post_init(self):
119119
plugins_tool.setParent(self)
120120
self.menuBar().addMenu(plugins_tool.get_menu())
121121

122-
def add_experiment_button(self) -> None:
122+
def _create_sidebar_button(self, tool: Optional[Tool] = None) -> QPushButton:
123123
button = QPushButton(self.side_frame)
124124
button.setFixedSize(80, 80)
125-
button.setIcon(QIcon("img:play_circle_outlined.svg"))
126125
button.setCursor(QCursor(Qt.PointingHandCursor))
127126
button.setStyleSheet(BUTTON_STYLE_SHEET)
128127
padding = 30
129128
button.setIconSize(
130129
QSize(button.size().width() - padding, button.size().height() - padding)
131130
)
131+
if tool:
132+
button.setIcon(QIcon(tool.getIcon()))
133+
button.setToolTip(tool.getName())
134+
button.clicked.connect(tool.trigger)
135+
self.vbox_layout.addWidget(button)
136+
return button
137+
138+
def add_experiment_button(self) -> None:
139+
button = self._create_sidebar_button()
140+
button.setIcon(QIcon("img:play_circle_outlined.svg"))
132141
button.setToolTip("Start Simulation")
133142
button.clicked.connect(self.toggle_visibility)
134-
self.vbox_layout.addWidget(button)
135143

136144
def toggle_visibility(self) -> None:
137145
for panel in self.central_panels:
138146
panel.show()
139147

140-
def add_sidebar_button(self, tool: Tool) -> None:
141-
button = QPushButton(self.side_frame)
142-
button.setFixedSize(80, 80)
143-
button.setIcon(tool.getIcon())
144-
button.setCursor(QCursor(Qt.PointingHandCursor))
145-
button.setStyleSheet(BUTTON_STYLE_SHEET)
146-
padding = 30
147-
button.setIconSize(
148-
QSize(button.size().width() - padding, button.size().height() - padding)
149-
)
150-
button.setToolTip(tool.getName())
151-
button.clicked.connect(tool.trigger)
152-
self.vbox_layout.addWidget(button)
153-
154148
def __add_help_menu(self) -> None:
155149
menuBar = self.menuBar()
156150
assert menuBar is not None
@@ -171,6 +165,8 @@ def __add_help_menu(self) -> None:
171165
show_about.setObjectName("about_action")
172166
show_about.triggered.connect(self.__showAboutMessage)
173167

168+
self.help_menu = help_menu
169+
174170
def __add_tools_menu(self) -> None:
175171
menu_bar = self.menuBar()
176172
assert menu_bar is not None

0 commit comments

Comments
 (0)