39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
import os
|
|
from PyQt5.QtWidgets import QAction, QMenuBar, QFileDialog
|
|
from editortool.map.mapdata import MAP_DEFAULT_PATH
|
|
|
|
class MapToolbar:
|
|
def __init__(self, parent):
|
|
self.parent = parent
|
|
self.menubar = parent.menuBar()
|
|
self.fileMenu = self.menubar.addMenu("File")
|
|
|
|
self.actionNew = QAction("New", parent)
|
|
self.actionOpen = QAction("Open", parent)
|
|
self.actionSave = QAction("Save", parent)
|
|
self.actionSaveAs = QAction("Save As", parent)
|
|
|
|
self.actionNew.triggered.connect(self.newFile)
|
|
self.actionOpen.triggered.connect(self.openFile)
|
|
self.actionSave.triggered.connect(self.saveFile)
|
|
self.actionSaveAs.triggered.connect(self.saveAsFile)
|
|
self.fileMenu.addAction(self.actionNew)
|
|
self.fileMenu.addAction(self.actionOpen)
|
|
self.fileMenu.addAction(self.actionSave)
|
|
self.fileMenu.addAction(self.actionSaveAs)
|
|
|
|
def newFile(self):
|
|
self.parent.mapData.newFile()
|
|
|
|
def openFile(self):
|
|
filePath, _ = QFileDialog.getOpenFileName(self.menubar, "Open Map File", MAP_DEFAULT_PATH, "Map Files (*.json)")
|
|
if filePath:
|
|
self.parent.mapData.load(filePath)
|
|
|
|
def saveFile(self):
|
|
self.parent.mapData.save()
|
|
|
|
def saveAsFile(self):
|
|
filePath, _ = QFileDialog.getSaveFileName(self.menubar, "Save Map File As", MAP_DEFAULT_PATH, "Map Files (*.json)")
|
|
if filePath:
|
|
self.parent.mapData.save(filePath) |