Skip to content

Commit

Permalink
Merge branch 'main' into release/0.8
Browse files Browse the repository at this point in the history
  • Loading branch information
Samuelopez-ansys committed Feb 20, 2025
2 parents 844f95a + 3dae80f commit 9baaff9
Show file tree
Hide file tree
Showing 5 changed files with 73 additions and 118 deletions.
74 changes: 67 additions & 7 deletions examples/toolkit/pyaedt_toolkit/ui/run_frontend.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,15 @@ def __init__(self):
self.ui = MainWindowLayout(self)
self.ui.setup()

# Home menu
self.home_menu = HomeMenu(self)
self.home_menu.setup()
self.ui.left_menu.clicked.connect(self.home_menu_clicked)

# Settings menu
self.settings_menu = SettingsMenu(self)
self.settings_menu.setup()
self.ui.title_bar.clicked.connect(self.settings_menu_clicked)

# Check backend connection
success = self.check_connection()
Expand Down Expand Up @@ -89,10 +95,6 @@ def __init__(self):

# Custom toolkit setup starts here

# Home menu
self.home_menu = HomeMenu(self)
self.home_menu.setup()

# Modeler menu
self.geometry_menu = GeometryMenu(self)
self.geometry_menu.setup()
Expand All @@ -108,13 +110,71 @@ def __init__(self):
self.help_menu.setup()
self.ui.left_menu.clicked.connect(self.help_menu_clicked)

# Close column
self.ui.title_bar.clicked.connect(self.close_menu_clicked)
self.ui.left_menu.clicked.connect(self.progress_menu_clicked)
self.ui.left_column.clicked.connect(self.close_menu_clicked)

# Home page as first page
self.ui.set_page(self.ui.load_pages.home_page)

def geometry_menu_clicked(self):
def home_menu_clicked(self):
selected_menu = self.ui.get_selected_menu()
menu_name = selected_menu.objectName()
self.ui.left_menu.select_only_one(selected_menu.objectName())
if menu_name == "home_menu":
selected_menu.set_active(True)
self.ui.set_page(self.ui.load_pages.home_page)

is_left_visible = self.ui.is_left_column_visible()

self.ui.set_left_column_menu(
menu=self.ui.left_column.menus.menu_home,
title="Home",
icon_path=self.ui.images_load.icon_path("icon_home.svg"),
)

if not is_left_visible:
self.ui.toggle_left_column()

def settings_menu_clicked(self):
selected_menu = self.ui.get_selected_menu()
menu_name = selected_menu.objectName()
is_right_visible = self.ui.is_right_column_visible()
is_left_visible = self.ui.is_left_column_visible()

if menu_name == "top_settings" and not is_right_visible:
self.ui.app.settings_menu.show_widgets()
if is_left_visible:
self.ui.toggle_left_column()
self.ui.left_menu.deselect_all()
self.ui.toggle_right_column()
self.ui.set_right_column_menu(title="Settings")

def progress_menu_clicked(self):
selected_menu = self.ui.get_selected_menu()
menu_name = selected_menu.objectName()
self.ui.left_menu.select_only_one(selected_menu.objectName())
if menu_name == "progress_menu":
is_progress_visible = self.ui.is_progress_visible()
if is_progress_visible:
selected_menu.set_active(False)
self.ui.toggle_progress()

def close_menu_clicked(self):
selected_menu = self.ui.get_selected_menu()
menu_name = selected_menu.objectName()
if menu_name != "top_settings" and self.ui.is_left_column_visible():
selected_menu.set_active(False)
self.ui.toggle_left_column()
self.ui.left_menu.deselect_all()
if menu_name == "top_settings" and self.ui.is_right_column_visible():
self.ui.toggle_right_column()

def geometry_menu_clicked(self):
selected_menu = self.ui.get_selected_menu()
menu_name = selected_menu.objectName()
self.ui.left_menu.select_only_one(selected_menu.objectName())
if menu_name == "geometry_menu":
selected_menu.set_active(True)
self.ui.set_page(self.geometry_menu.geometry_menu_widget)
Expand All @@ -133,7 +193,7 @@ def geometry_menu_clicked(self):
def plot_design_menu_clicked(self):
selected_menu = self.ui.get_selected_menu()
menu_name = selected_menu.objectName()

