Qt Map drawn with line and frontline

This commit is contained in:
Khopa
2019-07-04 19:04:31 +02:00
parent 67910bce61
commit b66bf4cc36
9 changed files with 213 additions and 47 deletions

View File

@@ -1,10 +1,10 @@
from PySide2.QtGui import QIcon
from PySide2.QtWidgets import QWidget, QPushButton, QHBoxLayout, QVBoxLayout, QMenuBar, QMainWindow
from PySide2.QtWidgets import QWidget, QPushButton, QHBoxLayout, QVBoxLayout, QMenuBar, QMainWindow, QAction, QToolBar
import webbrowser
from qt_ui.uiconstants import URLS
from qt_ui.windows.QLiberationMap import QLiberationMap
import qt_ui.uiconstants as CONST
class QLiberationWindow(QMainWindow):
@@ -19,16 +19,18 @@ class QLiberationWindow(QMainWindow):
self.setWindowIcon(QIcon("../resources/icon.png"))
self.statusBar().showMessage('Ready')
self.init_menubar()
self.init_toolbar()
okButton = QPushButton("OK")
cancelButton = QPushButton("Cancel")
hbox = QHBoxLayout()
hbox.addStretch(1)
hbox.addWidget(okButton)
hbox.addWidget(cancelButton)
"""hbox.addWidget(okButton)
hbox.addWidget(cancelButton)"""
self.liberation_map = QLiberationMap()
hbox.addWidget(self.liberation_map)
vbox = QVBoxLayout()
@@ -40,13 +42,20 @@ class QLiberationWindow(QMainWindow):
self.setCentralWidget(central_widget)
def init_toolbar(self):
self.tool_bar = self.addToolBar("File")
self.tool_bar.addAction(QIcon(CONST.ICONS["New"]), "New")
self.tool_bar.addAction(QIcon(CONST.ICONS["Open"]), "Open")
self.tool_bar.addAction(QIcon(CONST.ICONS["Save"]), "Save")
def init_menubar(self):
self.menu = self.menuBar()
file_menu = self.menu.addMenu("File")
file_menu.addAction("New Game")
file_menu.addAction("Open")
file_menu.addAction("Save")
file_menu.addAction(QIcon(CONST.ICONS["New"]), "New Game")
file_menu.addAction(QIcon(CONST.ICONS["Open"]), "Open")
file_menu.addAction(QIcon(CONST.ICONS["Save"]), "Save")
file_menu.addAction("Save As")
help_menu = self.menu.addMenu("Help")
@@ -57,3 +66,24 @@ class QLiberationWindow(QMainWindow):
help_menu.addAction("Contribute", lambda: webbrowser.open_new_tab(URLS["Repository"]))
help_menu.addAction("Forum Thread", lambda: webbrowser.open_new_tab(URLS["ForumThread"]))
help_menu.addAction("Report an issue", lambda: webbrowser.open_new_tab(URLS["Issues"]))
displayMenu = self.menu.addMenu("Display")
tg_cp_visibility = QAction('Control Point', displayMenu)
tg_cp_visibility.setCheckable(True)
tg_cp_visibility.setChecked(True)
tg_cp_visibility.toggled.connect(lambda: QLiberationMap.set_display_rule("cp", tg_cp_visibility.isChecked()))
tg_go_visibility = QAction('Ground Objects', displayMenu)
tg_go_visibility.setCheckable(True)
tg_go_visibility.setChecked(True)
tg_go_visibility.toggled.connect(lambda: QLiberationMap.set_display_rule("go", tg_go_visibility.isChecked()))
tg_line_visibility = QAction('Lines', displayMenu)
tg_line_visibility.setCheckable(True)
tg_line_visibility.setChecked(True)
tg_line_visibility.toggled.connect(lambda: QLiberationMap.set_display_rule("lines", tg_line_visibility.isChecked()))
displayMenu.addAction(tg_go_visibility)
displayMenu.addAction(tg_cp_visibility)
displayMenu.addAction(tg_line_visibility)