64 lines
1.5 KiB
Python
64 lines
1.5 KiB
Python
import re
|
|
|
|
from PyQt6.QtWidgets import *
|
|
from PyQt6.QtCore import *
|
|
from PyQt6.QtGui import *
|
|
import sys
|
|
|
|
from bigtext import BigText
|
|
from logFileModel import LogFileModel
|
|
|
|
MAX_LINE_LENGTH = 4096
|
|
|
|
|
|
class MainWindow(QMainWindow):
|
|
def __init__(self, *args, **kwargs):
|
|
super(MainWindow, self).__init__(*args, **kwargs)
|
|
|
|
self.setWindowTitle("RavenLog")
|
|
self.setGeometry(0, 0, 640, 480)
|
|
self.setDockNestingEnabled(True)
|
|
|
|
self.setCentralWidget(self.create_tabs())
|
|
self.addToolBar(QToolBar("main toolbar"))
|
|
self.setStatusBar(QStatusBar(self))
|
|
self.setMenuBar(self.create_menu_bar())
|
|
|
|
@staticmethod
|
|
def create_tabs() -> QTabWidget:
|
|
tabs = QTabWidget()
|
|
tabs.setTabsClosable(True)
|
|
|
|
|
|
#model = LogFileModel("/home/andi/ws/performanceDb/data/production/logs_2018-09-06_2018-09-06.csv")
|
|
model = LogFileModel("/home/andi/ws/ravenlog/example.log")
|
|
big_text = BigText(model)
|
|
tabs.addTab(big_text, QIcon("icons/tables.png"), "tables")
|
|
|
|
return tabs
|
|
|
|
def create_menu_bar(self) -> QMenuBar:
|
|
menu_bar = QMenuBar()
|
|
|
|
file_menu = QMenu("File", self)
|
|
close_action = QAction("Close", self)
|
|
close_action.triggered.connect(self.close)
|
|
|
|
file_menu.addAction(close_action)
|
|
|
|
menu_bar.addMenu(file_menu)
|
|
|
|
return menu_bar
|
|
|
|
def onMyToolBarButtonClick(self, s) -> None:
|
|
print("click", s)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
app = QApplication(sys.argv)
|
|
|
|
window = MainWindow()
|
|
window.show()
|
|
|
|
app.exec()
|