From 6e67025fd5e8abc62ff813d1b1f2f8ff3db48c17 Mon Sep 17 00:00:00 2001 From: bartoolina Date: Fri, 9 Jan 2026 10:19:36 +0100 Subject: [PATCH] dodalem testowy main user tab --- user_tabs/template_main/template_main.py | 60 +++++++++++++++++++++++- user_tabs/template_main/template_main.ui | 22 +++++++++ 2 files changed, 81 insertions(+), 1 deletion(-) diff --git a/user_tabs/template_main/template_main.py b/user_tabs/template_main/template_main.py index 1bcd807..2b4c08b 100644 --- a/user_tabs/template_main/template_main.py +++ b/user_tabs/template_main/template_main.py @@ -3,10 +3,13 @@ import linuxcnc from qtpy import uic from qtpy.QtCore import Qt -from qtpy.QtWidgets import QWidget +from qtpy.QtWidgets import QWidget, QLabel, QPushButton from qtpyvcp.plugins import getPlugin +from qtpyvcp.widgets.button_widgets.led_button import LEDButton +from qtpyvcp.widgets.input_widgets.jog_increment import JogIncrementWidget from qtpyvcp.utilities import logger +from qtpyvcp.utilities.settings import getSetting, setSetting LOG = logger.getLogger(__name__) @@ -16,8 +19,63 @@ TOOL_TABLE = getPlugin('tooltable') INI_FILE = linuxcnc.ini(os.getenv('INI_FILE_NAME')) +from qtpyvcp.utilities.info import Info +INFO = Info() + + class UserTab(QWidget): def __init__(self, parent=None): super(UserTab, self).__init__(parent) ui_file = os.path.splitext(os.path.basename(__file__))[0] + ".ui" uic.loadUi(os.path.join(os.path.dirname(__file__), ui_file), self) + + # Clear any widgets added in the UI file + while self.verticalLayout.count(): + child = self.verticalLayout.takeAt(0) + if child.widget(): + child.widget().deleteLater() + + # Get all available jog increments and create a label for each + increments = INFO.getIncrements() + for increment in increments: + label = QLabel(f"Increment: {increment}") + self.verticalLayout.addWidget(label) + + # Add the two buttons + left_button = QPushButton("Lewo") + right_button = QPushButton("Prawo") + self.verticalLayout.addWidget(left_button) + self.verticalLayout.addWidget(right_button) + + # Connect button signals to their respective slots + left_button.clicked.connect(self.left_btn_clicked) + right_button.clicked.connect(self.right_btn_clicked) + + # Add a spacer to push all widgets to the top + self.verticalLayout.addStretch(1) + + + LOG.info("Initialized bartek") + self.find_jog_buttons(parent) + + def left_btn_clicked(self): + LOG.info("Lewo button clicked") + setSetting('machine.jog.increment', '10mm') + + def right_btn_clicked(self): + LOG.info("Prawo button clicked", ) + setSetting('machine.jog.increment', '1mm') + + def find_jog_buttons(self, parent): + if parent is None: + LOG.warning("Parent widget is None") + return + jog = parent.findChild(JogIncrementWidget) + if jog is None: + LOG.warning("JogIncrement widget not found in parent") + return + self.jog_buttons = jog.findChildren(LEDButton) + if not self.jog_buttons: + LOG.warning("No LEDButton widgets found in JogIncrement") + return + LOG.info(f"Found {len(self.jog_buttons)} jog buttons") \ No newline at end of file diff --git a/user_tabs/template_main/template_main.ui b/user_tabs/template_main/template_main.ui index e9c3969..6ee98c7 100644 --- a/user_tabs/template_main/template_main.ui +++ b/user_tabs/template_main/template_main.ui @@ -22,6 +22,28 @@ false + + + + + Jog Increment: -- + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + +