Prepping editor more...
All checks were successful
Build Dusk / build-linux (push) Successful in 39s
Build Dusk / build-psp (push) Successful in 1m6s

This commit is contained in:
2025-11-16 14:43:29 -06:00
parent cf59989167
commit 750e8840f0
10 changed files with 285 additions and 167 deletions

View File

@@ -1,36 +1,54 @@
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QLabel, QPushButton, QGridLayout
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QLabel, QPushButton, QGridLayout, QTreeWidget, QTreeWidgetItem
from editortool.map.map import map
class ChunkPanel(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
layout = QVBoxLayout(self)
self.chunk_info_label = QLabel("Tile Information")
layout.addWidget(self.chunk_info_label)
self.move_label = QLabel("Move Selection")
layout.addWidget(self.move_label)
self.chunkInfoLabel = QLabel("Tile Information")
layout.addWidget(self.chunkInfoLabel)
grid = QGridLayout()
self.btn_up = QPushButton("U")
self.btn_n = QPushButton("N")
self.btn_down = QPushButton("D")
self.btn_w = QPushButton("W")
self.btn_s = QPushButton("S")
self.btn_e = QPushButton("E")
self.btnUp = QPushButton("U")
self.btnN = QPushButton("N")
self.btnDown = QPushButton("D")
self.btnW = QPushButton("W")
self.btnS = QPushButton("S")
self.btnE = QPushButton("E")
# Arrange buttons: U N D on top row, W S E on bottom row
grid.addWidget(self.btn_up, 0, 0)
grid.addWidget(self.btn_n, 0, 1)
grid.addWidget(self.btn_down, 0, 2)
grid.addWidget(self.btn_w, 1, 0)
grid.addWidget(self.btn_s, 1, 1)
grid.addWidget(self.btn_e, 1, 2)
grid.addWidget(self.btnUp, 0, 0)
grid.addWidget(self.btnN, 0, 1)
grid.addWidget(self.btnDown, 0, 2)
grid.addWidget(self.btnW, 1, 0)
grid.addWidget(self.btnS, 1, 1)
grid.addWidget(self.btnE, 1, 2)
layout.addLayout(grid)
layout.addStretch()
self.btn_n.clicked.connect(lambda: map.moveRelative(0, 1, 0))
self.btn_s.clicked.connect(lambda: map.moveRelative(0, -1, 0))
self.btn_e.clicked.connect(lambda: map.moveRelative(1, 0, 0))
self.btn_w.clicked.connect(lambda: map.moveRelative(-1, 0, 0))
self.btn_up.clicked.connect(lambda: map.moveRelative(0, 0, 1))
self.btn_down.clicked.connect(lambda: map.moveRelative(0, 0, -1))
# Add expandable tree list
self.tree = QTreeWidget()
self.tree.setHeaderLabel("Chunks")
# Example tree items
parentItem = QTreeWidgetItem(self.tree, ["Chunk 1"])
childItem1 = QTreeWidgetItem(parentItem, ["Tile A"])
childItem2 = QTreeWidgetItem(parentItem, ["Tile B"])
parentItem2 = QTreeWidgetItem(self.tree, ["Chunk 2"])
QTreeWidgetItem(parentItem2, ["Tile C"])
QTreeWidgetItem(parentItem2, ["Tile D"])
self.tree.expandAll() # Expand by default, remove if you want collapsed
layout.addWidget(self.tree, 1) # Give tree stretch factor so it expands
self.btnN.clicked.connect(lambda: map.moveRelative(0, 1, 0))
self.btnS.clicked.connect(lambda: map.moveRelative(0, -1, 0))
self.btnE.clicked.connect(lambda: map.moveRelative(1, 0, 0))
self.btnW.clicked.connect(lambda: map.moveRelative(-1, 0, 0))
self.btnUp.clicked.connect(lambda: map.moveRelative(0, 0, 1))
self.btnDown.clicked.connect(lambda: map.moveRelative(0, 0, -1))
# Subscribe to parent's fileSaving event
if parent is not None and hasattr(parent, 'fileSaving'):
parent.fileSaving.subscribe(self.onFileSaving)
def onFileSaving(self, objOut):
# Inject 'name' into the object
objOut['name'] = 'ChunkPanel'