This commit is contained in:
2023-09-13 03:40:02 +08:00
commit e84f2bec81
20 changed files with 1205 additions and 0 deletions

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>LogItemDetails</class>
<widget class="QWidget" name="LogItemDetails">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>603</width>
<height>469</height>
</rect>
</property>
<property name="windowTitle">
<string notr="true">LogItemDetails</string>
</property>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,35 @@
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'logItemDetails.ui'
##
## Created by: Qt User Interface Compiler version 6.5.2
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
QMetaObject, QObject, QPoint, QRect,
QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QFont, QFontDatabase, QGradient, QIcon,
QImage, QKeySequence, QLinearGradient, QPainter,
QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QSizePolicy, QWidget)
class Ui_LogItemDetails(object):
def setupUi(self, LogItemDetails):
if not LogItemDetails.objectName():
LogItemDetails.setObjectName(u"LogItemDetails")
LogItemDetails.resize(603, 469)
LogItemDetails.setWindowTitle(u"LogItemDetails")
self.retranslateUi(LogItemDetails)
QMetaObject.connectSlotsByName(LogItemDetails)
# setupUi
def retranslateUi(self, LogItemDetails):
pass
# retranslateUi

View File

@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>LogViewer</class>
<widget class="QWidget" name="LogViewer">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>597</width>
<height>443</height>
</rect>
</property>
<property name="windowTitle">
<string notr="true">LogViewer</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QFrame" name="frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout" columnstretch="0,1,0,0,1">
<item row="0" column="3">
<widget class="QLabel" name="label">
<property name="text">
<string>Group</string>
</property>
</widget>
</item>
<item row="0" column="4">
<widget class="QComboBox" name="groupComboBox"/>
</item>
<item row="0" column="0">
<widget class="QLabel" name="levelLabel">
<property name="text">
<string>INFO</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSlider" name="levelSlider">
<property name="maximum">
<number>5</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="pageStep">
<number>1</number>
</property>
<property name="value">
<number>2</number>
</property>
<property name="tracking">
<bool>true</bool>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition">
<enum>QSlider::TicksBelow</enum>
</property>
</widget>
</item>
<item row="0" column="2">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>25</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QTreeView" name="logTreeView"/>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,88 @@
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'logViewer.ui'
##
## Created by: Qt User Interface Compiler version 6.5.2
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
QMetaObject, QObject, QPoint, QRect,
QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QFont, QFontDatabase, QGradient, QIcon,
QImage, QKeySequence, QLinearGradient, QPainter,
QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QComboBox, QFrame, QGridLayout,
QHeaderView, QLabel, QSizePolicy, QSlider,
QSpacerItem, QTreeView, QVBoxLayout, QWidget)
class Ui_LogViewer(object):
def setupUi(self, LogViewer):
if not LogViewer.objectName():
LogViewer.setObjectName(u"LogViewer")
LogViewer.resize(597, 443)
LogViewer.setWindowTitle(u"LogViewer")
self.verticalLayout = QVBoxLayout(LogViewer)
self.verticalLayout.setObjectName(u"verticalLayout")
self.frame = QFrame(LogViewer)
self.frame.setObjectName(u"frame")
self.frame.setFrameShape(QFrame.StyledPanel)
self.frame.setFrameShadow(QFrame.Raised)
self.gridLayout = QGridLayout(self.frame)
self.gridLayout.setObjectName(u"gridLayout")
self.label = QLabel(self.frame)
self.label.setObjectName(u"label")
self.gridLayout.addWidget(self.label, 0, 3, 1, 1)
self.groupComboBox = QComboBox(self.frame)
self.groupComboBox.setObjectName(u"groupComboBox")
self.gridLayout.addWidget(self.groupComboBox, 0, 4, 1, 1)
self.levelLabel = QLabel(self.frame)
self.levelLabel.setObjectName(u"levelLabel")
self.gridLayout.addWidget(self.levelLabel, 0, 0, 1, 1)
self.levelSlider = QSlider(self.frame)
self.levelSlider.setObjectName(u"levelSlider")
self.levelSlider.setMaximum(5)
self.levelSlider.setSingleStep(1)
self.levelSlider.setPageStep(1)
self.levelSlider.setValue(2)
self.levelSlider.setTracking(True)
self.levelSlider.setOrientation(Qt.Horizontal)
self.levelSlider.setTickPosition(QSlider.TicksBelow)
self.gridLayout.addWidget(self.levelSlider, 0, 1, 1, 1)
self.horizontalSpacer = QSpacerItem(25, 10, QSizePolicy.Preferred, QSizePolicy.Minimum)
self.gridLayout.addItem(self.horizontalSpacer, 0, 2, 1, 1)
self.gridLayout.setColumnStretch(1, 1)
self.gridLayout.setColumnStretch(4, 1)
self.verticalLayout.addWidget(self.frame)
self.logTreeView = QTreeView(LogViewer)
self.logTreeView.setObjectName(u"logTreeView")
self.verticalLayout.addWidget(self.logTreeView)
self.retranslateUi(LogViewer)
QMetaObject.connectSlotsByName(LogViewer)
# setupUi
def retranslateUi(self, LogViewer):
self.label.setText(QCoreApplication.translate("LogViewer", u"Group", None))
self.levelLabel.setText(QCoreApplication.translate("LogViewer", u"INFO", None))
pass
# retranslateUi

