From 59ba6394925ddeff44d5001295ea45a9cbe29329 Mon Sep 17 00:00:00 2001 From: Yan <3yanyanyan@gmail.com> Date: Thu, 16 Jul 2020 13:46:10 +0200 Subject: [PATCH] Implemented PaintFig into reactivitytools --- prasopes/config.py | 8 +++++++- prasopes/reactivitytools.py | 29 +++++++++-------------------- prasopes/zcetools.py | 2 +- 3 files changed, 17 insertions(+), 22 deletions(-) diff --git a/prasopes/config.py b/prasopes/config.py index f6c37de..f743f56 100644 --- a/prasopes/config.py +++ b/prasopes/config.py @@ -19,14 +19,20 @@ def settings(): ("print/zcespec_xinch", 5), ("print/zcespec_yinch", 2), ("print/zcespec_dpi", 300), + ("print/reactspecspec_xinch", 3.5), + ("print/reactspecspec_yinch", 2), + ("print/reactspecspec_dpi", 300), ("imggen/msspec_xinch", 10), ("imggen/msspec_yinch", 4), ("imggen/msspec_dpi", 300), ("imggen/msspec_xtics", 5), + ("imggen/msspec_onlymanann", False), ("imggen/zcespec_xinch", 5), ("imggen/zcespec_yinch", 2), ("imggen/zcespec_dpi", 300), - ("imggen/msspec_onlymanann", False), + ("imggen/reactspecspec_xinch", 3.5), + ("imggen/reactspecspec_yinch", 2), + ("imggen/reactspecspec_dpi", 300), ("reactivity/index", 0), ("recents", "")} [settings.setValue(*i) diff --git a/prasopes/reactivitytools.py b/prasopes/reactivitytools.py index 80c3427..a53cf7e 100644 --- a/prasopes/reactivitytools.py +++ b/prasopes/reactivitytools.py @@ -13,6 +13,7 @@ import prasopes.graphtools as gt import prasopes.filetools as ft import prasopes.config as cf import prasopes.drltools as drl +import prasopes.imagetools as imgt import os.path import logging matplotlib.use("Qt5Agg") @@ -65,7 +66,10 @@ class reactivityParam(QtWidgets.QHBoxLayout): def key_pressed(event, augCanvas, drls, grph, labels, parselect): if event.key() == QtCore.Qt.Key_C: if event.modifiers().__int__() == QtCore.Qt.ControlModifier: - clip_spect_img(augCanvas, drls, grph, labels, parselect) + imggen = imgt.ImagePainter("zcespec") + imggen.popfig = lambda: paint_override( + imggen, augCanvas, drls, grph, labels, parselect) + imggen.clip() def export_dial(augCanvas, drls, grph, labels, parselect): @@ -102,25 +106,10 @@ def update_parselect(augCanvas, parselect): parselect.setCurrentIndex(index) -def paint_image(augCanvas, drls, grph, labels, parselect): - paintfig = Figure(figsize=(3.5, 2), dpi=300, constrained_layout=True) - FigureCanvas(paintfig) - printplot = paintfig.add_subplot(111) - pop_dial(augCanvas, drls, printplot, labels, parselect) - printplot.set_xlim(grph.get_xlim()) - printplot.set_ylim(grph.get_ylim()) - paintfig.canvas.draw() - cache_file = BytesIO() - paintfig.savefig(cache_file) - cache_file.seek(0) - image = QtGui.QImage.fromData(cache_file.read()) - return image - - -def clip_spect_img(augCanvas, drls, grph, labels, parselect): - image = paint_image(augCanvas, drls, grph, labels, parselect) - QtWidgets.QApplication.clipboard().clear() - [QtWidgets.QApplication.clipboard().setImage(image, i) for i in range(2)] +def paint_override(self, augCanvas, drls, grph, labels, parselect): + pop_dial(augCanvas, drls, self.plot, labels, parselect) + self.plot.set_xlim(grph.get_xlim()) + self.plot.set_ylim(grph.get_ylim()) def pop_dial(augCanvas, drls, graph, labels, parselect): diff --git a/prasopes/zcetools.py b/prasopes/zcetools.py index 6e32adb..7d7cab0 100644 --- a/prasopes/zcetools.py +++ b/prasopes/zcetools.py @@ -6,11 +6,11 @@ from PyQt5 import QtGui from PyQt5 import QtWidgets from PyQt5 import QtPrintSupport from prasopes.zcetools_help import helpstr -from prasopes import imagetools as imgt from io import BytesIO import numpy as np import prasopes.graphtools as gt import prasopes.filetools as ft +import prasopes.imagetools as imgt import os.path import logging -- GitLab