[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 numpy import unique
|
||||
|
||||
from file_handler import FileHandler
|
||||
from file_handler import FileHandler, NodeType
|
||||
import constants as cnst
|
||||
import communicator as comm
|
||||
from central_widget import CentralWidget
|
||||
@ -13,7 +13,7 @@ class NixView(QMainWindow):
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(NixView, self).__init__(*args, **kwargs)
|
||||
|
||||
self._current_item = None
|
||||
self.setWindowTitle("NixView")
|
||||
self.setWindowIcon(QIcon('./icons/nixview.icns'))
|
||||
|
||||
@ -26,11 +26,19 @@ class NixView(QMainWindow):
|
||||
self.setCentralWidget(self._cw)
|
||||
|
||||
comm.communicator.open_recent.connect(self.on_open_recent)
|
||||
comm.communicator.item_selected.connect(self.on_item_selected)
|
||||
self.show()
|
||||
|
||||
def on_open_recent(self, 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):
|
||||
self._file_open_action = QAction(QIcon("./icons/nix_open.png"), "Open", self)
|
||||
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.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_menu()
|
||||
|
||||
@ -57,6 +76,9 @@ class NixView(QMainWindow):
|
||||
self._toolbar.addAction(self._file_open_action)
|
||||
self._toolbar.addAction(self._file_close_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)
|
||||
|
||||
def create_menu(self):
|
||||
@ -65,6 +87,11 @@ class NixView(QMainWindow):
|
||||
file_menu.addAction(self._file_open_action)
|
||||
file_menu.addAction(self._file_close_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)
|
||||
|
||||
def _update_recent_files(self, filename):
|
||||
@ -81,6 +108,7 @@ class NixView(QMainWindow):
|
||||
del settings
|
||||
|
||||
def open_file(self, filename):
|
||||
self._current_item = None
|
||||
success, msg = self._file_handler.open(filename)
|
||||
self.statusBar().showMessage(msg, 5000)
|
||||
if success:
|
||||
@ -99,6 +127,7 @@ class NixView(QMainWindow):
|
||||
def on_file_close(self, s):
|
||||
self._file_handler.close()
|
||||
self._cw.reset()
|
||||
self._current_item = None
|
||||
self._file_close_action.setEnabled(False)
|
||||
self.statusBar().showMessage("Successfully closed current file", 1000)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user