self.ui.left_menu.select_only_one(selected_menu.objectName())
if menu_name == "plot_design_menu":
selected_menu.set_active(True)
self.ui.set_page(self.plot_design_menu.plot_design_menu_widget)
Expand All @@ -151,7 +211,7 @@ def plot_design_menu_clicked(self):
def help_menu_clicked(self):
selected_menu = self.ui.get_selected_menu()
menu_name = selected_menu.objectName()

self.ui.left_menu.select_only_one(selected_menu.objectName())
if menu_name == "help_menu":
selected_menu.set_active(True)
self.ui.set_page(self.help_menu.plot_design_menu_widget)
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ doc = [
"pyside6==6.8.2.1",
"ansys-sphinx-theme>=0.10.0,<1.4",
"numpydoc>=1.5.0,<1.9",
"Sphinx>=7.1.0,<8.2",
"Sphinx>=7.1.0,<8.3",
"sphinx-copybutton>=0.5.0,<0.6",
"sphinx-autobuild==2021.3.14; python_version == '3.8'",
"sphinx-autobuild==2024.10.3; python_version > '3.8'",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -186,8 +186,7 @@ def process_id(self):
if self.signal_flag:
self.aedt_session.clear()
self.aedt_session.addItem("New Session")
non_graphical_pos = self.graphical_mode.position
non_graphical = non_graphical_pos == 24.0
non_graphical = self.graphical_mode.isChecked()
if self.aedt_version.currentText() and self.aedt_version.currentText() != "AEDT not installed":
sessions = self.app.find_process_ids(self.aedt_version.currentText(), non_graphical)
for pid in sessions:
Expand All @@ -210,8 +209,7 @@ def connect_aedt_directly(
def launch_aedt(self):
selected_session = self.aedt_session.currentText()
selected_version = self.aedt_version.currentText()
non_graphical_pos = self.graphical_mode.position
non_graphical = non_graphical_pos == 24.0
non_graphical = self.graphical_mode.isChecked()

self.aedt_thread = AedtLauncherThread(self.app, selected_version, selected_session, non_graphical)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -219,9 +219,6 @@ def __setup_title_layout(self):
)
self.title_bar_layout.addWidget(self.title_bar)

# Set title bar menu signal
self.title_bar.clicked.connect(self.main_clicked)

title = general_settings.main_title
self.title_bar.set_title(title)

Expand Down Expand Up @@ -309,9 +306,6 @@ def __setup_left_menu_layout(self):
# Add left menu widget to left menu layout
self.left_menu_layout.addWidget(self.left_menu)

# Set left menu signal
self.left_menu.clicked.connect(self.main_clicked)

self.left_menu.add_menus(general_settings.add_left_menus)

def __setup_left_column_layout(self):
Expand Down Expand Up @@ -345,9 +339,6 @@ def __setup_left_column_layout(self):
# Add left column widget to left menu layout
self.left_column_layout.addWidget(self.left_column)

# Set left column signal
self.left_column.clicked.connect(self.main_clicked)

def __setup_right_column_layout(self):
"""Setup right column."""
self.right_column_frame = QFrame(self.main_window)
Expand Down Expand Up @@ -378,9 +369,6 @@ def __setup_right_column_layout(self):
# Add left column widget to left menu layout
self.right_column_layout.addWidget(self.right_column)

# Set right column signal
self.right_column.clicked.connect(self.main_clicked)

def __setup_content_layout(self):
"""Setup content area."""

Expand Down Expand Up @@ -414,46 +402,6 @@ def get_selected_menu(self):
elif self.right_column.sender() is not None:
return self.right_column.sender()

def main_clicked(self):
selected_menu = self.get_selected_menu()

is_left_visible = self.is_left_column_visible()
is_right_visible = self.is_right_column_visible()
is_progress_visible = self.is_progress_visible()

self.left_menu.select_only_one(selected_menu.objectName())

if selected_menu.objectName() == "home_menu":
selected_menu.set_active(True)
self.set_page(self.load_pages.home_page)
self.set_left_column_menu(
menu=self.left_column.menus.menu_home,
title="Home",
icon_path=self.images_load.icon_path("icon_home.svg"),
)

if not is_left_visible:
self.toggle_left_column()

elif selected_menu.objectName() == "top_settings" and not is_right_visible:
self.app.settings_menu.show_widgets()
if is_left_visible:
self.toggle_left_column()
self.toggle_right_column()
self.set_right_column_menu(title="Settings")

elif selected_menu.objectName() == "progress_menu":
if is_progress_visible:
selected_menu.set_active(False)
self.toggle_progress()

elif selected_menu.objectName() == "close_left_column" or is_right_visible:
if self.is_left_column_visible():
selected_menu.set_active(False)
self.toggle_left_column()
elif self.is_right_column_visible:
self.toggle_right_column()

def __load_icon(self):
icon = QtGui.QIcon()
if not general_settings.icon:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
from PySide6.QtCore import Property
from PySide6.QtCore import QEasingCurve
from PySide6.QtCore import QPoint
from PySide6.QtCore import QPropertyAnimation
from PySide6.QtCore import QRect
from PySide6.QtCore import Qt
from PySide6.QtGui import QColor
Expand All @@ -27,8 +24,6 @@ class PyToggle(QCheckBox):
Color of the circle in the toggle switch. The default is ``"#DDD"``.
active_color : str, optional
Color of the toggle switch when active. The default is ``"#00BCFF"``.
animation_curve : QEasingCurve, optional
Animation curve for the toggle switch. The default is ``QEasingCurve.OutBounce``.
Examples
--------
Expand All @@ -52,14 +47,7 @@ class PyToggle(QCheckBox):
... sys.exit(app.exec())
"""

def __init__(
self,
width=50,
bg_color="#777",
circle_color="#DDD",
active_color="#00BCFF",
animation_curve=QEasingCurve.OutBounce,
):
def __init__(self, width=50, bg_color="#777", circle_color="#DDD", active_color="#00BCFF"):
QCheckBox.__init__(self)
self.setFixedSize(width, 28)
self.setCursor(Qt.PointingHandCursor)
Expand All @@ -69,45 +57,6 @@ def __init__(
self._circle_color = circle_color
self._active_color = active_color

self._position = 4
self.animation = QPropertyAnimation(self, b"position")
self.animation.setEasingCurve(animation_curve)
self.stateChanged.connect(self.setup_animation)

@Property(float)
def position(self):
"""
Get the current position of the toggle switch.
Returns
-------
float
The current position of the toggle switch.
"""
return self._position

@position.setter
def position(self, pos):
"""
Set up the animation for the toggle switch.
Parameters
----------
value : int
The state of the toggle switch.
"""
self._position = pos
# self.update()

# START STOP ANIMATION
def setup_animation(self, value):
self.animation.stop()
if value:
self.animation.setEndValue(self.width() - 26)
else:
self.animation.setEndValue(4)
self.animation.start()

def hitButton(self, pos: QPoint):
"""
Determine if a button press occurred within the toggle switch.
Expand Down Expand Up @@ -147,11 +96,11 @@ def paintEvent(self, e):
p.setBrush(QColor(self._bg_color))
p.drawRoundedRect(0, 0, rect.width(), 28, 14, 14)
p.setBrush(QColor(self._circle_color))
p.drawEllipse(self._position, 3, 22, 22)
p.drawEllipse(4, 3, 22, 22)
else:
p.setBrush(QColor(self._active_color))
p.drawRoundedRect(0, 0, rect.width(), 28, 14, 14)
p.setBrush(QColor(self._circle_color))
p.drawEllipse(self._position, 3, 22, 22)
p.drawEllipse(self.width() - 26, 3, 22, 22)

p.end()

0 comments on commit 9baaff9

Please sign in to comment.