diff --git a/.gitignore b/.gitignore index a5ff878ee3f49c1e2b0337ef3a64781d22aff80f..42969e702cabc91d9e3c77c543aae0886e0de637 100644 --- a/.gitignore +++ b/.gitignore @@ -37,5 +37,8 @@ tags __pycache__/ +# Database +soitool/Database + # Compiled bytecode of Python source files *.pyc diff --git a/soitool/main_window.py b/soitool/main_window.py new file mode 100644 index 0000000000000000000000000000000000000000..762ed255714fda7dcf32a3314c9e418051c69c7f --- /dev/null +++ b/soitool/main_window.py @@ -0,0 +1,88 @@ +"""Hovedvinduet.""" +import sys +import os +from PySide2.QtWidgets import QTabWidget, QWidget, QMainWindow, \ + QApplication, QHBoxLayout, QVBoxLayout, QPushButton, QTreeWidget, QLabel +from PySide2 import QtGui + + +class MainWindow(QMainWindow): + """MainWindow, skallet til hele applikasjonen.""" + + def __init__(self): + super().__init__() + self.setGeometry(100, 100, 800, 800) + self.setWindowTitle("SOI-tool") + + # flytt ut til egen funksjon, for setup av menubar + menu = self.menuBar() + file_menu = menu.addMenu("SOI") + codebook = menu.addMenu("Kodebok") + hjelp = menu.addMenu("Hjelp") + # Hadde egentlig help her, men "klagegutten" klagde på det + + file_menu.addAction("Åpne") + file_menu.addAction("Åpne fra DB") + file_menu.addAction("Forhåndsvis") + file_menu.addAction("Lagre i DB") + file_menu.addAction("Eksporter") + + codebook.addAction("Liten Kodebok") + codebook.addAction("Stor Kodebok") + + hjelp.addAction("Hurtigtaster") + hjelp.addAction("Enkel bruk") + + # Legger til MainWidget som en tab, kanskje flytt ut til egen funksjon + tabs = QTabWidget() + tab = MainWidget() + + tabs.addTab(tab, "MainTab") + self.setCentralWidget(tabs) + + # Add HV logo + filename = 'media/HVlogo.PNG' + dirname = os.path.dirname(__file__) + filepath = os.path.join(dirname, filename) + self.setWindowIcon(QtGui.QIcon(filepath)) + + +class MainWidget(QWidget): + """Hovedwidget til applikasjonen, dette er det som blir tabs.""" + + def __init__(self): + super().__init__() + layout1 = QHBoxLayout() + layout2 = QVBoxLayout() + + new_module = QPushButton("Ny modul") + tree_view = QTreeWidget() + setup = QPushButton("Oppsett") + layout2.addWidget(tree_view) + layout2.addWidget(new_module) + layout2.addWidget(setup) + + view = ViewArea() + layout1.addLayout(layout2, 2) + layout1.addWidget(view, 8) + + self.setLayout(layout1) + + +class ViewArea(QWidget): + """Widget som kan byttes ut med view, edit etc.""" + + def __init__(self): + super().__init__() + test = QLabel("Test") + layout = QHBoxLayout() + layout.addWidget(test) + self.setLayout(layout) + + +app = QApplication([]) + +WINDOW = MainWindow() # PYLINT klagde på window, så det ble WINDOW +WINDOW.show() + +sys.exit(app.exec_()) diff --git a/soitool/media/HVlogo.png b/soitool/media/HVlogo.png new file mode 100644 index 0000000000000000000000000000000000000000..51fcf84a20c11e69e3c7d80c1dd79a959885bdb4 Binary files /dev/null and b/soitool/media/HVlogo.png differ