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):
|
def save_as(self):
|
||||||
self.open_file_dialog()
|
self.open_file_dialog()
|
||||||
self.save()
|
self.save()
|
||||||
|
|
@ -247,6 +254,7 @@ class CreateTableForSaveAs:
|
||||||
self.create_table_calibration_parameters(cnx, cur)
|
self.create_table_calibration_parameters(cnx, cur)
|
||||||
self.create_table_calibration(cnx, cur)
|
self.create_table_calibration(cnx, cur)
|
||||||
self.create_table_inversion(cnx, cur)
|
self.create_table_inversion(cnx, cur)
|
||||||
|
self.create_table_notes(cnx, cur)
|
||||||
|
|
||||||
cnx.commit()
|
cnx.commit()
|
||||||
|
|
||||||
|
|
@ -625,3 +633,25 @@ class CreateTableForSaveAs:
|
||||||
cnx.commit()
|
cnx.commit()
|
||||||
|
|
||||||
logger.info(f"table Inversion : {time.time() - start_table_Inversion} sec")
|
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_sediment_data()
|
||||||
self.read_table_table_calibration_parameters()
|
self.read_table_table_calibration_parameters()
|
||||||
self.read_table_table_calibration()
|
self.read_table_table_calibration()
|
||||||
|
self.read_table_table_notes()
|
||||||
|
|
||||||
logger.debug(f"Reading '{stg.filename_open}' done")
|
logger.debug(f"Reading '{stg.filename_open}' done")
|
||||||
|
|
||||||
|
|
@ -705,3 +706,16 @@ class ReadTableForOpen:
|
||||||
stg.FCB = np_f64_parse(next(it)).tolist()
|
stg.FCB = np_f64_parse(next(it)).tolist()
|
||||||
stg.depth_real = np_f64_parse(next(it)).tolist()
|
stg.depth_real = np_f64_parse(next(it)).tolist()
|
||||||
stg.lin_reg = 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
|
import logging
|
||||||
|
|
||||||
from PyQt5.QtWidgets import (
|
from PyQt5.QtWidgets import (
|
||||||
|
|
@ -6,7 +7,7 @@ from PyQt5.QtWidgets import (
|
||||||
QSizePolicy, QFontComboBox, QColorDialog
|
QSizePolicy, QFontComboBox, QColorDialog
|
||||||
)
|
)
|
||||||
from PyQt5.QtGui import QPixmap, QIcon, QFont
|
from PyQt5.QtGui import QPixmap, QIcon, QFont
|
||||||
from PyQt5.QtCore import Qt
|
from PyQt5.QtCore import Qt, QTimer
|
||||||
|
|
||||||
import settings as stg
|
import settings as stg
|
||||||
|
|
||||||
|
|
@ -18,13 +19,13 @@ class NoteTab(QWidget):
|
||||||
|
|
||||||
''' This class generates a enhanced notepad in Note Tab '''
|
''' 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):
|
def __init__(self, widget_tab):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
|
||||||
path_icon = "./icons/"
|
self.changed = False
|
||||||
|
|
||||||
# FIXME: The note are disabled because there are never saved
|
|
||||||
widget_tab.setEnabled(False)
|
|
||||||
|
|
||||||
self.verticalLayout_main_note_tab = QVBoxLayout(widget_tab)
|
self.verticalLayout_main_note_tab = QVBoxLayout(widget_tab)
|
||||||
|
|
||||||
|
|
@ -36,96 +37,104 @@ class NoteTab(QWidget):
|
||||||
self.filename_text = ""
|
self.filename_text = ""
|
||||||
|
|
||||||
self.pushbutton_new_txt = QPushButton()
|
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.setIcon(QIcon(self.icon_new_txt))
|
||||||
# self.pushbutton_new_txt.clicked.connect(self.new_text)
|
# self.pushbutton_new_txt.clicked.connect(self.new_text)
|
||||||
self.horizontalLayout_toolbar.addWidget(self.pushbutton_new_txt)
|
self.horizontalLayout_toolbar.addWidget(self.pushbutton_new_txt)
|
||||||
|
|
||||||
self.pushbutton_save_txt = QPushButton()
|
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.setIcon(QIcon(self.icon_save_txt))
|
||||||
# self.pushbutton_save_txt.clicked.connect(self.save_text)
|
# self.pushbutton_save_txt.clicked.connect(self.save_text)
|
||||||
self.horizontalLayout_toolbar.addWidget(self.pushbutton_save_txt)
|
self.horizontalLayout_toolbar.addWidget(self.pushbutton_save_txt)
|
||||||
|
|
||||||
self.pushbutton_open_txt = QPushButton()
|
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.setIcon(QIcon(self.icon_open_txt))
|
||||||
# self.pushbutton_open_txt.clicked.connect(self.open_text)
|
# self.pushbutton_open_txt.clicked.connect(self.open_text)
|
||||||
self.horizontalLayout_toolbar.addWidget(self.pushbutton_open_txt)
|
self.horizontalLayout_toolbar.addWidget(self.pushbutton_open_txt)
|
||||||
|
|
||||||
self.fontbox = QFontComboBox()
|
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.horizontalLayout_toolbar.addWidget(self.fontbox)
|
||||||
|
|
||||||
self.fontSize = QSpinBox()
|
self.fontSize = QSpinBox()
|
||||||
self.fontSize.setSuffix("pt")
|
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.fontSize.setValue(14)
|
||||||
self.horizontalLayout_toolbar.addWidget(self.fontSize)
|
self.horizontalLayout_toolbar.addWidget(self.fontSize)
|
||||||
|
|
||||||
self.fontColor = QPushButton()
|
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.fontColor.setIcon(QIcon(self.icon_fontColor))
|
||||||
# self.QAction(QIcon("couleur_police.png"), "Changer la couleur du texte", self)couleur_fond.png
|
# self.QAction(QIcon("couleur_police.png"), "Changer la couleur du texte", self)couleur_fond.png
|
||||||
self.fontColor.clicked.connect(self.fontColorChanged)
|
self.fontColor.clicked.connect(self.fontColorChanged)
|
||||||
self.horizontalLayout_toolbar.addWidget(self.fontColor)
|
self.horizontalLayout_toolbar.addWidget(self.fontColor)
|
||||||
|
|
||||||
self.backColor = QPushButton()
|
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.setIcon(QIcon(self.icon_backColor))
|
||||||
self.backColor.clicked.connect(self.highlight)
|
self.backColor.clicked.connect(self.highlight)
|
||||||
self.horizontalLayout_toolbar.addWidget(self.backColor)
|
self.horizontalLayout_toolbar.addWidget(self.backColor)
|
||||||
|
|
||||||
self.boldAction = QPushButton()
|
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.setIcon(QIcon(self.icon_boldAction))
|
||||||
self.boldAction.clicked.connect(self.bold)
|
self.boldAction.clicked.connect(self.bold)
|
||||||
self.horizontalLayout_toolbar.addWidget(self.boldAction)
|
self.horizontalLayout_toolbar.addWidget(self.boldAction)
|
||||||
|
|
||||||
self.italicAction = QPushButton()
|
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.setIcon(QIcon(self.icon_italicAction))
|
||||||
self.italicAction.clicked.connect(self.italic)
|
self.italicAction.clicked.connect(self.italic)
|
||||||
self.horizontalLayout_toolbar.addWidget(self.italicAction)
|
self.horizontalLayout_toolbar.addWidget(self.italicAction)
|
||||||
|
|
||||||
self.underlineAction = QPushButton()
|
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.setIcon(QIcon(self.icon_underlineAction))
|
||||||
self.underlineAction.clicked.connect(self.underline)
|
self.underlineAction.clicked.connect(self.underline)
|
||||||
self.horizontalLayout_toolbar.addWidget(self.underlineAction)
|
self.horizontalLayout_toolbar.addWidget(self.underlineAction)
|
||||||
|
|
||||||
self.strikeAction = QPushButton()
|
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.setIcon(QIcon(self.icon_strikeAction))
|
||||||
self.strikeAction.clicked.connect(self.strike)
|
self.strikeAction.clicked.connect(self.strike)
|
||||||
self.horizontalLayout_toolbar.addWidget(self.strikeAction)
|
self.horizontalLayout_toolbar.addWidget(self.strikeAction)
|
||||||
|
|
||||||
self.alignLeftAction = QPushButton()
|
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.setIcon(QIcon(self.icon_alignLeftAction))
|
||||||
self.alignLeftAction.clicked.connect(self.alignLeft)
|
self.alignLeftAction.clicked.connect(self.alignLeft)
|
||||||
self.horizontalLayout_toolbar.addWidget(self.alignLeftAction)
|
self.horizontalLayout_toolbar.addWidget(self.alignLeftAction)
|
||||||
|
|
||||||
self.alignCenterAction = QPushButton()
|
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.setIcon(QIcon(self.icon_alignCenterAction))
|
||||||
self.alignCenterAction.clicked.connect(self.alignCenter)
|
self.alignCenterAction.clicked.connect(self.alignCenter)
|
||||||
self.horizontalLayout_toolbar.addWidget(self.alignCenterAction)
|
self.horizontalLayout_toolbar.addWidget(self.alignCenterAction)
|
||||||
|
|
||||||
self.alignRightAction = QPushButton()
|
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.setIcon(QIcon(self.icon_alignRightAction))
|
||||||
self.alignRightAction.clicked.connect(self.alignRight)
|
self.alignRightAction.clicked.connect(self.alignRight)
|
||||||
self.horizontalLayout_toolbar.addWidget(self.alignRightAction)
|
self.horizontalLayout_toolbar.addWidget(self.alignRightAction)
|
||||||
|
|
||||||
self.alignJustifyAction = QPushButton()
|
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.setIcon(QIcon(self.icon_alignJustifyAction))
|
||||||
self.alignJustifyAction.clicked.connect(self.alignJustify)
|
self.alignJustifyAction.clicked.connect(self.alignJustify)
|
||||||
self.horizontalLayout_toolbar.addWidget(self.alignJustifyAction)
|
self.horizontalLayout_toolbar.addWidget(self.alignJustifyAction)
|
||||||
|
|
||||||
self.horizontalSpacerItem_toolbar_note_tab = QSpacerItem(500, 10, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
self.horizontalSpacerItem_toolbar_note_tab = QSpacerItem(
|
||||||
self.horizontalLayout_toolbar.addItem(self.horizontalSpacerItem_toolbar_note_tab)
|
500, 10, QSizePolicy.Expanding, QSizePolicy.Minimum
|
||||||
|
)
|
||||||
|
self.horizontalLayout_toolbar.addItem(
|
||||||
|
self.horizontalSpacerItem_toolbar_note_tab
|
||||||
|
)
|
||||||
|
|
||||||
self.pushbutton_print_settings = QPushButton()
|
self.pushbutton_print_settings = QPushButton()
|
||||||
self.pushbutton_print_settings.setText("EDIT SETTINGS")
|
self.pushbutton_print_settings.setText("EDIT SETTINGS")
|
||||||
|
|
@ -134,19 +143,40 @@ class NoteTab(QWidget):
|
||||||
|
|
||||||
self.verticalLayout_main_note_tab.addWidget(self.textEdit)
|
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 ----------
|
## ---------- Functions ----------
|
||||||
## -------------------------------
|
## -------------------------------
|
||||||
|
|
||||||
@trace
|
@trace
|
||||||
def full_update(self):
|
def full_update(self):
|
||||||
logger.debug(f"{__name__}: Update")
|
|
||||||
self.blockSignals(True)
|
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)
|
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):
|
# def new_text(self):
|
||||||
# window = self.ui_mainwindow.tab5
|
# window = self.ui_mainwindow.tab5
|
||||||
# window.show()
|
# window.show()
|
||||||
|
|
|
||||||
10
main.py
10
main.py
|
|
@ -125,16 +125,6 @@ class MainApplication(QMainWindow):
|
||||||
for tab in self.tabs:
|
for tab in self.tabs:
|
||||||
tab.full_update()
|
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__':
|
if __name__ == '__main__':
|
||||||
# print("sys.argv:", [arg for arg in sys.argv])
|
# print("sys.argv:", [arg for arg in sys.argv])
|
||||||
# app = MainApplication(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
|
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_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
|
SSC_sand = [] # Suspended Sediment Concentration of the sand sediments # List of one 3D array
|
||||||
|
|
||||||
|
# =========================================================
|
||||||
|
# --- ACOUSTIC NOTES TAB ---
|
||||||
|
# =========================================================
|
||||||
|
|
||||||
|
notes = ""
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue