Notes: Add notes to SQL save file.
parent
96144d88ee
commit
69eb051270
|
|
@ -195,6 +195,13 @@ class CreateTableForSaveAs:
|
|||
)
|
||||
"""
|
||||
|
||||
self.create_Notes = """
|
||||
CREATE TABLE Notes(
|
||||
ID INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
notes TEXT
|
||||
)
|
||||
"""
|
||||
|
||||
def save_as(self):
|
||||
self.open_file_dialog()
|
||||
self.save()
|
||||
|
|
@ -247,6 +254,7 @@ class CreateTableForSaveAs:
|
|||
self.create_table_calibration_parameters(cnx, cur)
|
||||
self.create_table_calibration(cnx, cur)
|
||||
self.create_table_inversion(cnx, cur)
|
||||
self.create_table_notes(cnx, cur)
|
||||
|
||||
cnx.commit()
|
||||
|
||||
|
|
@ -625,3 +633,25 @@ class CreateTableForSaveAs:
|
|||
cnx.commit()
|
||||
|
||||
logger.info(f"table Inversion : {time.time() - start_table_Inversion} sec")
|
||||
|
||||
def create_table_notes(self, cnx, cur):
|
||||
start_table = time.time()
|
||||
|
||||
cur.execute("DROP TABLE if exists Notes")
|
||||
|
||||
cur.execute(self.create_Notes)
|
||||
|
||||
for i in range(len(stg.SSC_fine)):
|
||||
cur.execute(
|
||||
"""
|
||||
INSERT into Notes(
|
||||
notes
|
||||
)
|
||||
VALUES(?)
|
||||
""",
|
||||
(stg.notes,)
|
||||
)
|
||||
|
||||
cnx.commit()
|
||||
|
||||
logger.info(f"table Notes : {time.time() - start_table} sec")
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@ class ReadTableForOpen:
|
|||
self.read_table_table_sediment_data()
|
||||
self.read_table_table_calibration_parameters()
|
||||
self.read_table_table_calibration()
|
||||
self.read_table_table_notes()
|
||||
|
||||
logger.debug(f"Reading '{stg.filename_open}' done")
|
||||
|
||||
|
|
@ -705,3 +706,16 @@ class ReadTableForOpen:
|
|||
stg.FCB = np_f64_parse(next(it)).tolist()
|
||||
stg.depth_real = np_f64_parse(next(it)).tolist()
|
||||
stg.lin_reg = np_f64_parse(next(it)).tolist()
|
||||
|
||||
@trace
|
||||
def read_table_table_notes(self):
|
||||
np_f64_parse = lambda d: np.frombuffer(d, dtype=np.float64)
|
||||
|
||||
query = f'''
|
||||
SELECT notes
|
||||
FROM Notes
|
||||
'''
|
||||
|
||||
data = self.execute(query)
|
||||
if len(data) != 0:
|
||||
stg.notes = data[0][0]
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import os
|
||||
import logging
|
||||
|
||||
from PyQt5.QtWidgets import (
|
||||
|
|
@ -6,7 +7,7 @@ from PyQt5.QtWidgets import (
|
|||
QSizePolicy, QFontComboBox, QColorDialog
|
||||
)
|
||||
from PyQt5.QtGui import QPixmap, QIcon, QFont
|
||||
from PyQt5.QtCore import Qt
|
||||
from PyQt5.QtCore import Qt, QTimer
|
||||
|
||||
import settings as stg
|
||||
|
||||
|
|
@ -18,13 +19,13 @@ class NoteTab(QWidget):
|
|||
|
||||
''' This class generates a enhanced notepad in Note Tab '''
|
||||
|
||||
def _path_icon(self, icon):
|
||||
return os.path.join("icons", icon)
|
||||
|
||||
def __init__(self, widget_tab):
|
||||
super().__init__()
|
||||
|
||||
path_icon = "./icons/"
|
||||
|
||||
# FIXME: The note are disabled because there are never saved
|
||||
widget_tab.setEnabled(False)
|
||||
self.changed = False
|
||||
|
||||
self.verticalLayout_main_note_tab = QVBoxLayout(widget_tab)
|
||||
|
||||
|
|
@ -36,96 +37,104 @@ class NoteTab(QWidget):
|
|||
self.filename_text = ""
|
||||
|
||||
self.pushbutton_new_txt = QPushButton()
|
||||
self.icon_new_txt = QPixmap(path_icon + "new_text.png")
|
||||
self.icon_new_txt = QPixmap(self._path_icon("new_text.png"))
|
||||
self.pushbutton_new_txt.setIcon(QIcon(self.icon_new_txt))
|
||||
# self.pushbutton_new_txt.clicked.connect(self.new_text)
|
||||
self.horizontalLayout_toolbar.addWidget(self.pushbutton_new_txt)
|
||||
|
||||
self.pushbutton_save_txt = QPushButton()
|
||||
self.icon_save_txt = QPixmap(path_icon + "save_txt.png")
|
||||
self.icon_save_txt = QPixmap(self._path_icon("save_txt.png"))
|
||||
self.pushbutton_save_txt.setIcon(QIcon(self.icon_save_txt))
|
||||
# self.pushbutton_save_txt.clicked.connect(self.save_text)
|
||||
self.horizontalLayout_toolbar.addWidget(self.pushbutton_save_txt)
|
||||
|
||||
self.pushbutton_open_txt = QPushButton()
|
||||
self.icon_open_txt = QPixmap(path_icon + "open_txt.png")
|
||||
self.icon_open_txt = QPixmap(self._path_icon("open_txt.png"))
|
||||
self.pushbutton_open_txt.setIcon(QIcon(self.icon_open_txt))
|
||||
# self.pushbutton_open_txt.clicked.connect(self.open_text)
|
||||
self.horizontalLayout_toolbar.addWidget(self.pushbutton_open_txt)
|
||||
|
||||
self.fontbox = QFontComboBox()
|
||||
self.fontbox.currentFontChanged.connect(lambda font : self.textEdit.setCurrentFont(font))
|
||||
self.fontbox.currentFontChanged.connect(
|
||||
lambda font : self.textEdit.setCurrentFont(font)
|
||||
)
|
||||
self.horizontalLayout_toolbar.addWidget(self.fontbox)
|
||||
|
||||
self.fontSize = QSpinBox()
|
||||
self.fontSize.setSuffix("pt")
|
||||
self.fontSize.valueChanged.connect(lambda size: self.textEdit.setFontPointSize(size))
|
||||
self.fontSize.valueChanged.connect(
|
||||
lambda size: self.textEdit.setFontPointSize(size)
|
||||
)
|
||||
self.fontSize.setValue(14)
|
||||
self.horizontalLayout_toolbar.addWidget(self.fontSize)
|
||||
|
||||
self.fontColor = QPushButton()
|
||||
self.icon_fontColor = QPixmap(path_icon + "font_color.png")
|
||||
self.icon_fontColor = QPixmap(self._path_icon("font_color.png"))
|
||||
self.fontColor.setIcon(QIcon(self.icon_fontColor))
|
||||
# self.QAction(QIcon("couleur_police.png"), "Changer la couleur du texte", self)couleur_fond.png
|
||||
self.fontColor.clicked.connect(self.fontColorChanged)
|
||||
self.horizontalLayout_toolbar.addWidget(self.fontColor)
|
||||
|
||||
self.backColor = QPushButton()
|
||||
self.icon_backColor = QPixmap(path_icon + "background_color.png")
|
||||
self.icon_backColor = QPixmap(self._path_icon("background_color.png"))
|
||||
self.backColor.setIcon(QIcon(self.icon_backColor))
|
||||
self.backColor.clicked.connect(self.highlight)
|
||||
self.horizontalLayout_toolbar.addWidget(self.backColor)
|
||||
|
||||
self.boldAction = QPushButton()
|
||||
self.icon_boldAction = QPixmap(path_icon + "bold.png")
|
||||
self.icon_boldAction = QPixmap(self._path_icon("bold.png"))
|
||||
self.boldAction.setIcon(QIcon(self.icon_boldAction))
|
||||
self.boldAction.clicked.connect(self.bold)
|
||||
self.horizontalLayout_toolbar.addWidget(self.boldAction)
|
||||
|
||||
self.italicAction = QPushButton()
|
||||
self.icon_italicAction = QPixmap(path_icon + "italic.png")
|
||||
self.icon_italicAction = QPixmap(self._path_icon("italic.png"))
|
||||
self.italicAction.setIcon(QIcon(self.icon_italicAction))
|
||||
self.italicAction.clicked.connect(self.italic)
|
||||
self.horizontalLayout_toolbar.addWidget(self.italicAction)
|
||||
|
||||
self.underlineAction = QPushButton()
|
||||
self.icon_underlineAction = QPixmap(path_icon + "underline.png")
|
||||
self.icon_underlineAction = QPixmap(self._path_icon("underline.png"))
|
||||
self.underlineAction.setIcon(QIcon(self.icon_underlineAction))
|
||||
self.underlineAction.clicked.connect(self.underline)
|
||||
self.horizontalLayout_toolbar.addWidget(self.underlineAction)
|
||||
|
||||
self.strikeAction = QPushButton()
|
||||
self.icon_strikeAction = QPixmap(path_icon + "strike.png")
|
||||
self.icon_strikeAction = QPixmap(self._path_icon("strike.png"))
|
||||
self.strikeAction.setIcon(QIcon(self.icon_strikeAction))
|
||||
self.strikeAction.clicked.connect(self.strike)
|
||||
self.horizontalLayout_toolbar.addWidget(self.strikeAction)
|
||||
|
||||
self.alignLeftAction = QPushButton()
|
||||
self.icon_alignLeftAction = QPixmap(path_icon + "left.png")
|
||||
self.icon_alignLeftAction = QPixmap(self._path_icon("left.png"))
|
||||
self.alignLeftAction.setIcon(QIcon(self.icon_alignLeftAction))
|
||||
self.alignLeftAction.clicked.connect(self.alignLeft)
|
||||
self.horizontalLayout_toolbar.addWidget(self.alignLeftAction)
|
||||
|
||||
self.alignCenterAction = QPushButton()
|
||||
self.icon_alignCenterAction = QPixmap(path_icon + "centre.png")
|
||||
self.icon_alignCenterAction = QPixmap(self._path_icon("centre.png"))
|
||||
self.alignCenterAction.setIcon(QIcon(self.icon_alignCenterAction))
|
||||
self.alignCenterAction.clicked.connect(self.alignCenter)
|
||||
self.horizontalLayout_toolbar.addWidget(self.alignCenterAction)
|
||||
|
||||
self.alignRightAction = QPushButton()
|
||||
self.icon_alignRightAction = QPixmap(path_icon + "right.png")
|
||||
self.icon_alignRightAction = QPixmap(self._path_icon("right.png"))
|
||||
self.alignRightAction.setIcon(QIcon(self.icon_alignRightAction))
|
||||
self.alignRightAction.clicked.connect(self.alignRight)
|
||||
self.horizontalLayout_toolbar.addWidget(self.alignRightAction)
|
||||
|
||||
self.alignJustifyAction = QPushButton()
|
||||
self.icon_alignJustifyAction = QPixmap(path_icon + "justify.png")
|
||||
self.icon_alignJustifyAction = QPixmap(self._path_icon("justify.png"))
|
||||
self.alignJustifyAction.setIcon(QIcon(self.icon_alignJustifyAction))
|
||||
self.alignJustifyAction.clicked.connect(self.alignJustify)
|
||||
self.horizontalLayout_toolbar.addWidget(self.alignJustifyAction)
|
||||
|
||||
self.horizontalSpacerItem_toolbar_note_tab = QSpacerItem(500, 10, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
||||
self.horizontalLayout_toolbar.addItem(self.horizontalSpacerItem_toolbar_note_tab)
|
||||
self.horizontalSpacerItem_toolbar_note_tab = QSpacerItem(
|
||||
500, 10, QSizePolicy.Expanding, QSizePolicy.Minimum
|
||||
)
|
||||
self.horizontalLayout_toolbar.addItem(
|
||||
self.horizontalSpacerItem_toolbar_note_tab
|
||||
)
|
||||
|
||||
self.pushbutton_print_settings = QPushButton()
|
||||
self.pushbutton_print_settings.setText("EDIT SETTINGS")
|
||||
|
|
@ -134,19 +143,40 @@ class NoteTab(QWidget):
|
|||
|
||||
self.verticalLayout_main_note_tab.addWidget(self.textEdit)
|
||||
|
||||
self.textEdit.textChanged.connect(self.setTextChanged)
|
||||
|
||||
self._alarm = QTimer()
|
||||
self._alarm.timeout.connect(self.applyTextOnStg)
|
||||
self._alarm.start(1000)
|
||||
|
||||
## -------------------------------
|
||||
## ---------- Functions ----------
|
||||
## -------------------------------
|
||||
|
||||
@trace
|
||||
def full_update(self):
|
||||
logger.debug(f"{__name__}: Update")
|
||||
self.blockSignals(True)
|
||||
self.textEdit.blockSignals(True)
|
||||
self._alarm.blockSignals(True)
|
||||
|
||||
# TODO: Update all widgets
|
||||
logger.debug(f"{__name__}: Update")
|
||||
|
||||
self.applyStgOnText()
|
||||
|
||||
self._alarm.blockSignals(False)
|
||||
self.textEdit.blockSignals(False)
|
||||
self.blockSignals(False)
|
||||
|
||||
def setTextChanged(self):
|
||||
self.changed = True
|
||||
|
||||
def applyTextOnStg(self):
|
||||
text = self.textEdit.toHtml()
|
||||
stg.notes = text
|
||||
|
||||
def applyStgOnText(self):
|
||||
text = self.textEdit.setText(stg.notes)
|
||||
|
||||
# def new_text(self):
|
||||
# window = self.ui_mainwindow.tab5
|
||||
# window.show()
|
||||
|
|
|
|||
10
main.py
10
main.py
|
|
@ -125,16 +125,6 @@ class MainApplication(QMainWindow):
|
|||
for tab in self.tabs:
|
||||
tab.full_update()
|
||||
|
||||
# self.acoustic_data_tab.combobox_ABS_system_choice.setCurrentText(stg.ABS_name[0])
|
||||
# self.acoustic_data_tab.fileListWidget.addFilenames(stg.filename_BS_raw_data)
|
||||
|
||||
# self.signal_processing_tab.combobox_acoustic_data_choice.addItems(stg.filename_BS_raw_data)
|
||||
|
||||
# self.sample_data_tab.fill_comboboxes_and_plot_transect()
|
||||
# self.sample_data_tab.lineEdit_fine_sediment.setText(stg.filename_fine)
|
||||
# self.sample_data_tab.lineEdit_fine_sediment.setToolTip(stg.path_fine)
|
||||
# self.sample_data_tab.fill_table_fine()
|
||||
|
||||
if __name__ == '__main__':
|
||||
# print("sys.argv:", [arg for arg in sys.argv])
|
||||
# app = MainApplication(sys.argv)
|
||||
|
|
|
|||
|
|
@ -265,3 +265,9 @@ fine_sample_position = [] # Fine samples indexes position for time and dep
|
|||
sand_sample_position = [] # Sand samples indexes position for time and depth [(time_index, depth_index)] # List of tuples
|
||||
SSC_fine = [] # Suspended Sediment Concentration of the fine sediments # List of one 3D array
|
||||
SSC_sand = [] # Suspended Sediment Concentration of the sand sediments # List of one 3D array
|
||||
|
||||
# =========================================================
|
||||
# --- ACOUSTIC NOTES TAB ---
|
||||
# =========================================================
|
||||
|
||||
notes = ""
|
||||
|
|
|
|||
Loading…
Reference in New Issue