View File

@ -0,0 +1,33 @@
from PySide6.QtWidgets import QWidget
from project import Project
from .projectEntry_ui import Ui_ProjectEntry
class ProjectEntry(Ui_ProjectEntry, QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.setupUi(self)
self.project = None
def setProject(self, project: Project):
self.project = project
self.updateLabels()
def updateLabels(self):
if not self.project:
self.projectNameLabel.setText("-")
self.projectDescriptionLabel.setText("-")
return
self.projectNameLabel.setText(self.project.name)
self.projectDescriptionLabel.setText(
"<br>".join(
[
str(self.project.path.resolve()),
f"{len(self.project.sources)} sources",
f"{len(self.project.samples)} samples ({len(self.project.samplesUnclassified)} unclassified)",
]
)
)

View File

@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ProjectEntry</class>
<widget class="QWidget" name="ProjectEntry">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>605</width>
<height>488</height>
</rect>
</property>
<property name="windowTitle">
<string>projectEntry</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tabManage">
<attribute name="title">
<string>Manage</string>
</attribute>
<layout class="QGridLayout" name="gridLayout">
<item row="2" column="0">
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>Extract</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="projectNameLabel">
<property name="font">
<font>
<pointsize>14</pointsize>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>-</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="pushButton_2">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="QLabel" name="projectDescriptionLabel">
<property name="text">
<string>-</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="2">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabClassify">
<attribute name="title">
<string>Classify</string>
</attribute>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="SamplesListWidget" name="unclassifiedListWidget"/>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QListWidget" name="tagsListWidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item>
<widget class="SamplesListWidget" name="classfiedListWidget"/>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>SamplesListWidget</class>
<extends>QListWidget</extends>
<header>ui.components.samplesListWidget</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,117 @@
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'projectEntry.ui'
##
## Created by: Qt User Interface Compiler version 6.5.2
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
QMetaObject, QObject, QPoint, QRect,
QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QFont, QFontDatabase, QGradient, QIcon,
QImage, QKeySequence, QLinearGradient, QPainter,
QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QGridLayout, QHBoxLayout, QLabel,
QListWidget, QListWidgetItem, QPushButton, QSizePolicy,
QSpacerItem, QTabWidget, QVBoxLayout, QWidget)
from ui.components.samplesListWidget import SamplesListWidget
class Ui_ProjectEntry(object):
def setupUi(self, ProjectEntry):
if not ProjectEntry.objectName():
ProjectEntry.setObjectName(u"ProjectEntry")
ProjectEntry.resize(605, 488)
self.verticalLayout = QVBoxLayout(ProjectEntry)
self.verticalLayout.setObjectName(u"verticalLayout")
self.tabWidget = QTabWidget(ProjectEntry)
self.tabWidget.setObjectName(u"tabWidget")
self.tabManage = QWidget()
self.tabManage.setObjectName(u"tabManage")
self.gridLayout = QGridLayout(self.tabManage)
self.gridLayout.setObjectName(u"gridLayout")
self.pushButton = QPushButton(self.tabManage)
self.pushButton.setObjectName(u"pushButton")
self.gridLayout.addWidget(self.pushButton, 2, 0, 1, 1)
self.projectNameLabel = QLabel(self.tabManage)
self.projectNameLabel.setObjectName(u"projectNameLabel")
font = QFont()
font.setPointSize(14)
font.setBold(True)
self.projectNameLabel.setFont(font)
self.gridLayout.addWidget(self.projectNameLabel, 0, 0, 1, 2)
self.pushButton_2 = QPushButton(self.tabManage)
self.pushButton_2.setObjectName(u"pushButton_2")
self.gridLayout.addWidget(self.pushButton_2, 2, 1, 1, 1)
self.projectDescriptionLabel = QLabel(self.tabManage)
self.projectDescriptionLabel.setObjectName(u"projectDescriptionLabel")
self.gridLayout.addWidget(self.projectDescriptionLabel, 1, 0, 1, 2)
self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
self.gridLayout.addItem(self.verticalSpacer, 3, 0, 1, 2)
self.tabWidget.addTab(self.tabManage, "")
self.tabClassify = QWidget()
self.tabClassify.setObjectName(u"tabClassify")
self.horizontalLayout = QHBoxLayout(self.tabClassify)
self.horizontalLayout.setObjectName(u"horizontalLayout")
self.unclassifiedListWidget = SamplesListWidget(self.tabClassify)
self.unclassifiedListWidget.setObjectName(u"unclassifiedListWidget")
self.horizontalLayout.addWidget(self.unclassifiedListWidget)
self.verticalLayout_2 = QVBoxLayout()
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
self.tagsListWidget = QListWidget(self.tabClassify)
self.tagsListWidget.setObjectName(u"tagsListWidget")
sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.tagsListWidget.sizePolicy().hasHeightForWidth())
self.tagsListWidget.setSizePolicy(sizePolicy)
self.verticalLayout_2.addWidget(self.tagsListWidget)
self.classfiedListWidget = SamplesListWidget(self.tabClassify)
self.classfiedListWidget.setObjectName(u"classfiedListWidget")
self.verticalLayout_2.addWidget(self.classfiedListWidget)
self.horizontalLayout.addLayout(self.verticalLayout_2)
self.tabWidget.addTab(self.tabClassify, "")
self.verticalLayout.addWidget(self.tabWidget)
self.retranslateUi(ProjectEntry)
self.tabWidget.setCurrentIndex(0)
QMetaObject.connectSlotsByName(ProjectEntry)
# setupUi
def retranslateUi(self, ProjectEntry):
ProjectEntry.setWindowTitle(QCoreApplication.translate("ProjectEntry", u"projectEntry", None))
self.pushButton.setText(QCoreApplication.translate("ProjectEntry", u"Extract", None))
self.projectNameLabel.setText(QCoreApplication.translate("ProjectEntry", u"-", None))
self.pushButton_2.setText(QCoreApplication.translate("ProjectEntry", u"...", None))
self.projectDescriptionLabel.setText(QCoreApplication.translate("ProjectEntry", u"-", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabManage), QCoreApplication.translate("ProjectEntry", u"Manage", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabClassify), QCoreApplication.translate("ProjectEntry", u"Classify", None))
# retranslateUi

View File

@ -0,0 +1,6 @@
from PySide6.QtWidgets import QListWidget
class SamplesListWidget(QListWidget):
def __init__(self, parent=None):
super().__init__(parent)