Skip to content

Commit

Permalink
Merge pull request #14 from nodedge/feature/dats
Browse files Browse the repository at this point in the history
Feature/dats
  • Loading branch information
nodedge committed Nov 9, 2022
2 parents d677f2b + f414a59 commit 99bdd52
Show file tree
Hide file tree
Showing 22 changed files with 1,229 additions and 37 deletions.
10 changes: 7 additions & 3 deletions .idea/nodedge.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .isort.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ include_trailing_comma = True
force_grid_wrap=0
use_parentheses=True

known_third_party = PIL,PyQt5,PySide2,PySide6,black,coloredlogs,graphene,numpy,pandas,pylab,pyqtconsole,pyqtgraph,pytest,pytestqt,recommonmark,scipy,setuptools,yaml
known_third_party = PIL,PySide6,black,coloredlogs,graphene,numpy,pandas,pylab,pyqtconsole,pyqtgraph,pytest,pytestqt,recommonmark,scipy,setuptools,yaml

2 changes: 1 addition & 1 deletion demos/demo_pqtgraph.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import pyqtgraph as pg
from PySide2 import QtWidgets
from PySide6 import QtWidgets


class WdgPlot(QtWidgets.QWidget):
Expand Down
8 changes: 4 additions & 4 deletions demos/demo_qtcharts.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@
import sys

import pandas as pd
from PySide2.QtCharts import QtCharts
from PySide2.QtCore import (
from PySide6.QtCharts import QtCharts
from PySide6.QtCore import (
QAbstractTableModel,
QDateTime,
QModelIndex,
Qt,
QTimeZone,
Slot,
)
from PySide2.QtGui import QColor, QPainter
from PySide2.QtWidgets import (
from PySide6.QtGui import QColor, QPainter
from PySide6.QtWidgets import (
QAction,
QApplication,
QHBoxLayout,
Expand Down
8 changes: 3 additions & 5 deletions examples/calculator/main_code_generation.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import os
import sys

from PySide2.QtGui import QColor, QPalette
from PySide2.QtWidgets import QApplication
from PySide6.QtGui import QColor, QPalette
from PySide6.QtWidgets import QApplication

from nodedge.mdi_window import MdiWindow
from nodedge.scene_coder import SceneCoder
Expand Down Expand Up @@ -34,9 +34,7 @@
orderedNodeList, currentSceneCode = coder.generateCode()
print(currentSceneCode)

generatedFileString = coder.addImports(
orderedNodeList, currentSceneCode
)
generatedFileString = coder.addImports(orderedNodeList, currentSceneCode)

try:
sys.exit(app.exec_())
Expand Down
3 changes: 0 additions & 3 deletions mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@ ignore_missing_imports = True

[mypy-coloredlogs.*]
ignore_missing_imports = True
;
;[mypy-PySide2.*]
;ignore_missing_imports = True

[mypy-numpy.*]
ignore_missing_imports = True
Expand Down
2 changes: 1 addition & 1 deletion nodedge/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from nodedge.utils import dumpException

sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..")) # noqa: E402
os.environ["QT_API"] = "pyside"
os.environ["QT_API"] = "pyside6"


def main():
Expand Down
Empty file added nodedge/dats/__init__.py
Empty file.
8 changes: 8 additions & 0 deletions nodedge/dats/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"Workbook1": {
"Worksheet1": [
{},
{}
]
}
}
59 changes: 59 additions & 0 deletions nodedge/dats/logs_list_widget.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import logging
from typing import Optional

import pandas as pd
from asammdf import MDF
from PySide6.QtCore import Signal
from PySide6.QtWidgets import QListWidget, QListWidgetItem, QMessageBox


class LogsListWidget(QListWidget):
logSelected = Signal(object)

def __init__(self, parent=None):
super().__init__(parent)

self.logs = {}

self.itemClicked.connect(self.onItemClicked) # type: ignore

def addLog(self, filename) -> Optional[MDF]:
shortname = filename.split("/")[-1]
extension = shortname.split(".")[-1]
shortname = shortname.split(".")[0]

log: MDF
if extension.lower() == "mf4":
log = MDF(filename)
elif extension.lower() == "csv":
df = pd.read_csv(filename)

log = MDF()

log.append(df)
else:
logging.warning("Cannot open this extension")
return None

startTimeStr = log.start_time.strftime("%Y/%m/%D, %H:%M:%S")
shortname = f"[{startTimeStr}] {shortname}"

if shortname in list(self.logs.keys()):
msgBox = QMessageBox()
msgBox.setText("The log has already been loaded.")
msgBox.setIcon(QMessageBox.Warning) # type: ignore
msgBox.exec()
return log

self.logs.update({shortname: log})
item = QListWidgetItem(shortname)
item.setToolTip(startTimeStr)
self.addItem(item)

self.logSelected.emit(log) # type: ignore
self.setCurrentItem(item)

return log

def onItemClicked(self, item):
self.logSelected.emit(self.logs[item.text()]) # type: ignore
18 changes: 18 additions & 0 deletions nodedge/dats/logs_widget.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
from PySide6.QtWidgets import QPushButton, QVBoxLayout, QWidget

from nodedge.dats.logs_list_widget import LogsListWidget


class LogsWidget(QWidget):
def __init__(self, parent=None):
super().__init__(parent)

self.layout = QVBoxLayout()
self.layout.setContentsMargins(1, 1, 1, 1)
self.layout.setSpacing(1)
self.logsListWidget = LogsListWidget()
self.layout.addWidget(self.logsListWidget)
self.openButton = QPushButton("Open")
self.layout.addWidget(self.openButton)

self.setLayout(self.layout)
13 changes: 13 additions & 0 deletions nodedge/dats/n_plot_data_item.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from pyqtgraph import PlotDataItem
from PySide6.QtGui import QMouseEvent


class NPlotDataItem(PlotDataItem):
def __init__(self, *args, **kargs):
super().__init__(*args, **kargs)

def mouseClickEvent(self, ev: QMouseEvent):
super().mouseClickEvent(ev)

def setData(self, *args, **kargs):
super().setData(*args, **kargs)

0 comments on commit 99bdd52

Please sign in to comment.