[main] actions for table and plot display
This commit is contained in:
parent
6ce5ab5d5f
commit
ff8bb6a58b
@ -4,7 +4,7 @@ from PyQt5.QtGui import QIcon, QKeySequence
|
|||||||
from PyQt5.QtCore import QSize, QSettings
|
from PyQt5.QtCore import QSize, QSettings
|
||||||
from numpy import unique
|
from numpy import unique
|
||||||
|
|
||||||
from file_handler import FileHandler
|
from file_handler import FileHandler, NodeType
|
||||||
import constants as cnst
|
import constants as cnst
|
||||||
import communicator as comm
|
import communicator as comm
|
||||||
from central_widget import CentralWidget
|
from central_widget import CentralWidget
|
||||||
@ -13,7 +13,7 @@ class NixView(QMainWindow):
|
|||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super(NixView, self).__init__(*args, **kwargs)
|
super(NixView, self).__init__(*args, **kwargs)
|
||||||
|
self._current_item = None
|
||||||
self.setWindowTitle("NixView")
|
self.setWindowTitle("NixView")
|
||||||
self.setWindowIcon(QIcon('./icons/nixview.icns'))
|
self.setWindowIcon(QIcon('./icons/nixview.icns'))
|
||||||
|
|
||||||
@ -26,11 +26,19 @@ class NixView(QMainWindow):
|
|||||||
self.setCentralWidget(self._cw)
|
self.setCentralWidget(self._cw)
|
||||||
|
|
||||||
comm.communicator.open_recent.connect(self.on_open_recent)
|
comm.communicator.open_recent.connect(self.on_open_recent)
|
||||||
|
comm.communicator.item_selected.connect(self.on_item_selected)
|
||||||
self.show()
|
self.show()
|
||||||
|
|
||||||
def on_open_recent(self, event):
|
def on_open_recent(self, event):
|
||||||
self.open_file(event)
|
self.open_file(event)
|
||||||
|
|
||||||
|
def on_item_selected(self, current):
|
||||||
|
self._current_item = current
|
||||||
|
current_item_type = current._node_descriptor.entity_type
|
||||||
|
enable = current_item_type == NodeType.MultiTag or current_item_type == NodeType.DataArray or current_item_type == NodeType.Tag
|
||||||
|
self._plot_action.setEnabled(enable)
|
||||||
|
self._table_action.setEnabled(enable)
|
||||||
|
|
||||||
def create_actions(self):
|
def create_actions(self):
|
||||||
self._file_open_action = QAction(QIcon("./icons/nix_open.png"), "Open", self)
|
self._file_open_action = QAction(QIcon("./icons/nix_open.png"), "Open", self)
|
||||||
self._file_open_action.setStatusTip("Open nix file")
|
self._file_open_action.setStatusTip("Open nix file")
|
||||||
@ -47,6 +55,17 @@ class NixView(QMainWindow):
|
|||||||
self._quit_action.setStatusTip("Close current file and quit")
|
self._quit_action.setStatusTip("Close current file and quit")
|
||||||
self._quit_action.triggered.connect(self.on_quit)
|
self._quit_action.triggered.connect(self.on_quit)
|
||||||
|
|
||||||
|
self._plot_action = QAction(QIcon("./icons/nix_plot.png"), "Plot", self)
|
||||||
|
self._plot_action.setStatusTip("Plot currently selected entity")
|
||||||
|
self._plot_action.setShortcut(QKeySequence("Ctrl+p"))
|
||||||
|
self._plot_action.setEnabled(False)
|
||||||
|
self._plot_action.triggered.connect(self.on_item_plot)
|
||||||
|
|
||||||
|
self._table_action = QAction(QIcon("./icons/nix_table.png"), "Show table", self)
|
||||||
|
self._table_action.setStatusTip("Show data as table")
|
||||||
|
self._table_action.setShortcut(QKeySequence("Ctrl+t"))
|
||||||
|
self._table_action.setEnabled(False)
|
||||||
|
# self._table_action.triggered.connect(self.on_file_close)
|
||||||
self.create_toolbar()
|
self.create_toolbar()
|
||||||
self.create_menu()
|
self.create_menu()
|
||||||
|
|
||||||
@ -57,6 +76,9 @@ class NixView(QMainWindow):
|
|||||||
self._toolbar.addAction(self._file_open_action)
|
self._toolbar.addAction(self._file_open_action)
|
||||||
self._toolbar.addAction(self._file_close_action)
|
self._toolbar.addAction(self._file_close_action)
|
||||||
self._toolbar.addAction(self._quit_action)
|
self._toolbar.addAction(self._quit_action)
|
||||||
|
self._toolbar.addSeparator()
|
||||||
|
self._toolbar.addAction(self._plot_action)
|
||||||
|
self._toolbar.addAction(self._table_action)
|
||||||
self.addToolBar(self._toolbar)
|
self.addToolBar(self._toolbar)
|
||||||
|
|
||||||
def create_menu(self):
|
def create_menu(self):
|
||||||
@ -65,6 +87,11 @@ class NixView(QMainWindow):
|
|||||||
file_menu.addAction(self._file_open_action)
|
file_menu.addAction(self._file_open_action)
|
||||||
file_menu.addAction(self._file_close_action)
|
file_menu.addAction(self._file_close_action)
|
||||||
file_menu.addAction(self._quit_action)
|
file_menu.addAction(self._quit_action)
|
||||||
|
|
||||||
|
plot_menu = menu.addMenu("&Plot")
|
||||||
|
plot_menu.addAction(self._plot_action)
|
||||||
|
plot_menu.addAction(self._table_action)
|
||||||
|
|
||||||
self.setMenuBar(menu)
|
self.setMenuBar(menu)
|
||||||
|
|
||||||
def _update_recent_files(self, filename):
|
def _update_recent_files(self, filename):
|
||||||
@ -81,6 +108,7 @@ class NixView(QMainWindow):
|
|||||||
del settings
|
del settings
|
||||||
|
|
||||||
def open_file(self, filename):
|
def open_file(self, filename):
|
||||||
|
self._current_item = None
|
||||||
success, msg = self._file_handler.open(filename)
|
success, msg = self._file_handler.open(filename)
|
||||||
self.statusBar().showMessage(msg, 5000)
|
self.statusBar().showMessage(msg, 5000)
|
||||||
if success:
|
if success:
|
||||||
@ -99,6 +127,7 @@ class NixView(QMainWindow):
|
|||||||
def on_file_close(self, s):
|
def on_file_close(self, s):
|
||||||
self._file_handler.close()
|
self._file_handler.close()
|
||||||
self._cw.reset()
|
self._cw.reset()
|
||||||
|
self._current_item = None
|
||||||
self._file_close_action.setEnabled(False)
|
self._file_close_action.setEnabled(False)
|
||||||
self.statusBar().showMessage("Successfully closed current file", 1000)
|
self.statusBar().showMessage("Successfully closed current file", 1000)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user