Source code for jdxi_editor.ui.widgets.pattern.measure_widget
"""
Pattern Measure Widget
"""
from PySide6.QtWidgets import QHBoxLayout, QVBoxLayout, QWidget
from jdxi_editor.ui.widgets.pattern.sequencer_button import SequencerButton
[docs]
class PatternMeasureWidget(QWidget):
"""Widget representing a single measure of the pattern"""
def __init__(self, parent: QWidget = None):
"""Initialize the PatternMeasure widget.
:param parent: QWidget
"""
super().__init__(parent)
self._setup_ui()
[docs]
def _setup_ui(self) -> None:
"""_setup ui"""
layout = QVBoxLayout()
# Create 4 rows, each with 16 buttons (stacked vertically)
for row in range(4):
row_layout = QHBoxLayout()
for i in range(16):
button = SequencerButton(row=row, column=i)
self.buttons[row].append(button)
row_layout.addWidget(button)
layout.addLayout(row_layout)
self.setLayout(layout)