forked from IPKM/nmreval
Compare commits
384 Commits
Author | SHA1 | Date | |
---|---|---|---|
90084e3481 | |||
91b2594b90 | |||
7145f9e3cd | |||
4108deb69a | |||
b2a3881fa8 | |||
1ab32af333 | |||
e1b76e837d | |||
5823ddd18c | |||
a2a95e796a | |||
8f92d8d822 | |||
6ecc789cd5 | |||
|
3ee7dca457 | ||
79d0ab1628 | |||
1162458290 | |||
c8aad904a8 | |||
b25db92cf1 | |||
403273e0d7 | |||
299bb043ea | |||
2f9cb761cf | |||
24f77f753c | |||
04d384363a | |||
ffba4900a1 | |||
80d9c7098c | |||
8d3ab75c97 | |||
24640d374e | |||
881eff2770 | |||
40746bfa7c | |||
567148b7e6 | |||
39b0fe75cb | |||
7161a17348 | |||
813e18a744 | |||
3626cfc7ea | |||
575cb5e8f6 | |||
465fb0c09a | |||
06491ff413 | |||
|
256bc20846 | ||
38a44047de | |||
d83e112515 | |||
73bdc71a83 | |||
58e86f4abc | |||
5ad6456b16 | |||
|
a1ab8ad889 | ||
57afee372f | |||
24bba43b40 | |||
694d47267d | |||
2cf94af2c4 | |||
92a3933ed4 | |||
9815c0df40 | |||
789801228a | |||
ce9bd5d2fd | |||
5b74ee1f29 | |||
036d798813 | |||
af0e0fc76f | |||
a0c07231c3 | |||
eda89b26fb | |||
c2dc4cc6b8 | |||
f7a17f22cf | |||
|
cd97dda2d4 | ||
b50200592d | |||
bfc25e33f9 | |||
772c51669d | |||
35ae571de0 | |||
bcc828efdc | |||
4df0ad6d20 | |||
adb71257ff | |||
c0dabbe9fe | |||
500e473212 | |||
3928e02b44 | |||
0c448e8ee9 | |||
6fd44a14fa | |||
9323cb8883 | |||
025b14a288 | |||
a7fed328ae | |||
a09a6bd988 | |||
6ee8d27d4a | |||
a789612eae | |||
c7855a74f4 | |||
d099253812 | |||
7c586c4bf0 | |||
0a9d596a91 | |||
49a1b0d4fa | |||
bd9288d20e | |||
223ddd4cda | |||
53349d7764 | |||
4afa7a37ca | |||
32ca840c78 | |||
a3f57fbf73 | |||
c157ebb0f9 | |||
962802ebe4 | |||
340bba747a | |||
331f700933 | |||
2a1852b4ca | |||
98c9354883 | |||
94fc92fb56 | |||
7e3541806b | |||
bd9051be00 | |||
d5293cf534 | |||
d4812a25ea | |||
a37704acc4 | |||
787d2f4c0f | |||
|
a9d284eabe | ||
|
20592e05c6 | ||
|
728eb34ca7 | ||
|
843866be45 | ||
|
aa0d14a322 | ||
|
12726e6f56 | ||
|
d146f4fe7e | ||
|
edf69b6424 | ||
|
e662dcf03c | ||
|
bb5c6a5491 | ||
|
386bc5a371 | ||
|
0c7ca0b9ba | ||
7c71061877 | |||
|
8a6c909c3e | ||
|
340d5d1038 | ||
|
c04052294c | ||
|
e063abc712 | ||
|
412708cecd | ||
|
c7a21c72f2 | ||
|
929bb80f2f | ||
|
dfe9eab817 | ||
|
d18b3ee671 | ||
|
64b270d7c1 | ||
|
8fb17b22fd | ||
|
f04cadf780 | ||
|
ae45ff2e55 | ||
|
735896e68d | ||
|
aff9cd31a7 | ||
8772fa9e7a | |||
|
9c5d91918f | ||
|
dbb35cdba4 | ||
|
070509c691 | ||
|
5ea1ed6d0a | ||
|
a1691f11a6 | ||
|
f956c111c2 | ||
|
cb2bc78a2a | ||
|
9e9751cd9d | ||
|
5a8ef8c9c7 | ||
45f5eb9bef | |||
|
5116622e42 | ||
|
661ab81d7e | ||
|
185dd160f1 | ||
|
7fe564a61e | ||
|
6339bdc2cc | ||
|
37a6d789bb | ||
|
cde794cb0d | ||
|
2a69147ed4 | ||
|
902a35b71a | ||
|
6f76349932 | ||
|
f9bb466cb3 | ||
|
a97c31325f | ||
|
207ee5bffd | ||
|
0046d04683 | ||
|
9463ed1e6c | ||
|
ea62a05bd3 | ||
|
c5706084bf | ||
|
04037d6b4d | ||
|
dedb130163 | ||
|
6ecc4a4126 | ||
|
067857eda2 | ||
|
41d90bb15f | ||
|
8d994bb9b4 | ||
|
2cbc7e8d75 | ||
|
1d22f22901 | ||
|
bd1a227e4c | ||
|
03d172bade | ||
|
e51a02d277 | ||
|
3af5cb0301 | ||
|
22f317da8d | ||
|
24b56cbd2a | ||
5fd52a1a44 | |||
|
d8e5de6b7a | ||
|
869901596b | ||
|
e4dbaf2b91 | ||
|
dee1271fe1 | ||
|
b8bab2af7b | ||
|
a406908a69 | ||
|
5e55f06723 | ||
|
e2e52cebde | ||
|
53c58b2bbb | ||
4e865cd0c6 | |||
|
311157a01a | ||
|
f0ee2073ad | ||
|
d2e63a5ee3 | ||
|
5a153585ee | ||
|
d17d0f251e | ||
|
0b8f4932b2 | ||
|
5d43ccb05d | ||
|
88a32ea7fd | ||
|
7febe55929 | ||
|
783fe505ba | ||
|
2fed4bb0bf | ||
|
ec8fafcc9c | ||
|
7762758958 | ||
|
258922772e | ||
|
e612c607e2 | ||
|
b27d9b55ff | ||
|
3475650899 | ||
|
0eca306ebe | ||
d7eaff5f0b | |||
|
a5216b1eed | ||
cf1565f7d3 | |||
|
c601e77cec | ||
|
63f4f82228 | ||
|
bae7ee2db6 | ||
|
dde7b7006d | ||
|
141e9f810a | ||
|
b6136bc8ce | ||
|
7762e299e4 | ||
|
ca130eaa14 | ||
|
2b2c6e932d | ||
|
402994e09b | ||
|
7a50028202 | ||
|
becc1a15a9 | ||
13e6112c99 | |||
|
1ff462c4b1 | ||
0cf5d7eef9 | |||
|
609f135855 | ||
|
5db6a9f2c5 | ||
|
3149a3f958 | ||
|
3321d85203 | ||
|
76cd4acfb0 | ||
|
33afc2ca94 | ||
|
ac039c1b6d | ||
|
ef21d7c7f2 | ||
|
3ed7368bb0 | ||
|
fbf4246c7e | ||
|
91afe8224f | ||
|
ead9751541 | ||
|
1d9b641f0a | ||
|
46ca50845b | ||
|
a310a78fb9 | ||
|
9756bf958b | ||
|
8de4a0cbd3 | ||
|
bc946e1027 | ||
|
1d9bf600ba | ||
|
4a04502012 | ||
|
6bcf42d6a8 | ||
|
8a96e0472d | ||
567fcfe37e | |||
|
058551cc72 | ||
|
6fd3053964 | ||
|
3ee95a1990 | ||
|
1a2f178f58 | ||
|
c39ffb8a51 | ||
a26595695c | |||
|
c9ea32629d | ||
|
032ffb72b1 | ||
|
354d5cbc99 | ||
|
22f8bc80ed | ||
|
84d588cf80 | ||
|
5b146433f3 | ||
|
1a225b2cd2 | ||
|
89c640e591 | ||
|
1703b8d514 | ||
|
7732544f69 | ||
|
988d2ccbda | ||
|
4268bdc5ae | ||
|
775b5e7e8a | ||
|
30e148de14 | ||
|
2499aac7a1 | ||
|
f934104587 | ||
|
6e976e1404 | ||
|
92c29bec2a | ||
|
9f6d4e0d0c | ||
|
90bd33a680 | ||
|
26fea8f69f | ||
|
25f7ff5616 | ||
|
bec789318d | ||
|
edc6af2762 | ||
|
eb1e657dab | ||
|
79a424c4bd | ||
|
f74dd982ba | ||
|
a5a9561b54 | ||
|
c8287c2dbf | ||
|
a8a7e75501 | ||
|
30750cc4ed | ||
|
af14793286 | ||
|
2906c17472 | ||
5590b5cd16 | |||
|
09e415babf | ||
4e2938b2a2 | |||
|
685b9d2316 | ||
|
b91fbf7621 | ||
|
8d55430246 | ||
|
8d06240205 | ||
|
65034d4518 | ||
|
2adf15104f | ||
|
cd9c85c12b | ||
|
84d136dd4c | ||
|
f60e125487 | ||
|
1e9a390ae2 | ||
|
8673e5acdb | ||
|
66a0e40a23 | ||
|
a1ab6335c5 | ||
|
09a2b61160 | ||
|
681b49a22f | ||
|
3dcd44c3ee | ||
|
6e9dd4d45f | ||
|
888d86d9fe | ||
|
67d60949b5 | ||
|
fcaf43b3eb | ||
|
49101565a3 | ||
255d7c7862 | |||
|
12dacb73b3 | ||
|
b127cc15e2 | ||
|
bc215ce32b | ||
|
996b0b2ae2 | ||
|
753cd06dd1 | ||
|
45d319834b | ||
|
11ed3c16eb | ||
|
edf858da29 | ||
|
e10b85b904 | ||
|
267554b252 | ||
|
233cdd9f80 | ||
|
15c959fd71 | ||
|
1378cf6ac7 | ||
|
a964e02612 | ||
|
a72e4ba833 | ||
|
75ec462efd | ||
|
adcd98fc31 | ||
d8cc99cea4 | |||
|
7671a56b6f | ||
|
8086dd5276 | ||
|
9479364a64 | ||
def2a99ed8 | |||
|
ac4a4d3b8e | ||
|
dd1c26e285 | ||
|
eba7869c4d | ||
|
efd5b34b13 | ||
|
2d472bd44e | ||
|
2042148d0f | ||
|
4a9d50e8a4 | ||
|
56b588293d | ||
59625c1581 | |||
|
bb3d5ac58b | ||
|
48861c3f80 | ||
|
8e2ebfc765 | ||
|
924b58beda | ||
|
bd8a4f16ea | ||
|
e41c42d573 | ||
|
c94231f9d9 | ||
|
99bb196e5c | ||
|
e5563d55d5 | ||
|
abe6ca42c7 | ||
|
40961a89df | ||
|
29518b9ea0 | ||
|
3793f67951 | ||
|
0251dea563 | ||
|
bc034cf4f4 | ||
|
3e513a1231 | ||
|
ead30d127a | ||
|
3b79c571fb | ||
|
ee8ea4f2c5 | ||
|
2c0cdfbd68 | ||
|
767fa5f6fb | ||
02f8a3bb31 | |||
|
ffecc9c873 | ||
0ec0021727 | |||
6b71de8265 | |||
43285b4bd5 | |||
2fbaa94109 | |||
ebf3e9635d | |||
79befb50f1 | |||
0adb530dc2 | |||
|
d7fd8395e5 | ||
|
75f9bc84f8 | ||
1c98676bee | |||
|
8a35a5e6cb | ||
df9b302f9d | |||
4e0ff4eddd | |||
de9464ef9f | |||
466a63990d | |||
8690cb222e | |||
28c15ff565 | |||
|
1601f1455c | ||
|
b73d6f08b8 | ||
5577adabec | |||
57ecff478b | |||
2229b2905a | |||
60c93f6bc9 | |||
|
626804783e | ||
a182d55b98 | |||
ee2a91813c |
51
.gitea/ISSUE_TEMPLATE/BUG_TEMPLATE.yml
Normal file
51
.gitea/ISSUE_TEMPLATE/BUG_TEMPLATE.yml
Normal file
@ -0,0 +1,51 @@
|
||||
name: 🐞 Bug Report
|
||||
description: File a bug/issue
|
||||
title: "[BUG] <title>"
|
||||
labels: ["Kind/Bug"]
|
||||
assignees:
|
||||
- dominik
|
||||
body:
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Current behavior
|
||||
description: A concise description of what you're experiencing.
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
attributes:
|
||||
label: Version
|
||||
description: For which version have you observed this behavior?
|
||||
placeholder: You find the program version in "Help/About"
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Expected behavior
|
||||
description: A concise description of what you expected to happen.
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
description: If possible, describe steps to reproduce the behavior.
|
||||
placeholder: |
|
||||
1. Pressed button '...'
|
||||
2. See error...
|
||||
3. Infinite sadness 😞
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Log messages
|
||||
description: |
|
||||
Please copy and paste any relevant log output.
|
||||
render: shell
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Anything else?
|
||||
description: |
|
||||
Everything else that could provide more context about the issue, e.g. screenshots.
|
||||
validations:
|
||||
required: false
|
26
.gitea/ISSUE_TEMPLATE/FEATURE_TEMPLATE.yml
Normal file
26
.gitea/ISSUE_TEMPLATE/FEATURE_TEMPLATE.yml
Normal file
@ -0,0 +1,26 @@
|
||||
name: 🙂 Feature Request
|
||||
about: Request a new feature or feature improvement
|
||||
title: "[Feature]: <title>"
|
||||
labels: ["Kind/Feature", "Kind/Enhancement"]
|
||||
assignees:
|
||||
- dominik
|
||||
body:
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Proposed Behavior
|
||||
description: A concise description of what you want to happen.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Possible benefits
|
||||
description: A concise description of why this is an benefit for users.
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Anything else?
|
||||
description: |
|
||||
Everything else that could provide more context about the issue, e.g. screenshots.
|
||||
validations:
|
||||
required: false
|
5
.gitea/ISSUE_TEMPLATE/config.yaml
Normal file
5
.gitea/ISSUE_TEMPLATE/config.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Mystery
|
||||
url: https://c.xkcd.com/random/comic/
|
||||
about: What is behind door number 3?
|
38
.gitea/workflows/build-appimage.yaml
Normal file
38
.gitea/workflows/build-appimage.yaml
Normal file
@ -0,0 +1,38 @@
|
||||
name: Build AppImage
|
||||
run-name: ${{ gitea.actor }} is building THE AppImage 🚀 # a lot of excitement for this build
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
Explore-Gitea-Actions:
|
||||
runs-on: bookworm
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v3
|
||||
- run: |
|
||||
apt-get -y update
|
||||
apt-get -y install python3-yaml python3-requests
|
||||
- name: Declare some variables
|
||||
shell: bash
|
||||
run: |
|
||||
echo "SHA_SHORT=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
|
||||
echo "YEAR=$(date +%Y)" >> $GITHUB_ENV
|
||||
- name: Build AppImage
|
||||
run: |
|
||||
echo $GO_PIPELINE_LABEL
|
||||
eval $(gpg-agent --daemon --allow-preset-passphrase --default-cache-ttl 1 --max-cache-ttl 7200)
|
||||
/usr/lib/gnupg/gpg-preset-passphrase --preset --passphrase ${GPG_PASSPHRASE} ${GPG_KEYGRIP}
|
||||
./tools/update_version.py
|
||||
./tools/build.sh
|
||||
env:
|
||||
GPG_KEYGRIP: ${{ vars.GPG_KEYGRIP }}
|
||||
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
|
||||
GO_PIPELINE_LABEL: ${{ env.YEAR }}.${{ gitea.run_number }}_${{ env.SHA_SHORT }}
|
||||
- name: Upload AppImage
|
||||
run: ./tools/upload_gitea.sh
|
||||
env:
|
||||
GO_PIPELINE_LABEL: ${{ env.YEAR }}.${{ gitea.run_number }}_${{ env.SHA_SHORT }}
|
||||
UPLOAD_TOKEN: ${{ secrets.UPLOAD_TOKEN }}
|
||||
UPLOAD_USER: ${{ vars.UPLOAD_USER }}
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,3 +5,4 @@ AppDir
|
||||
NMReval*.zsync
|
||||
.idea
|
||||
*.zs-old
|
||||
docs
|
||||
|
@ -12,7 +12,9 @@ script:
|
||||
# Copy the python application code into the AppDir
|
||||
- cp bin/evaluate.py $TARGET_APPDIR/usr/bin/
|
||||
- cp -r src/* $TARGET_APPDIR/usr/src/
|
||||
- cp src/pkm.vogel.nmreval.desktop $TARGET_APPDIR/usr/share/applications
|
||||
- cp src/resources/pkm.vogel.nmreval.desktop $TARGET_APPDIR/usr/share/applications
|
||||
# set current date as version info
|
||||
- sed -i "s/CURRENT_DATE/$(date +'%Y-%m-%d')/" $TARGET_APPDIR/usr/src/nmreval/version.py
|
||||
|
||||
|
||||
AppDir:
|
||||
@ -30,35 +32,50 @@ AppDir:
|
||||
arch: amd64
|
||||
allow_unauthenticated: true
|
||||
sources:
|
||||
- sourceline: 'deb [arch=amd64] http://mirror.infra.pkm/ bullseye main contrib non-free'
|
||||
- sourceline: 'deb [arch=amd64] http://ftp.uni-mainz.de/debian bullseye main contrib non-free'
|
||||
|
||||
include:
|
||||
# for /usr/bin/env
|
||||
- coreutils
|
||||
- dash
|
||||
- zsync
|
||||
- hicolor-icon-theme
|
||||
# - coreutils
|
||||
# - dash
|
||||
# - zsync
|
||||
# - hicolor-icon-theme
|
||||
- libatlas3-base
|
||||
- python3.9-minimal
|
||||
- gnuplot-nox
|
||||
- python3-minimal
|
||||
- python3-numpy
|
||||
- python3-scipy
|
||||
# - python3-matplotlib
|
||||
# - python-matplotlib-data
|
||||
- python3-bsddb3
|
||||
- python3-h5py
|
||||
- python3-pyqt5
|
||||
- python3-pyqtgraph
|
||||
- python3-requests
|
||||
- python3-urllib3
|
||||
# - python3-tk
|
||||
exclude:
|
||||
# lots of qt stuff we do not use
|
||||
- libqt5designer5
|
||||
- libqt5help5
|
||||
- libqt5network5
|
||||
- libqt5sql5
|
||||
- libqt5test5
|
||||
- libqt5xml5
|
||||
- qtbase5-dev-tools
|
||||
- pyqt5-dev-tools
|
||||
- libavahi-client3
|
||||
- libavahi-common-data
|
||||
- libavahi-common3
|
||||
after_bundle: |
|
||||
echo "MONSTER SED FOLLOWING...(uncomment if needed for mpl-data)"
|
||||
#sed -i s,\'/usr/share/matplotlib/mpl-data\',"f\"\{os.environ.get\('APPDIR'\,'/'\)\}/usr/share/matplotlib/mpl-data\"", ${TARGET_APPDIR}/usr/lib/python3/dist-packages/matplotlib/__init__.py
|
||||
- libwacom2
|
||||
- libwacom-common
|
||||
|
||||
files:
|
||||
exclude:
|
||||
- usr/share/man
|
||||
- usr/share/doc/*/README.*
|
||||
- usr/share/doc/*/changelog.*
|
||||
- usr/share/doc/*/NEWS.*
|
||||
- usr/share/doc/*/TODO.*
|
||||
runtime:
|
||||
# if needed, apparently replaces hardcoded location with APPDIR location
|
||||
# path_mappings:
|
||||
# - /usr/share/matplotlib/mpl-data:$APPDIR/usr/share/matplotlib/mpl-data
|
||||
version: "continuous"
|
||||
env:
|
||||
PATH: '${APPDIR}/usr/bin:${PATH}'
|
||||
@ -87,6 +104,6 @@ AppDir:
|
||||
command: ./AppRun
|
||||
|
||||
AppImage:
|
||||
update-information: 'zsync|https://gitea.pkm.physik.tu-darmstadt.de/api/packages/IPKM-Public/generic/NMReval/latest/NMReval-latest-x86_64.Appimage.zsync'
|
||||
update-information: 'zsync|https://gitea.pkm.physik.tu-darmstadt.de/api/packages/IPKM/generic/NMReval/latest/NMReval-latest-x86_64.Appimage.zsync'
|
||||
sign-key: 976AC9D78688B628B00D4944D319B98C2D6CE5D3
|
||||
arch: x86_64
|
||||
|
13
LICENSE
Normal file
13
LICENSE
Normal file
@ -0,0 +1,13 @@
|
||||
BSD 3-Clause License
|
||||
|
||||
Copyright (c) 2023 Dominik Demuth.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
22
Makefile
22
Makefile
@ -7,28 +7,34 @@ PYRCC = pyrcc5
|
||||
#Directory with ui files
|
||||
RESOURCE_DIR = src/resources/_ui
|
||||
|
||||
#Directory for compiled ui
|
||||
COMPILED_DIR = src/gui_qt/_py
|
||||
#Directory for compiled resources
|
||||
PYQT_DIR = src/gui_qt/_py
|
||||
|
||||
#UI files to compile, uses every *.ui found in RESOURCE_DIR
|
||||
UI_FILES = $(foreach dir, $(RESOURCE_DIR), $(notdir $(wildcard $(dir)/*.ui)))
|
||||
COMPILED_UI = $(UI_FILES:%.ui=$(COMPILED_DIR)/%.py)
|
||||
PYQT_UI = $(UI_FILES:%.ui=$(PYQT_DIR)/%.py)
|
||||
|
||||
SVG_FILES = $(foreach dir, $(RCC_DIR), $(notdir $(wildcard $(dir)/*.svg)))
|
||||
PNG_FILES = $(SVG_FILES:%.svg=$(RCC_DIR)/%.png)
|
||||
|
||||
all : ui
|
||||
CC = gcc
|
||||
CFLAGS = -O2 -fPIC
|
||||
LDFLAGS = -shared
|
||||
|
||||
ui : $(COMPILED_UI)
|
||||
C_DIR = src/nmreval/clib
|
||||
|
||||
all : ui compile
|
||||
|
||||
ui : $(PYQT_UI)
|
||||
|
||||
rcc : $(PNG_FILES)
|
||||
|
||||
# only one C file at the moment
|
||||
compile : $(C_DIR)/integrate.c
|
||||
$(CC) $(LDFLAGS) $(CFLAGS) -o $(C_DIR)/integrate.so $<
|
||||
|
||||
$(COMPILED_DIR)/%.py : $(RESOURCE_DIR)/%.ui
|
||||
$(PYUIC) $< -o $@
|
||||
# replace import of ressource to correct path
|
||||
# @sed -i s/images_rc/nmrevalqt.$(COMPILED_DIR).images_rc/g $@
|
||||
# @sed -i /images_rc/d $@
|
||||
|
||||
$(RCC_DIR)/%.png : $(RCC_DIR)/%.svg
|
||||
convert -background none $< $@
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
import sys
|
||||
import pathlib
|
||||
import os
|
||||
sys.path.append(str(pathlib.Path(__file__).absolute().parent.parent / 'src'))
|
||||
|
||||
from nmreval.configs import check_for_config
|
||||
@ -16,12 +17,45 @@ from nmreval.lib.logger import handle_exception
|
||||
sys.excepthook = handle_exception
|
||||
|
||||
from gui_qt import App
|
||||
from gui_qt.Qt import QtCore
|
||||
|
||||
app = App(['Team Rocket FTW!'])
|
||||
app = App(['NMReval'])
|
||||
|
||||
from gui_qt.main.mainwindow import NMRMainWindow
|
||||
from gui_qt.lib.backup import BackupManager
|
||||
|
||||
|
||||
def do_autosave():
|
||||
# autosave and update timestamp in db
|
||||
success = mplQt.autosave()
|
||||
if success:
|
||||
backuping.update_last_save()
|
||||
|
||||
# autosave stuff: keep track of instance and their backup files
|
||||
backuping = BackupManager()
|
||||
|
||||
# look for autosaves in DB without running programs
|
||||
files = backuping.search_unsaved()
|
||||
|
||||
# tell everyone what autosave files belongs to this process
|
||||
pid = os.getpid()
|
||||
bck_name = backuping.create_entry(pid)
|
||||
mplQt = NMRMainWindow(bck_file=bck_name)
|
||||
|
||||
# one manual autosave to create the file
|
||||
do_autosave()
|
||||
|
||||
# load all selected autosaves to program
|
||||
for f in files:
|
||||
mplQt.management.load_files(f)
|
||||
f.unlink()
|
||||
|
||||
timer = QtCore.QTimer()
|
||||
timer.timeout.connect(do_autosave)
|
||||
timer.start(3 * 60 * 1000)
|
||||
|
||||
app.aboutToQuit.connect(backuping.close)
|
||||
|
||||
mplQt = NMRMainWindow()
|
||||
mplQt.show()
|
||||
|
||||
sys.exit(app.exec())
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/agroptiondialog.ui'
|
||||
# Form implementation generated from reading ui file '_ui/agroptiondialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@ -290,8 +289,8 @@ class Ui_Dialog(object):
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
self.tabWidget.setCurrentIndex(0)
|
||||
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
|
||||
self.buttonBox.accepted.connect(Dialog.accept)
|
||||
self.buttonBox.rejected.connect(Dialog.reject)
|
||||
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
||||
|
||||
def retranslateUi(self, Dialog):
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/apod_dialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -14,54 +14,194 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
class Ui_ApodEdit(object):
|
||||
def setupUi(self, ApodEdit):
|
||||
ApodEdit.setObjectName("ApodEdit")
|
||||
ApodEdit.resize(784, 484)
|
||||
ApodEdit.resize(1144, 655)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(ApodEdit.sizePolicy().hasHeightForWidth())
|
||||
ApodEdit.setSizePolicy(sizePolicy)
|
||||
self.gridLayout = QtWidgets.QGridLayout(ApodEdit)
|
||||
self.gridLayout.setContentsMargins(3, 3, 3, 3)
|
||||
self.gridLayout.setContentsMargins(9, 9, 9, 9)
|
||||
self.gridLayout.setSpacing(3)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.graphicsView = PlotWidget(ApodEdit)
|
||||
self.freq_graph = NMRPlotWidget(ApodEdit)
|
||||
self.freq_graph.setObjectName("freq_graph")
|
||||
self.gridLayout.addWidget(self.freq_graph, 2, 2, 1, 1)
|
||||
self.time_graph = NMRPlotWidget(ApodEdit)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.graphicsView.sizePolicy().hasHeightForWidth())
|
||||
self.graphicsView.setSizePolicy(sizePolicy)
|
||||
self.graphicsView.setObjectName("graphicsView")
|
||||
self.gridLayout.addWidget(self.graphicsView, 2, 0, 1, 1)
|
||||
self.graphicsView_2 = PlotWidget(ApodEdit)
|
||||
self.graphicsView_2.setObjectName("graphicsView_2")
|
||||
self.gridLayout.addWidget(self.graphicsView_2, 2, 1, 1, 1)
|
||||
self.apodcombobox = QtWidgets.QComboBox(ApodEdit)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHeightForWidth(self.time_graph.sizePolicy().hasHeightForWidth())
|
||||
self.time_graph.setSizePolicy(sizePolicy)
|
||||
self.time_graph.setObjectName("time_graph")
|
||||
self.gridLayout.addWidget(self.time_graph, 2, 1, 1, 1)
|
||||
self.widget = QtWidgets.QWidget(ApodEdit)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.apodcombobox.sizePolicy().hasHeightForWidth())
|
||||
self.apodcombobox.setSizePolicy(sizePolicy)
|
||||
sizePolicy.setHeightForWidth(self.widget.sizePolicy().hasHeightForWidth())
|
||||
self.widget.setSizePolicy(sizePolicy)
|
||||
self.widget.setObjectName("widget")
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(self.widget)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.baseline_box = QtWidgets.QCheckBox(self.widget)
|
||||
self.baseline_box.setObjectName("baseline_box")
|
||||
self.verticalLayout.addWidget(self.baseline_box)
|
||||
self.shift_box = QtWidgets.QGroupBox(self.widget)
|
||||
self.shift_box.setFlat(True)
|
||||
self.shift_box.setCheckable(True)
|
||||
self.shift_box.setChecked(False)
|
||||
self.shift_box.setObjectName("shift_box")
|
||||
self.gridLayout_4 = QtWidgets.QGridLayout(self.shift_box)
|
||||
self.gridLayout_4.setContentsMargins(3, 3, 3, 3)
|
||||
self.gridLayout_4.setSpacing(3)
|
||||
self.gridLayout_4.setObjectName("gridLayout_4")
|
||||
self.ls_lineedit = QtWidgets.QLineEdit(self.shift_box)
|
||||
self.ls_lineedit.setObjectName("ls_lineedit")
|
||||
self.gridLayout_4.addWidget(self.ls_lineedit, 1, 1, 1, 1)
|
||||
self.ls_spinbox = QtWidgets.QSpinBox(self.shift_box)
|
||||
self.ls_spinbox.setMaximum(999999)
|
||||
self.ls_spinbox.setObjectName("ls_spinbox")
|
||||
self.gridLayout_4.addWidget(self.ls_spinbox, 0, 1, 1, 1)
|
||||
self.ls_combobox = QtWidgets.QComboBox(self.shift_box)
|
||||
self.ls_combobox.setObjectName("ls_combobox")
|
||||
self.ls_combobox.addItem("")
|
||||
self.ls_combobox.addItem("")
|
||||
self.gridLayout_4.addWidget(self.ls_combobox, 0, 0, 2, 1)
|
||||
self.verticalLayout.addWidget(self.shift_box)
|
||||
self.apod_box = QtWidgets.QGroupBox(self.widget)
|
||||
self.apod_box.setFlat(True)
|
||||
self.apod_box.setCheckable(True)
|
||||
self.apod_box.setChecked(False)
|
||||
self.apod_box.setObjectName("apod_box")
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.apod_box)
|
||||
self.verticalLayout_2.setContentsMargins(3, 3, 3, 3)
|
||||
self.verticalLayout_2.setSpacing(3)
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
self.apodcombobox = QtWidgets.QComboBox(self.apod_box)
|
||||
self.apodcombobox.setObjectName("apodcombobox")
|
||||
self.gridLayout.addWidget(self.apodcombobox, 0, 0, 1, 1)
|
||||
self.verticalLayout_2.addWidget(self.apodcombobox)
|
||||
self.eqn_label = QtWidgets.QLabel(self.apod_box)
|
||||
self.eqn_label.setIndent(3)
|
||||
self.eqn_label.setObjectName("eqn_label")
|
||||
self.verticalLayout_2.addWidget(self.eqn_label)
|
||||
self.widget_layout = QtWidgets.QHBoxLayout()
|
||||
self.widget_layout.setContentsMargins(-1, 6, -1, -1)
|
||||
self.widget_layout.setSpacing(20)
|
||||
self.widget_layout.setObjectName("widget_layout")
|
||||
self.gridLayout.addLayout(self.widget_layout, 1, 0, 1, 2)
|
||||
self.verticalLayout_2.addLayout(self.widget_layout)
|
||||
self.verticalLayout.addWidget(self.apod_box)
|
||||
self.zerofill_box = QtWidgets.QGroupBox(self.widget)
|
||||
self.zerofill_box.setFlat(True)
|
||||
self.zerofill_box.setCheckable(True)
|
||||
self.zerofill_box.setChecked(False)
|
||||
self.zerofill_box.setObjectName("zerofill_box")
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout(self.zerofill_box)
|
||||
self.horizontalLayout.setContentsMargins(3, 3, 3, 3)
|
||||
self.horizontalLayout.setSpacing(3)
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.label = QtWidgets.QLabel(self.zerofill_box)
|
||||
self.label.setObjectName("label")
|
||||
self.horizontalLayout.addWidget(self.label)
|
||||
self.zf_spinbox = QtWidgets.QSpinBox(self.zerofill_box)
|
||||
self.zf_spinbox.setMinimum(1)
|
||||
self.zf_spinbox.setMaximum(3)
|
||||
self.zf_spinbox.setObjectName("zf_spinbox")
|
||||
self.horizontalLayout.addWidget(self.zf_spinbox)
|
||||
self.verticalLayout.addWidget(self.zerofill_box)
|
||||
self.phase_box = QtWidgets.QGroupBox(self.widget)
|
||||
self.phase_box.setFlat(True)
|
||||
self.phase_box.setCheckable(True)
|
||||
self.phase_box.setChecked(False)
|
||||
self.phase_box.setObjectName("phase_box")
|
||||
self.gridLayout_2 = QtWidgets.QGridLayout(self.phase_box)
|
||||
self.gridLayout_2.setContentsMargins(3, 3, 3, 3)
|
||||
self.gridLayout_2.setSpacing(3)
|
||||
self.gridLayout_2.setObjectName("gridLayout_2")
|
||||
self.label_3 = QtWidgets.QLabel(self.phase_box)
|
||||
self.label_3.setObjectName("label_3")
|
||||
self.gridLayout_2.addWidget(self.label_3, 1, 0, 1, 1)
|
||||
self.label_4 = QtWidgets.QLabel(self.phase_box)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.gridLayout_2.addWidget(self.label_4, 2, 0, 1, 1)
|
||||
self.ph0_spinbox = QtWidgets.QDoubleSpinBox(self.phase_box)
|
||||
self.ph0_spinbox.setWrapping(True)
|
||||
self.ph0_spinbox.setDecimals(1)
|
||||
self.ph0_spinbox.setMinimum(-180.0)
|
||||
self.ph0_spinbox.setMaximum(180.0)
|
||||
self.ph0_spinbox.setSingleStep(0.5)
|
||||
self.ph0_spinbox.setObjectName("ph0_spinbox")
|
||||
self.gridLayout_2.addWidget(self.ph0_spinbox, 0, 1, 1, 1)
|
||||
self.pivot_lineedit = QtWidgets.QLineEdit(self.phase_box)
|
||||
self.pivot_lineedit.setObjectName("pivot_lineedit")
|
||||
self.gridLayout_2.addWidget(self.pivot_lineedit, 2, 1, 1, 1)
|
||||
self.label_2 = QtWidgets.QLabel(self.phase_box)
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.gridLayout_2.addWidget(self.label_2, 0, 0, 1, 1)
|
||||
self.ph1_spinbox = QtWidgets.QDoubleSpinBox(self.phase_box)
|
||||
self.ph1_spinbox.setWrapping(True)
|
||||
self.ph1_spinbox.setDecimals(2)
|
||||
self.ph1_spinbox.setMinimum(-720.0)
|
||||
self.ph1_spinbox.setMaximum(720.0)
|
||||
self.ph1_spinbox.setSingleStep(0.05)
|
||||
self.ph1_spinbox.setObjectName("ph1_spinbox")
|
||||
self.gridLayout_2.addWidget(self.ph1_spinbox, 1, 1, 1, 1)
|
||||
self.verticalLayout.addWidget(self.phase_box)
|
||||
self.ft_box = QtWidgets.QGroupBox(self.widget)
|
||||
self.ft_box.setCheckable(True)
|
||||
self.ft_box.setChecked(False)
|
||||
self.ft_box.setObjectName("ft_box")
|
||||
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.ft_box)
|
||||
self.verticalLayout_3.setContentsMargins(3, 3, 3, 3)
|
||||
self.verticalLayout_3.setSpacing(3)
|
||||
self.verticalLayout_3.setObjectName("verticalLayout_3")
|
||||
self.phase_before_button = QtWidgets.QRadioButton(self.ft_box)
|
||||
self.phase_before_button.setChecked(True)
|
||||
self.phase_before_button.setObjectName("phase_before_button")
|
||||
self.buttonGroup = QtWidgets.QButtonGroup(ApodEdit)
|
||||
self.buttonGroup.setObjectName("buttonGroup")
|
||||
self.buttonGroup.addButton(self.phase_before_button)
|
||||
self.verticalLayout_3.addWidget(self.phase_before_button)
|
||||
self.phase_after_button = QtWidgets.QRadioButton(self.ft_box)
|
||||
self.phase_after_button.setObjectName("phase_after_button")
|
||||
self.buttonGroup.addButton(self.phase_after_button)
|
||||
self.verticalLayout_3.addWidget(self.phase_after_button)
|
||||
self.verticalLayout.addWidget(self.ft_box)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout.addItem(spacerItem)
|
||||
self.gridLayout.addWidget(self.widget, 2, 0, 1, 1)
|
||||
self.buttonBox = QtWidgets.QDialogButtonBox(ApodEdit)
|
||||
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
|
||||
self.buttonBox.setObjectName("buttonBox")
|
||||
self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 2)
|
||||
self.eqn_label = QtWidgets.QLabel(ApodEdit)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.eqn_label.sizePolicy().hasHeightForWidth())
|
||||
self.eqn_label.setSizePolicy(sizePolicy)
|
||||
self.eqn_label.setIndent(3)
|
||||
self.eqn_label.setObjectName("eqn_label")
|
||||
self.gridLayout.addWidget(self.eqn_label, 0, 1, 1, 1)
|
||||
self.gridLayout.addWidget(self.buttonBox, 4, 1, 1, 2)
|
||||
self.log_freq_widget = QtWidgets.QWidget(ApodEdit)
|
||||
self.log_freq_widget.setObjectName("log_freq_widget")
|
||||
self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.log_freq_widget)
|
||||
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
|
||||
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_3.addItem(spacerItem1)
|
||||
self.logx_freq = QtWidgets.QCheckBox(self.log_freq_widget)
|
||||
self.logx_freq.setObjectName("logx_freq")
|
||||
self.horizontalLayout_3.addWidget(self.logx_freq)
|
||||
self.logy_freq = QtWidgets.QCheckBox(self.log_freq_widget)
|
||||
self.logy_freq.setObjectName("logy_freq")
|
||||
self.horizontalLayout_3.addWidget(self.logy_freq)
|
||||
self.gridLayout.addWidget(self.log_freq_widget, 3, 2, 1, 1)
|
||||
self.logtime_widget = QtWidgets.QWidget(ApodEdit)
|
||||
self.logtime_widget.setObjectName("logtime_widget")
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.logtime_widget)
|
||||
self.horizontalLayout_2.setContentsMargins(-1, 1, -1, -1)
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_2.addItem(spacerItem2)
|
||||
self.logx_time = QtWidgets.QCheckBox(self.logtime_widget)
|
||||
self.logx_time.setObjectName("logx_time")
|
||||
self.horizontalLayout_2.addWidget(self.logx_time)
|
||||
self.logy_time = QtWidgets.QCheckBox(self.logtime_widget)
|
||||
self.logy_time.setObjectName("logy_time")
|
||||
self.horizontalLayout_2.addWidget(self.logy_time)
|
||||
self.gridLayout.addWidget(self.logtime_widget, 3, 1, 1, 1)
|
||||
|
||||
self.retranslateUi(ApodEdit)
|
||||
self.buttonBox.accepted.connect(ApodEdit.accept) # type: ignore
|
||||
@ -71,5 +211,26 @@ class Ui_ApodEdit(object):
|
||||
def retranslateUi(self, ApodEdit):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
ApodEdit.setWindowTitle(_translate("ApodEdit", "Apodization"))
|
||||
self.baseline_box.setText(_translate("ApodEdit", "Baseline"))
|
||||
self.shift_box.setTitle(_translate("ApodEdit", "Shift"))
|
||||
self.ls_lineedit.setText(_translate("ApodEdit", "0"))
|
||||
self.ls_combobox.setItemText(0, _translate("ApodEdit", "Points"))
|
||||
self.ls_combobox.setItemText(1, _translate("ApodEdit", "Seconds"))
|
||||
self.apod_box.setTitle(_translate("ApodEdit", "Apodization"))
|
||||
self.eqn_label.setText(_translate("ApodEdit", "TextLabel"))
|
||||
from pyqtgraph import PlotWidget
|
||||
self.zerofill_box.setTitle(_translate("ApodEdit", "Zero fill"))
|
||||
self.label.setText(_translate("ApodEdit", "Double length"))
|
||||
self.zf_spinbox.setSuffix(_translate("ApodEdit", "x"))
|
||||
self.phase_box.setTitle(_translate("ApodEdit", "Phase correction"))
|
||||
self.label_3.setText(_translate("ApodEdit", "Phase 1"))
|
||||
self.label_4.setText(_translate("ApodEdit", "Pivot"))
|
||||
self.pivot_lineedit.setText(_translate("ApodEdit", "0"))
|
||||
self.label_2.setText(_translate("ApodEdit", "Phase 0"))
|
||||
self.ft_box.setTitle(_translate("ApodEdit", "Fourier transform"))
|
||||
self.phase_before_button.setText(_translate("ApodEdit", "before phase correction"))
|
||||
self.phase_after_button.setText(_translate("ApodEdit", "after phase correction"))
|
||||
self.logx_freq.setText(_translate("ApodEdit", "Log X"))
|
||||
self.logy_freq.setText(_translate("ApodEdit", "Log Y"))
|
||||
self.logx_time.setText(_translate("ApodEdit", "Log X"))
|
||||
self.logy_time.setText(_translate("ApodEdit", "Log Y"))
|
||||
from ..lib.graph_items import NMRPlotWidget
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/asciidialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -14,7 +14,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
class Ui_ascii_reader(object):
|
||||
def setupUi(self, ascii_reader):
|
||||
ascii_reader.setObjectName("ascii_reader")
|
||||
ascii_reader.resize(627, 703)
|
||||
ascii_reader.resize(665, 904)
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(ascii_reader)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.tabWidget = QtWidgets.QTabWidget(ascii_reader)
|
||||
@ -28,92 +28,25 @@ class Ui_ascii_reader(object):
|
||||
self.header_widget.setObjectName("header_widget")
|
||||
self.verticalLayout_3.addWidget(self.header_widget)
|
||||
self.groupBox = QtWidgets.QGroupBox(self.tabWidgetPage1)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.groupBox.sizePolicy().hasHeightForWidth())
|
||||
self.groupBox.setSizePolicy(sizePolicy)
|
||||
self.groupBox.setObjectName("groupBox")
|
||||
self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
|
||||
self.gridLayout.setContentsMargins(3, 3, 3, 3)
|
||||
self.gridLayout.setHorizontalSpacing(9)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.FID_radioButton = QtWidgets.QRadioButton(self.groupBox)
|
||||
self.FID_radioButton.setAutoExclusive(True)
|
||||
self.FID_radioButton.setObjectName("FID_radioButton")
|
||||
self.buttonGroup = QtWidgets.QButtonGroup(ascii_reader)
|
||||
self.buttonGroup.setObjectName("buttonGroup")
|
||||
self.buttonGroup.addButton(self.FID_radioButton)
|
||||
self.gridLayout.addWidget(self.FID_radioButton, 2, 1, 1, 1)
|
||||
self.x_lineedit = QtWidgets.QLineEdit(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.x_lineedit.sizePolicy().hasHeightForWidth())
|
||||
self.x_lineedit.setSizePolicy(sizePolicy)
|
||||
self.x_lineedit.setInputMethodHints(QtCore.Qt.ImhFormattedNumbersOnly|QtCore.Qt.ImhPreferNumbers)
|
||||
self.x_lineedit.setObjectName("x_lineedit")
|
||||
self.gridLayout.addWidget(self.x_lineedit, 1, 3, 1, 1)
|
||||
self.y_label = QtWidgets.QLabel(self.groupBox)
|
||||
self.y_label.setObjectName("y_label")
|
||||
self.gridLayout.addWidget(self.y_label, 2, 2, 1, 1)
|
||||
self.pts_radioButton = QtWidgets.QRadioButton(self.groupBox)
|
||||
self.pts_radioButton.setChecked(True)
|
||||
self.pts_radioButton.setAutoExclusive(True)
|
||||
self.pts_radioButton.setObjectName("pts_radioButton")
|
||||
self.buttonGroup.addButton(self.pts_radioButton)
|
||||
self.gridLayout.addWidget(self.pts_radioButton, 1, 1, 1, 1)
|
||||
self.deltay_lineEdit = QtWidgets.QLineEdit(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.deltay_lineEdit.sizePolicy().hasHeightForWidth())
|
||||
self.deltay_lineEdit.setSizePolicy(sizePolicy)
|
||||
self.deltay_lineEdit.setObjectName("deltay_lineEdit")
|
||||
self.gridLayout.addWidget(self.deltay_lineEdit, 3, 3, 1, 1)
|
||||
self.label_5 = QtWidgets.QLabel(self.groupBox)
|
||||
self.label_5.setObjectName("label_5")
|
||||
self.gridLayout.addWidget(self.label_5, 3, 2, 1, 1)
|
||||
self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.groupBox)
|
||||
self.horizontalLayout_4.setContentsMargins(3, 3, 3, 3)
|
||||
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
|
||||
self.verticalLayout_6 = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout_6.setObjectName("verticalLayout_6")
|
||||
self.column_checkBox = QtWidgets.QCheckBox(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.column_checkBox.sizePolicy().hasHeightForWidth())
|
||||
self.column_checkBox.setSizePolicy(sizePolicy)
|
||||
self.column_checkBox.setObjectName("column_checkBox")
|
||||
self.gridLayout.addWidget(self.column_checkBox, 0, 0, 1, 1)
|
||||
self.label = QtWidgets.QLabel(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
|
||||
self.label.setSizePolicy(sizePolicy)
|
||||
self.label.setObjectName("label")
|
||||
self.gridLayout.addWidget(self.label, 0, 1, 1, 1)
|
||||
self.label_7 = QtWidgets.QLabel(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth())
|
||||
self.label_7.setSizePolicy(sizePolicy)
|
||||
self.label_7.setObjectName("label_7")
|
||||
self.gridLayout.addWidget(self.label_7, 0, 2, 1, 2)
|
||||
self.y_lineedit = QtWidgets.QLineEdit(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.y_lineedit.sizePolicy().hasHeightForWidth())
|
||||
self.y_lineedit.setSizePolicy(sizePolicy)
|
||||
self.y_lineedit.setInputMethodHints(QtCore.Qt.ImhFormattedNumbersOnly|QtCore.Qt.ImhPreferNumbers)
|
||||
self.y_lineedit.setObjectName("y_lineedit")
|
||||
self.gridLayout.addWidget(self.y_lineedit, 2, 3, 1, 1)
|
||||
self.spectrum_radioButton = QtWidgets.QRadioButton(self.groupBox)
|
||||
self.spectrum_radioButton.setObjectName("spectrum_radioButton")
|
||||
self.buttonGroup.addButton(self.spectrum_radioButton)
|
||||
self.gridLayout.addWidget(self.spectrum_radioButton, 3, 1, 1, 1)
|
||||
self.x_label = QtWidgets.QLabel(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.x_label.sizePolicy().hasHeightForWidth())
|
||||
self.x_label.setSizePolicy(sizePolicy)
|
||||
self.x_label.setObjectName("x_label")
|
||||
self.gridLayout.addWidget(self.x_label, 1, 2, 1, 1)
|
||||
self.verticalLayout_6.addWidget(self.column_checkBox)
|
||||
self.line_spinBox = QtWidgets.QSpinBox(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
@ -122,17 +55,158 @@ class Ui_ascii_reader(object):
|
||||
self.line_spinBox.setSizePolicy(sizePolicy)
|
||||
self.line_spinBox.setMinimum(1)
|
||||
self.line_spinBox.setObjectName("line_spinBox")
|
||||
self.gridLayout.addWidget(self.line_spinBox, 1, 0, 1, 1)
|
||||
self.verticalLayout_6.addWidget(self.line_spinBox)
|
||||
self.label_6 = QtWidgets.QLabel(self.groupBox)
|
||||
self.label_6.setObjectName("label_6")
|
||||
self.verticalLayout_6.addWidget(self.label_6)
|
||||
self.preview_spinBox = QtWidgets.QSpinBox(self.groupBox)
|
||||
self.preview_spinBox.setMinimum(1)
|
||||
self.preview_spinBox.setProperty("value", 10)
|
||||
self.preview_spinBox.setObjectName("preview_spinBox")
|
||||
self.gridLayout.addWidget(self.preview_spinBox, 3, 0, 1, 1)
|
||||
self.label_6 = QtWidgets.QLabel(self.groupBox)
|
||||
self.label_6.setObjectName("label_6")
|
||||
self.gridLayout.addWidget(self.label_6, 2, 0, 1, 1)
|
||||
self.verticalLayout_6.addWidget(self.preview_spinBox)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout_6.addItem(spacerItem)
|
||||
self.horizontalLayout_4.addLayout(self.verticalLayout_6)
|
||||
self.verticalLayout_5 = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout_5.setObjectName("verticalLayout_5")
|
||||
self.label = QtWidgets.QLabel(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
|
||||
self.label.setSizePolicy(sizePolicy)
|
||||
self.label.setObjectName("label")
|
||||
self.verticalLayout_5.addWidget(self.label)
|
||||
self.pts_radioButton = QtWidgets.QRadioButton(self.groupBox)
|
||||
self.pts_radioButton.setChecked(True)
|
||||
self.pts_radioButton.setAutoExclusive(True)
|
||||
self.pts_radioButton.setObjectName("pts_radioButton")
|
||||
self.buttonGroup = QtWidgets.QButtonGroup(ascii_reader)
|
||||
self.buttonGroup.setObjectName("buttonGroup")
|
||||
self.buttonGroup.addButton(self.pts_radioButton)
|
||||
self.verticalLayout_5.addWidget(self.pts_radioButton)
|
||||
self.dsc_radioButton = QtWidgets.QRadioButton(self.groupBox)
|
||||
self.dsc_radioButton.setObjectName("dsc_radioButton")
|
||||
self.buttonGroup.addButton(self.dsc_radioButton)
|
||||
self.verticalLayout_5.addWidget(self.dsc_radioButton)
|
||||
self.FID_radioButton = QtWidgets.QRadioButton(self.groupBox)
|
||||
self.FID_radioButton.setAutoExclusive(True)
|
||||
self.FID_radioButton.setObjectName("FID_radioButton")
|
||||
self.buttonGroup.addButton(self.FID_radioButton)
|
||||
self.verticalLayout_5.addWidget(self.FID_radioButton)
|
||||
self.spectrum_radioButton = QtWidgets.QRadioButton(self.groupBox)
|
||||
self.spectrum_radioButton.setObjectName("spectrum_radioButton")
|
||||
self.buttonGroup.addButton(self.spectrum_radioButton)
|
||||
self.verticalLayout_5.addWidget(self.spectrum_radioButton)
|
||||
self.bds_radioButton = QtWidgets.QRadioButton(self.groupBox)
|
||||
self.bds_radioButton.setObjectName("bds_radioButton")
|
||||
self.buttonGroup.addButton(self.bds_radioButton)
|
||||
self.verticalLayout_5.addWidget(self.bds_radioButton)
|
||||
self.horizontalLayout_4.addLayout(self.verticalLayout_5)
|
||||
self.gridLayout_2 = QtWidgets.QGridLayout()
|
||||
self.gridLayout_2.setObjectName("gridLayout_2")
|
||||
self.deltay_lineEdit = QtWidgets.QLineEdit(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.deltay_lineEdit.sizePolicy().hasHeightForWidth())
|
||||
self.deltay_lineEdit.setSizePolicy(sizePolicy)
|
||||
self.deltay_lineEdit.setObjectName("deltay_lineEdit")
|
||||
self.gridLayout_2.addWidget(self.deltay_lineEdit, 3, 1, 1, 1)
|
||||
self.label_7 = QtWidgets.QLabel(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth())
|
||||
self.label_7.setSizePolicy(sizePolicy)
|
||||
self.label_7.setObjectName("label_7")
|
||||
self.gridLayout_2.addWidget(self.label_7, 0, 0, 1, 2)
|
||||
self.y_lineedit = QtWidgets.QLineEdit(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.y_lineedit.sizePolicy().hasHeightForWidth())
|
||||
self.y_lineedit.setSizePolicy(sizePolicy)
|
||||
self.y_lineedit.setInputMethodHints(QtCore.Qt.ImhFormattedNumbersOnly|QtCore.Qt.ImhPreferNumbers)
|
||||
self.y_lineedit.setObjectName("y_lineedit")
|
||||
self.gridLayout_2.addWidget(self.y_lineedit, 2, 1, 1, 1)
|
||||
self.y_label = QtWidgets.QLabel(self.groupBox)
|
||||
self.y_label.setObjectName("y_label")
|
||||
self.gridLayout_2.addWidget(self.y_label, 2, 0, 1, 1)
|
||||
self.x_lineedit = QtWidgets.QLineEdit(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.x_lineedit.sizePolicy().hasHeightForWidth())
|
||||
self.x_lineedit.setSizePolicy(sizePolicy)
|
||||
self.x_lineedit.setInputMethodHints(QtCore.Qt.ImhFormattedNumbersOnly|QtCore.Qt.ImhPreferNumbers)
|
||||
self.x_lineedit.setObjectName("x_lineedit")
|
||||
self.gridLayout_2.addWidget(self.x_lineedit, 1, 1, 1, 1)
|
||||
self.label_5 = QtWidgets.QLabel(self.groupBox)
|
||||
self.label_5.setObjectName("label_5")
|
||||
self.gridLayout_2.addWidget(self.label_5, 3, 0, 1, 1)
|
||||
self.x_label = QtWidgets.QLabel(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.x_label.sizePolicy().hasHeightForWidth())
|
||||
self.x_label.setSizePolicy(sizePolicy)
|
||||
self.x_label.setObjectName("x_label")
|
||||
self.gridLayout_2.addWidget(self.x_label, 1, 0, 1, 1)
|
||||
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.gridLayout_2.addItem(spacerItem1, 4, 1, 1, 1)
|
||||
self.horizontalLayout_4.addLayout(self.gridLayout_2)
|
||||
self.verticalLayout_3.addWidget(self.groupBox)
|
||||
self.dsdfsf = QtWidgets.QLabel(self.tabWidgetPage1)
|
||||
self.dsdfsf.setObjectName("dsdfsf")
|
||||
self.verticalLayout_3.addWidget(self.dsdfsf)
|
||||
self.gridLayout = QtWidgets.QGridLayout()
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.re_match_index = QtWidgets.QSpinBox(self.tabWidgetPage1)
|
||||
self.re_match_index.setMinimum(1)
|
||||
self.re_match_index.setObjectName("re_match_index")
|
||||
self.gridLayout.addWidget(self.re_match_index, 1, 3, 1, 1)
|
||||
self.label_9 = QtWidgets.QLabel(self.tabWidgetPage1)
|
||||
self.label_9.setObjectName("label_9")
|
||||
self.gridLayout.addWidget(self.label_9, 1, 2, 1, 1)
|
||||
self.regex_input = QtWidgets.QLineEdit(self.tabWidgetPage1)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.regex_input.sizePolicy().hasHeightForWidth())
|
||||
self.regex_input.setSizePolicy(sizePolicy)
|
||||
self.regex_input.setObjectName("regex_input")
|
||||
self.gridLayout.addWidget(self.regex_input, 1, 1, 1, 1)
|
||||
self.re_button = QtWidgets.QRadioButton(self.tabWidgetPage1)
|
||||
self.re_button.setChecked(True)
|
||||
self.re_button.setObjectName("re_button")
|
||||
self.buttonGroup_2 = QtWidgets.QButtonGroup(ascii_reader)
|
||||
self.buttonGroup_2.setObjectName("buttonGroup_2")
|
||||
self.buttonGroup_2.addButton(self.re_button)
|
||||
self.gridLayout.addWidget(self.re_button, 1, 0, 1, 1)
|
||||
self.custom_input = QtWidgets.QLineEdit(self.tabWidgetPage1)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.custom_input.sizePolicy().hasHeightForWidth())
|
||||
self.custom_input.setSizePolicy(sizePolicy)
|
||||
self.custom_input.setObjectName("custom_input")
|
||||
self.gridLayout.addWidget(self.custom_input, 2, 1, 1, 1)
|
||||
self.custom_button = QtWidgets.QRadioButton(self.tabWidgetPage1)
|
||||
self.custom_button.setObjectName("custom_button")
|
||||
self.buttonGroup_2.addButton(self.custom_button)
|
||||
self.gridLayout.addWidget(self.custom_button, 2, 0, 1, 1)
|
||||
self.label_8 = QtWidgets.QLabel(self.tabWidgetPage1)
|
||||
self.label_8.setWordWrap(True)
|
||||
self.label_8.setObjectName("label_8")
|
||||
self.gridLayout.addWidget(self.label_8, 0, 0, 1, 4)
|
||||
self.verticalLayout_3.addLayout(self.gridLayout)
|
||||
self.groupBox_2 = QtWidgets.QGroupBox(self.tabWidgetPage1)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.groupBox_2.sizePolicy().hasHeightForWidth())
|
||||
self.groupBox_2.setSizePolicy(sizePolicy)
|
||||
self.groupBox_2.setObjectName("groupBox_2")
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_2)
|
||||
self.verticalLayout_2.setContentsMargins(3, 3, 3, 3)
|
||||
@ -215,24 +289,19 @@ class Ui_ascii_reader(object):
|
||||
self.pushButton.setSizePolicy(sizePolicy)
|
||||
self.pushButton.setObjectName("pushButton")
|
||||
self.formLayout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.pushButton)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.formLayout.setItem(6, QtWidgets.QFormLayout.FieldRole, spacerItem)
|
||||
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.formLayout.setItem(6, QtWidgets.QFormLayout.FieldRole, spacerItem2)
|
||||
self.horizontalLayout_3.addLayout(self.formLayout)
|
||||
self.tabWidget.addTab(self.tabWidgetPage2, "")
|
||||
self.verticalLayout.addWidget(self.tabWidget)
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout.addItem(spacerItem1)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout)
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_2.setContentsMargins(-1, 0, -1, -1)
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_2.addItem(spacerItem3)
|
||||
self.skippy_checkbox = QtWidgets.QCheckBox(ascii_reader)
|
||||
self.skippy_checkbox.setObjectName("skippy_checkbox")
|
||||
self.horizontalLayout_2.addWidget(self.skippy_checkbox)
|
||||
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_2.addItem(spacerItem2)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout_2)
|
||||
self.buttonbox = QtWidgets.QDialogButtonBox(ascii_reader)
|
||||
self.buttonbox.setStandardButtons(QtWidgets.QDialogButtonBox.Apply|QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
|
||||
@ -247,14 +316,20 @@ class Ui_ascii_reader(object):
|
||||
ascii_reader.setTabOrder(self.column_checkBox, self.line_spinBox)
|
||||
ascii_reader.setTabOrder(self.line_spinBox, self.preview_spinBox)
|
||||
ascii_reader.setTabOrder(self.preview_spinBox, self.pts_radioButton)
|
||||
ascii_reader.setTabOrder(self.pts_radioButton, self.FID_radioButton)
|
||||
ascii_reader.setTabOrder(self.pts_radioButton, self.dsc_radioButton)
|
||||
ascii_reader.setTabOrder(self.dsc_radioButton, self.FID_radioButton)
|
||||
ascii_reader.setTabOrder(self.FID_radioButton, self.spectrum_radioButton)
|
||||
ascii_reader.setTabOrder(self.spectrum_radioButton, self.x_lineedit)
|
||||
ascii_reader.setTabOrder(self.spectrum_radioButton, self.bds_radioButton)
|
||||
ascii_reader.setTabOrder(self.bds_radioButton, self.x_lineedit)
|
||||
ascii_reader.setTabOrder(self.x_lineedit, self.y_lineedit)
|
||||
ascii_reader.setTabOrder(self.y_lineedit, self.deltay_lineEdit)
|
||||
ascii_reader.setTabOrder(self.deltay_lineEdit, self.ascii_table)
|
||||
ascii_reader.setTabOrder(self.ascii_table, self.skippy_checkbox)
|
||||
ascii_reader.setTabOrder(self.skippy_checkbox, self.delay_textfield)
|
||||
ascii_reader.setTabOrder(self.deltay_lineEdit, self.re_button)
|
||||
ascii_reader.setTabOrder(self.re_button, self.regex_input)
|
||||
ascii_reader.setTabOrder(self.regex_input, self.re_match_index)
|
||||
ascii_reader.setTabOrder(self.re_match_index, self.custom_button)
|
||||
ascii_reader.setTabOrder(self.custom_button, self.custom_input)
|
||||
ascii_reader.setTabOrder(self.custom_input, self.ascii_table)
|
||||
ascii_reader.setTabOrder(self.ascii_table, self.delay_textfield)
|
||||
ascii_reader.setTabOrder(self.delay_textfield, self.delay_lineedit)
|
||||
ascii_reader.setTabOrder(self.delay_lineedit, self.start_lineedit)
|
||||
ascii_reader.setTabOrder(self.start_lineedit, self.end_lineedit)
|
||||
@ -262,24 +337,33 @@ class Ui_ascii_reader(object):
|
||||
ascii_reader.setTabOrder(self.log_checkBox, self.staggered_checkBox)
|
||||
ascii_reader.setTabOrder(self.staggered_checkBox, self.stag_lineEdit)
|
||||
ascii_reader.setTabOrder(self.stag_lineEdit, self.pushButton)
|
||||
ascii_reader.setTabOrder(self.pushButton, self.skippy_checkbox)
|
||||
|
||||
def retranslateUi(self, ascii_reader):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
ascii_reader.setWindowTitle(_translate("ascii_reader", "Read text file"))
|
||||
self.groupBox.setTitle(_translate("ascii_reader", "Options"))
|
||||
self.FID_radioButton.setText(_translate("ascii_reader", "FID"))
|
||||
self.x_lineedit.setToolTip(_translate("ascii_reader", "<html><head/><body><p>Specify which column is used as x-value.</p></body></html>"))
|
||||
self.y_label.setText(_translate("ascii_reader", "y"))
|
||||
self.pts_radioButton.setText(_translate("ascii_reader", "Points"))
|
||||
self.label_5.setText(_translate("ascii_reader", "<html><head/><body><p>Δy</p></body></html>"))
|
||||
self.column_checkBox.setText(_translate("ascii_reader", "Column name"))
|
||||
self.label.setText(_translate("ascii_reader", "Import as"))
|
||||
self.label_7.setText(_translate("ascii_reader", "Use columns as"))
|
||||
self.y_lineedit.setToolTip(_translate("ascii_reader", "<html><head/><body><p>Specify which columns are read for y-values. (\'Points\': Every number creates a new data set;\'FID\'/\'Spectrum\': Numbers at even positions are used for real parts, at odd positions for imaginary parts.)</p></body></html>"))
|
||||
self.spectrum_radioButton.setText(_translate("ascii_reader", "Spectrum"))
|
||||
self.x_label.setText(_translate("ascii_reader", "x"))
|
||||
self.line_spinBox.setPrefix(_translate("ascii_reader", "header line "))
|
||||
self.label_6.setText(_translate("ascii_reader", "Preview length"))
|
||||
self.label.setText(_translate("ascii_reader", "Import as"))
|
||||
self.pts_radioButton.setText(_translate("ascii_reader", "Points"))
|
||||
self.dsc_radioButton.setText(_translate("ascii_reader", "DSC"))
|
||||
self.FID_radioButton.setText(_translate("ascii_reader", "FID"))
|
||||
self.spectrum_radioButton.setText(_translate("ascii_reader", "Spectrum"))
|
||||
self.bds_radioButton.setText(_translate("ascii_reader", "BDS"))
|
||||
self.label_7.setText(_translate("ascii_reader", "Use columns as"))
|
||||
self.y_lineedit.setToolTip(_translate("ascii_reader", "<html><head/><body><p>Specify which columns are used for y values.</p><p>- \'Points\': Every number creates a new data set;<br/>- \'FID\'/\'Spectrum\': Numbers at even positions are used for real parts, at odd positions for imaginary parts.</p></body></html>"))
|
||||
self.y_label.setText(_translate("ascii_reader", "y"))
|
||||
self.x_lineedit.setToolTip(_translate("ascii_reader", "<html><head/><body><p>Specify which column is used for x values, write <span style=\" font-style:italic;\">index</span> to use row numbers (starting with 0). </p></body></html>"))
|
||||
self.label_5.setText(_translate("ascii_reader", "<html><head/><body><p>Δy</p></body></html>"))
|
||||
self.x_label.setText(_translate("ascii_reader", "x"))
|
||||
self.dsdfsf.setText(_translate("ascii_reader", "Numerical value"))
|
||||
self.label_9.setText(_translate("ascii_reader", "Match index"))
|
||||
self.regex_input.setToolTip(_translate("ascii_reader", "<html><head/><body><p>Token:<br/>[abc]: Matches any of a, b, or c<br/>[a-z]: Matches any digit in the range a-z<br/>\\d: Matches any digit in the range 0-9 (equal to [0-9}</p><p>Quantifiers:<br/>a*: 0 or more of a<br/>a+: 1 or more of a<br/>a?: 0 or 1 of a</p></body></html>"))
|
||||
self.re_button.setText(_translate("ascii_reader", "Regex"))
|
||||
self.custom_button.setText(_translate("ascii_reader", "Custom value"))
|
||||
self.label_8.setText(_translate("ascii_reader", "Filename"))
|
||||
self.groupBox_2.setTitle(_translate("ascii_reader", "Preview"))
|
||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabWidgetPage1), _translate("ascii_reader", "Data"))
|
||||
self.label_2.setText(_translate("ascii_reader", "Number of delays"))
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/axisConfigTemplate.ui'
|
||||
# Form implementation generated from reading ui file '_ui/axisConfigTemplate.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/baseline_dialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -45,7 +45,7 @@ class Ui_SignalEdit(object):
|
||||
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
|
||||
self.buttonBox.setObjectName("buttonBox")
|
||||
self.gridLayout.addWidget(self.buttonBox, 1, 0, 1, 3)
|
||||
self.graphicsView = PlotWidget(SignalEdit)
|
||||
self.graphicsView = NMRPlotWidget(SignalEdit)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
@ -62,4 +62,4 @@ class Ui_SignalEdit(object):
|
||||
def retranslateUi(self, SignalEdit):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
SignalEdit.setWindowTitle(_translate("SignalEdit", "Dialog"))
|
||||
from pyqtgraph import PlotWidget
|
||||
from ..lib.graph_items import NMRPlotWidget
|
||||
|
@ -1,8 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file '/autohome/dominik/nmreval-gitea/src/resources/_ui/basewindow.ui'
|
||||
# Form implementation generated from reading ui file './nmreval/src/resources/_ui/basewindow.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.10
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -70,7 +70,7 @@ class Ui_BaseWindow(object):
|
||||
self.integralwidget = IntegralWidget()
|
||||
self.integralwidget.setObjectName("integralwidget")
|
||||
self.tabWidget.addTab(self.integralwidget, "")
|
||||
self.area = QtWidgets.QMdiArea(self.splitter)
|
||||
self.area = MdiAreaTile(self.splitter)
|
||||
self.area.setObjectName("area")
|
||||
self.horizontalLayout.addWidget(self.splitter)
|
||||
BaseWindow.setCentralWidget(self.centralwidget)
|
||||
@ -87,6 +87,8 @@ class Ui_BaseWindow(object):
|
||||
self.menuSave.setObjectName("menuSave")
|
||||
self.menuData = QtWidgets.QMenu(self.menubar)
|
||||
self.menuData.setObjectName("menuData")
|
||||
self.menuCut_to_visible_range = QtWidgets.QMenu(self.menuData)
|
||||
self.menuCut_to_visible_range.setObjectName("menuCut_to_visible_range")
|
||||
self.menuHelp = QtWidgets.QMenu(self.menubar)
|
||||
self.menuHelp.setObjectName("menuHelp")
|
||||
self.menuExtra = QtWidgets.QMenu(self.menubar)
|
||||
@ -117,6 +119,8 @@ class Ui_BaseWindow(object):
|
||||
self.menuStuff = QtWidgets.QMenu(self.menubar)
|
||||
self.menuStuff.setTitle("")
|
||||
self.menuStuff.setObjectName("menuStuff")
|
||||
self.menuDSC = QtWidgets.QMenu(self.menubar)
|
||||
self.menuDSC.setObjectName("menuDSC")
|
||||
BaseWindow.setMenuBar(self.menubar)
|
||||
self.toolBar = QtWidgets.QToolBar(BaseWindow)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
@ -151,15 +155,6 @@ class Ui_BaseWindow(object):
|
||||
self.toolBar_nmr.setIconSize(QtCore.QSize(24, 24))
|
||||
self.toolBar_nmr.setObjectName("toolBar_nmr")
|
||||
BaseWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar_nmr)
|
||||
self.toolBar_fit = QtWidgets.QToolBar(BaseWindow)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.toolBar_fit.sizePolicy().hasHeightForWidth())
|
||||
self.toolBar_fit.setSizePolicy(sizePolicy)
|
||||
self.toolBar_fit.setIconSize(QtCore.QSize(24, 24))
|
||||
self.toolBar_fit.setObjectName("toolBar_fit")
|
||||
BaseWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar_fit)
|
||||
self.toolBar_spectrum = QtWidgets.QToolBar(BaseWindow)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
@ -257,13 +252,17 @@ class Ui_BaseWindow(object):
|
||||
self.actionGuide_lines.setObjectName("actionGuide_lines")
|
||||
self.actionMaximize = QtWidgets.QAction(BaseWindow)
|
||||
self.actionMaximize.setCheckable(True)
|
||||
self.actionMaximize.setVisible(True)
|
||||
self.actionMaximize.setVisible(False)
|
||||
self.actionMaximize.setObjectName("actionMaximize")
|
||||
self.actionTile = QtWidgets.QAction(BaseWindow)
|
||||
self.actionTile.setObjectName("actionTile")
|
||||
self.actionTileVertical = QtWidgets.QAction(BaseWindow)
|
||||
self.actionTileVertical.setObjectName("actionTileVertical")
|
||||
self.actionTileHorizontal = QtWidgets.QAction(BaseWindow)
|
||||
self.actionTileHorizontal.setObjectName("actionTileHorizontal")
|
||||
self.actionMinimize = QtWidgets.QAction(BaseWindow)
|
||||
self.actionMinimize.setCheckable(True)
|
||||
self.actionMinimize.setVisible(True)
|
||||
self.actionMinimize.setVisible(False)
|
||||
self.actionMinimize.setObjectName("actionMinimize")
|
||||
self.actionNew_window = QtWidgets.QAction(BaseWindow)
|
||||
self.actionNew_window.setObjectName("actionNew_window")
|
||||
@ -307,8 +306,6 @@ class Ui_BaseWindow(object):
|
||||
self.actionDerivation.setObjectName("actionDerivation")
|
||||
self.actionIntegration = QtWidgets.QAction(BaseWindow)
|
||||
self.actionIntegration.setObjectName("actionIntegration")
|
||||
self.action_cut = QtWidgets.QAction(BaseWindow)
|
||||
self.action_cut.setObjectName("action_cut")
|
||||
self.actionMove_between_plots = QtWidgets.QAction(BaseWindow)
|
||||
self.actionMove_between_plots.setObjectName("actionMove_between_plots")
|
||||
self.actionBaseline = QtWidgets.QAction(BaseWindow)
|
||||
@ -358,6 +355,25 @@ class Ui_BaseWindow(object):
|
||||
self.actionBugs.setObjectName("actionBugs")
|
||||
self.actionShow_error_log = QtWidgets.QAction(BaseWindow)
|
||||
self.actionShow_error_log.setObjectName("actionShow_error_log")
|
||||
self.actionCreate_starter = QtWidgets.QAction(BaseWindow)
|
||||
self.actionCreate_starter.setObjectName("actionCreate_starter")
|
||||
self.actionAbout = QtWidgets.QAction(BaseWindow)
|
||||
self.actionAbout.setObjectName("actionAbout")
|
||||
self.actionTNMH_model = QtWidgets.QAction(BaseWindow)
|
||||
self.actionTNMH_model.setObjectName("actionTNMH_model")
|
||||
self.actionBinning = QtWidgets.QAction(BaseWindow)
|
||||
self.actionBinning.setObjectName("actionBinning")
|
||||
self.actionTNMH = QtWidgets.QAction(BaseWindow)
|
||||
self.actionTNMH.setObjectName("actionTNMH")
|
||||
self.actionExclude_region = QtWidgets.QAction(BaseWindow)
|
||||
self.actionExclude_region.setCheckable(True)
|
||||
self.actionExclude_region.setObjectName("actionExclude_region")
|
||||
self.action_cut_xaxis = QtWidgets.QAction(BaseWindow)
|
||||
self.action_cut_xaxis.setObjectName("action_cut_xaxis")
|
||||
self.action_cut_yaxis = QtWidgets.QAction(BaseWindow)
|
||||
self.action_cut_yaxis.setObjectName("action_cut_yaxis")
|
||||
self.actionUse_script = QtWidgets.QAction(BaseWindow)
|
||||
self.actionUse_script.setObjectName("actionUse_script")
|
||||
self.menuSave.addAction(self.actionSave)
|
||||
self.menuSave.addAction(self.actionExportGraphic)
|
||||
self.menuSave.addAction(self.action_save_fit_parameter)
|
||||
@ -370,6 +386,9 @@ class Ui_BaseWindow(object):
|
||||
self.menuFile.addSeparator()
|
||||
self.menuFile.addAction(self.action_close)
|
||||
self.menuFile.addSeparator()
|
||||
self.menuCut_to_visible_range.addSeparator()
|
||||
self.menuCut_to_visible_range.addAction(self.action_cut_xaxis)
|
||||
self.menuCut_to_visible_range.addAction(self.action_cut_yaxis)
|
||||
self.menuData.addAction(self.action_new_set)
|
||||
self.menuData.addAction(self.action_delete_sets)
|
||||
self.menuData.addAction(self.actionMove_between_plots)
|
||||
@ -379,13 +398,14 @@ class Ui_BaseWindow(object):
|
||||
self.menuData.addAction(self.action_sort_pts)
|
||||
self.menuData.addAction(self.actionSkip_points)
|
||||
self.menuData.addSeparator()
|
||||
self.menuData.addAction(self.action_cut)
|
||||
self.menuData.addAction(self.menuCut_to_visible_range.menuAction())
|
||||
self.menuData.addSeparator()
|
||||
self.menuData.addAction(self.actionChange_datatypes)
|
||||
self.menuData.addAction(self.actionUse_script)
|
||||
self.menuHelp.addAction(self.actionShow_error_log)
|
||||
self.menuHelp.addAction(self.actionDocumentation)
|
||||
self.menuHelp.addAction(self.actionUpdate)
|
||||
self.menuHelp.addAction(self.actionBugs)
|
||||
self.menuHelp.addAction(self.actionAbout)
|
||||
self.menuNormalize.addAction(self.action_norm_max)
|
||||
self.menuNormalize.addAction(self.action_norm_max_abs)
|
||||
self.menuNormalize.addSeparator()
|
||||
@ -401,6 +421,7 @@ class Ui_BaseWindow(object):
|
||||
self.menuExtra.addSeparator()
|
||||
self.menuExtra.addAction(self.menuNormalize.menuAction())
|
||||
self.menuExtra.addAction(self.actionInterpolation)
|
||||
self.menuExtra.addAction(self.actionBinning)
|
||||
self.menuExtra.addAction(self.actionRunning_values)
|
||||
self.menuExtra.addAction(self.actionShift)
|
||||
self.menuExtra.addSeparator()
|
||||
@ -411,6 +432,7 @@ class Ui_BaseWindow(object):
|
||||
self.menuLimits.addAction(self.action_no_range)
|
||||
self.menuLimits.addAction(self.action_x_range)
|
||||
self.menuLimits.addAction(self.action_custom_range)
|
||||
self.menuLimits.addAction(self.actionExclude_region)
|
||||
self.menuFit.addAction(self.action_FitWidget)
|
||||
self.menuFit.addSeparator()
|
||||
self.menuFit.addAction(self.action_create_fit_function)
|
||||
@ -422,7 +444,10 @@ class Ui_BaseWindow(object):
|
||||
self.menuOptions.addSeparator()
|
||||
self.menuOptions.addAction(self.action_colorcycle)
|
||||
self.menuOptions.addAction(self.actionConfiguration)
|
||||
self.menuOptions.addAction(self.actionCreate_starter)
|
||||
self.menuView.addAction(self.actionTile)
|
||||
self.menuView.addAction(self.actionTileVertical)
|
||||
self.menuView.addAction(self.actionTileHorizontal)
|
||||
self.menuView.addAction(self.actionCascade_windows)
|
||||
self.menuWindow.addAction(self.actionNew_window)
|
||||
self.menuWindow.addAction(self.actionDelete_window)
|
||||
@ -451,6 +476,7 @@ class Ui_BaseWindow(object):
|
||||
self.menuStuff.addAction(self.actionLife)
|
||||
self.menuStuff.addAction(self.actionTetris)
|
||||
self.menuStuff.addAction(self.actionMine)
|
||||
self.menuDSC.addAction(self.actionTNMH_model)
|
||||
self.menubar.addAction(self.menuFile.menuAction())
|
||||
self.menubar.addAction(self.menuWindow.menuAction())
|
||||
self.menubar.addAction(self.menuData.menuAction())
|
||||
@ -459,6 +485,7 @@ class Ui_BaseWindow(object):
|
||||
self.menubar.addAction(self.menuFit.menuAction())
|
||||
self.menubar.addAction(self.menuNMR.menuAction())
|
||||
self.menubar.addAction(self.menuBDS.menuAction())
|
||||
self.menubar.addAction(self.menuDSC.menuAction())
|
||||
self.menubar.addAction(self.menuOptions.menuAction())
|
||||
self.menubar.addAction(self.menuHelp.menuAction())
|
||||
self.menubar.addAction(self.menuStuff.menuAction())
|
||||
@ -474,7 +501,6 @@ class Ui_BaseWindow(object):
|
||||
self.toolbar_edit.addAction(self.actionShift)
|
||||
self.toolBar_nmr.addAction(self.t1action)
|
||||
self.toolBar_nmr.addAction(self.actionCalculateT1)
|
||||
self.toolBar_fit.addAction(self.action_FitWidget)
|
||||
self.toolBar_spectrum.addAction(self.action_edit)
|
||||
self.toolBar_spectrum.addAction(self.actionPick_position)
|
||||
self.toolBar_data.addAction(self.actionConcatenate_sets)
|
||||
@ -499,6 +525,7 @@ class Ui_BaseWindow(object):
|
||||
self.menuFile.setTitle(_translate("BaseWindow", "&File"))
|
||||
self.menuSave.setTitle(_translate("BaseWindow", "&Save..."))
|
||||
self.menuData.setTitle(_translate("BaseWindow", "&Data"))
|
||||
self.menuCut_to_visible_range.setTitle(_translate("BaseWindow", "Cut to visible range"))
|
||||
self.menuHelp.setTitle(_translate("BaseWindow", "&Help"))
|
||||
self.menuExtra.setTitle(_translate("BaseWindow", "Math"))
|
||||
self.menuNormalize.setTitle(_translate("BaseWindow", "&Normalize"))
|
||||
@ -506,15 +533,15 @@ class Ui_BaseWindow(object):
|
||||
self.menuMethod.setTitle(_translate("BaseWindow", "Method"))
|
||||
self.menuLimits.setTitle(_translate("BaseWindow", "Limits"))
|
||||
self.menuOptions.setTitle(_translate("BaseWindow", "Options"))
|
||||
self.menuWindow.setTitle(_translate("BaseWindow", "&Plots"))
|
||||
self.menuWindow.setTitle(_translate("BaseWindow", "Plots"))
|
||||
self.menuView.setTitle(_translate("BaseWindow", "View"))
|
||||
self.menuNMR.setTitle(_translate("BaseWindow", "NMR"))
|
||||
self.menuBDS.setTitle(_translate("BaseWindow", "BDS"))
|
||||
self.menuSpectrum.setTitle(_translate("BaseWindow", "Spectrum"))
|
||||
self.menuDSC.setTitle(_translate("BaseWindow", "DSC"))
|
||||
self.toolBar.setWindowTitle(_translate("BaseWindow", "Main"))
|
||||
self.toolbar_edit.setWindowTitle(_translate("BaseWindow", "Math"))
|
||||
self.toolBar_nmr.setWindowTitle(_translate("BaseWindow", "NMR"))
|
||||
self.toolBar_fit.setWindowTitle(_translate("BaseWindow", "Fit"))
|
||||
self.toolBar_spectrum.setWindowTitle(_translate("BaseWindow", "Spectrum"))
|
||||
self.toolBar_data.setWindowTitle(_translate("BaseWindow", "Data"))
|
||||
self.action_close.setText(_translate("BaseWindow", "&Quit"))
|
||||
@ -566,9 +593,10 @@ class Ui_BaseWindow(object):
|
||||
self.actionGuide_lines.setText(_translate("BaseWindow", "Draw lines..."))
|
||||
self.actionMaximize.setText(_translate("BaseWindow", "Maximize"))
|
||||
self.actionTile.setText(_translate("BaseWindow", "Tile windows"))
|
||||
self.actionTileVertical.setText(_translate("BaseWindow", "Tile windows vertically"))
|
||||
self.actionTileHorizontal.setText(_translate("BaseWindow", "Tile windows horizontally"))
|
||||
self.actionMinimize.setText(_translate("BaseWindow", "Minimize"))
|
||||
self.actionNew_window.setText(_translate("BaseWindow", "New graph"))
|
||||
self.actionNew_window.setShortcut(_translate("BaseWindow", "Ctrl+N"))
|
||||
self.actionDelete_window.setText(_translate("BaseWindow", "Delete graph"))
|
||||
self.actionCascade_windows.setText(_translate("BaseWindow", "Cascade windows"))
|
||||
self.actionNext_window.setText(_translate("BaseWindow", "Next"))
|
||||
@ -583,7 +611,6 @@ class Ui_BaseWindow(object):
|
||||
self.action_mean_t1.setText(_translate("BaseWindow", "Convert mean values..."))
|
||||
self.actionFilon.setText(_translate("BaseWindow", "Log FT..."))
|
||||
self.action_new_set.setText(_translate("BaseWindow", "New set"))
|
||||
self.action_new_set.setShortcut(_translate("BaseWindow", "Ctrl+Shift+N"))
|
||||
self.action_magnitude.setText(_translate("BaseWindow", "Calculate magnitude"))
|
||||
self.actionCenterMax.setText(_translate("BaseWindow", "Center on max"))
|
||||
self.action_depake.setText(_translate("BaseWindow", "De-paked spectrum"))
|
||||
@ -592,7 +619,6 @@ class Ui_BaseWindow(object):
|
||||
self.actionIntegrate.setText(_translate("BaseWindow", "Integrate"))
|
||||
self.actionDerivation.setText(_translate("BaseWindow", "Differentiation..."))
|
||||
self.actionIntegration.setText(_translate("BaseWindow", "Integration..."))
|
||||
self.action_cut.setText(_translate("BaseWindow", "Cut to visible range"))
|
||||
self.actionMove_between_plots.setText(_translate("BaseWindow", "Move sets..."))
|
||||
self.actionBaseline.setText(_translate("BaseWindow", "Baseline..."))
|
||||
self.actionCalculateT1.setText(_translate("BaseWindow", "Calculate relaxation..."))
|
||||
@ -614,6 +640,17 @@ class Ui_BaseWindow(object):
|
||||
self.action_draw_object.setText(_translate("BaseWindow", "Draw objects..."))
|
||||
self.actionBugs.setText(_translate("BaseWindow", "Bugs! Problems! Wishes!"))
|
||||
self.actionShow_error_log.setText(_translate("BaseWindow", "Show error log"))
|
||||
self.actionCreate_starter.setText(_translate("BaseWindow", "Create starter.."))
|
||||
self.actionAbout.setText(_translate("BaseWindow", "About..."))
|
||||
self.actionTNMH_model.setText(_translate("BaseWindow", "Tg , Hodge, TNMH,,,"))
|
||||
self.actionBinning.setText(_translate("BaseWindow", "Binning..."))
|
||||
self.actionTNMH.setText(_translate("BaseWindow", "TNMH..."))
|
||||
self.actionExclude_region.setText(_translate("BaseWindow", "Exclude region"))
|
||||
self.action_cut_xaxis.setText(_translate("BaseWindow", "x axis"))
|
||||
self.action_cut_xaxis.setToolTip(_translate("BaseWindow", "Remove data points outside visible x range."))
|
||||
self.action_cut_yaxis.setText(_translate("BaseWindow", "y axis"))
|
||||
self.action_cut_yaxis.setToolTip(_translate("BaseWindow", "Remove data points outside visible y range. Uses real part of points."))
|
||||
self.actionUse_script.setText(_translate("BaseWindow", "Use script..."))
|
||||
from ..data.datawidget.datawidget import DataWidget
|
||||
from ..data.integral_widget import IntegralWidget
|
||||
from ..data.point_select import PointSelectWidget
|
||||
@ -621,4 +658,5 @@ from ..data.signaledit.editsignalwidget import EditSignalWidget
|
||||
from ..data.valueeditwidget import ValueEditWidget
|
||||
from ..fit.fitwindow import QFitDialog
|
||||
from ..graphs.drawings import DrawingsWidget
|
||||
from ..lib.mdiarea import MdiAreaTile
|
||||
from ..nmr.t1widget import QT1Widget
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/bdsdialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -19,12 +19,13 @@ class Ui_Dialog(object):
|
||||
self.gridLayout.setContentsMargins(3, 3, 3, 3)
|
||||
self.gridLayout.setSpacing(3)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.listWidget = QtWidgets.QListWidget(Dialog)
|
||||
self.listWidget = QListWidgetSelect(Dialog)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.listWidget.sizePolicy().hasHeightForWidth())
|
||||
self.listWidget.setSizePolicy(sizePolicy)
|
||||
self.listWidget.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||
self.listWidget.setObjectName("listWidget")
|
||||
self.gridLayout.addWidget(self.listWidget, 1, 0, 2, 1)
|
||||
self.groupBox_2 = QtWidgets.QGroupBox(Dialog)
|
||||
@ -120,3 +121,4 @@ class Ui_Dialog(object):
|
||||
self.temp_checkBox.setText(_translate("Dialog", "Meas. temperature"))
|
||||
self.time_checkBox.setText(_translate("Dialog", "Meas. time"))
|
||||
self.label.setText(_translate("Dialog", "Found entries"))
|
||||
from ..lib.listwidget import QListWidgetSelect
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/color_palette.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/color_palette.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@ -89,8 +88,8 @@ class Ui_Dialog(object):
|
||||
self.label_2.setBuddy(self.color_combobox)
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
|
||||
self.buttonBox.accepted.connect(Dialog.accept)
|
||||
self.buttonBox.rejected.connect(Dialog.reject)
|
||||
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
||||
|
||||
def retranslateUi(self, Dialog):
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/coupling_calculator.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/coupling_calculator.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@ -47,8 +46,8 @@ class Ui_coupling_calc_dialog(object):
|
||||
self.verticalLayout.addWidget(self.buttonBox)
|
||||
|
||||
self.retranslateUi(coupling_calc_dialog)
|
||||
self.buttonBox.accepted.connect(coupling_calc_dialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(coupling_calc_dialog.reject) # type: ignore
|
||||
self.buttonBox.accepted.connect(coupling_calc_dialog.accept)
|
||||
self.buttonBox.rejected.connect(coupling_calc_dialog.reject)
|
||||
QtCore.QMetaObject.connectSlotsByName(coupling_calc_dialog)
|
||||
|
||||
def retranslateUi(self, coupling_calc_dialog):
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/coupling_t1_from_tau.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/coupling_t1_from_tau.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,8 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/datawidget.ui'
|
||||
# Form implementation generated from reading ui file './nmreval/src/resources/_ui/datawidget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.10
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -50,6 +50,12 @@ class Ui_DataWidget(object):
|
||||
self.horizontalLayout.addWidget(self.func_toolButton)
|
||||
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout.addItem(spacerItem)
|
||||
self.pokemon_toolbutton = QtWidgets.QToolButton(self.frame)
|
||||
self.pokemon_toolbutton.setText("")
|
||||
self.pokemon_toolbutton.setToolButtonStyle(QtCore.Qt.ToolButtonTextOnly)
|
||||
self.pokemon_toolbutton.setAutoRaise(True)
|
||||
self.pokemon_toolbutton.setObjectName("pokemon_toolbutton")
|
||||
self.horizontalLayout.addWidget(self.pokemon_toolbutton)
|
||||
self.verticalLayout_2.addWidget(self.frame)
|
||||
|
||||
self.retranslateUi(DataWidget)
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/dscfile_dialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -14,19 +14,100 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
class Ui_Dialog(object):
|
||||
def setupUi(self, Dialog):
|
||||
Dialog.setObjectName("Dialog")
|
||||
Dialog.resize(962, 662)
|
||||
self.gridLayout_2 = QtWidgets.QGridLayout(Dialog)
|
||||
self.gridLayout_2.setObjectName("gridLayout_2")
|
||||
self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
|
||||
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Apply|QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok|QtWidgets.QDialogButtonBox.Save)
|
||||
self.buttonBox.setObjectName("buttonBox")
|
||||
self.gridLayout_2.addWidget(self.buttonBox, 1, 1, 1, 1)
|
||||
self.gridLayout_4 = QtWidgets.QGridLayout()
|
||||
self.gridLayout_4.setContentsMargins(-1, 0, 0, -1)
|
||||
self.gridLayout_4.setSpacing(3)
|
||||
self.gridLayout_4.setObjectName("gridLayout_4")
|
||||
self.cp_checkBox = QtWidgets.QCheckBox(Dialog)
|
||||
Dialog.resize(1341, 799)
|
||||
self.verticalLayout_5 = QtWidgets.QVBoxLayout(Dialog)
|
||||
self.verticalLayout_5.setObjectName("verticalLayout_5")
|
||||
self.splitter = QtWidgets.QSplitter(Dialog)
|
||||
self.splitter.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.splitter.setObjectName("splitter")
|
||||
self.verticalLayoutWidget = QtWidgets.QWidget(self.splitter)
|
||||
self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
|
||||
self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
|
||||
self.verticalLayout_4.setContentsMargins(6, 6, 6, 6)
|
||||
self.verticalLayout_4.setObjectName("verticalLayout_4")
|
||||
self.groupBox = QtWidgets.QGroupBox(self.verticalLayoutWidget)
|
||||
self.groupBox.setFlat(False)
|
||||
self.groupBox.setObjectName("groupBox")
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
|
||||
self.verticalLayout.setContentsMargins(6, 6, 6, 6)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.step_listWidget = QtWidgets.QListWidget(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.step_listWidget.sizePolicy().hasHeightForWidth())
|
||||
self.step_listWidget.setSizePolicy(sizePolicy)
|
||||
self.step_listWidget.setMinimumSize(QtCore.QSize(0, 0))
|
||||
self.step_listWidget.setObjectName("step_listWidget")
|
||||
self.verticalLayout.addWidget(self.step_listWidget)
|
||||
self.verticalLayout_4.addWidget(self.groupBox)
|
||||
self.groupBox_2 = QtWidgets.QGroupBox(self.verticalLayoutWidget)
|
||||
self.groupBox_2.setObjectName("groupBox_2")
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_2)
|
||||
self.verticalLayout_2.setContentsMargins(6, 6, 6, 6)
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
self.groupBox_4 = QtWidgets.QGroupBox(self.groupBox_2)
|
||||
self.groupBox_4.setObjectName("groupBox_4")
|
||||
self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.groupBox_4)
|
||||
self.verticalLayout_6.setContentsMargins(6, 6, 6, 6)
|
||||
self.verticalLayout_6.setObjectName("verticalLayout_6")
|
||||
self.empty_label = QtWidgets.QLabel(self.groupBox_4)
|
||||
self.empty_label.setObjectName("empty_label")
|
||||
self.verticalLayout_6.addWidget(self.empty_label)
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_2.setSpacing(3)
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.loadempty_button = QtWidgets.QPushButton(self.groupBox_4)
|
||||
self.loadempty_button.setObjectName("loadempty_button")
|
||||
self.horizontalLayout_2.addWidget(self.loadempty_button)
|
||||
self.delempty_button = QtWidgets.QPushButton(self.groupBox_4)
|
||||
self.delempty_button.setObjectName("delempty_button")
|
||||
self.horizontalLayout_2.addWidget(self.delempty_button)
|
||||
self.verticalLayout_6.addLayout(self.horizontalLayout_2)
|
||||
self.verticalLayout_2.addWidget(self.groupBox_4)
|
||||
self.groupBox_5 = QtWidgets.QGroupBox(self.groupBox_2)
|
||||
self.groupBox_5.setObjectName("groupBox_5")
|
||||
self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.groupBox_5)
|
||||
self.verticalLayout_7.setContentsMargins(6, 6, 6, 6)
|
||||
self.verticalLayout_7.setSpacing(3)
|
||||
self.verticalLayout_7.setObjectName("verticalLayout_7")
|
||||
self.none_radioButton = QtWidgets.QRadioButton(self.groupBox_5)
|
||||
self.none_radioButton.setObjectName("none_radioButton")
|
||||
self.buttonGroup = QtWidgets.QButtonGroup(Dialog)
|
||||
self.buttonGroup.setObjectName("buttonGroup")
|
||||
self.buttonGroup.addButton(self.none_radioButton)
|
||||
self.verticalLayout_7.addWidget(self.none_radioButton)
|
||||
self.isotherm_radioButton = QtWidgets.QRadioButton(self.groupBox_5)
|
||||
self.isotherm_radioButton.setChecked(True)
|
||||
self.isotherm_radioButton.setObjectName("isotherm_radioButton")
|
||||
self.buttonGroup.addButton(self.isotherm_radioButton)
|
||||
self.verticalLayout_7.addWidget(self.isotherm_radioButton)
|
||||
self.slope_radioButton = QtWidgets.QRadioButton(self.groupBox_5)
|
||||
self.slope_radioButton.setObjectName("slope_radioButton")
|
||||
self.buttonGroup.addButton(self.slope_radioButton)
|
||||
self.verticalLayout_7.addWidget(self.slope_radioButton)
|
||||
self.widget = QtWidgets.QWidget(self.groupBox_5)
|
||||
self.widget.setMinimumSize(QtCore.QSize(0, 33))
|
||||
self.widget.setObjectName("widget")
|
||||
self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.widget)
|
||||
self.horizontalLayout_3.setContentsMargins(3, 3, 3, 3)
|
||||
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
|
||||
self.limit1_lineedit = QtWidgets.QLineEdit(self.widget)
|
||||
self.limit1_lineedit.setObjectName("limit1_lineedit")
|
||||
self.horizontalLayout_3.addWidget(self.limit1_lineedit)
|
||||
self.limit2_lineedit = QtWidgets.QLineEdit(self.widget)
|
||||
self.limit2_lineedit.setText("")
|
||||
self.limit2_lineedit.setObjectName("limit2_lineedit")
|
||||
self.horizontalLayout_3.addWidget(self.limit2_lineedit)
|
||||
self.verticalLayout_7.addWidget(self.widget)
|
||||
self.verticalLayout_2.addWidget(self.groupBox_5)
|
||||
self.verticalLayout_4.addWidget(self.groupBox_2)
|
||||
self.groupBox_3 = QtWidgets.QGroupBox(self.verticalLayoutWidget)
|
||||
self.groupBox_3.setObjectName("groupBox_3")
|
||||
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox_3)
|
||||
self.verticalLayout_3.setContentsMargins(6, 6, 6, 6)
|
||||
self.verticalLayout_3.setObjectName("verticalLayout_3")
|
||||
self.cp_checkBox = QtWidgets.QCheckBox(self.groupBox_3)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
@ -34,36 +115,8 @@ class Ui_Dialog(object):
|
||||
self.cp_checkBox.setSizePolicy(sizePolicy)
|
||||
self.cp_checkBox.setChecked(True)
|
||||
self.cp_checkBox.setObjectName("cp_checkBox")
|
||||
self.gridLayout_4.addWidget(self.cp_checkBox, 11, 0, 1, 4)
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_2.setSpacing(3)
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.loadempty_button = QtWidgets.QPushButton(Dialog)
|
||||
self.loadempty_button.setObjectName("loadempty_button")
|
||||
self.horizontalLayout_2.addWidget(self.loadempty_button)
|
||||
self.delempty_button = QtWidgets.QPushButton(Dialog)
|
||||
self.delempty_button.setObjectName("delempty_button")
|
||||
self.horizontalLayout_2.addWidget(self.delempty_button)
|
||||
self.gridLayout_4.addLayout(self.horizontalLayout_2, 5, 0, 1, 4)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.gridLayout_4.addItem(spacerItem, 12, 0, 1, 1)
|
||||
self.isotherm_radioButton = QtWidgets.QRadioButton(Dialog)
|
||||
self.isotherm_radioButton.setChecked(True)
|
||||
self.isotherm_radioButton.setObjectName("isotherm_radioButton")
|
||||
self.buttonGroup = QtWidgets.QButtonGroup(Dialog)
|
||||
self.buttonGroup.setObjectName("buttonGroup")
|
||||
self.buttonGroup.addButton(self.isotherm_radioButton)
|
||||
self.gridLayout_4.addWidget(self.isotherm_radioButton, 6, 1, 1, 1)
|
||||
self.label_4 = QtWidgets.QLabel(Dialog)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth())
|
||||
self.label_4.setSizePolicy(sizePolicy)
|
||||
self.label_4.setStyleSheet("font-weight: bold")
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.gridLayout_4.addWidget(self.label_4, 0, 0, 1, 4)
|
||||
self.reference_tableWidget = QtWidgets.QTableWidget(Dialog)
|
||||
self.verticalLayout_3.addWidget(self.cp_checkBox)
|
||||
self.reference_tableWidget = QtWidgets.QTableWidget(self.groupBox_3)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Maximum)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
@ -78,57 +131,11 @@ class Ui_Dialog(object):
|
||||
self.reference_tableWidget.horizontalHeader().setVisible(False)
|
||||
self.reference_tableWidget.horizontalHeader().setStretchLastSection(True)
|
||||
self.reference_tableWidget.verticalHeader().setVisible(False)
|
||||
self.gridLayout_4.addWidget(self.reference_tableWidget, 9, 0, 1, 4)
|
||||
self.step_listWidget = QtWidgets.QListWidget(Dialog)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.step_listWidget.sizePolicy().hasHeightForWidth())
|
||||
self.step_listWidget.setSizePolicy(sizePolicy)
|
||||
self.step_listWidget.setMinimumSize(QtCore.QSize(0, 0))
|
||||
self.step_listWidget.setObjectName("step_listWidget")
|
||||
self.gridLayout_4.addWidget(self.step_listWidget, 1, 0, 1, 4)
|
||||
self.label = QtWidgets.QLabel(Dialog)
|
||||
self.label.setObjectName("label")
|
||||
self.gridLayout_4.addWidget(self.label, 6, 0, 1, 1)
|
||||
self.slope_radioButton = QtWidgets.QRadioButton(Dialog)
|
||||
self.slope_radioButton.setObjectName("slope_radioButton")
|
||||
self.buttonGroup.addButton(self.slope_radioButton)
|
||||
self.gridLayout_4.addWidget(self.slope_radioButton, 6, 2, 1, 1)
|
||||
self.empty_label = QtWidgets.QLabel(Dialog)
|
||||
self.empty_label.setObjectName("empty_label")
|
||||
self.gridLayout_4.addWidget(self.empty_label, 4, 0, 1, 4)
|
||||
self.label_3 = QtWidgets.QLabel(Dialog)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
|
||||
self.label_3.setSizePolicy(sizePolicy)
|
||||
self.label_3.setStyleSheet("font-weight: bold")
|
||||
self.label_3.setObjectName("label_3")
|
||||
self.gridLayout_4.addWidget(self.label_3, 8, 0, 1, 4)
|
||||
self.label_2 = QtWidgets.QLabel(Dialog)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
|
||||
self.label_2.setSizePolicy(sizePolicy)
|
||||
self.label_2.setStyleSheet("font-weight: bold")
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.gridLayout_4.addWidget(self.label_2, 3, 0, 1, 4)
|
||||
self.line = QtWidgets.QFrame(Dialog)
|
||||
self.line.setFrameShape(QtWidgets.QFrame.HLine)
|
||||
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
|
||||
self.line.setObjectName("line")
|
||||
self.gridLayout_4.addWidget(self.line, 7, 0, 1, 4)
|
||||
self.none_radioButton = QtWidgets.QRadioButton(Dialog)
|
||||
self.none_radioButton.setObjectName("none_radioButton")
|
||||
self.buttonGroup.addButton(self.none_radioButton)
|
||||
self.gridLayout_4.addWidget(self.none_radioButton, 6, 3, 1, 1)
|
||||
self.verticalLayout_3.addWidget(self.reference_tableWidget)
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout.setSpacing(3)
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.ref_add_pushButton = QtWidgets.QPushButton(Dialog)
|
||||
self.ref_add_pushButton = QtWidgets.QPushButton(self.groupBox_3)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Maximum)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
@ -136,7 +143,7 @@ class Ui_Dialog(object):
|
||||
self.ref_add_pushButton.setSizePolicy(sizePolicy)
|
||||
self.ref_add_pushButton.setObjectName("ref_add_pushButton")
|
||||
self.horizontalLayout.addWidget(self.ref_add_pushButton)
|
||||
self.ref_remove_pushButton = QtWidgets.QPushButton(Dialog)
|
||||
self.ref_remove_pushButton = QtWidgets.QPushButton(self.groupBox_3)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Maximum)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
@ -144,16 +151,22 @@ class Ui_Dialog(object):
|
||||
self.ref_remove_pushButton.setSizePolicy(sizePolicy)
|
||||
self.ref_remove_pushButton.setObjectName("ref_remove_pushButton")
|
||||
self.horizontalLayout.addWidget(self.ref_remove_pushButton)
|
||||
self.gridLayout_4.addLayout(self.horizontalLayout, 10, 0, 1, 4)
|
||||
self.line_2 = QtWidgets.QFrame(Dialog)
|
||||
self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
|
||||
self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
|
||||
self.line_2.setObjectName("line_2")
|
||||
self.gridLayout_4.addWidget(self.line_2, 2, 0, 1, 4)
|
||||
self.gridLayout_2.addLayout(self.gridLayout_4, 0, 0, 1, 1)
|
||||
self.gridLayout = QtWidgets.QGridLayout()
|
||||
self.verticalLayout_3.addLayout(self.horizontalLayout)
|
||||
self.verticalLayout_4.addWidget(self.groupBox_3)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout_4.addItem(spacerItem)
|
||||
self.buttonBox = QtWidgets.QDialogButtonBox(self.verticalLayoutWidget)
|
||||
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Apply|QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok|QtWidgets.QDialogButtonBox.Save)
|
||||
self.buttonBox.setCenterButtons(True)
|
||||
self.buttonBox.setObjectName("buttonBox")
|
||||
self.verticalLayout_4.addWidget(self.buttonBox)
|
||||
self.layoutWidget = QtWidgets.QWidget(self.splitter)
|
||||
self.layoutWidget.setObjectName("layoutWidget")
|
||||
self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget)
|
||||
self.gridLayout.setContentsMargins(0, 0, 0, 0)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.raw_graph = PlotWidget(Dialog)
|
||||
self.raw_graph = NMRPlotWidget(self.layoutWidget)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
@ -162,7 +175,7 @@ class Ui_Dialog(object):
|
||||
self.raw_graph.setMinimumSize(QtCore.QSize(300, 200))
|
||||
self.raw_graph.setObjectName("raw_graph")
|
||||
self.gridLayout.addWidget(self.raw_graph, 0, 0, 1, 1)
|
||||
self.calib_graph = PlotWidget(Dialog)
|
||||
self.calib_graph = NMRPlotWidget(self.layoutWidget)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
@ -171,7 +184,7 @@ class Ui_Dialog(object):
|
||||
self.calib_graph.setMinimumSize(QtCore.QSize(300, 200))
|
||||
self.calib_graph.setObjectName("calib_graph")
|
||||
self.gridLayout.addWidget(self.calib_graph, 1, 0, 1, 1)
|
||||
self.baseline_graph = PlotWidget(Dialog)
|
||||
self.baseline_graph = NMRPlotWidget(self.layoutWidget)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
@ -180,7 +193,7 @@ class Ui_Dialog(object):
|
||||
self.baseline_graph.setMinimumSize(QtCore.QSize(300, 200))
|
||||
self.baseline_graph.setObjectName("baseline_graph")
|
||||
self.gridLayout.addWidget(self.baseline_graph, 0, 1, 1, 1)
|
||||
self.end_graph = PlotWidget(Dialog)
|
||||
self.end_graph = NMRPlotWidget(self.layoutWidget)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
@ -189,7 +202,7 @@ class Ui_Dialog(object):
|
||||
self.end_graph.setMinimumSize(QtCore.QSize(0, 0))
|
||||
self.end_graph.setObjectName("end_graph")
|
||||
self.gridLayout.addWidget(self.end_graph, 1, 1, 1, 1)
|
||||
self.gridLayout_2.addLayout(self.gridLayout, 0, 1, 1, 1)
|
||||
self.verticalLayout_5.addWidget(self.splitter)
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
|
||||
@ -199,17 +212,20 @@ class Ui_Dialog(object):
|
||||
def retranslateUi(self, Dialog):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
Dialog.setWindowTitle(_translate("Dialog", "Read DSC file"))
|
||||
self.cp_checkBox.setText(_translate("Dialog", "Convert to heat capacity"))
|
||||
self.groupBox.setTitle(_translate("Dialog", "Detected steps"))
|
||||
self.groupBox_2.setTitle(_translate("Dialog", "Baseline corrections"))
|
||||
self.groupBox_4.setTitle(_translate("Dialog", "Empty measurement"))
|
||||
self.empty_label.setText(_translate("Dialog", "No emtpy measurement"))
|
||||
self.loadempty_button.setText(_translate("Dialog", "Load empty"))
|
||||
self.delempty_button.setText(_translate("Dialog", "Remove empty"))
|
||||
self.isotherm_radioButton.setText(_translate("Dialog", "Isotherms"))
|
||||
self.label_4.setText(_translate("Dialog", "Detected steps"))
|
||||
self.label.setText(_translate("Dialog", "Slope"))
|
||||
self.slope_radioButton.setText(_translate("Dialog", "Initial slope"))
|
||||
self.empty_label.setText(_translate("Dialog", "Empty measurement"))
|
||||
self.label_3.setText(_translate("Dialog", "Calibration"))
|
||||
self.label_2.setText(_translate("Dialog", "Baseline"))
|
||||
self.groupBox_5.setTitle(_translate("Dialog", "Slope correction"))
|
||||
self.none_radioButton.setText(_translate("Dialog", "None"))
|
||||
self.isotherm_radioButton.setText(_translate("Dialog", "Isotherms"))
|
||||
self.slope_radioButton.setText(_translate("Dialog", "Curve slope"))
|
||||
self.limit1_lineedit.setPlaceholderText(_translate("Dialog", "start (in min)"))
|
||||
self.limit2_lineedit.setPlaceholderText(_translate("Dialog", "stop (in min)"))
|
||||
self.groupBox_3.setTitle(_translate("Dialog", "References"))
|
||||
self.cp_checkBox.setText(_translate("Dialog", "Use reference to convert to heat capacity"))
|
||||
self.ref_add_pushButton.setText(_translate("Dialog", "Add reference"))
|
||||
self.ref_remove_pushButton.setText(_translate("Dialog", "Remove reference"))
|
||||
from pyqtgraph import PlotWidget
|
||||
from ..lib.graph_items import NMRPlotWidget
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/editsignalwidget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.2
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
@ -1,67 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/ellipsewidget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_ellipsewidget(object):
|
||||
def setupUi(self, ellipsewidget):
|
||||
ellipsewidget.setObjectName("ellipsewidget")
|
||||
ellipsewidget.resize(400, 300)
|
||||
self.gridLayout = QtWidgets.QGridLayout(ellipsewidget)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.height_line = QtWidgets.QLineEdit(ellipsewidget)
|
||||
self.height_line.setObjectName("height_line")
|
||||
self.gridLayout.addWidget(self.height_line, 3, 2, 1, 1)
|
||||
self.center_x = QtWidgets.QLineEdit(ellipsewidget)
|
||||
self.center_x.setObjectName("center_x")
|
||||
self.gridLayout.addWidget(self.center_x, 2, 1, 1, 1)
|
||||
self.axes_label = QtWidgets.QLabel(ellipsewidget)
|
||||
self.axes_label.setObjectName("axes_label")
|
||||
self.gridLayout.addWidget(self.axes_label, 3, 0, 1, 1)
|
||||
self.color_label = QtWidgets.QLabel(ellipsewidget)
|
||||
self.color_label.setObjectName("color_label")
|
||||
self.gridLayout.addWidget(self.color_label, 0, 0, 1, 1)
|
||||
self.center_y = QtWidgets.QLineEdit(ellipsewidget)
|
||||
self.center_y.setObjectName("center_y")
|
||||
self.gridLayout.addWidget(self.center_y, 2, 2, 1, 1)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.gridLayout.addItem(spacerItem, 4, 0, 1, 1)
|
||||
self.center_label = QtWidgets.QLabel(ellipsewidget)
|
||||
self.center_label.setObjectName("center_label")
|
||||
self.gridLayout.addWidget(self.center_label, 2, 0, 1, 1)
|
||||
self.width_line = QtWidgets.QLineEdit(ellipsewidget)
|
||||
self.width_line.setObjectName("width_line")
|
||||
self.gridLayout.addWidget(self.width_line, 3, 1, 1, 1)
|
||||
self.color_box = ColorListEditor(ellipsewidget)
|
||||
self.color_box.setObjectName("color_box")
|
||||
self.gridLayout.addWidget(self.color_box, 0, 1, 1, 2)
|
||||
self.fill_box = ColorListEditor(ellipsewidget)
|
||||
self.fill_box.setObjectName("fill_box")
|
||||
self.gridLayout.addWidget(self.fill_box, 1, 1, 1, 2)
|
||||
self.fill_label = QtWidgets.QLabel(ellipsewidget)
|
||||
self.fill_label.setObjectName("fill_label")
|
||||
self.gridLayout.addWidget(self.fill_label, 1, 0, 1, 1)
|
||||
|
||||
self.retranslateUi(ellipsewidget)
|
||||
QtCore.QMetaObject.connectSlotsByName(ellipsewidget)
|
||||
|
||||
def retranslateUi(self, ellipsewidget):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
ellipsewidget.setWindowTitle(_translate("ellipsewidget", "Form"))
|
||||
self.height_line.setPlaceholderText(_translate("ellipsewidget", "axis 2"))
|
||||
self.center_x.setPlaceholderText(_translate("ellipsewidget", "x"))
|
||||
self.axes_label.setText(_translate("ellipsewidget", "Axes"))
|
||||
self.color_label.setText(_translate("ellipsewidget", "Color"))
|
||||
self.center_y.setPlaceholderText(_translate("ellipsewidget", "y"))
|
||||
self.center_label.setText(_translate("ellipsewidget", "Center"))
|
||||
self.width_line.setPlaceholderText(_translate("ellipsewidget", "axis 1"))
|
||||
self.fill_label.setText(_translate("ellipsewidget", "Fill color"))
|
||||
from gui_qt.lib.delegates import ColorListEditor
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/eval_expr_dialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.2
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -37,14 +37,14 @@ class Ui_CalcDialog(object):
|
||||
self.label_2 = QtWidgets.QLabel(self.page)
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.verticalLayout_2.addWidget(self.label_2)
|
||||
self.listWidget = QtWidgets.QListWidget(self.page)
|
||||
self.listWidget = QListWidgetSelect(self.page)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.listWidget.sizePolicy().hasHeightForWidth())
|
||||
self.listWidget.setSizePolicy(sizePolicy)
|
||||
self.listWidget.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||
self.listWidget.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection)
|
||||
self.listWidget.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||
self.listWidget.setObjectName("listWidget")
|
||||
self.verticalLayout_2.addWidget(self.listWidget)
|
||||
self.overwrite_checkbox = QtWidgets.QCheckBox(self.page)
|
||||
@ -203,7 +203,7 @@ class Ui_CalcDialog(object):
|
||||
self.label_8.setBuddy(self.line_doubleSpinBox)
|
||||
|
||||
self.retranslateUi(CalcDialog)
|
||||
self.stackedWidget.setCurrentIndex(2)
|
||||
self.stackedWidget.setCurrentIndex(0)
|
||||
QtCore.QMetaObject.connectSlotsByName(CalcDialog)
|
||||
CalcDialog.setTabOrder(self.calc_edit, self.listWidget)
|
||||
CalcDialog.setTabOrder(self.listWidget, self.overwrite_checkbox)
|
||||
@ -238,4 +238,5 @@ class Ui_CalcDialog(object):
|
||||
self.label_11.setText(_translate("CalcDialog", "Style"))
|
||||
self.label.setText(_translate("CalcDialog", "Expressions are evaluated line by line and change previous values"))
|
||||
from ..lib.delegates import ColorListEditor, LineStyleEditor, SymbolStyleEditor
|
||||
from ..lib.listwidget import QListWidgetSelect
|
||||
from ..lib.namespace import QNamespaceWidget
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/evalexpression.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/evalexpression.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@ -154,8 +153,8 @@ class Ui_CalcDialog(object):
|
||||
|
||||
self.retranslateUi(CalcDialog)
|
||||
self.tabWidget.setCurrentIndex(0)
|
||||
self.buttonBox.accepted.connect(CalcDialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(CalcDialog.reject) # type: ignore
|
||||
self.buttonBox.accepted.connect(CalcDialog.accept)
|
||||
self.buttonBox.rejected.connect(CalcDialog.reject)
|
||||
QtCore.QMetaObject.connectSlotsByName(CalcDialog)
|
||||
|
||||
def retranslateUi(self, CalcDialog):
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/expandablewidget.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/expandablewidget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/exportConfigTemplate.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/exportConfigTemplate.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/fcreader.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.10
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -48,6 +48,7 @@ class Ui_FCEval_dialog(object):
|
||||
self.verticalLayout.addWidget(self.input_box)
|
||||
self.region_box = QtWidgets.QGroupBox(FCEval_dialog)
|
||||
self.region_box.setCheckable(True)
|
||||
self.region_box.setChecked(False)
|
||||
self.region_box.setObjectName("region_box")
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout(self.region_box)
|
||||
self.horizontalLayout.setContentsMargins(3, 3, 3, 3)
|
||||
@ -140,6 +141,7 @@ class Ui_FCEval_dialog(object):
|
||||
self.line.setObjectName("line")
|
||||
self.gridLayout.addWidget(self.line, 2, 0, 1, 2)
|
||||
self.graph_comboBox = QtWidgets.QComboBox(self.out_box)
|
||||
self.graph_comboBox.setEnabled(False)
|
||||
self.graph_comboBox.setObjectName("graph_comboBox")
|
||||
self.gridLayout.addWidget(self.graph_comboBox, 3, 1, 1, 1)
|
||||
self.graph_checkbox = QtWidgets.QCheckBox(self.out_box)
|
||||
@ -179,7 +181,7 @@ class Ui_FCEval_dialog(object):
|
||||
self.file_pushbutton.setText(_translate("FCEval_dialog", "Add HDF files..."))
|
||||
self.dir_pushbutton.setText(_translate("FCEval_dialog", "Add directory..."))
|
||||
self.overwrite_cb.setText(_translate("FCEval_dialog", "Overwrite prev. data"))
|
||||
self.region_box.setTitle(_translate("FCEval_dialog", "Evaluate region (empty values default to start/end)"))
|
||||
self.region_box.setTitle(_translate("FCEval_dialog", "Evaluate region (empty values default to values of the script)"))
|
||||
self.start_lineedit.setPlaceholderText(_translate("FCEval_dialog", "start pos in µs"))
|
||||
self.stop_lineedit.setPlaceholderText(_translate("FCEval_dialog", "end pos in µs"))
|
||||
self.fit_box.setTitle(_translate("FCEval_dialog", "Fit equation"))
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/filedialog.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/filedialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,8 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/fitcreationdialog.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/fitcreationdialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.10
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -51,9 +51,8 @@ class Ui_Dialog(object):
|
||||
self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.namespace_box)
|
||||
self.verticalLayout_6.setObjectName("verticalLayout_6")
|
||||
self.tabWidget.addTab(self.namespace_box, "")
|
||||
self.plainTextEdit = CodeEditor(self.splitter)
|
||||
self.plainTextEdit.setEnabled(True)
|
||||
self.plainTextEdit.setObjectName("plainTextEdit")
|
||||
self.editor = EditorWidget(self.splitter)
|
||||
self.editor.setObjectName("editor")
|
||||
self.verticalLayout.addWidget(self.splitter)
|
||||
self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
|
||||
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
|
||||
@ -74,4 +73,4 @@ class Ui_Dialog(object):
|
||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.args_box), _translate("Dialog", "Variables"))
|
||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.kwargs_box), _translate("Dialog", "Multiple choice"))
|
||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.namespace_box), _translate("Dialog", "Available Functions"))
|
||||
from ..lib.codeeditor import CodeEditor
|
||||
from ..lib.codeeditor import EditorWidget
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/fitdialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.2
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -38,7 +38,6 @@ class Ui_FitDialog(object):
|
||||
self.weight_combobox.addItem("")
|
||||
self.weight_combobox.addItem("")
|
||||
self.weight_combobox.addItem("")
|
||||
self.weight_combobox.addItem("")
|
||||
self.gridLayout_2.addWidget(self.weight_combobox, 6, 1, 1, 1)
|
||||
self.newmodel_button = QtWidgets.QPushButton(self.scrollAreaWidgetContents_2)
|
||||
self.newmodel_button.setEnabled(False)
|
||||
@ -144,7 +143,6 @@ class Ui_FitDialog(object):
|
||||
self.weight_combobox.setItemText(1, _translate("FitDialog", "y"))
|
||||
self.weight_combobox.setItemText(2, _translate("FitDialog", "y²"))
|
||||
self.weight_combobox.setItemText(3, _translate("FitDialog", "Δy"))
|
||||
self.weight_combobox.setItemText(4, _translate("FitDialog", "log(y)"))
|
||||
self.newmodel_button.setText(_translate("FitDialog", "New model"))
|
||||
self.deletemodel_button.setText(_translate("FitDialog", "Delete model"))
|
||||
self.label_3.setText(_translate("FitDialog", "Weight"))
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/fitdialog_window.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/fitdialog_window.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/fitfunctionwidget.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/fitfunctionwidget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/fitfuncwidget_old.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/fitfuncwidget_old.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/fitmodelfixwidget.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/fitmodelfixwidget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/fitmodelwidget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.10
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -14,7 +14,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
class Ui_FitParameter(object):
|
||||
def setupUi(self, FitParameter):
|
||||
FitParameter.setObjectName("FitParameter")
|
||||
FitParameter.resize(365, 78)
|
||||
FitParameter.resize(365, 66)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
@ -37,28 +37,24 @@ class Ui_FitParameter(object):
|
||||
self.parametername.setObjectName("parametername")
|
||||
self.horizontalLayout_2.addWidget(self.parametername)
|
||||
self.parameter_line = LineEdit(FitParameter)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.parameter_line.sizePolicy().hasHeightForWidth())
|
||||
self.parameter_line.setSizePolicy(sizePolicy)
|
||||
self.parameter_line.setMaximumSize(QtCore.QSize(160, 16777215))
|
||||
self.parameter_line.setText("")
|
||||
self.parameter_line.setObjectName("parameter_line")
|
||||
self.horizontalLayout_2.addWidget(self.parameter_line)
|
||||
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_2.addItem(spacerItem)
|
||||
self.fixed_check = QtWidgets.QCheckBox(FitParameter)
|
||||
self.fixed_check.setObjectName("fixed_check")
|
||||
self.horizontalLayout_2.addWidget(self.fixed_check)
|
||||
self.global_checkbox = QtWidgets.QCheckBox(FitParameter)
|
||||
self.global_checkbox.setObjectName("global_checkbox")
|
||||
self.horizontalLayout_2.addWidget(self.global_checkbox)
|
||||
self.toolButton = QtWidgets.QToolButton(FitParameter)
|
||||
self.toolButton.setText("")
|
||||
self.toolButton.setPopupMode(QtWidgets.QToolButton.InstantPopup)
|
||||
self.toolButton.setArrowType(QtCore.Qt.RightArrow)
|
||||
self.toolButton.setObjectName("toolButton")
|
||||
self.horizontalLayout_2.addWidget(self.toolButton)
|
||||
self.reset_button = QtWidgets.QPushButton(FitParameter)
|
||||
self.reset_button.setObjectName("reset_button")
|
||||
self.horizontalLayout_2.addWidget(self.reset_button)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout_2)
|
||||
self.frame = QtWidgets.QFrame(FitParameter)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
|
||||
@ -90,6 +86,7 @@ class Ui_FitParameter(object):
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.lineEdit.sizePolicy().hasHeightForWidth())
|
||||
self.lineEdit.setSizePolicy(sizePolicy)
|
||||
self.lineEdit.setMaximumSize(QtCore.QSize(100, 16777215))
|
||||
self.lineEdit.setText("")
|
||||
self.lineEdit.setFrame(True)
|
||||
self.lineEdit.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
|
||||
@ -108,6 +105,7 @@ class Ui_FitParameter(object):
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.lineEdit_2.sizePolicy().hasHeightForWidth())
|
||||
self.lineEdit_2.setSizePolicy(sizePolicy)
|
||||
self.lineEdit_2.setMaximumSize(QtCore.QSize(100, 16777215))
|
||||
self.lineEdit_2.setText("")
|
||||
self.lineEdit_2.setFrame(True)
|
||||
self.lineEdit_2.setObjectName("lineEdit_2")
|
||||
@ -130,6 +128,7 @@ class Ui_FitParameter(object):
|
||||
self.parameter_line.setPlaceholderText(_translate("FitParameter", "0"))
|
||||
self.fixed_check.setText(_translate("FitParameter", "Fix"))
|
||||
self.global_checkbox.setText(_translate("FitParameter", "Global"))
|
||||
self.reset_button.setText(_translate("FitParameter", "Use global"))
|
||||
self.lineEdit.setToolTip(_translate("FitParameter", "<html><head/><body><p>Lower bound. Same bound is used for all data. Leave empty for no boundary condition.</p></body></html>"))
|
||||
self.label_3.setText(_translate("FitParameter", "Textlabel"))
|
||||
self.lineEdit_2.setToolTip(_translate("FitParameter", "<html><head/><body><p>Upper bound. Same bound is used for all data. Leave empty for no boundary condition.</p></body></html>"))
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/fitparametertable.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/fitparametertable.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@ -41,8 +40,8 @@ class Ui_FitParameterDialog(object):
|
||||
self.verticalLayout.addLayout(self.horizontalLayout)
|
||||
|
||||
self.retranslateUi(FitParameterDialog)
|
||||
self.buttonBox.accepted.connect(FitParameterDialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(FitParameterDialog.reject) # type: ignore
|
||||
self.buttonBox.accepted.connect(FitParameterDialog.accept)
|
||||
self.buttonBox.rejected.connect(FitParameterDialog.reject)
|
||||
QtCore.QMetaObject.connectSlotsByName(FitParameterDialog)
|
||||
|
||||
def retranslateUi(self, FitParameterDialog):
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/fitparameterwidget.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/fitparameterwidget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/fitresult.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.10
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -14,117 +14,69 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
class Ui_Dialog(object):
|
||||
def setupUi(self, Dialog):
|
||||
Dialog.setObjectName("Dialog")
|
||||
Dialog.resize(817, 584)
|
||||
Dialog.resize(969, 974)
|
||||
self.gridLayout = QtWidgets.QGridLayout(Dialog)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.sets_comboBox = ElideComboBox(Dialog)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.sets_comboBox.sizePolicy().hasHeightForWidth())
|
||||
self.sets_comboBox.setSizePolicy(sizePolicy)
|
||||
self.sets_comboBox.setMaximumSize(QtCore.QSize(400, 16777215))
|
||||
self.sets_comboBox.setBaseSize(QtCore.QSize(200, 0))
|
||||
self.sets_comboBox.setSizeAdjustPolicy(QtWidgets.QComboBox.AdjustToMinimumContentsLength)
|
||||
self.sets_comboBox.setObjectName("sets_comboBox")
|
||||
self.gridLayout.addWidget(self.sets_comboBox, 0, 0, 1, 1)
|
||||
self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
|
||||
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok|QtWidgets.QDialogButtonBox.Retry)
|
||||
self.buttonBox.setObjectName("buttonBox")
|
||||
self.gridLayout.addWidget(self.buttonBox, 6, 0, 1, 2)
|
||||
self.param_tableWidget = QtWidgets.QTableWidget(Dialog)
|
||||
self.param_tableWidget.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
|
||||
self.param_tableWidget.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored)
|
||||
self.param_tableWidget.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||
self.param_tableWidget.setAlternatingRowColors(True)
|
||||
self.param_tableWidget.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection)
|
||||
self.param_tableWidget.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectColumns)
|
||||
self.param_tableWidget.setShowGrid(False)
|
||||
self.param_tableWidget.setColumnCount(0)
|
||||
self.param_tableWidget.setObjectName("param_tableWidget")
|
||||
self.param_tableWidget.setRowCount(0)
|
||||
self.param_tableWidget.horizontalHeader().setStretchLastSection(False)
|
||||
self.gridLayout.addWidget(self.param_tableWidget, 1, 0, 1, 1)
|
||||
self.groupBox = QtWidgets.QGroupBox(Dialog)
|
||||
self.groupBox.setObjectName("groupBox")
|
||||
self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox)
|
||||
self.gridLayout_2.setContentsMargins(3, 3, 3, 3)
|
||||
self.gridLayout_2.setSpacing(3)
|
||||
self.gridLayout_2.setObjectName("gridLayout_2")
|
||||
self.graph_checkBox = QtWidgets.QCheckBox(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.graph_checkBox.sizePolicy().hasHeightForWidth())
|
||||
self.graph_checkBox.setSizePolicy(sizePolicy)
|
||||
self.graph_checkBox.setChecked(True)
|
||||
self.graph_checkBox.setObjectName("graph_checkBox")
|
||||
self.gridLayout_2.addWidget(self.graph_checkBox, 1, 1, 1, 1)
|
||||
self.graph_comboBox = QtWidgets.QComboBox(self.groupBox)
|
||||
self.graph_comboBox.setEnabled(False)
|
||||
self.graph_comboBox.setObjectName("graph_comboBox")
|
||||
self.gridLayout_2.addWidget(self.graph_comboBox, 1, 2, 1, 1)
|
||||
self.curve_checkbox = QtWidgets.QCheckBox(self.groupBox)
|
||||
self.curve_checkbox.setChecked(True)
|
||||
self.curve_checkbox.setObjectName("curve_checkbox")
|
||||
self.gridLayout_2.addWidget(self.curve_checkbox, 0, 0, 1, 1)
|
||||
self.partial_checkBox = QtWidgets.QCheckBox(self.groupBox)
|
||||
self.partial_checkBox.setObjectName("partial_checkBox")
|
||||
self.gridLayout_2.addWidget(self.partial_checkBox, 1, 0, 1, 1)
|
||||
self.parameter_checkbox = QtWidgets.QCheckBox(self.groupBox)
|
||||
self.parameter_checkbox.setChecked(True)
|
||||
self.parameter_checkbox.setObjectName("parameter_checkbox")
|
||||
self.gridLayout_2.addWidget(self.parameter_checkbox, 0, 1, 1, 1)
|
||||
self.gridLayout.addWidget(self.groupBox, 5, 0, 1, 2)
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_2.setSpacing(3)
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.reject_fit_checkBox = QtWidgets.QCheckBox(Dialog)
|
||||
self.reject_fit_checkBox.setObjectName("reject_fit_checkBox")
|
||||
self.horizontalLayout_2.addWidget(self.reject_fit_checkBox)
|
||||
self.del_prev_checkBox = QtWidgets.QCheckBox(Dialog)
|
||||
self.del_prev_checkBox.setObjectName("del_prev_checkBox")
|
||||
self.horizontalLayout_2.addWidget(self.del_prev_checkBox)
|
||||
self.gridLayout.addLayout(self.horizontalLayout_2, 2, 0, 1, 1)
|
||||
self.line = QtWidgets.QFrame(Dialog)
|
||||
self.line.setFrameShape(QtWidgets.QFrame.HLine)
|
||||
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
|
||||
self.line.setObjectName("line")
|
||||
self.gridLayout.addWidget(self.line, 3, 0, 1, 2)
|
||||
self.stack = QtWidgets.QToolBox(Dialog)
|
||||
self.stack = QtWidgets.QTabWidget(Dialog)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.stack.sizePolicy().hasHeightForWidth())
|
||||
self.stack.setSizePolicy(sizePolicy)
|
||||
self.stack.setObjectName("stack")
|
||||
self.page = QtWidgets.QWidget()
|
||||
self.page.setGeometry(QtCore.QRect(0, 0, 399, 346))
|
||||
self.page.setObjectName("page")
|
||||
self.gridLayout_3 = QtWidgets.QGridLayout(self.page)
|
||||
self.gridLayout_3.setContentsMargins(3, 3, 3, 3)
|
||||
self.stackPage1 = QtWidgets.QWidget()
|
||||
self.stackPage1.setObjectName("stackPage1")
|
||||
self.gridLayout_3 = QtWidgets.QGridLayout(self.stackPage1)
|
||||
self.gridLayout_3.setContentsMargins(6, 3, 6, 3)
|
||||
self.gridLayout_3.setSpacing(3)
|
||||
self.gridLayout_3.setObjectName("gridLayout_3")
|
||||
self.logy_box = QtWidgets.QCheckBox(self.page)
|
||||
self.logy_box.setLayoutDirection(QtCore.Qt.RightToLeft)
|
||||
self.logy_box.setObjectName("logy_box")
|
||||
self.gridLayout_3.addWidget(self.logy_box, 2, 1, 1, 1)
|
||||
self.logx_box = QtWidgets.QCheckBox(self.page)
|
||||
self.logx_box.setLayoutDirection(QtCore.Qt.RightToLeft)
|
||||
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.gridLayout_3.addItem(spacerItem, 2, 3, 1, 1)
|
||||
self.autoscale_box = QtWidgets.QToolButton(self.stackPage1)
|
||||
self.autoscale_box.setObjectName("autoscale_box")
|
||||
self.gridLayout_3.addWidget(self.autoscale_box, 2, 4, 1, 1)
|
||||
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.gridLayout_3.addItem(spacerItem1, 2, 1, 1, 1)
|
||||
self.verticalGroupBox_2 = QtWidgets.QGroupBox(self.stackPage1)
|
||||
self.verticalGroupBox_2.setObjectName("verticalGroupBox_2")
|
||||
self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.verticalGroupBox_2)
|
||||
self.verticalLayout_4.setObjectName("verticalLayout_4")
|
||||
self.logx_box = QtWidgets.QCheckBox(self.verticalGroupBox_2)
|
||||
self.logx_box.setLayoutDirection(QtCore.Qt.LeftToRight)
|
||||
self.logx_box.setObjectName("logx_box")
|
||||
self.gridLayout_3.addWidget(self.logx_box, 2, 0, 1, 1)
|
||||
self.graphicsView = GraphicsLayoutWidget(self.page)
|
||||
self.verticalLayout_4.addWidget(self.logx_box)
|
||||
self.logy_box = QtWidgets.QCheckBox(self.verticalGroupBox_2)
|
||||
self.logy_box.setLayoutDirection(QtCore.Qt.LeftToRight)
|
||||
self.logy_box.setObjectName("logy_box")
|
||||
self.verticalLayout_4.addWidget(self.logy_box)
|
||||
self.gridLayout_3.addWidget(self.verticalGroupBox_2, 2, 2, 1, 1)
|
||||
self.verticalGroupBox = QtWidgets.QGroupBox(self.stackPage1)
|
||||
self.verticalGroupBox.setObjectName("verticalGroupBox")
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalGroupBox)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.rel_dev_button = QtWidgets.QRadioButton(self.verticalGroupBox)
|
||||
self.rel_dev_button.setObjectName("rel_dev_button")
|
||||
self.buttonGroup = QtWidgets.QButtonGroup(Dialog)
|
||||
self.buttonGroup.setObjectName("buttonGroup")
|
||||
self.buttonGroup.addButton(self.rel_dev_button)
|
||||
self.verticalLayout.addWidget(self.rel_dev_button)
|
||||
self.abs_dev_button = QtWidgets.QRadioButton(self.verticalGroupBox)
|
||||
self.abs_dev_button.setChecked(True)
|
||||
self.abs_dev_button.setObjectName("abs_dev_button")
|
||||
self.buttonGroup.addButton(self.abs_dev_button)
|
||||
self.verticalLayout.addWidget(self.abs_dev_button)
|
||||
self.gridLayout_3.addWidget(self.verticalGroupBox, 2, 0, 1, 1)
|
||||
self.graphicsView = GraphicsLayoutWidget(self.stackPage1)
|
||||
self.graphicsView.setObjectName("graphicsView")
|
||||
self.gridLayout_3.addWidget(self.graphicsView, 0, 0, 1, 2)
|
||||
self.stack.addItem(self.page, "")
|
||||
self.page_2 = QtWidgets.QWidget()
|
||||
self.page_2.setGeometry(QtCore.QRect(0, 0, 399, 346))
|
||||
self.page_2.setObjectName("page_2")
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.page_2)
|
||||
self.gridLayout_3.addWidget(self.graphicsView, 0, 0, 1, 5)
|
||||
self.stack.addTab(self.stackPage1, "")
|
||||
self.stackPage2 = QtWidgets.QWidget()
|
||||
self.stackPage2.setObjectName("stackPage2")
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.stackPage2)
|
||||
self.verticalLayout_2.setContentsMargins(3, 3, 3, 3)
|
||||
self.verticalLayout_2.setSpacing(3)
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
self.stats_tableWidget = QtWidgets.QTableWidget(self.page_2)
|
||||
self.stats_tableWidget = QtWidgets.QTableWidget(self.stackPage2)
|
||||
self.stats_tableWidget.setFrameShape(QtWidgets.QFrame.Box)
|
||||
self.stats_tableWidget.setGridStyle(QtCore.Qt.NoPen)
|
||||
self.stats_tableWidget.setColumnCount(1)
|
||||
@ -133,15 +85,14 @@ class Ui_Dialog(object):
|
||||
self.stats_tableWidget.horizontalHeader().setVisible(False)
|
||||
self.stats_tableWidget.horizontalHeader().setSortIndicatorShown(True)
|
||||
self.verticalLayout_2.addWidget(self.stats_tableWidget)
|
||||
self.stack.addItem(self.page_2, "")
|
||||
self.page_3 = QtWidgets.QWidget()
|
||||
self.page_3.setGeometry(QtCore.QRect(0, 0, 399, 346))
|
||||
self.page_3.setObjectName("page_3")
|
||||
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.page_3)
|
||||
self.stack.addTab(self.stackPage2, "")
|
||||
self.stackPage3 = QtWidgets.QWidget()
|
||||
self.stackPage3.setObjectName("stackPage3")
|
||||
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.stackPage3)
|
||||
self.verticalLayout_3.setContentsMargins(3, 3, 3, 3)
|
||||
self.verticalLayout_3.setSpacing(3)
|
||||
self.verticalLayout_3.setObjectName("verticalLayout_3")
|
||||
self.corr_tableWidget = QtWidgets.QTableWidget(self.page_3)
|
||||
self.corr_tableWidget = QtWidgets.QTableWidget(self.stackPage3)
|
||||
self.corr_tableWidget.setFrameShape(QtWidgets.QFrame.Box)
|
||||
self.corr_tableWidget.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||
self.corr_tableWidget.setGridStyle(QtCore.Qt.NoPen)
|
||||
@ -159,28 +110,161 @@ class Ui_Dialog(object):
|
||||
self.corr_tableWidget.horizontalHeader().setStretchLastSection(True)
|
||||
self.corr_tableWidget.verticalHeader().setVisible(False)
|
||||
self.verticalLayout_3.addWidget(self.corr_tableWidget)
|
||||
self.stack.addItem(self.page_3, "")
|
||||
self.gridLayout.addWidget(self.stack, 0, 1, 3, 1)
|
||||
self.stack.addTab(self.stackPage3, "")
|
||||
self.gridLayout.addWidget(self.stack, 0, 1, 5, 1)
|
||||
self.param_tableWidget = QtWidgets.QTableWidget(Dialog)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.param_tableWidget.sizePolicy().hasHeightForWidth())
|
||||
self.param_tableWidget.setSizePolicy(sizePolicy)
|
||||
self.param_tableWidget.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
|
||||
self.param_tableWidget.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored)
|
||||
self.param_tableWidget.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||
self.param_tableWidget.setAlternatingRowColors(True)
|
||||
self.param_tableWidget.setSelectionMode(QtWidgets.QAbstractItemView.NoSelection)
|
||||
self.param_tableWidget.setColumnCount(1)
|
||||
self.param_tableWidget.setObjectName("param_tableWidget")
|
||||
self.param_tableWidget.setRowCount(0)
|
||||
self.param_tableWidget.horizontalHeader().setVisible(False)
|
||||
self.param_tableWidget.horizontalHeader().setStretchLastSection(True)
|
||||
self.gridLayout.addWidget(self.param_tableWidget, 1, 0, 1, 1)
|
||||
self.del_prev_checkBox = QtWidgets.QCheckBox(Dialog)
|
||||
self.del_prev_checkBox.setObjectName("del_prev_checkBox")
|
||||
self.gridLayout.addWidget(self.del_prev_checkBox, 3, 0, 1, 1)
|
||||
self.line = QtWidgets.QFrame(Dialog)
|
||||
self.line.setFrameShape(QtWidgets.QFrame.HLine)
|
||||
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
|
||||
self.line.setObjectName("line")
|
||||
self.gridLayout.addWidget(self.line, 5, 0, 1, 2)
|
||||
self.sets_comboBox = ElideComboBox(Dialog)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.sets_comboBox.sizePolicy().hasHeightForWidth())
|
||||
self.sets_comboBox.setSizePolicy(sizePolicy)
|
||||
self.sets_comboBox.setMaximumSize(QtCore.QSize(400, 16777215))
|
||||
self.sets_comboBox.setBaseSize(QtCore.QSize(200, 0))
|
||||
self.sets_comboBox.setSizeAdjustPolicy(QtWidgets.QComboBox.AdjustToMinimumContentsLength)
|
||||
self.sets_comboBox.setObjectName("sets_comboBox")
|
||||
self.gridLayout.addWidget(self.sets_comboBox, 0, 0, 1, 1)
|
||||
self.reject_fit_checkBox = QtWidgets.QCheckBox(Dialog)
|
||||
self.reject_fit_checkBox.setObjectName("reject_fit_checkBox")
|
||||
self.gridLayout.addWidget(self.reject_fit_checkBox, 2, 0, 1, 1)
|
||||
self.groupBox = QtWidgets.QGroupBox(Dialog)
|
||||
self.groupBox.setObjectName("groupBox")
|
||||
self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox)
|
||||
self.gridLayout_2.setContentsMargins(3, 3, 3, 3)
|
||||
self.gridLayout_2.setSpacing(3)
|
||||
self.gridLayout_2.setObjectName("gridLayout_2")
|
||||
self.graph_comboBox = QtWidgets.QComboBox(self.groupBox)
|
||||
self.graph_comboBox.setEnabled(False)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.graph_comboBox.sizePolicy().hasHeightForWidth())
|
||||
self.graph_comboBox.setSizePolicy(sizePolicy)
|
||||
self.graph_comboBox.setObjectName("graph_comboBox")
|
||||
self.gridLayout_2.addWidget(self.graph_comboBox, 1, 7, 1, 1)
|
||||
self.minx_line = QtWidgets.QLineEdit(self.groupBox)
|
||||
self.minx_line.setEnabled(False)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.minx_line.sizePolicy().hasHeightForWidth())
|
||||
self.minx_line.setSizePolicy(sizePolicy)
|
||||
self.minx_line.setObjectName("minx_line")
|
||||
self.gridLayout_2.addWidget(self.minx_line, 1, 1, 1, 1)
|
||||
self.extrapolate_box = QtWidgets.QCheckBox(self.groupBox)
|
||||
self.extrapolate_box.setObjectName("extrapolate_box")
|
||||
self.gridLayout_2.addWidget(self.extrapolate_box, 1, 0, 1, 1)
|
||||
self.numx_line = QtWidgets.QLineEdit(self.groupBox)
|
||||
self.numx_line.setEnabled(False)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.numx_line.sizePolicy().hasHeightForWidth())
|
||||
self.numx_line.setSizePolicy(sizePolicy)
|
||||
self.numx_line.setObjectName("numx_line")
|
||||
self.gridLayout_2.addWidget(self.numx_line, 1, 3, 1, 1)
|
||||
self.graph_checkBox = QtWidgets.QCheckBox(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.graph_checkBox.sizePolicy().hasHeightForWidth())
|
||||
self.graph_checkBox.setSizePolicy(sizePolicy)
|
||||
self.graph_checkBox.setChecked(True)
|
||||
self.graph_checkBox.setObjectName("graph_checkBox")
|
||||
self.gridLayout_2.addWidget(self.graph_checkBox, 1, 6, 1, 1)
|
||||
self.maxx_line = QtWidgets.QLineEdit(self.groupBox)
|
||||
self.maxx_line.setEnabled(False)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.maxx_line.sizePolicy().hasHeightForWidth())
|
||||
self.maxx_line.setSizePolicy(sizePolicy)
|
||||
self.maxx_line.setObjectName("maxx_line")
|
||||
self.gridLayout_2.addWidget(self.maxx_line, 1, 2, 1, 1)
|
||||
self.line_2 = QtWidgets.QFrame(self.groupBox)
|
||||
self.line_2.setFrameShape(QtWidgets.QFrame.VLine)
|
||||
self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
|
||||
self.line_2.setObjectName("line_2")
|
||||
self.gridLayout_2.addWidget(self.line_2, 0, 5, 2, 1)
|
||||
self.newx_log_checkbox = QtWidgets.QCheckBox(self.groupBox)
|
||||
self.newx_log_checkbox.setEnabled(False)
|
||||
self.newx_log_checkbox.setObjectName("newx_log_checkbox")
|
||||
self.gridLayout_2.addWidget(self.newx_log_checkbox, 1, 4, 1, 1)
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.curve_checkbox = QtWidgets.QCheckBox(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.curve_checkbox.sizePolicy().hasHeightForWidth())
|
||||
self.curve_checkbox.setSizePolicy(sizePolicy)
|
||||
self.curve_checkbox.setChecked(True)
|
||||
self.curve_checkbox.setObjectName("curve_checkbox")
|
||||
self.horizontalLayout.addWidget(self.curve_checkbox)
|
||||
self.partial_checkBox = QtWidgets.QCheckBox(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.partial_checkBox.sizePolicy().hasHeightForWidth())
|
||||
self.partial_checkBox.setSizePolicy(sizePolicy)
|
||||
self.partial_checkBox.setObjectName("partial_checkBox")
|
||||
self.horizontalLayout.addWidget(self.partial_checkBox)
|
||||
self.gridLayout_2.addLayout(self.horizontalLayout, 0, 0, 1, 5)
|
||||
self.parameter_checkbox = QtWidgets.QCheckBox(self.groupBox)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.parameter_checkbox.sizePolicy().hasHeightForWidth())
|
||||
self.parameter_checkbox.setSizePolicy(sizePolicy)
|
||||
self.parameter_checkbox.setObjectName("parameter_checkbox")
|
||||
self.gridLayout_2.addWidget(self.parameter_checkbox, 0, 6, 1, 2)
|
||||
self.gridLayout.addWidget(self.groupBox, 7, 0, 1, 2)
|
||||
self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
|
||||
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok|QtWidgets.QDialogButtonBox.Retry)
|
||||
self.buttonBox.setObjectName("buttonBox")
|
||||
self.gridLayout.addWidget(self.buttonBox, 8, 0, 1, 2)
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
self.stack.setCurrentIndex(0)
|
||||
self.stack.layout().setSpacing(0)
|
||||
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
||||
|
||||
def retranslateUi(self, Dialog):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
Dialog.setWindowTitle(_translate("Dialog", "Fit results"))
|
||||
self.groupBox.setTitle(_translate("Dialog", "Output"))
|
||||
self.graph_checkBox.setText(_translate("Dialog", "New graph"))
|
||||
self.curve_checkbox.setText(_translate("Dialog", "Plot fit curve"))
|
||||
self.partial_checkBox.setText(_translate("Dialog", "Plot partial functions"))
|
||||
self.parameter_checkbox.setText(_translate("Dialog", "Plot parameter"))
|
||||
self.reject_fit_checkBox.setText(_translate("Dialog", "Reject this fit"))
|
||||
self.del_prev_checkBox.setText(_translate("Dialog", "Delete previous fits"))
|
||||
self.logy_box.setText(_translate("Dialog", "logarithmic y axis"))
|
||||
self.logx_box.setText(_translate("Dialog", "logarithmic x axis"))
|
||||
self.stack.setItemText(self.stack.indexOf(self.page), _translate("Dialog", "Plot"))
|
||||
self.stack.setItemText(self.stack.indexOf(self.page_2), _translate("Dialog", "Statistics"))
|
||||
self.autoscale_box.setToolTip(_translate("Dialog", "Auto-scale graph for all sets"))
|
||||
self.autoscale_box.setText(_translate("Dialog", "Autoscale all sets"))
|
||||
self.verticalGroupBox_2.setTitle(_translate("Dialog", "Logarithmic axes"))
|
||||
self.logx_box.setText(_translate("Dialog", "x axis"))
|
||||
self.logy_box.setText(_translate("Dialog", "y axis"))
|
||||
self.verticalGroupBox.setTitle(_translate("Dialog", "Residuals"))
|
||||
self.rel_dev_button.setText(_translate("Dialog", "relative deviation"))
|
||||
self.abs_dev_button.setText(_translate("Dialog", "absolute deviation"))
|
||||
self.stack.setTabText(self.stack.indexOf(self.stackPage1), _translate("Dialog", "Plot"))
|
||||
self.stack.setTabText(self.stack.indexOf(self.stackPage2), _translate("Dialog", "Statistics"))
|
||||
item = self.corr_tableWidget.horizontalHeaderItem(0)
|
||||
item.setText(_translate("Dialog", "Parameter 1"))
|
||||
item = self.corr_tableWidget.horizontalHeaderItem(1)
|
||||
@ -189,6 +273,21 @@ class Ui_Dialog(object):
|
||||
item.setText(_translate("Dialog", "Corr."))
|
||||
item = self.corr_tableWidget.horizontalHeaderItem(3)
|
||||
item.setText(_translate("Dialog", "Partial Corr."))
|
||||
self.stack.setItemText(self.stack.indexOf(self.page_3), _translate("Dialog", "Correlations"))
|
||||
self.stack.setTabText(self.stack.indexOf(self.stackPage3), _translate("Dialog", "Correlations"))
|
||||
self.del_prev_checkBox.setText(_translate("Dialog", "Delete previous fits of this set"))
|
||||
self.reject_fit_checkBox.setText(_translate("Dialog", "Reject this fit"))
|
||||
self.groupBox.setTitle(_translate("Dialog", "Output"))
|
||||
self.minx_line.setToolTip(_translate("Dialog", "Leave empty to start at lowest point"))
|
||||
self.minx_line.setPlaceholderText(_translate("Dialog", "min x"))
|
||||
self.extrapolate_box.setToolTip(_translate("Dialog", "Extrapolates only main function"))
|
||||
self.extrapolate_box.setText(_translate("Dialog", "Extrapolate curves"))
|
||||
self.numx_line.setPlaceholderText(_translate("Dialog", "# pts"))
|
||||
self.graph_checkBox.setText(_translate("Dialog", "New graph for parameter"))
|
||||
self.maxx_line.setToolTip(_translate("Dialog", "Leave empty to start at highest point"))
|
||||
self.maxx_line.setPlaceholderText(_translate("Dialog", "max x"))
|
||||
self.newx_log_checkbox.setText(_translate("Dialog", "log-spaced?"))
|
||||
self.curve_checkbox.setText(_translate("Dialog", "Plot fit curve"))
|
||||
self.partial_checkBox.setText(_translate("Dialog", "Plot partial functions"))
|
||||
self.parameter_checkbox.setText(_translate("Dialog", "Plot parameter"))
|
||||
from ..lib.forms import ElideComboBox
|
||||
from pyqtgraph import GraphicsLayoutWidget
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/ftdialog.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/ftdialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@ -46,8 +45,8 @@ class Ui_Dialog(object):
|
||||
self.verticalLayout.addWidget(self.buttonBox)
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
|
||||
self.buttonBox.accepted.connect(Dialog.accept)
|
||||
self.buttonBox.rejected.connect(Dialog.reject)
|
||||
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
||||
|
||||
def retranslateUi(self, Dialog):
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/function_tree_widget.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/function_tree_widget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/gol.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/gol.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/gracemsgdialog.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/gracemsgdialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/gracereader.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/gracereader.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@ -72,8 +71,8 @@ class Ui_Dialog(object):
|
||||
self.verticalLayout.addWidget(self.buttonBox)
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
|
||||
self.buttonBox.accepted.connect(Dialog.accept)
|
||||
self.buttonBox.rejected.connect(Dialog.reject)
|
||||
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
||||
|
||||
def retranslateUi(self, Dialog):
|
||||
|
@ -1,8 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/graph.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/graph.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.10
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -14,7 +14,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
class Ui_GraphWindow(object):
|
||||
def setupUi(self, GraphWindow):
|
||||
GraphWindow.setObjectName("GraphWindow")
|
||||
GraphWindow.resize(865, 520)
|
||||
GraphWindow.resize(680, 520)
|
||||
GraphWindow.setBaseSize(QtCore.QSize(300, 10))
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(GraphWindow)
|
||||
self.verticalLayout.setContentsMargins(3, 3, 3, 3)
|
||||
@ -96,12 +96,6 @@ class Ui_GraphWindow(object):
|
||||
self.horizontalLayout.addWidget(self.line_3)
|
||||
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout.addItem(spacerItem)
|
||||
self.graph_label = QtWidgets.QLabel(self.widget)
|
||||
self.graph_label.setText("")
|
||||
self.graph_label.setObjectName("graph_label")
|
||||
self.horizontalLayout.addWidget(self.graph_label)
|
||||
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout.addItem(spacerItem1)
|
||||
self.limit_button = QtWidgets.QToolButton(self.widget)
|
||||
self.limit_button.setCheckable(True)
|
||||
self.limit_button.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon)
|
||||
@ -145,8 +139,8 @@ class Ui_GraphWindow(object):
|
||||
self.xmax_lineedit = QtWidgets.QLineEdit(self.limit_widget)
|
||||
self.xmax_lineedit.setObjectName("xmax_lineedit")
|
||||
self.horizontalLayout_2.addWidget(self.xmax_lineedit)
|
||||
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_2.addItem(spacerItem2)
|
||||
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_2.addItem(spacerItem1)
|
||||
self.label_3 = QtWidgets.QLabel(self.limit_widget)
|
||||
self.label_3.setObjectName("label_3")
|
||||
self.horizontalLayout_2.addWidget(self.label_3)
|
||||
@ -182,16 +176,16 @@ class Ui_GraphWindow(object):
|
||||
self.title_lineedit = QtWidgets.QLineEdit(self.label_widget)
|
||||
self.title_lineedit.setObjectName("title_lineedit")
|
||||
self.horizontalLayout_3.addWidget(self.title_lineedit)
|
||||
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_3.addItem(spacerItem3)
|
||||
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_3.addItem(spacerItem2)
|
||||
self.label_6 = QtWidgets.QLabel(self.label_widget)
|
||||
self.label_6.setObjectName("label_6")
|
||||
self.horizontalLayout_3.addWidget(self.label_6)
|
||||
self.xaxis_linedit = QtWidgets.QLineEdit(self.label_widget)
|
||||
self.xaxis_linedit.setObjectName("xaxis_linedit")
|
||||
self.horizontalLayout_3.addWidget(self.xaxis_linedit)
|
||||
spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_3.addItem(spacerItem4)
|
||||
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_3.addItem(spacerItem3)
|
||||
self.label_7 = QtWidgets.QLabel(self.label_widget)
|
||||
self.label_7.setObjectName("label_7")
|
||||
self.horizontalLayout_3.addWidget(self.label_7)
|
||||
@ -203,19 +197,20 @@ class Ui_GraphWindow(object):
|
||||
self.gridLayout.setHorizontalSpacing(3)
|
||||
self.gridLayout.setVerticalSpacing(0)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.listWidget = QtWidgets.QListWidget(GraphWindow)
|
||||
self.listWidget = QListWidgetSelect(GraphWindow)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.listWidget.sizePolicy().hasHeightForWidth())
|
||||
self.listWidget.setSizePolicy(sizePolicy)
|
||||
self.listWidget.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||
self.listWidget.setObjectName("listWidget")
|
||||
self.gridLayout.addWidget(self.listWidget, 1, 1, 1, 1)
|
||||
self.checkBox = QtWidgets.QCheckBox(GraphWindow)
|
||||
self.checkBox.setChecked(True)
|
||||
self.checkBox.setObjectName("checkBox")
|
||||
self.gridLayout.addWidget(self.checkBox, 0, 1, 1, 1)
|
||||
self.graphic = PlotWidget(GraphWindow)
|
||||
self.graphic = NMRPlotWidget(GraphWindow)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
@ -276,7 +271,11 @@ class Ui_GraphWindow(object):
|
||||
self.label_4.setText(_translate("GraphWindow", "---"))
|
||||
self.apply_button.setText(_translate("GraphWindow", "Apply"))
|
||||
self.label_5.setText(_translate("GraphWindow", "Title"))
|
||||
self.title_lineedit.setToolTip(_translate("GraphWindow", "<html><head/><body><p>Uses simple latex syntax, does not support italic/math environment. Sub-/superscripts need curly brackets.<br/></p><p>Example: \\alpha^{123}</p></body></html>"))
|
||||
self.label_6.setText(_translate("GraphWindow", "X Axis"))
|
||||
self.xaxis_linedit.setToolTip(_translate("GraphWindow", "<html><head/><body><p>Uses simple latex syntax, does not support italic/math environment. Sub-/superscripts need curly brackets.<br/></p><p>Example: \\alpha^{123}</p></body></html>"))
|
||||
self.label_7.setText(_translate("GraphWindow", "Y Axis"))
|
||||
self.yaxis_linedit.setToolTip(_translate("GraphWindow", "<html><head/><body><p>Uses simple latex syntax, does not support italic/math environment. Sub-/superscripts need curly brackets.<br/></p><p>Example: \\alpha^{123}</p></body></html>"))
|
||||
self.checkBox.setText(_translate("GraphWindow", "Show legend"))
|
||||
from pyqtgraph import PlotWidget
|
||||
from ..lib.graph_items import NMRPlotWidget
|
||||
from ..lib.listwidget import QListWidgetSelect
|
||||
|
@ -1,8 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file '/autohome/dominik/nmreval-gitea/src/resources/_ui/guidelinewidget.ui'
|
||||
# Form implementation generated from reading ui file '/autohome/dominik/nmreval/src/resources/_ui/guidelinewidget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.4
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -14,77 +14,173 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
class Ui_Form(object):
|
||||
def setupUi(self, Form):
|
||||
Form.setObjectName("Form")
|
||||
Form.resize(316, 678)
|
||||
Form.resize(459, 830)
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout(Form)
|
||||
self.verticalLayout_2.setContentsMargins(3, 3, 3, 3)
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
self.graph_combobox = QtWidgets.QComboBox(Form)
|
||||
self.graph_combobox.setObjectName("graph_combobox")
|
||||
self.verticalLayout_2.addWidget(self.graph_combobox)
|
||||
self.listWidget = QtWidgets.QListWidget(Form)
|
||||
self.listWidget.setObjectName("listWidget")
|
||||
self.verticalLayout_2.addWidget(self.listWidget)
|
||||
self.graph_comboBox = QtWidgets.QComboBox(Form)
|
||||
self.graph_comboBox.setObjectName("graph_comboBox")
|
||||
self.verticalLayout_2.addWidget(self.graph_comboBox)
|
||||
self.listWidget_2 = QtWidgets.QListWidget(Form)
|
||||
self.listWidget_2.setObjectName("listWidget_2")
|
||||
self.verticalLayout_2.addWidget(self.listWidget_2)
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.newButton = QtWidgets.QPushButton(Form)
|
||||
self.newButton.setObjectName("newButton")
|
||||
self.horizontalLayout.addWidget(self.newButton)
|
||||
self.editButton = QtWidgets.QPushButton(Form)
|
||||
self.editButton.setObjectName("editButton")
|
||||
self.horizontalLayout.addWidget(self.editButton)
|
||||
self.pushButton = QtWidgets.QPushButton(Form)
|
||||
self.pushButton.setObjectName("pushButton")
|
||||
self.horizontalLayout.addWidget(self.pushButton)
|
||||
self.pushButton_2 = QtWidgets.QPushButton(Form)
|
||||
self.pushButton_2.setObjectName("pushButton_2")
|
||||
self.horizontalLayout.addWidget(self.pushButton_2)
|
||||
self.pushButton_3 = QtWidgets.QPushButton(Form)
|
||||
self.pushButton_3.setObjectName("pushButton_3")
|
||||
self.horizontalLayout.addWidget(self.pushButton_3)
|
||||
self.verticalLayout_2.addLayout(self.horizontalLayout)
|
||||
self.frame = QtWidgets.QFrame(Form)
|
||||
self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
|
||||
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
|
||||
self.frame.setObjectName("frame")
|
||||
self.formLayout = QtWidgets.QFormLayout(self.frame)
|
||||
self.formLayout.setContentsMargins(-1, -1, -1, 6)
|
||||
self.formLayout.setObjectName("formLayout")
|
||||
self.type_label = QtWidgets.QLabel(self.frame)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.type_label.sizePolicy().hasHeightForWidth())
|
||||
self.type_label.setSizePolicy(sizePolicy)
|
||||
self.type_label.setObjectName("type_label")
|
||||
self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.type_label)
|
||||
self.mode_comboBox = QtWidgets.QComboBox(self.frame)
|
||||
self.mode_comboBox.setObjectName("mode_comboBox")
|
||||
self.mode_comboBox.addItem("")
|
||||
self.mode_comboBox.addItem("")
|
||||
self.mode_comboBox.addItem("")
|
||||
self.mode_comboBox.addItem("")
|
||||
self.mode_comboBox.addItem("")
|
||||
self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.mode_comboBox)
|
||||
self.label_12 = QtWidgets.QLabel(self.frame)
|
||||
self.label_12.setObjectName("label_12")
|
||||
self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_12)
|
||||
self.label_6 = QtWidgets.QLabel(self.frame)
|
||||
self.label_6.setObjectName("label_6")
|
||||
self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_6)
|
||||
self.comment_lineEdit = QtWidgets.QLineEdit(self.frame)
|
||||
self.comment_lineEdit.setObjectName("comment_lineEdit")
|
||||
self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.comment_lineEdit)
|
||||
self.label_2 = QtWidgets.QLabel(self.frame)
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_2)
|
||||
self.color_comboBox = ColorListEditor(self.frame)
|
||||
self.color_comboBox.setObjectName("color_comboBox")
|
||||
self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.color_comboBox)
|
||||
self.stackedWidget = QtWidgets.QStackedWidget(self.frame)
|
||||
self.stackedWidget.setFrameShape(QtWidgets.QFrame.NoFrame)
|
||||
self.stackedWidget.setObjectName("stackedWidget")
|
||||
self.formLayout.setWidget(1, QtWidgets.QFormLayout.SpanningRole, self.stackedWidget)
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.createButton = QtWidgets.QPushButton(self.frame)
|
||||
self.createButton.setObjectName("createButton")
|
||||
self.horizontalLayout_2.addWidget(self.createButton)
|
||||
self.cancelbutton = QtWidgets.QPushButton(self.frame)
|
||||
self.cancelbutton.setObjectName("cancelbutton")
|
||||
self.horizontalLayout_2.addWidget(self.cancelbutton)
|
||||
self.formLayout.setLayout(2, QtWidgets.QFormLayout.SpanningRole, self.horizontalLayout_2)
|
||||
self.page = QtWidgets.QWidget()
|
||||
self.page.setObjectName("page")
|
||||
self.formLayout_2 = QtWidgets.QFormLayout(self.page)
|
||||
self.formLayout_2.setObjectName("formLayout_2")
|
||||
self.label_13 = QtWidgets.QLabel(self.page)
|
||||
self.label_13.setObjectName("label_13")
|
||||
self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_13)
|
||||
self.lineEdit_8 = QtWidgets.QLineEdit(self.page)
|
||||
self.lineEdit_8.setObjectName("lineEdit_8")
|
||||
self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.lineEdit_8)
|
||||
self.label = QtWidgets.QLabel(self.page)
|
||||
self.label.setObjectName("label")
|
||||
self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label)
|
||||
self.infiniteline_angle_spinbox = QtWidgets.QSpinBox(self.page)
|
||||
self.infiniteline_angle_spinbox.setWrapping(True)
|
||||
self.infiniteline_angle_spinbox.setMaximum(179)
|
||||
self.infiniteline_angle_spinbox.setObjectName("infiniteline_angle_spinbox")
|
||||
self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.infiniteline_angle_spinbox)
|
||||
self.stackedWidget.addWidget(self.page)
|
||||
self.page_2 = QtWidgets.QWidget()
|
||||
self.page_2.setObjectName("page_2")
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(self.page_2)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.listWidget = QtWidgets.QListWidget(self.page_2)
|
||||
self.listWidget.setObjectName("listWidget")
|
||||
self.verticalLayout.addWidget(self.listWidget)
|
||||
self.stackedWidget.addWidget(self.page_2)
|
||||
self.page_3 = QtWidgets.QWidget()
|
||||
self.page_3.setObjectName("page_3")
|
||||
self.formLayout_3 = QtWidgets.QFormLayout(self.page_3)
|
||||
self.formLayout_3.setObjectName("formLayout_3")
|
||||
self.label_5 = QtWidgets.QLabel(self.page_3)
|
||||
self.label_5.setObjectName("label_5")
|
||||
self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_5)
|
||||
self.lineEdit = QtWidgets.QLineEdit(self.page_3)
|
||||
self.lineEdit.setObjectName("lineEdit")
|
||||
self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.lineEdit)
|
||||
self.label_3 = QtWidgets.QLabel(self.page_3)
|
||||
self.label_3.setObjectName("label_3")
|
||||
self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_3)
|
||||
self.lineEdit_2 = QtWidgets.QLineEdit(self.page_3)
|
||||
self.lineEdit_2.setObjectName("lineEdit_2")
|
||||
self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.lineEdit_2)
|
||||
self.label_9 = QtWidgets.QLabel(self.page_3)
|
||||
self.label_9.setObjectName("label_9")
|
||||
self.formLayout_3.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_9)
|
||||
self.lineEdit_3 = QtWidgets.QLineEdit(self.page_3)
|
||||
self.lineEdit_3.setObjectName("lineEdit_3")
|
||||
self.formLayout_3.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.lineEdit_3)
|
||||
self.label_4 = QtWidgets.QLabel(self.page_3)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.formLayout_3.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_4)
|
||||
self.spinBox = QtWidgets.QSpinBox(self.page_3)
|
||||
self.spinBox.setObjectName("spinBox")
|
||||
self.formLayout_3.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.spinBox)
|
||||
self.stackedWidget.addWidget(self.page_3)
|
||||
self.page_4 = QtWidgets.QWidget()
|
||||
self.page_4.setObjectName("page_4")
|
||||
self.formLayout_4 = QtWidgets.QFormLayout(self.page_4)
|
||||
self.formLayout_4.setObjectName("formLayout_4")
|
||||
self.label_7 = QtWidgets.QLabel(self.page_4)
|
||||
self.label_7.setObjectName("label_7")
|
||||
self.formLayout_4.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_7)
|
||||
self.lineEdit_4 = QtWidgets.QLineEdit(self.page_4)
|
||||
self.lineEdit_4.setObjectName("lineEdit_4")
|
||||
self.formLayout_4.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.lineEdit_4)
|
||||
self.label_8 = QtWidgets.QLabel(self.page_4)
|
||||
self.label_8.setObjectName("label_8")
|
||||
self.formLayout_4.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_8)
|
||||
self.lineEdit_5 = QtWidgets.QLineEdit(self.page_4)
|
||||
self.lineEdit_5.setObjectName("lineEdit_5")
|
||||
self.formLayout_4.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.lineEdit_5)
|
||||
self.label_10 = QtWidgets.QLabel(self.page_4)
|
||||
self.label_10.setObjectName("label_10")
|
||||
self.formLayout_4.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_10)
|
||||
self.lineEdit_6 = QtWidgets.QLineEdit(self.page_4)
|
||||
self.lineEdit_6.setObjectName("lineEdit_6")
|
||||
self.formLayout_4.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.lineEdit_6)
|
||||
self.label_11 = QtWidgets.QLabel(self.page_4)
|
||||
self.label_11.setObjectName("label_11")
|
||||
self.formLayout_4.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_11)
|
||||
self.lineEdit_7 = QtWidgets.QLineEdit(self.page_4)
|
||||
self.lineEdit_7.setObjectName("lineEdit_7")
|
||||
self.formLayout_4.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.lineEdit_7)
|
||||
self.stackedWidget.addWidget(self.page_4)
|
||||
self.formLayout.setWidget(3, QtWidgets.QFormLayout.SpanningRole, self.stackedWidget)
|
||||
self.verticalLayout_2.addWidget(self.frame)
|
||||
self.label_6.setBuddy(self.comment_lineEdit)
|
||||
self.label_2.setBuddy(self.color_comboBox)
|
||||
|
||||
self.retranslateUi(Form)
|
||||
self.stackedWidget.setCurrentIndex(-1)
|
||||
self.stackedWidget.setCurrentIndex(3)
|
||||
QtCore.QMetaObject.connectSlotsByName(Form)
|
||||
|
||||
def retranslateUi(self, Form):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
Form.setWindowTitle(_translate("Form", "Form"))
|
||||
self.newButton.setText(_translate("Form", "New object"))
|
||||
self.editButton.setText(_translate("Form", "Edit"))
|
||||
self.type_label.setText(_translate("Form", "Type"))
|
||||
self.pushButton.setText(_translate("Form", "New object"))
|
||||
self.pushButton_2.setText(_translate("Form", "Edit"))
|
||||
self.pushButton_3.setText(_translate("Form", "Delete"))
|
||||
self.mode_comboBox.setItemText(0, _translate("Form", "Infinite Line"))
|
||||
self.mode_comboBox.setItemText(1, _translate("Form", "Multiple points"))
|
||||
self.mode_comboBox.setItemText(2, _translate("Form", "Text"))
|
||||
self.mode_comboBox.setItemText(3, _translate("Form", "Rectangle"))
|
||||
self.mode_comboBox.setItemText(4, _translate("Form", "Ellipse"))
|
||||
self.createButton.setText(_translate("Form", "Apply"))
|
||||
self.cancelbutton.setText(_translate("Form", "Cancel"))
|
||||
self.mode_comboBox.setItemText(2, _translate("Form", "Rectangle"))
|
||||
self.mode_comboBox.setItemText(3, _translate("Form", "Ellipse"))
|
||||
self.label_12.setText(_translate("Form", "Type"))
|
||||
self.label_6.setText(_translate("Form", "Comment"))
|
||||
self.label_2.setText(_translate("Form", "Color"))
|
||||
self.label_13.setText(_translate("Form", "Position"))
|
||||
self.label.setText(_translate("Form", "Angle"))
|
||||
self.infiniteline_angle_spinbox.setSuffix(_translate("Form", "°"))
|
||||
self.label_5.setText(_translate("Form", "Lower left"))
|
||||
self.label_3.setText(_translate("Form", "Width"))
|
||||
self.label_9.setText(_translate("Form", "Height"))
|
||||
self.label_4.setText(_translate("Form", "Angle"))
|
||||
self.label_7.setText(_translate("Form", "Centre"))
|
||||
self.label_8.setText(_translate("Form", "Axis"))
|
||||
self.label_10.setText(_translate("Form", "Axis"))
|
||||
self.label_11.setText(_translate("Form", "Angle"))
|
||||
from ..lib.delegates import ColorListEditor
|
||||
|
@ -1,8 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/hdftree.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/hdftree.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.4
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -67,8 +67,8 @@ class Ui_Hdf_Dialog(object):
|
||||
self.verticalLayout_2.addWidget(self.buttonBox)
|
||||
|
||||
self.retranslateUi(Hdf_Dialog)
|
||||
self.buttonBox.rejected.connect(Hdf_Dialog.close) # type: ignore
|
||||
self.buttonBox.accepted.connect(Hdf_Dialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(Hdf_Dialog.close)
|
||||
self.buttonBox.accepted.connect(Hdf_Dialog.accept)
|
||||
QtCore.QMetaObject.connectSlotsByName(Hdf_Dialog)
|
||||
|
||||
def retranslateUi(self, Hdf_Dialog):
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/integral_widget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -26,7 +26,6 @@ class Ui_Form(object):
|
||||
self.set_combobox.setObjectName("set_combobox")
|
||||
self.verticalLayout.addWidget(self.set_combobox)
|
||||
self.treeWidget = QtWidgets.QTreeWidget(Form)
|
||||
self.treeWidget.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||
self.treeWidget.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
|
||||
self.treeWidget.setHeaderHidden(True)
|
||||
self.treeWidget.setObjectName("treeWidget")
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/integratederive_dialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -14,7 +14,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
class Ui_Dialog(object):
|
||||
def setupUi(self, Dialog):
|
||||
Dialog.setObjectName("Dialog")
|
||||
Dialog.resize(400, 308)
|
||||
Dialog.resize(400, 375)
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(Dialog)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.listWidget = QtWidgets.QListWidget(Dialog)
|
||||
@ -50,6 +50,9 @@ class Ui_Dialog(object):
|
||||
self.log_checkbox = QtWidgets.QCheckBox(Dialog)
|
||||
self.log_checkbox.setObjectName("log_checkbox")
|
||||
self.verticalLayout.addWidget(self.log_checkbox)
|
||||
self.freq_box = QtWidgets.QCheckBox(Dialog)
|
||||
self.freq_box.setObjectName("freq_box")
|
||||
self.verticalLayout.addWidget(self.freq_box)
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_2.setContentsMargins(-1, 0, -1, -1)
|
||||
self.horizontalLayout_2.setSpacing(3)
|
||||
@ -81,4 +84,5 @@ class Ui_Dialog(object):
|
||||
self.ft_comboBox.setItemText(1, _translate("Dialog", "Imag"))
|
||||
self.ft_comboBox.setItemText(2, _translate("Dialog", "Complex"))
|
||||
self.log_checkbox.setText(_translate("Dialog", "use logarithmic x axis"))
|
||||
self.freq_box.setText(_translate("Dialog", "return x axis as f, not omega"))
|
||||
self.newgraph_checkbox.setText(_translate("Dialog", "New graph"))
|
||||
|
@ -1,8 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/interpol_dialog.ui'
|
||||
# Form implementation generated from reading ui file './nmreval/src/resources/_ui/interpol_dialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.10
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -55,7 +55,7 @@ class Ui_Dialog(object):
|
||||
self.gridLayout.addWidget(self.interp_comboBox, 4, 1, 1, 1)
|
||||
self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
|
||||
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
|
||||
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Apply|QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
|
||||
self.buttonBox.setObjectName("buttonBox")
|
||||
self.gridLayout.addWidget(self.buttonBox, 12, 0, 1, 2)
|
||||
self.line = QtWidgets.QFrame(Dialog)
|
||||
@ -66,12 +66,13 @@ class Ui_Dialog(object):
|
||||
self.label_2 = QtWidgets.QLabel(Dialog)
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.gridLayout.addWidget(self.label_2, 6, 0, 1, 1)
|
||||
self.listWidget = QtWidgets.QListWidget(Dialog)
|
||||
self.listWidget = QListWidgetSelect(Dialog)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.listWidget.sizePolicy().hasHeightForWidth())
|
||||
self.listWidget.setSizePolicy(sizePolicy)
|
||||
self.listWidget.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection)
|
||||
self.listWidget.setObjectName("listWidget")
|
||||
self.gridLayout.addWidget(self.listWidget, 1, 0, 1, 2)
|
||||
self.sampling_widget = QtWidgets.QWidget(Dialog)
|
||||
@ -131,8 +132,6 @@ class Ui_Dialog(object):
|
||||
self.label_8.setBuddy(self.dest_combobox)
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
|
||||
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
||||
Dialog.setTabOrder(self.listWidget, self.ylog_checkBox)
|
||||
Dialog.setTabOrder(self.ylog_checkBox, self.interp_comboBox)
|
||||
@ -165,3 +164,4 @@ class Ui_Dialog(object):
|
||||
self.xaxis_comboBox.setItemText(1, _translate("Dialog", "from data"))
|
||||
self.label_8.setText(_translate("Dialog", "Add interpolated data to"))
|
||||
self.xlog_checkBox.setText(_translate("Dialog", "use log(x)"))
|
||||
from ..lib.listwidget import QListWidgetSelect
|
||||
|
@ -1,54 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/linedrawwidget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_linewidget(object):
|
||||
def setupUi(self, linewidget):
|
||||
linewidget.setObjectName("linewidget")
|
||||
linewidget.resize(400, 300)
|
||||
self.gridLayout = QtWidgets.QGridLayout(linewidget)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.pos_lineedit = QtWidgets.QLineEdit(linewidget)
|
||||
self.pos_lineedit.setObjectName("pos_lineedit")
|
||||
self.gridLayout.addWidget(self.pos_lineedit, 1, 1, 1, 1)
|
||||
self.orientation_label = QtWidgets.QLabel(linewidget)
|
||||
self.orientation_label.setObjectName("orientation_label")
|
||||
self.gridLayout.addWidget(self.orientation_label, 2, 0, 1, 1)
|
||||
self.orient_combobox = QtWidgets.QComboBox(linewidget)
|
||||
self.orient_combobox.setObjectName("orient_combobox")
|
||||
self.orient_combobox.addItem("")
|
||||
self.orient_combobox.addItem("")
|
||||
self.gridLayout.addWidget(self.orient_combobox, 2, 1, 1, 1)
|
||||
self.color_label = QtWidgets.QLabel(linewidget)
|
||||
self.color_label.setObjectName("color_label")
|
||||
self.gridLayout.addWidget(self.color_label, 0, 0, 1, 1)
|
||||
self.pos_label = QtWidgets.QLabel(linewidget)
|
||||
self.pos_label.setObjectName("pos_label")
|
||||
self.gridLayout.addWidget(self.pos_label, 1, 0, 1, 1)
|
||||
self.color_box = ColorListEditor(linewidget)
|
||||
self.color_box.setObjectName("color_box")
|
||||
self.gridLayout.addWidget(self.color_box, 0, 1, 1, 1)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.gridLayout.addItem(spacerItem, 3, 1, 1, 1)
|
||||
|
||||
self.retranslateUi(linewidget)
|
||||
QtCore.QMetaObject.connectSlotsByName(linewidget)
|
||||
|
||||
def retranslateUi(self, linewidget):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
linewidget.setWindowTitle(_translate("linewidget", "Form"))
|
||||
self.orientation_label.setText(_translate("linewidget", "Orientation"))
|
||||
self.orient_combobox.setItemText(0, _translate("linewidget", "Horizontal"))
|
||||
self.orient_combobox.setItemText(1, _translate("linewidget", "Vertical"))
|
||||
self.color_label.setText(_translate("linewidget", "Color"))
|
||||
self.pos_label.setText(_translate("linewidget", "Position"))
|
||||
from gui_qt.lib.delegates import ColorListEditor
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/lineedit_dialog.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/lineedit_dialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@ -30,8 +29,8 @@ class Ui_LineEdit_Dialog(object):
|
||||
self.formLayout.setWidget(1, QtWidgets.QFormLayout.SpanningRole, self.buttonBox)
|
||||
|
||||
self.retranslateUi(LineEdit_Dialog)
|
||||
self.buttonBox.accepted.connect(LineEdit_Dialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(LineEdit_Dialog.reject) # type: ignore
|
||||
self.buttonBox.accepted.connect(LineEdit_Dialog.accept)
|
||||
self.buttonBox.rejected.connect(LineEdit_Dialog.reject)
|
||||
QtCore.QMetaObject.connectSlotsByName(LineEdit_Dialog)
|
||||
|
||||
def retranslateUi(self, LineEdit_Dialog):
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/mean_form.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/mean_form.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/meandialog.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/meandialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/modelwidget.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/modelwidget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/move_dialog.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/move_dialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,62 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/multipointwidget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_multipointwidget(object):
|
||||
def setupUi(self, multipointwidget):
|
||||
multipointwidget.setObjectName("multipointwidget")
|
||||
multipointwidget.resize(400, 300)
|
||||
self.gridLayout = QtWidgets.QGridLayout(multipointwidget)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.loop_checkbox = QtWidgets.QCheckBox(multipointwidget)
|
||||
self.loop_checkbox.setObjectName("loop_checkbox")
|
||||
self.gridLayout.addWidget(self.loop_checkbox, 1, 0, 1, 2)
|
||||
self.addButton = QtWidgets.QPushButton(multipointwidget)
|
||||
self.addButton.setObjectName("addButton")
|
||||
self.gridLayout.addWidget(self.addButton, 3, 0, 1, 1)
|
||||
self.color_label = QtWidgets.QLabel(multipointwidget)
|
||||
self.color_label.setObjectName("color_label")
|
||||
self.gridLayout.addWidget(self.color_label, 0, 0, 1, 1)
|
||||
self.table_widget = QtWidgets.QTableWidget(multipointwidget)
|
||||
self.table_widget.setObjectName("table_widget")
|
||||
self.table_widget.setColumnCount(2)
|
||||
self.table_widget.setRowCount(0)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.table_widget.setHorizontalHeaderItem(0, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.table_widget.setHorizontalHeaderItem(1, item)
|
||||
self.table_widget.horizontalHeader().setStretchLastSection(True)
|
||||
self.gridLayout.addWidget(self.table_widget, 2, 0, 1, 2)
|
||||
self.color_box = ColorListEditor(multipointwidget)
|
||||
self.color_box.setObjectName("color_box")
|
||||
self.gridLayout.addWidget(self.color_box, 0, 1, 1, 1)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.gridLayout.addItem(spacerItem, 4, 0, 1, 1)
|
||||
self.removeButton = QtWidgets.QPushButton(multipointwidget)
|
||||
self.removeButton.setObjectName("removeButton")
|
||||
self.gridLayout.addWidget(self.removeButton, 3, 1, 1, 1)
|
||||
|
||||
self.retranslateUi(multipointwidget)
|
||||
QtCore.QMetaObject.connectSlotsByName(multipointwidget)
|
||||
|
||||
def retranslateUi(self, multipointwidget):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
multipointwidget.setWindowTitle(_translate("multipointwidget", "Form"))
|
||||
self.loop_checkbox.setText(_translate("multipointwidget", "Close loop"))
|
||||
self.addButton.setText(_translate("multipointwidget", "Add point"))
|
||||
self.color_label.setText(_translate("multipointwidget", "Color"))
|
||||
item = self.table_widget.horizontalHeaderItem(0)
|
||||
item.setText(_translate("multipointwidget", "x"))
|
||||
item = self.table_widget.horizontalHeaderItem(1)
|
||||
item.setText(_translate("multipointwidget", "y"))
|
||||
self.removeButton.setText(_translate("multipointwidget", "Remove last point"))
|
||||
from gui_qt.lib.delegates import ColorListEditor
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/namespace_widget.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/namespace_widget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/option_selection.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/option_selection.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/parameterform.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/parameterform.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/phase_corr_dialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -24,7 +24,7 @@ class Ui_SignalEdit(object):
|
||||
self.gridLayout.setContentsMargins(6, 6, 6, 6)
|
||||
self.gridLayout.setSpacing(3)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.graphicsView = PlotWidget(SignalEdit)
|
||||
self.graphicsView = NMRPlotWidget(SignalEdit)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
@ -94,4 +94,4 @@ class Ui_SignalEdit(object):
|
||||
self.label_8.setText(_translate("SignalEdit", "Pivot"))
|
||||
self.label_6.setText(_translate("SignalEdit", "Phase 1"))
|
||||
self.label.setText(_translate("SignalEdit", "Phase 0"))
|
||||
from pyqtgraph import PlotWidget
|
||||
from ..lib.graph_items import NMRPlotWidget
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/plotConfigTemplate.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/plotConfigTemplate.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
260
src/gui_qt/_py/pokeentry.py
Normal file
260
src/gui_qt/_py/pokeentry.py
Normal file
@ -0,0 +1,260 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file './nmreval/src/resources/_ui/pokeentry.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.10
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_Form(object):
|
||||
def setupUi(self, Form):
|
||||
Form.setObjectName("Form")
|
||||
Form.resize(640, 642)
|
||||
self.verticalLayout_4 = QtWidgets.QVBoxLayout(Form)
|
||||
self.verticalLayout_4.setObjectName("verticalLayout_4")
|
||||
self.artwork_label = QtWidgets.QLabel(Form)
|
||||
self.artwork_label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
|
||||
self.artwork_label.setObjectName("artwork_label")
|
||||
self.verticalLayout_4.addWidget(self.artwork_label)
|
||||
self.formLayout = QtWidgets.QFormLayout()
|
||||
self.formLayout.setContentsMargins(3, 3, 3, 3)
|
||||
self.formLayout.setVerticalSpacing(12)
|
||||
self.formLayout.setObjectName("formLayout")
|
||||
self.label = QtWidgets.QLabel(Form)
|
||||
self.label.setObjectName("label")
|
||||
self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label)
|
||||
self.nationaldex_label = QtWidgets.QLabel(Form)
|
||||
self.nationaldex_label.setObjectName("nationaldex_label")
|
||||
self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.nationaldex_label)
|
||||
self.label_1 = QtWidgets.QLabel(Form)
|
||||
self.label_1.setObjectName("label_1")
|
||||
self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_1)
|
||||
self.species_label = QtWidgets.QLabel(Form)
|
||||
self.species_label.setObjectName("species_label")
|
||||
self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.species_label)
|
||||
self.label_4 = QtWidgets.QLabel(Form)
|
||||
self.label_4.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_4)
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
self.type1_label = QtWidgets.QLabel(Form)
|
||||
self.type1_label.setObjectName("type1_label")
|
||||
self.verticalLayout_2.addWidget(self.type1_label)
|
||||
self.type2_label = QtWidgets.QLabel(Form)
|
||||
self.type2_label.setObjectName("type2_label")
|
||||
self.verticalLayout_2.addWidget(self.type2_label)
|
||||
self.formLayout.setLayout(2, QtWidgets.QFormLayout.FieldRole, self.verticalLayout_2)
|
||||
self.label_5 = QtWidgets.QLabel(Form)
|
||||
self.label_5.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
|
||||
self.label_5.setObjectName("label_5")
|
||||
self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_5)
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.ability1_label = QtWidgets.QLabel(Form)
|
||||
self.ability1_label.setObjectName("ability1_label")
|
||||
self.verticalLayout.addWidget(self.ability1_label)
|
||||
self.ability2_label = QtWidgets.QLabel(Form)
|
||||
self.ability2_label.setObjectName("ability2_label")
|
||||
self.verticalLayout.addWidget(self.ability2_label)
|
||||
self.ability3_label = QtWidgets.QLabel(Form)
|
||||
self.ability3_label.setObjectName("ability3_label")
|
||||
self.verticalLayout.addWidget(self.ability3_label)
|
||||
self.formLayout.setLayout(3, QtWidgets.QFormLayout.FieldRole, self.verticalLayout)
|
||||
self.label_2 = QtWidgets.QLabel(Form)
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.formLayout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.label_2)
|
||||
self.height_label = QtWidgets.QLabel(Form)
|
||||
self.height_label.setObjectName("height_label")
|
||||
self.formLayout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.height_label)
|
||||
self.label_3 = QtWidgets.QLabel(Form)
|
||||
self.label_3.setObjectName("label_3")
|
||||
self.formLayout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.label_3)
|
||||
self.weight_label = QtWidgets.QLabel(Form)
|
||||
self.weight_label.setObjectName("weight_label")
|
||||
self.formLayout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.weight_label)
|
||||
self.gender_label = QtWidgets.QLabel(Form)
|
||||
self.gender_label.setObjectName("gender_label")
|
||||
self.formLayout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.gender_label)
|
||||
self.verticalLayout_4.addLayout(self.formLayout)
|
||||
self.groupBox = QtWidgets.QGroupBox(Form)
|
||||
self.groupBox.setFlat(True)
|
||||
self.groupBox.setObjectName("groupBox")
|
||||
self.gridLayout_4 = QtWidgets.QGridLayout(self.groupBox)
|
||||
self.gridLayout_4.setContentsMargins(3, 3, 3, 3)
|
||||
self.gridLayout_4.setObjectName("gridLayout_4")
|
||||
self.spec_attack_bar = QtWidgets.QProgressBar(self.groupBox)
|
||||
self.spec_attack_bar.setStyleSheet("QProgressBar{\n"
|
||||
" border: none;\n"
|
||||
" background-color: transparent;\n"
|
||||
" text-align: center;\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"QProgressBar::chunk {\n"
|
||||
" background-color: #009cda;\n"
|
||||
" border-radius: 3px;\n"
|
||||
"}")
|
||||
self.spec_attack_bar.setMaximum(194)
|
||||
self.spec_attack_bar.setProperty("value", 24)
|
||||
self.spec_attack_bar.setObjectName("spec_attack_bar")
|
||||
self.gridLayout_4.addWidget(self.spec_attack_bar, 0, 3, 1, 1)
|
||||
self.label_8 = QtWidgets.QLabel(self.groupBox)
|
||||
self.label_8.setObjectName("label_8")
|
||||
self.gridLayout_4.addWidget(self.label_8, 0, 2, 1, 1)
|
||||
self.spec_defense_bar = QtWidgets.QProgressBar(self.groupBox)
|
||||
self.spec_defense_bar.setStyleSheet("QProgressBar{\n"
|
||||
" border: none;\n"
|
||||
" background-color: transparent;\n"
|
||||
" text-align: center;\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"QProgressBar::chunk {\n"
|
||||
" background-color: #009cda;\n"
|
||||
" border-radius: 3px;\n"
|
||||
"}")
|
||||
self.spec_defense_bar.setMaximum(250)
|
||||
self.spec_defense_bar.setProperty("value", 24)
|
||||
self.spec_defense_bar.setObjectName("spec_defense_bar")
|
||||
self.gridLayout_4.addWidget(self.spec_defense_bar, 1, 3, 1, 1)
|
||||
self.label_6 = QtWidgets.QLabel(self.groupBox)
|
||||
self.label_6.setFrameShadow(QtWidgets.QFrame.Plain)
|
||||
self.label_6.setObjectName("label_6")
|
||||
self.gridLayout_4.addWidget(self.label_6, 0, 0, 1, 1)
|
||||
self.hp_bar = QtWidgets.QProgressBar(self.groupBox)
|
||||
self.hp_bar.setStyleSheet("QProgressBar{\n"
|
||||
" border: none;\n"
|
||||
" background-color: transparent;\n"
|
||||
" text-align: center;\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"QProgressBar::chunk {\n"
|
||||
" background-color: #009cda;\n"
|
||||
" border-radius: 3px;\n"
|
||||
"}")
|
||||
self.hp_bar.setMaximum(255)
|
||||
self.hp_bar.setProperty("value", 24)
|
||||
self.hp_bar.setObjectName("hp_bar")
|
||||
self.gridLayout_4.addWidget(self.hp_bar, 0, 1, 1, 1)
|
||||
self.speed_bar = QtWidgets.QProgressBar(self.groupBox)
|
||||
self.speed_bar.setStyleSheet("QProgressBar{\n"
|
||||
" border: none;\n"
|
||||
" background-color: transparent;\n"
|
||||
" text-align: center;\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"QProgressBar::chunk {\n"
|
||||
" background-color: #009cda;\n"
|
||||
" border-radius: 3px;\n"
|
||||
"}")
|
||||
self.speed_bar.setMaximum(200)
|
||||
self.speed_bar.setProperty("value", 24)
|
||||
self.speed_bar.setObjectName("speed_bar")
|
||||
self.gridLayout_4.addWidget(self.speed_bar, 2, 3, 1, 1)
|
||||
self.label_11 = QtWidgets.QLabel(self.groupBox)
|
||||
self.label_11.setObjectName("label_11")
|
||||
self.gridLayout_4.addWidget(self.label_11, 2, 2, 1, 1)
|
||||
self.label_10 = QtWidgets.QLabel(self.groupBox)
|
||||
self.label_10.setObjectName("label_10")
|
||||
self.gridLayout_4.addWidget(self.label_10, 1, 2, 1, 1)
|
||||
self.defense_bar = QtWidgets.QProgressBar(self.groupBox)
|
||||
self.defense_bar.setStyleSheet("QProgressBar{\n"
|
||||
" border: none;\n"
|
||||
" background-color: transparent;\n"
|
||||
" text-align: center;\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"QProgressBar::chunk {\n"
|
||||
" background-color: #009cda;\n"
|
||||
" border-radius: 3px;\n"
|
||||
"}")
|
||||
self.defense_bar.setMaximum(250)
|
||||
self.defense_bar.setProperty("value", 24)
|
||||
self.defense_bar.setObjectName("defense_bar")
|
||||
self.gridLayout_4.addWidget(self.defense_bar, 2, 1, 1, 1)
|
||||
self.attack_bar = QtWidgets.QProgressBar(self.groupBox)
|
||||
self.attack_bar.setStyleSheet("QProgressBar{\n"
|
||||
" border: none;\n"
|
||||
" background-color: transparent;\n"
|
||||
" text-align: center;\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"QProgressBar::chunk {\n"
|
||||
" background-color: #009cda;\n"
|
||||
" border-radius: 3px;\n"
|
||||
"}")
|
||||
self.attack_bar.setMaximum(190)
|
||||
self.attack_bar.setProperty("value", 24)
|
||||
self.attack_bar.setObjectName("attack_bar")
|
||||
self.gridLayout_4.addWidget(self.attack_bar, 1, 1, 1, 1)
|
||||
self.label_7 = QtWidgets.QLabel(self.groupBox)
|
||||
self.label_7.setObjectName("label_7")
|
||||
self.gridLayout_4.addWidget(self.label_7, 1, 0, 1, 1)
|
||||
self.label_9 = QtWidgets.QLabel(self.groupBox)
|
||||
self.label_9.setObjectName("label_9")
|
||||
self.gridLayout_4.addWidget(self.label_9, 2, 0, 1, 1)
|
||||
self.verticalLayout_4.addWidget(self.groupBox)
|
||||
self.groupBox_2 = QtWidgets.QGroupBox(Form)
|
||||
self.groupBox_2.setFlat(True)
|
||||
self.groupBox_2.setCheckable(False)
|
||||
self.groupBox_2.setObjectName("groupBox_2")
|
||||
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox_2)
|
||||
self.verticalLayout_3.setContentsMargins(3, 3, 3, 3)
|
||||
self.verticalLayout_3.setObjectName("verticalLayout_3")
|
||||
self.tableWidget = QtWidgets.QTableWidget(self.groupBox_2)
|
||||
self.tableWidget.setStyleSheet("background-color: transparent;")
|
||||
self.tableWidget.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||
self.tableWidget.setShowGrid(False)
|
||||
self.tableWidget.setGridStyle(QtCore.Qt.NoPen)
|
||||
self.tableWidget.setWordWrap(False)
|
||||
self.tableWidget.setObjectName("tableWidget")
|
||||
self.tableWidget.setColumnCount(0)
|
||||
self.tableWidget.setRowCount(0)
|
||||
self.tableWidget.horizontalHeader().setVisible(False)
|
||||
self.tableWidget.verticalHeader().setVisible(False)
|
||||
self.verticalLayout_3.addWidget(self.tableWidget)
|
||||
self.verticalLayout_4.addWidget(self.groupBox_2)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout_4.addItem(spacerItem)
|
||||
|
||||
self.retranslateUi(Form)
|
||||
QtCore.QMetaObject.connectSlotsByName(Form)
|
||||
|
||||
def retranslateUi(self, Form):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
Form.setWindowTitle(_translate("Form", "Form"))
|
||||
self.artwork_label.setText(_translate("Form", "TextLabel"))
|
||||
self.label.setText(_translate("Form", "National No."))
|
||||
self.nationaldex_label.setText(_translate("Form", "TextLabel"))
|
||||
self.label_1.setText(_translate("Form", "Species"))
|
||||
self.species_label.setText(_translate("Form", "TextLabel"))
|
||||
self.label_4.setText(_translate("Form", "Type"))
|
||||
self.type1_label.setText(_translate("Form", "TextLabel"))
|
||||
self.type2_label.setText(_translate("Form", "TextLabel"))
|
||||
self.label_5.setText(_translate("Form", "Abilities"))
|
||||
self.ability1_label.setText(_translate("Form", "TextLabel"))
|
||||
self.ability2_label.setText(_translate("Form", "TextLabel"))
|
||||
self.ability3_label.setText(_translate("Form", "TextLabel"))
|
||||
self.label_2.setText(_translate("Form", "Height"))
|
||||
self.height_label.setText(_translate("Form", "0.0 m"))
|
||||
self.label_3.setText(_translate("Form", "Weight"))
|
||||
self.weight_label.setText(_translate("Form", "0.0 kg"))
|
||||
self.gender_label.setText(_translate("Form", "TextLabel"))
|
||||
self.groupBox.setTitle(_translate("Form", "Stats"))
|
||||
self.spec_attack_bar.setFormat(_translate("Form", "%v"))
|
||||
self.label_8.setText(_translate("Form", "Special Attack"))
|
||||
self.spec_defense_bar.setFormat(_translate("Form", "%v"))
|
||||
self.label_6.setText(_translate("Form", "HP"))
|
||||
self.hp_bar.setFormat(_translate("Form", "%v"))
|
||||
self.speed_bar.setFormat(_translate("Form", "%v"))
|
||||
self.label_11.setText(_translate("Form", "Speed"))
|
||||
self.label_10.setText(_translate("Form", "Special Defense"))
|
||||
self.defense_bar.setFormat(_translate("Form", "%v"))
|
||||
self.attack_bar.setFormat(_translate("Form", "%v"))
|
||||
self.label_7.setText(_translate("Form", "Attack"))
|
||||
self.label_9.setText(_translate("Form", "Defense"))
|
||||
self.groupBox_2.setTitle(_translate("Form", "Evolution chain"))
|
@ -1,119 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/pokemon.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_Dialog(object):
|
||||
def setupUi(self, Dialog):
|
||||
Dialog.setObjectName("Dialog")
|
||||
Dialog.resize(400, 359)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(Dialog.sizePolicy().hasHeightForWidth())
|
||||
Dialog.setSizePolicy(sizePolicy)
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(Dialog)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.tabWidget = QtWidgets.QTabWidget(Dialog)
|
||||
self.tabWidget.setObjectName("tabWidget")
|
||||
self.verticalLayout.addWidget(self.tabWidget)
|
||||
self.formLayout = QtWidgets.QFormLayout()
|
||||
self.formLayout.setObjectName("formLayout")
|
||||
self.label = QtWidgets.QLabel(Dialog)
|
||||
self.label.setObjectName("label")
|
||||
self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label)
|
||||
self.pokedex_nr = QtWidgets.QLabel(Dialog)
|
||||
self.pokedex_nr.setObjectName("pokedex_nr")
|
||||
self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.pokedex_nr)
|
||||
self.label_2 = QtWidgets.QLabel(Dialog)
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_2)
|
||||
self.name = QtWidgets.QComboBox(Dialog)
|
||||
self.name.setObjectName("name")
|
||||
self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.name)
|
||||
self.label_3 = QtWidgets.QLabel(Dialog)
|
||||
self.label_3.setObjectName("label_3")
|
||||
self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_3)
|
||||
self.category = QtWidgets.QLabel(Dialog)
|
||||
self.category.setObjectName("category")
|
||||
self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.category)
|
||||
self.label_4 = QtWidgets.QLabel(Dialog)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_4)
|
||||
self.poketype = QtWidgets.QLabel(Dialog)
|
||||
self.poketype.setObjectName("poketype")
|
||||
self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.poketype)
|
||||
self.label_5 = QtWidgets.QLabel(Dialog)
|
||||
self.label_5.setObjectName("label_5")
|
||||
self.formLayout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.label_5)
|
||||
self.height = QtWidgets.QLabel(Dialog)
|
||||
self.height.setObjectName("height")
|
||||
self.formLayout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.height)
|
||||
self.label_6 = QtWidgets.QLabel(Dialog)
|
||||
self.label_6.setObjectName("label_6")
|
||||
self.formLayout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.label_6)
|
||||
self.weight = QtWidgets.QLabel(Dialog)
|
||||
self.weight.setObjectName("weight")
|
||||
self.formLayout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.weight)
|
||||
self.label_7 = QtWidgets.QLabel(Dialog)
|
||||
self.label_7.setObjectName("label_7")
|
||||
self.formLayout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.label_7)
|
||||
self.color = QtWidgets.QLabel(Dialog)
|
||||
self.color.setObjectName("color")
|
||||
self.formLayout.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.color)
|
||||
self.label_8 = QtWidgets.QLabel(Dialog)
|
||||
self.label_8.setObjectName("label_8")
|
||||
self.formLayout.setWidget(7, QtWidgets.QFormLayout.LabelRole, self.label_8)
|
||||
self.info = QtWidgets.QLabel(Dialog)
|
||||
self.info.setObjectName("info")
|
||||
self.formLayout.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.info)
|
||||
self.verticalLayout.addLayout(self.formLayout)
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.prev_button = QtWidgets.QToolButton(Dialog)
|
||||
self.prev_button.setObjectName("prev_button")
|
||||
self.horizontalLayout_2.addWidget(self.prev_button)
|
||||
self.next_button = QtWidgets.QToolButton(Dialog)
|
||||
self.next_button.setObjectName("next_button")
|
||||
self.horizontalLayout_2.addWidget(self.next_button)
|
||||
self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
|
||||
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Close|QtWidgets.QDialogButtonBox.Retry)
|
||||
self.buttonBox.setCenterButtons(False)
|
||||
self.buttonBox.setObjectName("buttonBox")
|
||||
self.horizontalLayout_2.addWidget(self.buttonBox)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout_2)
|
||||
self.label_2.setBuddy(self.name)
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
self.tabWidget.setCurrentIndex(-1)
|
||||
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
|
||||
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
||||
|
||||
def retranslateUi(self, Dialog):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
Dialog.setWindowTitle(_translate("Dialog", "Random Pokémon"))
|
||||
self.label.setText(_translate("Dialog", "National-Dex"))
|
||||
self.pokedex_nr.setText(_translate("Dialog", "TextLabel"))
|
||||
self.label_2.setText(_translate("Dialog", "Name"))
|
||||
self.label_3.setText(_translate("Dialog", "Kategorie"))
|
||||
self.category.setText(_translate("Dialog", "TextLabel"))
|
||||
self.label_4.setText(_translate("Dialog", "Typ"))
|
||||
self.poketype.setText(_translate("Dialog", "TextLabel"))
|
||||
self.label_5.setText(_translate("Dialog", "Größe"))
|
||||
self.height.setText(_translate("Dialog", "TextLabel"))
|
||||
self.label_6.setText(_translate("Dialog", "Gewicht"))
|
||||
self.weight.setText(_translate("Dialog", "TextLabel"))
|
||||
self.label_7.setText(_translate("Dialog", "Farbe"))
|
||||
self.color.setText(_translate("Dialog", "TextLabel"))
|
||||
self.label_8.setText(_translate("Dialog", "Mehr..."))
|
||||
self.info.setText(_translate("Dialog", "TextLabel"))
|
||||
self.prev_button.setText(_translate("Dialog", "Prev."))
|
||||
self.next_button.setText(_translate("Dialog", "Next"))
|
131
src/gui_qt/_py/pokewindow.py
Normal file
131
src/gui_qt/_py/pokewindow.py
Normal file
@ -0,0 +1,131 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file './nmreval/src/resources/_ui/pokewindow.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.10
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_Dialog(object):
|
||||
def setupUi(self, Dialog):
|
||||
Dialog.setObjectName("Dialog")
|
||||
Dialog.resize(1687, 991)
|
||||
self.gridLayout = QtWidgets.QGridLayout(Dialog)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.pushButton = QtWidgets.QPushButton(Dialog)
|
||||
self.pushButton.setObjectName("pushButton")
|
||||
self.gridLayout.addWidget(self.pushButton, 0, 2, 1, 1)
|
||||
self.comboBox_2 = QtWidgets.QComboBox(Dialog)
|
||||
self.comboBox_2.setObjectName("comboBox_2")
|
||||
self.gridLayout.addWidget(self.comboBox_2, 0, 0, 1, 1)
|
||||
self.comboBox = QtWidgets.QComboBox(Dialog)
|
||||
self.comboBox.setObjectName("comboBox")
|
||||
self.gridLayout.addWidget(self.comboBox, 0, 1, 1, 1)
|
||||
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.gridLayout.addItem(spacerItem, 0, 4, 1, 1)
|
||||
self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.buttonBox.sizePolicy().hasHeightForWidth())
|
||||
self.buttonBox.setSizePolicy(sizePolicy)
|
||||
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Close)
|
||||
self.buttonBox.setObjectName("buttonBox")
|
||||
self.gridLayout.addWidget(self.buttonBox, 0, 3, 1, 1)
|
||||
self.splitter = QtWidgets.QSplitter(Dialog)
|
||||
self.splitter.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.splitter.setObjectName("splitter")
|
||||
self.tableWidget_2 = QtWidgets.QTableWidget(self.splitter)
|
||||
self.tableWidget_2.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||
self.tableWidget_2.setAlternatingRowColors(True)
|
||||
self.tableWidget_2.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection)
|
||||
self.tableWidget_2.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
|
||||
self.tableWidget_2.setShowGrid(False)
|
||||
self.tableWidget_2.setGridStyle(QtCore.Qt.NoPen)
|
||||
self.tableWidget_2.setObjectName("tableWidget_2")
|
||||
self.tableWidget_2.setColumnCount(13)
|
||||
self.tableWidget_2.setRowCount(0)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget_2.setHorizontalHeaderItem(0, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget_2.setHorizontalHeaderItem(1, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget_2.setHorizontalHeaderItem(2, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget_2.setHorizontalHeaderItem(3, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget_2.setHorizontalHeaderItem(4, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget_2.setHorizontalHeaderItem(5, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget_2.setHorizontalHeaderItem(6, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget_2.setHorizontalHeaderItem(7, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget_2.setHorizontalHeaderItem(8, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget_2.setHorizontalHeaderItem(9, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget_2.setHorizontalHeaderItem(10, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget_2.setHorizontalHeaderItem(11, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget_2.setHorizontalHeaderItem(12, item)
|
||||
self.tableWidget_2.horizontalHeader().setDefaultSectionSize(80)
|
||||
self.tableWidget_2.horizontalHeader().setStretchLastSection(False)
|
||||
self.tableWidget_2.verticalHeader().setVisible(False)
|
||||
self.tabWidget = QtWidgets.QTabWidget(self.splitter)
|
||||
self.tabWidget.setMinimumSize(QtCore.QSize(418, 0))
|
||||
self.tabWidget.setObjectName("tabWidget")
|
||||
self.gridLayout.addWidget(self.splitter, 1, 0, 1, 5)
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
self.tabWidget.setCurrentIndex(-1)
|
||||
self.buttonBox.rejected.connect(Dialog.close) # type: ignore
|
||||
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
||||
|
||||
def retranslateUi(self, Dialog):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
Dialog.setWindowTitle(_translate("Dialog", "Gotta catch \'em all!"))
|
||||
self.pushButton.setText(_translate("Dialog", "Random"))
|
||||
self.tableWidget_2.setSortingEnabled(True)
|
||||
item = self.tableWidget_2.horizontalHeaderItem(0)
|
||||
item.setText(_translate("Dialog", "#"))
|
||||
item = self.tableWidget_2.horizontalHeaderItem(1)
|
||||
item.setText(_translate("Dialog", "Pokemon"))
|
||||
item = self.tableWidget_2.horizontalHeaderItem(2)
|
||||
item.setText(_translate("Dialog", "Type"))
|
||||
item = self.tableWidget_2.horizontalHeaderItem(3)
|
||||
item.setText(_translate("Dialog", "Total"))
|
||||
item = self.tableWidget_2.horizontalHeaderItem(4)
|
||||
item.setText(_translate("Dialog", "HP"))
|
||||
item.setToolTip(_translate("Dialog", "Hit Points; Kraftpunkte"))
|
||||
item = self.tableWidget_2.horizontalHeaderItem(5)
|
||||
item.setText(_translate("Dialog", "Attack"))
|
||||
item.setToolTip(_translate("Dialog", "Attacke"))
|
||||
item = self.tableWidget_2.horizontalHeaderItem(6)
|
||||
item.setText(_translate("Dialog", "Defense"))
|
||||
item.setToolTip(_translate("Dialog", "Verteidigung"))
|
||||
item = self.tableWidget_2.horizontalHeaderItem(7)
|
||||
item.setText(_translate("Dialog", "Sp. Attack"))
|
||||
item.setToolTip(_translate("Dialog", "Special Attack; Spezial-Attacke"))
|
||||
item = self.tableWidget_2.horizontalHeaderItem(8)
|
||||
item.setText(_translate("Dialog", "Sp. Defense"))
|
||||
item.setToolTip(_translate("Dialog", "Special Defense; Spezial-Verteidigung"))
|
||||
item = self.tableWidget_2.horizontalHeaderItem(9)
|
||||
item.setText(_translate("Dialog", "Speed"))
|
||||
item.setToolTip(_translate("Dialog", "Initiative"))
|
||||
item = self.tableWidget_2.horizontalHeaderItem(10)
|
||||
item.setText(_translate("Dialog", "Height"))
|
||||
item.setToolTip(_translate("Dialog", "Größe"))
|
||||
item = self.tableWidget_2.horizontalHeaderItem(11)
|
||||
item.setText(_translate("Dialog", "Weight"))
|
||||
item.setToolTip(_translate("Dialog", "Gewicht"))
|
||||
item = self.tableWidget_2.horizontalHeaderItem(12)
|
||||
item.setText(_translate("Dialog", "BMI"))
|
||||
item.setToolTip(_translate("Dialog", "Body-Mass-Index"))
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/propwidget.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/propwidget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,8 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/ptstab.ui'
|
||||
# Form implementation generated from reading ui file 'nmreval/src/resources/_ui/ptstab.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.10
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -14,29 +14,50 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
class Ui_Form(object):
|
||||
def setupUi(self, Form):
|
||||
Form.setObjectName("Form")
|
||||
Form.resize(316, 747)
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(Form)
|
||||
self.verticalLayout.setContentsMargins(3, 3, 3, 3)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
Form.resize(417, 746)
|
||||
self.gridLayout = QtWidgets.QGridLayout(Form)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.label_2 = QtWidgets.QLabel(Form)
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.gridLayout.addWidget(self.label_2, 0, 0, 1, 2)
|
||||
self.peaktable = QtWidgets.QListWidget(Form)
|
||||
self.peaktable.setEditTriggers(QtWidgets.QAbstractItemView.DoubleClicked|QtWidgets.QAbstractItemView.EditKeyPressed)
|
||||
self.peaktable.setObjectName("peaktable")
|
||||
self.verticalLayout.addWidget(self.peaktable)
|
||||
self.groupBox = QtWidgets.QGroupBox(Form)
|
||||
self.groupBox.setObjectName("groupBox")
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox)
|
||||
self.horizontalLayout.setContentsMargins(3, 3, 3, 3)
|
||||
self.horizontalLayout.setSpacing(3)
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.left_pt = QtWidgets.QSpinBox(self.groupBox)
|
||||
self.left_pt.setMaximum(999)
|
||||
self.left_pt.setObjectName("left_pt")
|
||||
self.horizontalLayout.addWidget(self.left_pt)
|
||||
self.right_pt = QtWidgets.QSpinBox(self.groupBox)
|
||||
self.right_pt.setMaximum(999)
|
||||
self.right_pt.setObjectName("right_pt")
|
||||
self.horizontalLayout.addWidget(self.right_pt)
|
||||
self.average_combobox = QtWidgets.QComboBox(self.groupBox)
|
||||
self.gridLayout.addWidget(self.peaktable, 1, 0, 1, 2)
|
||||
self.special_checkbox = QtWidgets.QCheckBox(Form)
|
||||
self.special_checkbox.setObjectName("special_checkbox")
|
||||
self.gridLayout.addWidget(self.special_checkbox, 3, 0, 1, 1)
|
||||
self.special_comboBox = QtWidgets.QComboBox(Form)
|
||||
self.special_comboBox.setEnabled(False)
|
||||
self.special_comboBox.setObjectName("special_comboBox")
|
||||
self.special_comboBox.addItem("")
|
||||
self.special_comboBox.addItem("")
|
||||
self.special_comboBox.addItem("")
|
||||
self.special_comboBox.addItem("")
|
||||
self.gridLayout.addWidget(self.special_comboBox, 3, 1, 1, 1)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
|
||||
self.gridLayout.addItem(spacerItem, 4, 0, 1, 1)
|
||||
self.label_3 = QtWidgets.QLabel(Form)
|
||||
self.label_3.setObjectName("label_3")
|
||||
self.gridLayout.addWidget(self.label_3, 5, 0, 1, 1)
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.left_limit = QtWidgets.QLineEdit(Form)
|
||||
self.left_limit.setObjectName("left_limit")
|
||||
self.horizontalLayout_2.addWidget(self.left_limit)
|
||||
self.right_limit = QtWidgets.QLineEdit(Form)
|
||||
self.right_limit.setObjectName("right_limit")
|
||||
self.horizontalLayout_2.addWidget(self.right_limit)
|
||||
self.limit_combobox = QtWidgets.QComboBox(Form)
|
||||
self.limit_combobox.setObjectName("limit_combobox")
|
||||
self.limit_combobox.addItem("")
|
||||
self.limit_combobox.addItem("")
|
||||
self.horizontalLayout_2.addWidget(self.limit_combobox)
|
||||
self.gridLayout.addLayout(self.horizontalLayout_2, 5, 1, 1, 1)
|
||||
self.label_5 = QtWidgets.QLabel(Form)
|
||||
self.label_5.setObjectName("label_5")
|
||||
self.gridLayout.addWidget(self.label_5, 6, 0, 1, 1)
|
||||
self.average_combobox = QtWidgets.QComboBox(Form)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
@ -46,89 +67,94 @@ class Ui_Form(object):
|
||||
self.average_combobox.addItem("")
|
||||
self.average_combobox.addItem("")
|
||||
self.average_combobox.addItem("")
|
||||
self.horizontalLayout.addWidget(self.average_combobox)
|
||||
self.verticalLayout.addWidget(self.groupBox)
|
||||
self.groupBox_2 = QtWidgets.QGroupBox(Form)
|
||||
self.groupBox_2.setCheckable(True)
|
||||
self.groupBox_2.setChecked(False)
|
||||
self.groupBox_2.setObjectName("groupBox_2")
|
||||
self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.groupBox_2)
|
||||
self.horizontalLayout_5.setContentsMargins(3, 3, 3, 3)
|
||||
self.horizontalLayout_5.setSpacing(2)
|
||||
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
|
||||
self.special_comboBox = QtWidgets.QComboBox(self.groupBox_2)
|
||||
self.special_comboBox.setObjectName("special_comboBox")
|
||||
self.special_comboBox.addItem("")
|
||||
self.special_comboBox.addItem("")
|
||||
self.special_comboBox.addItem("")
|
||||
self.special_comboBox.addItem("")
|
||||
self.horizontalLayout_5.addWidget(self.special_comboBox)
|
||||
self.verticalLayout.addWidget(self.groupBox_2)
|
||||
self.groupBox_3 = QtWidgets.QGroupBox(Form)
|
||||
self.groupBox_3.setObjectName("groupBox_3")
|
||||
self.gridLayout = QtWidgets.QGridLayout(self.groupBox_3)
|
||||
self.gridLayout.setContentsMargins(3, 3, 3, 3)
|
||||
self.gridLayout.setSpacing(3)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.xbutton = QtWidgets.QCheckBox(self.groupBox_3)
|
||||
self.average_combobox.addItem("")
|
||||
self.gridLayout.addWidget(self.average_combobox, 6, 1, 1, 1)
|
||||
self.label_4 = QtWidgets.QLabel(Form)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.gridLayout.addWidget(self.label_4, 7, 0, 1, 1)
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.xbutton = QtWidgets.QCheckBox(Form)
|
||||
self.xbutton.setObjectName("xbutton")
|
||||
self.gridLayout.addWidget(self.xbutton, 0, 0, 1, 1)
|
||||
self.ybutton = QtWidgets.QCheckBox(self.groupBox_3)
|
||||
self.horizontalLayout.addWidget(self.xbutton)
|
||||
self.ybutton = QtWidgets.QCheckBox(Form)
|
||||
self.ybutton.setChecked(True)
|
||||
self.ybutton.setObjectName("ybutton")
|
||||
self.gridLayout.addWidget(self.ybutton, 0, 1, 1, 1)
|
||||
self.graph_checkbox = QtWidgets.QCheckBox(self.groupBox_3)
|
||||
self.horizontalLayout.addWidget(self.ybutton)
|
||||
self.gridLayout.addLayout(self.horizontalLayout, 7, 1, 1, 1)
|
||||
self.label = QtWidgets.QLabel(Form)
|
||||
self.label.setObjectName("label")
|
||||
self.gridLayout.addWidget(self.label, 8, 0, 1, 1)
|
||||
self.group_box = QtWidgets.QComboBox(Form)
|
||||
self.group_box.setObjectName("group_box")
|
||||
self.group_box.addItem("")
|
||||
self.group_box.addItem("")
|
||||
self.gridLayout.addWidget(self.group_box, 8, 1, 1, 1)
|
||||
spacerItem1 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
|
||||
self.gridLayout.addItem(spacerItem1, 9, 0, 1, 1)
|
||||
self.graph_checkbox = QtWidgets.QCheckBox(Form)
|
||||
self.graph_checkbox.setChecked(True)
|
||||
self.graph_checkbox.setObjectName("graph_checkbox")
|
||||
self.gridLayout.addWidget(self.graph_checkbox, 1, 0, 1, 1)
|
||||
self.graph_combobox = QtWidgets.QComboBox(self.groupBox_3)
|
||||
self.gridLayout.addWidget(self.graph_checkbox, 10, 0, 1, 1)
|
||||
self.graph_combobox = QtWidgets.QComboBox(Form)
|
||||
self.graph_combobox.setEnabled(False)
|
||||
self.graph_combobox.setObjectName("graph_combobox")
|
||||
self.gridLayout.addWidget(self.graph_combobox, 1, 1, 1, 1)
|
||||
self.verticalLayout.addWidget(self.groupBox_3)
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_2.setContentsMargins(-1, 0, -1, -1)
|
||||
self.horizontalLayout_2.setSpacing(2)
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.gridLayout.addWidget(self.graph_combobox, 10, 1, 1, 1)
|
||||
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.gridLayout.addItem(spacerItem2, 12, 0, 1, 1)
|
||||
self.okButton = QtWidgets.QPushButton(Form)
|
||||
icon = QtGui.QIcon.fromTheme("dialog-ok")
|
||||
self.okButton.setIcon(icon)
|
||||
self.okButton.setObjectName("okButton")
|
||||
self.horizontalLayout_2.addWidget(self.okButton)
|
||||
self.gridLayout.addWidget(self.okButton, 11, 0, 1, 2)
|
||||
self.deleteButton = QtWidgets.QPushButton(Form)
|
||||
icon = QtGui.QIcon.fromTheme("dialog-cancel")
|
||||
self.deleteButton.setIcon(icon)
|
||||
self.deleteButton.setObjectName("deleteButton")
|
||||
self.horizontalLayout_2.addWidget(self.deleteButton)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout_2)
|
||||
self.gridLayout.addWidget(self.deleteButton, 2, 0, 1, 2)
|
||||
self.label_2.setBuddy(self.peaktable)
|
||||
self.label_5.setBuddy(self.average_combobox)
|
||||
self.label_4.setBuddy(self.xbutton)
|
||||
self.label.setBuddy(self.group_box)
|
||||
|
||||
self.retranslateUi(Form)
|
||||
QtCore.QMetaObject.connectSlotsByName(Form)
|
||||
Form.setTabOrder(self.peaktable, self.limit_combobox)
|
||||
Form.setTabOrder(self.limit_combobox, self.average_combobox)
|
||||
Form.setTabOrder(self.average_combobox, self.xbutton)
|
||||
Form.setTabOrder(self.xbutton, self.ybutton)
|
||||
Form.setTabOrder(self.ybutton, self.group_box)
|
||||
Form.setTabOrder(self.group_box, self.graph_checkbox)
|
||||
Form.setTabOrder(self.graph_checkbox, self.graph_combobox)
|
||||
|
||||
def retranslateUi(self, Form):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
Form.setWindowTitle(_translate("Form", "Form"))
|
||||
self.label_2.setText(_translate("Form", "Selected points and regions"))
|
||||
self.peaktable.setToolTip(_translate("Form", "Edit by entering new value: \n"
|
||||
"Single number for points (e.g. 1e-6); \n"
|
||||
"two numbers separated by space for regions (e.g. 1e-6 5e-6). \n"
|
||||
"Changing between regions and points is NOT possible"))
|
||||
self.groupBox.setTitle(_translate("Form", "Average"))
|
||||
self.left_pt.setSuffix(_translate("Form", " pts"))
|
||||
self.left_pt.setPrefix(_translate("Form", "- "))
|
||||
self.right_pt.setSuffix(_translate("Form", " pts"))
|
||||
self.right_pt.setPrefix(_translate("Form", "+ "))
|
||||
self.average_combobox.setItemText(0, _translate("Form", "Mean"))
|
||||
self.average_combobox.setItemText(1, _translate("Form", "Sum"))
|
||||
self.average_combobox.setItemText(2, _translate("Form", "Integral"))
|
||||
self.groupBox_2.setTitle(_translate("Form", "Special value"))
|
||||
self.special_checkbox.setText(_translate("Form", "Use special value"))
|
||||
self.special_comboBox.setToolTip(_translate("Form", "Automatic selection of respective points"))
|
||||
self.special_comboBox.setItemText(0, _translate("Form", "max(y)"))
|
||||
self.special_comboBox.setItemText(1, _translate("Form", "max(abs(y))"))
|
||||
self.special_comboBox.setItemText(2, _translate("Form", "min(y)"))
|
||||
self.special_comboBox.setItemText(3, _translate("Form", "min(abs(y))"))
|
||||
self.groupBox_3.setTitle(_translate("Form", "Result"))
|
||||
self.label_3.setText(_translate("Form", "Region around points"))
|
||||
self.limit_combobox.setItemText(0, _translate("Form", "points"))
|
||||
self.limit_combobox.setItemText(1, _translate("Form", "range"))
|
||||
self.label_5.setText(_translate("Form", "Aggregation"))
|
||||
self.average_combobox.setItemText(0, _translate("Form", "Mean"))
|
||||
self.average_combobox.setItemText(1, _translate("Form", "Sum"))
|
||||
self.average_combobox.setItemText(2, _translate("Form", "Integral"))
|
||||
self.average_combobox.setItemText(3, _translate("Form", "Std. deviation"))
|
||||
self.label_4.setText(_translate("Form", "New set based on"))
|
||||
self.xbutton.setText(_translate("Form", "x"))
|
||||
self.ybutton.setText(_translate("Form", "y"))
|
||||
self.label.setText(_translate("Form", "Group by"))
|
||||
self.group_box.setItemText(0, _translate("Form", "\"Group\" value"))
|
||||
self.group_box.setItemText(1, _translate("Form", "x value"))
|
||||
self.graph_checkbox.setText(_translate("Form", "New graph?"))
|
||||
self.okButton.setText(_translate("Form", "Apply"))
|
||||
self.deleteButton.setText(_translate("Form", "Delete selected"))
|
||||
self.deleteButton.setText(_translate("Form", "Delete selection"))
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/qfiledialog.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/qfiledialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,67 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/rectanglewidget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_rectanglewidget(object):
|
||||
def setupUi(self, rectanglewidget):
|
||||
rectanglewidget.setObjectName("rectanglewidget")
|
||||
rectanglewidget.resize(400, 300)
|
||||
self.gridLayout = QtWidgets.QGridLayout(rectanglewidget)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.color_label = QtWidgets.QLabel(rectanglewidget)
|
||||
self.color_label.setObjectName("color_label")
|
||||
self.gridLayout.addWidget(self.color_label, 0, 0, 1, 1)
|
||||
self.left_x = QtWidgets.QLineEdit(rectanglewidget)
|
||||
self.left_x.setObjectName("left_x")
|
||||
self.gridLayout.addWidget(self.left_x, 2, 1, 1, 1)
|
||||
self.left_y = QtWidgets.QLineEdit(rectanglewidget)
|
||||
self.left_y.setObjectName("left_y")
|
||||
self.gridLayout.addWidget(self.left_y, 2, 2, 1, 1)
|
||||
self.right_x = QtWidgets.QLineEdit(rectanglewidget)
|
||||
self.right_x.setObjectName("right_x")
|
||||
self.gridLayout.addWidget(self.right_x, 3, 1, 1, 1)
|
||||
self.color_box = ColorListEditor(rectanglewidget)
|
||||
self.color_box.setObjectName("color_box")
|
||||
self.gridLayout.addWidget(self.color_box, 0, 1, 1, 2)
|
||||
self.left_label = QtWidgets.QLabel(rectanglewidget)
|
||||
self.left_label.setObjectName("left_label")
|
||||
self.gridLayout.addWidget(self.left_label, 2, 0, 1, 1)
|
||||
self.right_y = QtWidgets.QLineEdit(rectanglewidget)
|
||||
self.right_y.setObjectName("right_y")
|
||||
self.gridLayout.addWidget(self.right_y, 3, 2, 1, 1)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.gridLayout.addItem(spacerItem, 4, 0, 1, 1)
|
||||
self.right_label = QtWidgets.QLabel(rectanglewidget)
|
||||
self.right_label.setObjectName("right_label")
|
||||
self.gridLayout.addWidget(self.right_label, 3, 0, 1, 1)
|
||||
self.fill_label = QtWidgets.QLabel(rectanglewidget)
|
||||
self.fill_label.setObjectName("fill_label")
|
||||
self.gridLayout.addWidget(self.fill_label, 1, 0, 1, 1)
|
||||
self.fill_box = ColorListEditor(rectanglewidget)
|
||||
self.fill_box.setObjectName("fill_box")
|
||||
self.gridLayout.addWidget(self.fill_box, 1, 1, 1, 2)
|
||||
|
||||
self.retranslateUi(rectanglewidget)
|
||||
QtCore.QMetaObject.connectSlotsByName(rectanglewidget)
|
||||
|
||||
def retranslateUi(self, rectanglewidget):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
rectanglewidget.setWindowTitle(_translate("rectanglewidget", "Form"))
|
||||
self.color_label.setText(_translate("rectanglewidget", "Color"))
|
||||
self.left_x.setPlaceholderText(_translate("rectanglewidget", "x"))
|
||||
self.left_y.setPlaceholderText(_translate("rectanglewidget", "y"))
|
||||
self.right_x.setPlaceholderText(_translate("rectanglewidget", "x"))
|
||||
self.left_label.setText(_translate("rectanglewidget", "Lower left"))
|
||||
self.right_y.setPlaceholderText(_translate("rectanglewidget", "y"))
|
||||
self.right_label.setText(_translate("rectanglewidget", "Upper right"))
|
||||
self.fill_label.setText(_translate("rectanglewidget", "Fill color"))
|
||||
from gui_qt.lib.delegates import ColorListEditor
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/save_fit_parameter.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/save_fit_parameter.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@ -106,8 +105,8 @@ class Ui_fitparameter_save_dialog(object):
|
||||
self.label.setBuddy(self.missing_value_line)
|
||||
|
||||
self.retranslateUi(fitparameter_save_dialog)
|
||||
self.buttonBox.accepted.connect(fitparameter_save_dialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(fitparameter_save_dialog.reject) # type: ignore
|
||||
self.buttonBox.accepted.connect(fitparameter_save_dialog.accept)
|
||||
self.buttonBox.rejected.connect(fitparameter_save_dialog.reject)
|
||||
QtCore.QMetaObject.connectSlotsByName(fitparameter_save_dialog)
|
||||
fitparameter_save_dialog.setTabOrder(self.save_path_button, self.save_path_line)
|
||||
fitparameter_save_dialog.setTabOrder(self.save_path_line, self.tableWidget)
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/save_fitmodel_dialog.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/save_fitmodel_dialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@ -53,8 +52,8 @@ class Ui_SaveDialog(object):
|
||||
self.gridLayout.addWidget(self.frame, 2, 1, 1, 1)
|
||||
|
||||
self.retranslateUi(SaveDialog)
|
||||
self.buttonBox.accepted.connect(SaveDialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(SaveDialog.reject) # type: ignore
|
||||
self.buttonBox.accepted.connect(SaveDialog.accept)
|
||||
self.buttonBox.rejected.connect(SaveDialog.reject)
|
||||
QtCore.QMetaObject.connectSlotsByName(SaveDialog)
|
||||
|
||||
def retranslateUi(self, SaveDialog):
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/save_options.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/save_options.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/saveoptions.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/saveoptions.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/sdmodelwidget.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/sdmodelwidget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/selection_widget.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/selection_widget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/setbyfunction_dialog.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/setbyfunction_dialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@ -185,8 +184,8 @@ class Ui_NewCurveDialog(object):
|
||||
self.retranslateUi(NewCurveDialog)
|
||||
self.comboBox.setCurrentIndex(-1)
|
||||
self.comboBox_2.setCurrentIndex(-1)
|
||||
self.buttonBox.accepted.connect(NewCurveDialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(NewCurveDialog.reject) # type: ignore
|
||||
self.buttonBox.accepted.connect(NewCurveDialog.accept)
|
||||
self.buttonBox.rejected.connect(NewCurveDialog.reject)
|
||||
QtCore.QMetaObject.connectSlotsByName(NewCurveDialog)
|
||||
NewCurveDialog.setTabOrder(self.lineEdit_3, self.lineEdit_4)
|
||||
NewCurveDialog.setTabOrder(self.lineEdit_4, self.lineEdit_5)
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/shift_scale_dialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -163,7 +163,7 @@ class Ui_shift_dialog(object):
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.verticalFrame_2)
|
||||
self.verticalLayout_2.setSpacing(3)
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
self.graphicsView = PlotWidget(self.verticalFrame_2)
|
||||
self.graphicsView = NMRPlotWidget(self.verticalFrame_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
@ -311,5 +311,5 @@ class Ui_shift_dialog(object):
|
||||
self.overwrite_checkbox.setText(_translate("shift_dialog", "Overwrite data"))
|
||||
self.data_newgraph.setText(_translate("shift_dialog", "New graph"))
|
||||
self.values_newgraph.setText(_translate("shift_dialog", "New graph"))
|
||||
from ..lib.graph_items import NMRPlotWidget
|
||||
from ..lib.spinboxes import SciSpinBox
|
||||
from pyqtgraph import PlotWidget
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/skipdialog.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/skipdialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@ -78,8 +77,8 @@ class Ui_SkipDialog(object):
|
||||
self.label.setBuddy(self.offset_spinbox)
|
||||
|
||||
self.retranslateUi(SkipDialog)
|
||||
self.buttonBox.accepted.connect(SkipDialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(SkipDialog.reject) # type: ignore
|
||||
self.buttonBox.accepted.connect(SkipDialog.accept)
|
||||
self.buttonBox.rejected.connect(SkipDialog.reject)
|
||||
QtCore.QMetaObject.connectSlotsByName(SkipDialog)
|
||||
SkipDialog.setTabOrder(self.step_spinbox, self.offset_spinbox)
|
||||
SkipDialog.setTabOrder(self.offset_spinbox, self.invert_check)
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/smoothdialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.10
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -18,9 +18,37 @@ class Ui_SmoothDialog(object):
|
||||
self.gridLayout = QtWidgets.QGridLayout(SmoothDialog)
|
||||
self.gridLayout.setSpacing(3)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.gridLayout.addItem(spacerItem, 7, 0, 1, 1)
|
||||
self.frac_label = QtWidgets.QLabel(SmoothDialog)
|
||||
self.frac_label.setObjectName("frac_label")
|
||||
self.gridLayout.addWidget(self.frac_label, 1, 0, 1, 1)
|
||||
self.gridLayout.addWidget(self.frac_label, 2, 0, 1, 1)
|
||||
self.line = QtWidgets.QFrame(SmoothDialog)
|
||||
self.line.setFrameShape(QtWidgets.QFrame.HLine)
|
||||
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
|
||||
self.line.setObjectName("line")
|
||||
self.gridLayout.addWidget(self.line, 5, 0, 1, 2)
|
||||
self.widget = QtWidgets.QWidget(SmoothDialog)
|
||||
self.widget.setObjectName("widget")
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.widget)
|
||||
self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
|
||||
self.horizontalLayout_2.setSpacing(3)
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.label = QtWidgets.QLabel(self.widget)
|
||||
self.label.setObjectName("label")
|
||||
self.horizontalLayout_2.addWidget(self.label)
|
||||
self.polynom_spinBox = QtWidgets.QSpinBox(self.widget)
|
||||
self.polynom_spinBox.setMinimum(1)
|
||||
self.polynom_spinBox.setMaximum(3)
|
||||
self.polynom_spinBox.setObjectName("polynom_spinBox")
|
||||
self.horizontalLayout_2.addWidget(self.polynom_spinBox)
|
||||
self.gridLayout.addWidget(self.widget, 3, 0, 1, 2)
|
||||
self.y_checkBox = QtWidgets.QCheckBox(SmoothDialog)
|
||||
self.y_checkBox.setObjectName("y_checkBox")
|
||||
self.gridLayout.addWidget(self.y_checkBox, 6, 1, 1, 1)
|
||||
self.x_checkBox = QtWidgets.QCheckBox(SmoothDialog)
|
||||
self.x_checkBox.setObjectName("x_checkBox")
|
||||
self.gridLayout.addWidget(self.x_checkBox, 6, 0, 1, 1)
|
||||
self.widget_2 = QtWidgets.QWidget(SmoothDialog)
|
||||
self.widget_2.setObjectName("widget_2")
|
||||
self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.widget_2)
|
||||
@ -36,37 +64,17 @@ class Ui_SmoothDialog(object):
|
||||
self.iter_spinBox.setProperty("value", 1)
|
||||
self.iter_spinBox.setObjectName("iter_spinBox")
|
||||
self.horizontalLayout_3.addWidget(self.iter_spinBox)
|
||||
self.gridLayout.addWidget(self.widget_2, 3, 0, 1, 2)
|
||||
self.line = QtWidgets.QFrame(SmoothDialog)
|
||||
self.line.setFrameShape(QtWidgets.QFrame.HLine)
|
||||
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
|
||||
self.line.setObjectName("line")
|
||||
self.gridLayout.addWidget(self.line, 4, 0, 1, 2)
|
||||
self.buttonBox = QtWidgets.QDialogButtonBox(SmoothDialog)
|
||||
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Apply|QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
|
||||
self.buttonBox.setObjectName("buttonBox")
|
||||
self.gridLayout.addWidget(self.buttonBox, 7, 0, 1, 2)
|
||||
self.widget = QtWidgets.QWidget(SmoothDialog)
|
||||
self.widget.setObjectName("widget")
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.widget)
|
||||
self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
|
||||
self.horizontalLayout_2.setSpacing(3)
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.label = QtWidgets.QLabel(self.widget)
|
||||
self.label.setObjectName("label")
|
||||
self.horizontalLayout_2.addWidget(self.label)
|
||||
self.polynom_spinBox = QtWidgets.QSpinBox(self.widget)
|
||||
self.polynom_spinBox.setMinimum(1)
|
||||
self.polynom_spinBox.setMaximum(3)
|
||||
self.polynom_spinBox.setObjectName("polynom_spinBox")
|
||||
self.horizontalLayout_2.addWidget(self.polynom_spinBox)
|
||||
self.gridLayout.addWidget(self.widget, 2, 0, 1, 2)
|
||||
self.gridLayout.addWidget(self.widget_2, 4, 0, 1, 2)
|
||||
self.frac_spinBox = QtWidgets.QSpinBox(SmoothDialog)
|
||||
self.frac_spinBox.setMinimum(1)
|
||||
self.frac_spinBox.setMaximum(999)
|
||||
self.frac_spinBox.setObjectName("frac_spinBox")
|
||||
self.gridLayout.addWidget(self.frac_spinBox, 1, 1, 1, 1)
|
||||
self.gridLayout.addWidget(self.frac_spinBox, 2, 1, 1, 1)
|
||||
self.buttonBox = QtWidgets.QDialogButtonBox(SmoothDialog)
|
||||
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Apply|QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
|
||||
self.buttonBox.setObjectName("buttonBox")
|
||||
self.gridLayout.addWidget(self.buttonBox, 8, 0, 1, 2)
|
||||
self.comboBox = QtWidgets.QComboBox(SmoothDialog)
|
||||
self.comboBox.setObjectName("comboBox")
|
||||
self.comboBox.addItem("")
|
||||
@ -78,18 +86,13 @@ class Ui_SmoothDialog(object):
|
||||
self.comboBox.addItem("")
|
||||
self.comboBox.addItem("")
|
||||
self.comboBox.addItem("")
|
||||
self.gridLayout.addWidget(self.comboBox, 0, 0, 1, 2)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.gridLayout.addItem(spacerItem, 6, 0, 1, 1)
|
||||
self.y_checkBox = QtWidgets.QCheckBox(SmoothDialog)
|
||||
self.y_checkBox.setObjectName("y_checkBox")
|
||||
self.gridLayout.addWidget(self.y_checkBox, 5, 1, 1, 1)
|
||||
self.x_checkBox = QtWidgets.QCheckBox(SmoothDialog)
|
||||
self.x_checkBox.setObjectName("x_checkBox")
|
||||
self.gridLayout.addWidget(self.x_checkBox, 5, 0, 1, 1)
|
||||
self.gridLayout.addWidget(self.comboBox, 1, 0, 1, 2)
|
||||
self.label_2 = QtWidgets.QLabel(SmoothDialog)
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.gridLayout.addWidget(self.label_2, 0, 0, 1, 2)
|
||||
self.frac_label.setBuddy(self.frac_spinBox)
|
||||
self.label_3.setBuddy(self.iter_spinBox)
|
||||
self.label.setBuddy(self.polynom_spinBox)
|
||||
self.label_3.setBuddy(self.iter_spinBox)
|
||||
|
||||
self.retranslateUi(SmoothDialog)
|
||||
self.buttonBox.accepted.connect(SmoothDialog.accept) # type: ignore
|
||||
@ -105,9 +108,11 @@ class Ui_SmoothDialog(object):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
SmoothDialog.setWindowTitle(_translate("SmoothDialog", "1D smoothing filter"))
|
||||
self.frac_label.setText(_translate("SmoothDialog", "Window length"))
|
||||
self.label_3.setText(_translate("SmoothDialog", "Iterations"))
|
||||
self.label.setText(_translate("SmoothDialog", "Polynomial degree"))
|
||||
self.polynom_spinBox.setToolTip(_translate("SmoothDialog", "Deg"))
|
||||
self.y_checkBox.setText(_translate("SmoothDialog", "y log-spaced?"))
|
||||
self.x_checkBox.setText(_translate("SmoothDialog", "x log-spaced?"))
|
||||
self.label_3.setText(_translate("SmoothDialog", "Iterations"))
|
||||
self.frac_spinBox.setToolTip(_translate("SmoothDialog", "<html><head/><body><p>Number of data points used as smoothing window.</p></body></html>"))
|
||||
self.comboBox.setItemText(0, _translate("SmoothDialog", "Moving mean"))
|
||||
self.comboBox.setItemText(1, _translate("SmoothDialog", "Savitzky-Golay"))
|
||||
@ -118,5 +123,4 @@ class Ui_SmoothDialog(object):
|
||||
self.comboBox.setItemText(6, _translate("SmoothDialog", "Moving maximum"))
|
||||
self.comboBox.setItemText(7, _translate("SmoothDialog", "Moving minimum"))
|
||||
self.comboBox.setItemText(8, _translate("SmoothDialog", "Moving sum"))
|
||||
self.y_checkBox.setText(_translate("SmoothDialog", "y log-spaced?"))
|
||||
self.x_checkBox.setText(_translate("SmoothDialog", "x log-spaced?"))
|
||||
self.label_2.setText(_translate("SmoothDialog", "<html><head/><body><p><span style=\" font-weight:600;\">Note:</span> Sets must be sorted for correct results</p></body></html>"))
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/t1_calc_dialog.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/t1_calc_dialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@ -272,8 +271,8 @@ class Ui_Dialog(object):
|
||||
self.gridLayout_2.addWidget(self.groupBox, 0, 0, 1, 1)
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
|
||||
self.buttonBox.accepted.connect(Dialog.accept)
|
||||
self.buttonBox.rejected.connect(Dialog.reject)
|
||||
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
||||
|
||||
def retranslateUi(self, Dialog):
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/t1_dock.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/t1_dock.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/t1_tau_calculation.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/t1_tau_calculation.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/t1dialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -161,6 +161,7 @@ class Ui_t1dialog(object):
|
||||
self.tau_combox.addItem("")
|
||||
self.gridLayout_4.addWidget(self.tau_combox, 1, 0, 1, 2)
|
||||
self.checkBox_interpol = QtWidgets.QCheckBox(self.groupBox_3)
|
||||
self.checkBox_interpol.setEnabled(False)
|
||||
self.checkBox_interpol.setObjectName("checkBox_interpol")
|
||||
self.gridLayout_4.addWidget(self.checkBox_interpol, 2, 0, 1, 2)
|
||||
self.graph_checkbox = QtWidgets.QCheckBox(self.groupBox_3)
|
||||
|
@ -1,55 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/textdrawidget.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_textwidget(object):
|
||||
def setupUi(self, textwidget):
|
||||
textwidget.setObjectName("textwidget")
|
||||
textwidget.resize(400, 300)
|
||||
self.gridLayout = QtWidgets.QGridLayout(textwidget)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.gridLayout.addItem(spacerItem, 3, 0, 1, 1)
|
||||
self.color_label = QtWidgets.QLabel(textwidget)
|
||||
self.color_label.setObjectName("color_label")
|
||||
self.gridLayout.addWidget(self.color_label, 0, 0, 1, 1)
|
||||
self.center_x = QtWidgets.QLineEdit(textwidget)
|
||||
self.center_x.setObjectName("center_x")
|
||||
self.gridLayout.addWidget(self.center_x, 1, 1, 1, 1)
|
||||
self.center_y = QtWidgets.QLineEdit(textwidget)
|
||||
self.center_y.setObjectName("center_y")
|
||||
self.gridLayout.addWidget(self.center_y, 1, 2, 1, 1)
|
||||
self.center_label = QtWidgets.QLabel(textwidget)
|
||||
self.center_label.setObjectName("center_label")
|
||||
self.gridLayout.addWidget(self.center_label, 1, 0, 1, 1)
|
||||
self.color_box = ColorListEditor(textwidget)
|
||||
self.color_box.setObjectName("color_box")
|
||||
self.gridLayout.addWidget(self.color_box, 0, 1, 1, 2)
|
||||
self.text_label = QtWidgets.QLabel(textwidget)
|
||||
self.text_label.setObjectName("text_label")
|
||||
self.gridLayout.addWidget(self.text_label, 2, 0, 1, 1)
|
||||
self.text_lineedit = QtWidgets.QLineEdit(textwidget)
|
||||
self.text_lineedit.setObjectName("text_lineedit")
|
||||
self.gridLayout.addWidget(self.text_lineedit, 2, 1, 1, 2)
|
||||
|
||||
self.retranslateUi(textwidget)
|
||||
QtCore.QMetaObject.connectSlotsByName(textwidget)
|
||||
|
||||
def retranslateUi(self, textwidget):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
textwidget.setWindowTitle(_translate("textwidget", "Form"))
|
||||
self.color_label.setText(_translate("textwidget", "Color"))
|
||||
self.center_x.setPlaceholderText(_translate("textwidget", "x"))
|
||||
self.center_y.setPlaceholderText(_translate("textwidget", "y"))
|
||||
self.center_label.setText(_translate("textwidget", "Center"))
|
||||
self.text_label.setText(_translate("textwidget", "Text"))
|
||||
from gui_qt.lib.delegates import ColorListEditor
|
253
src/gui_qt/_py/tnmh_dialog.py
Normal file
253
src/gui_qt/_py/tnmh_dialog.py
Normal file
@ -0,0 +1,253 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/tnmh_dialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_DSCEvalDialog(object):
|
||||
def setupUi(self, DSCEvalDialog):
|
||||
DSCEvalDialog.setObjectName("DSCEvalDialog")
|
||||
DSCEvalDialog.resize(996, 712)
|
||||
self.gridLayout = QtWidgets.QGridLayout(DSCEvalDialog)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.listWidget = QListWidgetSelect(DSCEvalDialog)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Expanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.listWidget.sizePolicy().hasHeightForWidth())
|
||||
self.listWidget.setSizePolicy(sizePolicy)
|
||||
self.listWidget.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||
self.listWidget.setObjectName("listWidget")
|
||||
self.gridLayout.addWidget(self.listWidget, 0, 0, 1, 1)
|
||||
self.stackedWidget = QtWidgets.QStackedWidget(DSCEvalDialog)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.stackedWidget.sizePolicy().hasHeightForWidth())
|
||||
self.stackedWidget.setSizePolicy(sizePolicy)
|
||||
self.stackedWidget.setFrameShape(QtWidgets.QFrame.Box)
|
||||
self.stackedWidget.setObjectName("stackedWidget")
|
||||
self.page = QtWidgets.QWidget()
|
||||
self.page.setObjectName("page")
|
||||
self.gridLayout_2 = QtWidgets.QGridLayout(self.page)
|
||||
self.gridLayout_2.setObjectName("gridLayout_2")
|
||||
self.gridLayout_9 = QtWidgets.QGridLayout()
|
||||
self.gridLayout_9.setObjectName("gridLayout_9")
|
||||
self.tg_export_check = QtWidgets.QCheckBox(self.page)
|
||||
self.tg_export_check.setChecked(True)
|
||||
self.tg_export_check.setObjectName("tg_export_check")
|
||||
self.gridLayout_9.addWidget(self.tg_export_check, 0, 0, 1, 1)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.gridLayout_9.addItem(spacerItem, 3, 0, 1, 1)
|
||||
self.tglines_export_check = QtWidgets.QCheckBox(self.page)
|
||||
self.tglines_export_check.setChecked(True)
|
||||
self.tglines_export_check.setObjectName("tglines_export_check")
|
||||
self.gridLayout_9.addWidget(self.tglines_export_check, 0, 1, 1, 1)
|
||||
self.tg_export_button = QtWidgets.QPushButton(self.page)
|
||||
self.tg_export_button.setObjectName("tg_export_button")
|
||||
self.gridLayout_9.addWidget(self.tg_export_button, 2, 0, 1, 2)
|
||||
self.gridLayout_2.addLayout(self.gridLayout_9, 2, 1, 1, 1)
|
||||
self.tg_tree = QtWidgets.QTreeWidget(self.page)
|
||||
self.tg_tree.setObjectName("tg_tree")
|
||||
self.tg_tree.headerItem().setText(0, "1")
|
||||
self.tg_tree.header().setVisible(False)
|
||||
self.gridLayout_2.addWidget(self.tg_tree, 2, 0, 1, 1)
|
||||
self.dsc_plot = NMRPlotWidget(self.page)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.dsc_plot.sizePolicy().hasHeightForWidth())
|
||||
self.dsc_plot.setSizePolicy(sizePolicy)
|
||||
self.dsc_plot.setObjectName("dsc_plot")
|
||||
self.gridLayout_2.addWidget(self.dsc_plot, 1, 0, 1, 2)
|
||||
self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
|
||||
self.label = QtWidgets.QLabel(self.page)
|
||||
self.label.setObjectName("label")
|
||||
self.horizontalLayout_4.addWidget(self.label)
|
||||
self.calctg_button = QtWidgets.QPushButton(self.page)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.calctg_button.sizePolicy().hasHeightForWidth())
|
||||
self.calctg_button.setSizePolicy(sizePolicy)
|
||||
self.calctg_button.setObjectName("calctg_button")
|
||||
self.horizontalLayout_4.addWidget(self.calctg_button)
|
||||
self.gridLayout_2.addLayout(self.horizontalLayout_4, 0, 0, 1, 2)
|
||||
self.stackedWidget.addWidget(self.page)
|
||||
self.page_2 = QtWidgets.QWidget()
|
||||
self.page_2.setObjectName("page_2")
|
||||
self.gridLayout_3 = QtWidgets.QGridLayout(self.page_2)
|
||||
self.gridLayout_3.setObjectName("gridLayout_3")
|
||||
self.label_4 = QtWidgets.QLabel(self.page_2)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.gridLayout_3.addWidget(self.label_4, 2, 0, 1, 1)
|
||||
self.tghodge_graph = NMRPlotWidget(self.page_2)
|
||||
self.tghodge_graph.setObjectName("tghodge_graph")
|
||||
self.gridLayout_3.addWidget(self.tghodge_graph, 1, 0, 1, 1)
|
||||
self.tau_plot = NMRPlotWidget(self.page_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.tau_plot.sizePolicy().hasHeightForWidth())
|
||||
self.tau_plot.setSizePolicy(sizePolicy)
|
||||
self.tau_plot.setObjectName("tau_plot")
|
||||
self.gridLayout_3.addWidget(self.tau_plot, 1, 1, 1, 1)
|
||||
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
|
||||
self.label_2 = QtWidgets.QLabel(self.page_2)
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.horizontalLayout_3.addWidget(self.label_2)
|
||||
self.hodge_button = QtWidgets.QPushButton(self.page_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.hodge_button.sizePolicy().hasHeightForWidth())
|
||||
self.hodge_button.setSizePolicy(sizePolicy)
|
||||
self.hodge_button.setObjectName("hodge_button")
|
||||
self.horizontalLayout_3.addWidget(self.hodge_button)
|
||||
self.gridLayout_3.addLayout(self.horizontalLayout_3, 0, 0, 1, 2)
|
||||
self.export_hodge_button = QtWidgets.QPushButton(self.page_2)
|
||||
self.export_hodge_button.setObjectName("export_hodge_button")
|
||||
self.gridLayout_3.addWidget(self.export_hodge_button, 5, 1, 1, 1)
|
||||
self.hodge_graph_combo = QtWidgets.QComboBox(self.page_2)
|
||||
self.hodge_graph_combo.setEnabled(False)
|
||||
self.hodge_graph_combo.setObjectName("hodge_graph_combo")
|
||||
self.gridLayout_3.addWidget(self.hodge_graph_combo, 4, 1, 1, 1)
|
||||
self.hodge_graph_check = QtWidgets.QCheckBox(self.page_2)
|
||||
self.hodge_graph_check.setChecked(True)
|
||||
self.hodge_graph_check.setObjectName("hodge_graph_check")
|
||||
self.gridLayout_3.addWidget(self.hodge_graph_check, 4, 0, 1, 1)
|
||||
self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
|
||||
self.onset_check = QtWidgets.QCheckBox(self.page_2)
|
||||
self.onset_check.setChecked(True)
|
||||
self.onset_check.setObjectName("onset_check")
|
||||
self.horizontalLayout_5.addWidget(self.onset_check)
|
||||
self.mid_check = QtWidgets.QCheckBox(self.page_2)
|
||||
self.mid_check.setChecked(True)
|
||||
self.mid_check.setObjectName("mid_check")
|
||||
self.horizontalLayout_5.addWidget(self.mid_check)
|
||||
self.end_check = QtWidgets.QCheckBox(self.page_2)
|
||||
self.end_check.setChecked(True)
|
||||
self.end_check.setObjectName("end_check")
|
||||
self.horizontalLayout_5.addWidget(self.end_check)
|
||||
self.inflection_check = QtWidgets.QCheckBox(self.page_2)
|
||||
self.inflection_check.setChecked(True)
|
||||
self.inflection_check.setObjectName("inflection_check")
|
||||
self.horizontalLayout_5.addWidget(self.inflection_check)
|
||||
self.fictive_check = QtWidgets.QCheckBox(self.page_2)
|
||||
self.fictive_check.setChecked(True)
|
||||
self.fictive_check.setObjectName("fictive_check")
|
||||
self.horizontalLayout_5.addWidget(self.fictive_check)
|
||||
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_5.addItem(spacerItem1)
|
||||
self.gridLayout_3.addLayout(self.horizontalLayout_5, 3, 0, 1, 2)
|
||||
self.stackedWidget.addWidget(self.page_2)
|
||||
self.page_3 = QtWidgets.QWidget()
|
||||
self.page_3.setObjectName("page_3")
|
||||
self.gridLayout_6 = QtWidgets.QGridLayout(self.page_3)
|
||||
self.gridLayout_6.setObjectName("gridLayout_6")
|
||||
self.tnmh_graphics = NMRPlotWidget(self.page_3)
|
||||
self.tnmh_graphics.setObjectName("tnmh_graphics")
|
||||
self.gridLayout_6.addWidget(self.tnmh_graphics, 1, 0, 1, 2)
|
||||
self.tnmh_tree = QtWidgets.QTreeWidget(self.page_3)
|
||||
self.tnmh_tree.setObjectName("tnmh_tree")
|
||||
self.tnmh_tree.headerItem().setText(0, "1")
|
||||
self.tnmh_tree.header().setVisible(False)
|
||||
self.gridLayout_6.addWidget(self.tnmh_tree, 2, 0, 1, 1)
|
||||
self.gridLayout_5 = QtWidgets.QGridLayout()
|
||||
self.gridLayout_5.setObjectName("gridLayout_5")
|
||||
self.tnmh_graph_check = QtWidgets.QCheckBox(self.page_3)
|
||||
self.tnmh_graph_check.setChecked(True)
|
||||
self.tnmh_graph_check.setObjectName("tnmh_graph_check")
|
||||
self.gridLayout_5.addWidget(self.tnmh_graph_check, 1, 0, 1, 1)
|
||||
self.tnmhfit_export_check = QtWidgets.QCheckBox(self.page_3)
|
||||
self.tnmhfit_export_check.setChecked(True)
|
||||
self.tnmhfit_export_check.setObjectName("tnmhfit_export_check")
|
||||
self.gridLayout_5.addWidget(self.tnmhfit_export_check, 0, 0, 1, 1)
|
||||
self.tnmh_export_button = QtWidgets.QPushButton(self.page_3)
|
||||
self.tnmh_export_button.setObjectName("tnmh_export_button")
|
||||
self.gridLayout_5.addWidget(self.tnmh_export_button, 2, 0, 1, 2)
|
||||
self.fictive_export_check = QtWidgets.QCheckBox(self.page_3)
|
||||
self.fictive_export_check.setChecked(True)
|
||||
self.fictive_export_check.setObjectName("fictive_export_check")
|
||||
self.gridLayout_5.addWidget(self.fictive_export_check, 0, 1, 1, 1)
|
||||
self.tnmh_graph_combo = QtWidgets.QComboBox(self.page_3)
|
||||
self.tnmh_graph_combo.setEnabled(False)
|
||||
self.tnmh_graph_combo.setObjectName("tnmh_graph_combo")
|
||||
self.gridLayout_5.addWidget(self.tnmh_graph_combo, 1, 1, 1, 1)
|
||||
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.gridLayout_5.addItem(spacerItem2, 3, 0, 1, 1)
|
||||
self.gridLayout_6.addLayout(self.gridLayout_5, 2, 1, 1, 1)
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.label_3 = QtWidgets.QLabel(self.page_3)
|
||||
self.label_3.setObjectName("label_3")
|
||||
self.horizontalLayout_2.addWidget(self.label_3)
|
||||
self.tnhm_fitbutton = QtWidgets.QPushButton(self.page_3)
|
||||
self.tnhm_fitbutton.setObjectName("tnhm_fitbutton")
|
||||
self.horizontalLayout_2.addWidget(self.tnhm_fitbutton)
|
||||
self.gridLayout_6.addLayout(self.horizontalLayout_2, 0, 0, 1, 2)
|
||||
self.stackedWidget.addWidget(self.page_3)
|
||||
self.gridLayout.addWidget(self.stackedWidget, 0, 1, 1, 1)
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout.addItem(spacerItem3)
|
||||
self.back_button = QtWidgets.QToolButton(DSCEvalDialog)
|
||||
self.back_button.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon)
|
||||
self.back_button.setArrowType(QtCore.Qt.LeftArrow)
|
||||
self.back_button.setObjectName("back_button")
|
||||
self.horizontalLayout.addWidget(self.back_button)
|
||||
self.next_button = QtWidgets.QToolButton(DSCEvalDialog)
|
||||
self.next_button.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon)
|
||||
self.next_button.setArrowType(QtCore.Qt.RightArrow)
|
||||
self.next_button.setObjectName("next_button")
|
||||
self.horizontalLayout.addWidget(self.next_button)
|
||||
self.close_button = QtWidgets.QPushButton(DSCEvalDialog)
|
||||
self.close_button.setObjectName("close_button")
|
||||
self.horizontalLayout.addWidget(self.close_button)
|
||||
self.gridLayout.addLayout(self.horizontalLayout, 1, 0, 1, 2)
|
||||
|
||||
self.retranslateUi(DSCEvalDialog)
|
||||
self.stackedWidget.setCurrentIndex(0)
|
||||
self.close_button.clicked.connect(DSCEvalDialog.close) # type: ignore
|
||||
QtCore.QMetaObject.connectSlotsByName(DSCEvalDialog)
|
||||
|
||||
def retranslateUi(self, DSCEvalDialog):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
DSCEvalDialog.setWindowTitle(_translate("DSCEvalDialog", "To boldly go where no man has gone before"))
|
||||
self.tg_export_check.setText(_translate("DSCEvalDialog", "Export Tg"))
|
||||
self.tglines_export_check.setText(_translate("DSCEvalDialog", "Export lines"))
|
||||
self.tg_export_button.setText(_translate("DSCEvalDialog", "Export"))
|
||||
self.label.setText(_translate("DSCEvalDialog", "<html><head/><body><p><span style=\" font-weight:600;\">Glass transition</span></p></body></html>"))
|
||||
self.calctg_button.setText(_translate("DSCEvalDialog", "Calculate Tg"))
|
||||
self.label_4.setText(_translate("DSCEvalDialog", "Export tau:"))
|
||||
self.label_2.setText(_translate("DSCEvalDialog", "<html><head/><body><p><span style=\" font-weight:600;\">Hodge tau</span></p></body></html>"))
|
||||
self.hodge_button.setText(_translate("DSCEvalDialog", "Make it so."))
|
||||
self.export_hodge_button.setText(_translate("DSCEvalDialog", "Export"))
|
||||
self.hodge_graph_check.setText(_translate("DSCEvalDialog", "New graph"))
|
||||
self.onset_check.setText(_translate("DSCEvalDialog", "Onset"))
|
||||
self.mid_check.setText(_translate("DSCEvalDialog", "Midpoint"))
|
||||
self.end_check.setText(_translate("DSCEvalDialog", "End"))
|
||||
self.inflection_check.setText(_translate("DSCEvalDialog", "Inflection"))
|
||||
self.fictive_check.setText(_translate("DSCEvalDialog", "Fictive"))
|
||||
self.tnmh_graph_check.setText(_translate("DSCEvalDialog", "New graph"))
|
||||
self.tnmhfit_export_check.setText(_translate("DSCEvalDialog", "Export fit"))
|
||||
self.tnmh_export_button.setText(_translate("DSCEvalDialog", "Export"))
|
||||
self.fictive_export_check.setText(_translate("DSCEvalDialog", "Export dTf / dT"))
|
||||
self.label_3.setText(_translate("DSCEvalDialog", "<html><head/><body><p><span style=\" font-weight:600;\">dTf/dT and TNMH </span></p></body></html>"))
|
||||
self.tnhm_fitbutton.setText(_translate("DSCEvalDialog", "Engage!"))
|
||||
self.back_button.setText(_translate("DSCEvalDialog", "Back"))
|
||||
self.next_button.setText(_translate("DSCEvalDialog", "Next"))
|
||||
self.close_button.setText(_translate("DSCEvalDialog", "Close"))
|
||||
from ..lib.graph_items import NMRPlotWidget
|
||||
from ..lib.listwidget import QListWidgetSelect
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/tntdialog.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/tntdialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@ -116,8 +115,8 @@ class Ui_tntdialog(object):
|
||||
self.gridLayout.addWidget(self.frame_2, 4, 1, 1, 2)
|
||||
|
||||
self.retranslateUi(tntdialog)
|
||||
self.buttonBox.accepted.connect(tntdialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(tntdialog.reject) # type: ignore
|
||||
self.buttonBox.accepted.connect(tntdialog.accept)
|
||||
self.buttonBox.rejected.connect(tntdialog.reject)
|
||||
QtCore.QMetaObject.connectSlotsByName(tntdialog)
|
||||
|
||||
def retranslateUi(self, tntdialog):
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/typeconversion.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/typeconversion.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/untitled.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/untitled.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/userfitassist.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/userfitassist.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.12.3
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@ -78,8 +77,8 @@ class Ui_Dialog(object):
|
||||
self.parameterLabel.setBuddy(self.parameterLineEdit)
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
|
||||
self.buttonBox.accepted.connect(Dialog.accept)
|
||||
self.buttonBox.rejected.connect(Dialog.reject)
|
||||
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
||||
|
||||
def retranslateUi(self, Dialog):
|
||||
|
@ -1,8 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/usermodeleditor.ui'
|
||||
# Form implementation generated from reading ui file 'resources/_ui/usermodeleditor.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.10
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
@ -21,15 +21,12 @@ class Ui_MainWindow(object):
|
||||
self.verticalLayout.setContentsMargins(3, 3, 3, 3)
|
||||
self.verticalLayout.setSpacing(3)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.edit_field = CodeEditor(self.centralwidget)
|
||||
font = QtGui.QFont()
|
||||
font.setPointSize(10)
|
||||
self.edit_field.setFont(font)
|
||||
self.edit_field.setObjectName("edit_field")
|
||||
self.verticalLayout.addWidget(self.edit_field)
|
||||
self.widget = EditorWidget(self.centralwidget)
|
||||
self.widget.setObjectName("widget")
|
||||
self.verticalLayout.addWidget(self.widget)
|
||||
MainWindow.setCentralWidget(self.centralwidget)
|
||||
self.menubar = QtWidgets.QMenuBar(MainWindow)
|
||||
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 30))
|
||||
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 20))
|
||||
self.menubar.setObjectName("menubar")
|
||||
self.menuFile = QtWidgets.QMenu(self.menubar)
|
||||
self.menuFile.setObjectName("menuFile")
|
||||
@ -62,4 +59,4 @@ class Ui_MainWindow(object):
|
||||
self.actionSave.setText(_translate("MainWindow", "Save"))
|
||||
self.actionSave_as.setText(_translate("MainWindow", "Save as..."))
|
||||
self.actionClose.setText(_translate("MainWindow", "Close"))
|
||||
from ..lib.codeeditor import CodeEditor
|
||||
from ..lib.codeeditor import EditorWidget
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'src/resources/_ui/valueeditor.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.7
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
@ -8,8 +8,10 @@ from pyqtgraph import mkPen
|
||||
|
||||
from nmreval.data.points import Points
|
||||
from nmreval.data.signals import Signal
|
||||
from nmreval.lib.logger import logger
|
||||
from nmreval.utils.text import convert
|
||||
from nmreval.data.bds import BDS
|
||||
from nmreval.data.dsc import DSC
|
||||
from nmreval.lib.colors import BaseColor, TUColors
|
||||
from nmreval.lib.lines import LineStyle
|
||||
from nmreval.lib.symbols import SymbolStyle, symbolcycle
|
||||
@ -32,6 +34,7 @@ class ExperimentContainer(QtCore.QObject):
|
||||
self.id = str(identifier)
|
||||
|
||||
self._fits = []
|
||||
self._relations = kwargs.get('relations', {})
|
||||
self._data = data
|
||||
self._manager = kwargs.get('manager')
|
||||
self.graph = ''
|
||||
@ -44,6 +47,7 @@ class ExperimentContainer(QtCore.QObject):
|
||||
self.actions = {}
|
||||
self._update_actions()
|
||||
|
||||
@plot_update
|
||||
def _init_plot(self):
|
||||
raise NotImplementedError
|
||||
|
||||
@ -226,6 +230,8 @@ class ExperimentContainer(QtCore.QObject):
|
||||
return self.plot_real, self.plot_imag, self.plot_error
|
||||
|
||||
def get_state(self):
|
||||
# TODO preserve relationships
|
||||
|
||||
ret_dic = {
|
||||
'id': self.id,
|
||||
'data': self._data.get_state(),
|
||||
@ -267,11 +273,39 @@ class ExperimentContainer(QtCore.QObject):
|
||||
else:
|
||||
self._fits.extend(value)
|
||||
|
||||
def has_relation(self, relation_type):
|
||||
return relation_type in self._relations
|
||||
|
||||
def get_relation(self, relation_type: int):
|
||||
return self._relations.get(relation_type, [])
|
||||
|
||||
def add_relation(self, relation_type: int, value: str):
|
||||
if relation_type not in self._relations:
|
||||
self._relations[relation_type] = []
|
||||
|
||||
self._relations[relation_type].append(value)
|
||||
|
||||
def remove_relation(self, relation_type: int, value: str):
|
||||
if relation_type not in self._relations:
|
||||
raise ValueError(f'Relationship {relation_type!r} with id {value!r} doe not exist for {self.name}')
|
||||
|
||||
related_id_value = self._relations[relation_type]
|
||||
|
||||
idx = related_id_value.index(value)
|
||||
if idx == -1:
|
||||
raise ValueError(f'Relationship {relation_type!r} with id {value!r} doe not exist for {self.name}')
|
||||
|
||||
related_id_value.pop(idx)
|
||||
if len(related_id_value) == 0:
|
||||
self._relations.pop(relation_type)
|
||||
|
||||
def _update_actions(self):
|
||||
self.actions.update({'sort': self._data.sort,
|
||||
self.actions.update({
|
||||
'sort': self._data.sort,
|
||||
'cut': self._data.cut,
|
||||
'norm': self._data.normalize,
|
||||
'center': self.center})
|
||||
'center': self.center,
|
||||
})
|
||||
|
||||
@plot_update
|
||||
def update(self, opts: dict):
|
||||
@ -279,9 +313,11 @@ class ExperimentContainer(QtCore.QObject):
|
||||
|
||||
def get_properties(self) -> dict:
|
||||
props = OrderedDict()
|
||||
props['General'] = OrderedDict([('Name', self.name),
|
||||
props['General'] = OrderedDict([
|
||||
('Name', self.name),
|
||||
('Value', str(self.value)),
|
||||
('Group', str(self.group))])
|
||||
('Group', str(self.group)),
|
||||
])
|
||||
props['Symbol'] = OrderedDict()
|
||||
props['Line'] = OrderedDict()
|
||||
|
||||
@ -312,12 +348,10 @@ class ExperimentContainer(QtCore.QObject):
|
||||
err_pen.setColor(QtGui.QColor(*self.plot_real.symbolcolor.rgb()))
|
||||
self.plot_error.setData(pen=err_pen)
|
||||
|
||||
elif mode == 'imag' and self.plot_imag is not None:
|
||||
if mode in ['imag', 'all'] and self.plot_imag is not None:
|
||||
self.plot_imag.set_color(color, symbol=symbol, line=line)
|
||||
else:
|
||||
print('Updating color failed for ' + str(self.id))
|
||||
|
||||
def setSymbol(self, symbol=None, color=None, size=None, mode='real'):
|
||||
def setSymbol(self, *, symbol=None, color=None, size=None, mode='real'):
|
||||
if mode in ['real', 'all']:
|
||||
self.plot_real.set_symbol(symbol=symbol, size=size, color=color)
|
||||
if color is not None and self.plot_error is not None and self.plot_real.symbol != SymbolStyle.No:
|
||||
@ -327,9 +361,9 @@ class ExperimentContainer(QtCore.QObject):
|
||||
elif mode in ['imag', 'all'] and self.plot_imag is not None:
|
||||
self.plot_imag.set_symbol(symbol=symbol, size=size, color=color)
|
||||
else:
|
||||
print('Updating symbol failed for ' + str(self.id))
|
||||
logger.warning(f'Updating symbol failed for {self.id}')
|
||||
|
||||
def setLine(self, width=None, style=None, color=None, mode='real'):
|
||||
def setLine(self, *, width=None, style=None, color=None, mode='real'):
|
||||
if mode in ['real', 'all']:
|
||||
self.plot_real.set_line(width=width, style=style, color=color)
|
||||
if color is not None and self.plot_error is not None and self.plot_real.symbol == SymbolStyle.No:
|
||||
@ -339,7 +373,7 @@ class ExperimentContainer(QtCore.QObject):
|
||||
elif mode in ['imag', 'all'] and self.plot_imag is not None:
|
||||
self.plot_imag.set_line(width=width, style=style, color=color)
|
||||
else:
|
||||
print('Updating line failed for ' + str(self.id))
|
||||
logger.warning(f'Updating line failed for {self.id}')
|
||||
|
||||
def update_property(self, key1: str, key2: str, value: Any):
|
||||
keykey = key2.split()
|
||||
@ -434,16 +468,28 @@ class ExperimentContainer(QtCore.QObject):
|
||||
|
||||
return offset
|
||||
|
||||
@plot_update
|
||||
def shift_scale(self, shift_factor: tuple[float, float], scaling_factor: tuple[float, float]):
|
||||
scale_x, scale_y = scaling_factor
|
||||
shift_x, shift_y = shift_factor
|
||||
self.data.x = self.data.x * scale_x + shift_x
|
||||
self.data.y = self.data.y * scale_y + shift_y
|
||||
self.data.y_err = self.data.y_err * scale_y
|
||||
|
||||
self.update({'shift': scaling_factor, 'scale': shift_factor})
|
||||
|
||||
def get_namespace(self, i: int = None, j: int = None) -> dict:
|
||||
if (i is None) and (j is None):
|
||||
prefix = ''
|
||||
else:
|
||||
prefix = 'g[%i].s[%i].' % (i, j)
|
||||
prefix = f'g[{i}].s[{j}].'
|
||||
|
||||
namespace = {prefix + 'x': (self.x, 'x values'),
|
||||
namespace = {
|
||||
prefix + 'x': (self.x, 'x values'),
|
||||
prefix + 'y': [self.y, 'y values'],
|
||||
prefix + 'y_err': (self.y_err, 'y error values'),
|
||||
prefix + 'value': (self.value, str(self.value))}
|
||||
prefix + 'value': (self.value, str(self.value)),
|
||||
}
|
||||
|
||||
if len(self._fits) == 1:
|
||||
namespace.update({
|
||||
@ -459,27 +505,50 @@ class ExperimentContainer(QtCore.QObject):
|
||||
|
||||
return namespace
|
||||
|
||||
def eval_expression(self, cmds, namespace):
|
||||
namespace.update({'x': self.x, 'y': self.y, 'y_err': self.y_err, 'value': self.value})
|
||||
def eval_expression(self, cmds, namespace, i=None, j=None):
|
||||
if i is not None:
|
||||
namespace['i'] = i
|
||||
|
||||
if len(self._fits) == 1:
|
||||
namespace.update({"fit['%s']" % (convert(pname, old='tex', new='str')): pvalue.value
|
||||
for (pname, pvalue) in self._manager[self._fits[0]].parameter.items()})
|
||||
if j is not None:
|
||||
namespace['j'] = j
|
||||
|
||||
namespace.update({'x': self._data.x, 'y': self._data.y, 'y_err': self._data.y_err, 'value': self.value})
|
||||
namespace['fit'] = {}
|
||||
|
||||
if isinstance(self, FitContainer):
|
||||
namespace['fit'].update({
|
||||
'%s' % convert(pname, old='latex', new='plain'): pvalue.value
|
||||
for (pname, pvalue) in self._data.parameter.items()
|
||||
})
|
||||
|
||||
elif len(self._fits) == 1:
|
||||
namespace['fit'].update({
|
||||
'%s' % convert(pname, old='tex', new='str'): pvalue.value
|
||||
for (pname, pvalue) in self._manager[self._fits[0]].parameter.items()
|
||||
})
|
||||
else:
|
||||
for k, f in enumerate(self._fits):
|
||||
namespace.update({"fit['%s_%i']" % (convert(pname, old='tex', new='str'), k): pvalue.value
|
||||
for (pname, pvalue) in self._manager[f].parameter.items()})
|
||||
namespace['fit'].update({
|
||||
"%s_%i" % (convert(pname, old='tex', new='str'), k): pvalue.value
|
||||
for (pname, pvalue) in self._manager[f].parameter.items()
|
||||
})
|
||||
|
||||
new_data = self.copy()
|
||||
for c in cmds:
|
||||
if c:
|
||||
exec(c, globals(), namespace)
|
||||
|
||||
new_data.set_data(x=namespace['x'], y=namespace['y'], y_err=namespace['y_err'])
|
||||
new_data.set_data(x=namespace['x'], y=namespace['y'], y_err=namespace['y_err'], replace_mask=False)
|
||||
new_data.value = namespace['value']
|
||||
|
||||
return new_data
|
||||
|
||||
def binning(self, digits: float):
|
||||
new_data = self.copy(full=True)
|
||||
new_data.data = self._data.binning(value=digits)
|
||||
|
||||
return new_data
|
||||
|
||||
|
||||
class PointContainer(ExperimentContainer):
|
||||
symbols = symbolcycle()
|
||||
@ -490,6 +559,9 @@ class PointContainer(ExperimentContainer):
|
||||
self.mode = 'pts'
|
||||
self._init_plot(**kwargs)
|
||||
|
||||
if isinstance(self._data, DSC):
|
||||
self.mode = 'dsc'
|
||||
|
||||
def _init_plot(self, **kwargs):
|
||||
self.plot_imag = None
|
||||
|
||||
@ -526,17 +598,17 @@ class PointContainer(ExperimentContainer):
|
||||
line_kwargs['style'] = LineStyle.No
|
||||
sym_kwargs['symbol'] = next(PointContainer.symbols)
|
||||
|
||||
self.plot_real = PlotItem(x=self._data.x, y=self._data.y, name=self.name,
|
||||
self.plot_real = PlotItem(x=self.x, y=self.y, name=self.name,
|
||||
symbol=None, pen=None, connect='finite')
|
||||
|
||||
self.setSymbol(mode='real', **sym_kwargs)
|
||||
self.setLine(mode='real', **line_kwargs)
|
||||
|
||||
if sym_kwargs['symbol'] != SymbolStyle.No:
|
||||
self.plot_error = ErrorBars(x=self._data.x, y=self._data.y, top=self._data.y_err, bottom=self._data.y_err,
|
||||
self.plot_error = ErrorBars(x=self.x, y=self.y, top=self.y_err, bottom=self.y_err,
|
||||
pen=mkPen({'color': self.plot_real.symbolcolor.rgb()}))
|
||||
else:
|
||||
self.plot_error = ErrorBars(x=self._data.x, y=self._data.y, top=self._data.y_err, bottom=self._data.y_err,
|
||||
self.plot_error = ErrorBars(x=self.x, y=self.y, top=self.y_err, bottom=self.y_err,
|
||||
pen=mkPen({'color': self.plot_real.linecolor.rgb()}))
|
||||
|
||||
|
||||
@ -553,16 +625,18 @@ class FitContainer(ExperimentContainer):
|
||||
setattr(self, n, getattr(data, n))
|
||||
|
||||
def _init_plot(self, **kwargs):
|
||||
color = kwargs.get('color', (0, 0, 0))
|
||||
color = kwargs.get('color')
|
||||
if color is None:
|
||||
color = kwargs.get('linecolor', (0, 0, 0))
|
||||
if isinstance(color, BaseColor):
|
||||
color = color.rgb()
|
||||
|
||||
self.plot_real = PlotItem(x=self._data.x, y=self._data.y.real, name=self.name,
|
||||
self.plot_real = PlotItem(x=self.x, y=self.y.real, name=self.name,
|
||||
pen=mkPen({'color': color}),
|
||||
connect='finite', symbol=None)
|
||||
|
||||
if np.iscomplexobj(self._data.y):
|
||||
self.plot_imag = PlotItem(x=self._data.x, y=self._data.y.imag, name=self.name,
|
||||
self.plot_imag = PlotItem(x=self.x, y=self.y.imag, name=self.name,
|
||||
pen=mkPen({'color': color}),
|
||||
connect='finite', symbol=None)
|
||||
|
||||
@ -595,9 +669,9 @@ class SignalContainer(ExperimentContainer):
|
||||
self._init_plot(symbol=symbol, **kwargs)
|
||||
|
||||
def _init_plot(self, **kwargs):
|
||||
self.plot_real = PlotItem(x=self._data.x, y=self._data.y.real, name=self.name,
|
||||
self.plot_real = PlotItem(x=self.x, y=self.y.real, name=self.name,
|
||||
symbol=None, pen=None, connect='finite')
|
||||
self.plot_imag = PlotItem(x=self._data.x, y=self._data.y.imag, name=self.name,
|
||||
self.plot_imag = PlotItem(x=self.x, y=self.y.imag, name=self.name,
|
||||
symbol=None, pen=None, connect='finite')
|
||||
|
||||
color = kwargs.get('color', None)
|
||||
@ -605,7 +679,7 @@ class SignalContainer(ExperimentContainer):
|
||||
linecolor = kwargs.get('linecolor', color)
|
||||
|
||||
if symcolor is None and linecolor is None:
|
||||
color = next(self.colors)
|
||||
color = next(self.colors) if color is None else color
|
||||
symcolor = color
|
||||
linecolor = color
|
||||
elif symcolor is None:
|
||||
@ -681,3 +755,46 @@ class SignalContainer(ExperimentContainer):
|
||||
self._update_actions()
|
||||
|
||||
return self
|
||||
|
||||
@plot_update
|
||||
def edit_signal(
|
||||
self: SignalContainer,
|
||||
baseline: tuple[None | bool],
|
||||
leftshift: tuple[None | float, str],
|
||||
zerofill: tuple[None, int],
|
||||
apod: tuple[None, list[float], type[object]],
|
||||
phase: tuple[None | float, float, float],
|
||||
fourier: tuple[None | bool]
|
||||
):
|
||||
"""
|
||||
Function for EditUndoCommand to call if a timesignal or spectra must be worked on.
|
||||
This avoids to update the plot for every action we do and makes it slightly faster.
|
||||
"""
|
||||
|
||||
if baseline[0] is not None:
|
||||
self._data.baseline()
|
||||
|
||||
if leftshift[0] is not None:
|
||||
self._data.shift(*leftshift)
|
||||
|
||||
if zerofill[0] is not None:
|
||||
self._data.zerofill(*zerofill)
|
||||
|
||||
if apod[0] is not None:
|
||||
self._data.apod(*apod)
|
||||
|
||||
# ft with three options: None, True, False
|
||||
if fourier[0] is None:
|
||||
# ft None -> only phase correct
|
||||
if phase[0] is not None:
|
||||
self._data.manual_phase(*phase)
|
||||
elif fourier[0] == True:
|
||||
# ft True -> first phase correct then fft
|
||||
if phase[0] is not None:
|
||||
self._data.manual_phase(*phase)
|
||||
self.fourier()
|
||||
else:
|
||||
# ft False -> first fft then phase correct
|
||||
self.fourier()
|
||||
if phase[0] is not None:
|
||||
self._data.manual_phase(*phase)
|
@ -5,7 +5,7 @@ from nmreval.lib.colors import available_cycles
|
||||
from .properties import PropWidget
|
||||
from ...Qt import QtWidgets, QtGui, QtCore
|
||||
from ..._py.datawidget import Ui_DataWidget
|
||||
from ...lib import make_action_icons
|
||||
from ...lib.iconloading import make_action_icons
|
||||
from ...lib.delegates import HeaderDelegate
|
||||
|
||||
|
||||
@ -17,7 +17,9 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
moveItem = QtCore.pyqtSignal(list, str, str, int) # items, from, to, new row
|
||||
copyItem = QtCore.pyqtSignal(list, str)
|
||||
saveFits = QtCore.pyqtSignal(list)
|
||||
extendFits = QtCore.pyqtSignal(list, bool)
|
||||
|
||||
# noinspection PyUnresolvedReferences
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent=parent)
|
||||
|
||||
@ -47,11 +49,16 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
|
||||
def add_graph(self, idd: str, name: str):
|
||||
item = QtWidgets.QTreeWidgetItem()
|
||||
item.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsDropEnabled | QtCore.Qt.ItemIsEditable |
|
||||
QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsUserCheckable)
|
||||
item.setFlags(
|
||||
QtCore.Qt.ItemFlag.ItemIsSelectable |
|
||||
QtCore.Qt.ItemFlag.ItemIsDropEnabled |
|
||||
QtCore.Qt.ItemFlag.ItemIsEditable |
|
||||
QtCore.Qt.ItemFlag.ItemIsEnabled |
|
||||
QtCore.Qt.ItemFlag.ItemIsUserCheckable
|
||||
)
|
||||
item.setText(0, name)
|
||||
item.setData(0, QtCore.Qt.UserRole, idd)
|
||||
item.setCheckState(0, QtCore.Qt.Checked)
|
||||
item.setData(0, QtCore.Qt.ItemDataRole.UserRole, idd)
|
||||
item.setCheckState(0, QtCore.Qt.CheckState.Checked)
|
||||
|
||||
self.addTopLevelItem(item)
|
||||
self._checked_graphs.add(idd)
|
||||
@ -59,31 +66,37 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
|
||||
self.update_indexes()
|
||||
|
||||
def add_item(self, items: (tuple | list[tuple]), gid: str):
|
||||
def add_item(self, items: (tuple | list[tuple]), gid: str, update: bool = True):
|
||||
if isinstance(items, tuple):
|
||||
items = [items]
|
||||
|
||||
for row in range(self.invisibleRootItem().childCount()):
|
||||
graph = self.invisibleRootItem().child(row)
|
||||
if graph.data(0, QtCore.Qt.UserRole) == gid:
|
||||
for (idd, name) in items:
|
||||
if graph.data(0, QtCore.Qt.ItemDataRole.UserRole) == gid:
|
||||
for (idd, name, value) in items:
|
||||
item = QtWidgets.QTreeWidgetItem([name])
|
||||
item.setData(0, QtCore.Qt.UserRole, idd)
|
||||
item.setCheckState(0, QtCore.Qt.Checked)
|
||||
item.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsDragEnabled | QtCore.Qt.ItemIsEditable |
|
||||
QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsUserCheckable)
|
||||
item.setToolTip(0, f'Value: {value}')
|
||||
item.setData(0, QtCore.Qt.ItemDataRole.UserRole, idd)
|
||||
item.setCheckState(0, QtCore.Qt.CheckState.Checked)
|
||||
item.setFlags(
|
||||
QtCore.Qt.ItemFlag.ItemIsSelectable |
|
||||
QtCore.Qt.ItemFlag.ItemIsDragEnabled |
|
||||
QtCore.Qt.ItemFlag.ItemIsEditable |
|
||||
QtCore.Qt.ItemFlag.ItemIsEnabled |
|
||||
QtCore.Qt.ItemFlag.ItemIsUserCheckable
|
||||
)
|
||||
graph.addChild(item)
|
||||
self._checked_sets.add(idd)
|
||||
|
||||
self.resizeColumnToContents(0)
|
||||
break
|
||||
|
||||
if update:
|
||||
self.update_indexes()
|
||||
|
||||
@QtCore.pyqtSlot(QtWidgets.QTreeWidgetItem)
|
||||
def data_change(self, item: QtWidgets.QTreeWidgetItem) -> tuple[set, set]:
|
||||
idd = item.data(0, QtCore.Qt.UserRole)
|
||||
is_selected = item.checkState(0) == QtCore.Qt.Checked
|
||||
def data_change(self, item: QtWidgets.QTreeWidgetItem, emit: bool = True) -> tuple[set, set]:
|
||||
idd = item.data(0, QtCore.Qt.ItemDataRole.UserRole)
|
||||
is_selected = item.checkState(0) == QtCore.Qt.CheckState.Checked
|
||||
to_be_hidden = set()
|
||||
to_be_shown = set()
|
||||
|
||||
@ -101,9 +114,9 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
self.blockSignals(True)
|
||||
for i in range(item.childCount()):
|
||||
child = item.child(i)
|
||||
child.setCheckState(0, QtCore.Qt.Checked)
|
||||
to_be_shown.add(child.data(0, QtCore.Qt.UserRole))
|
||||
self._checked_sets.add(child.data(0, QtCore.Qt.UserRole))
|
||||
child.setCheckState(0, QtCore.Qt.CheckState.Checked)
|
||||
to_be_shown.add(child.data(0, QtCore.Qt.ItemDataRole.UserRole))
|
||||
self._checked_sets.add(child.data(0, QtCore.Qt.ItemDataRole.UserRole))
|
||||
self.blockSignals(False)
|
||||
|
||||
# check state change to unchecked
|
||||
@ -112,10 +125,10 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
self.blockSignals(True)
|
||||
for i in range(item.childCount()):
|
||||
child = item.child(i)
|
||||
child.setCheckState(0, QtCore.Qt.Unchecked)
|
||||
to_be_hidden.add(child.data(0, QtCore.Qt.UserRole))
|
||||
child.setCheckState(0, QtCore.Qt.CheckState.Unchecked)
|
||||
to_be_hidden.add(child.data(0, QtCore.Qt.ItemDataRole.UserRole))
|
||||
try:
|
||||
self._checked_sets.remove(child.data(0, QtCore.Qt.UserRole))
|
||||
self._checked_sets.remove(child.data(0, QtCore.Qt.ItemDataRole.UserRole))
|
||||
except KeyError:
|
||||
pass
|
||||
self.blockSignals(False)
|
||||
@ -139,9 +152,10 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
pass
|
||||
|
||||
else:
|
||||
if emit:
|
||||
self.keyChanged.emit(idd, item.text(0))
|
||||
|
||||
if to_be_shown or to_be_hidden:
|
||||
if (to_be_shown or to_be_hidden) and emit:
|
||||
self.stateChanged.emit(list(to_be_shown), list(to_be_hidden))
|
||||
|
||||
return to_be_shown, to_be_hidden
|
||||
@ -149,7 +163,7 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
@QtCore.pyqtSlot(QtWidgets.QTreeWidgetItem)
|
||||
def new_selection(self, item: QtWidgets.QTreeWidgetItem):
|
||||
if item.parent() is None:
|
||||
self.management.select_window(item.data(0, QtCore.Qt.UserRole))
|
||||
self.management.select_window(item.data(0, QtCore.Qt.ItemDataRole.UserRole))
|
||||
|
||||
def dropEvent(self, evt: QtGui.QDropEvent):
|
||||
dropped_index = self.indexAt(evt.pos())
|
||||
@ -175,7 +189,7 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
|
||||
from_parent.removeChild(it)
|
||||
tobemoved.append(it)
|
||||
take_from.append(from_parent.data(0, QtCore.Qt.UserRole))
|
||||
take_from.append(from_parent.data(0, QtCore.Qt.ItemDataRole.UserRole))
|
||||
|
||||
pos = QtCore.QModelIndex(persistent_drop)
|
||||
if self.dropIndicatorPosition() == QtWidgets.QAbstractItemView.BelowItem:
|
||||
@ -187,8 +201,8 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
else:
|
||||
to_parent.insertChildren(row, tobemoved)
|
||||
|
||||
self.management.move_sets([it.data(0, QtCore.Qt.UserRole) for it in tobemoved],
|
||||
to_parent.data(0, QtCore.Qt.UserRole), take_from,
|
||||
self.management.move_sets([it.data(0, QtCore.Qt.ItemDataRole.UserRole) for it in tobemoved],
|
||||
to_parent.data(0, QtCore.Qt.ItemDataRole.UserRole), take_from,
|
||||
pos=-1 if append else row)
|
||||
|
||||
self.update_indexes()
|
||||
@ -203,7 +217,7 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
while iterator.value():
|
||||
item = iterator.value()
|
||||
if item is not None:
|
||||
data = item.data(0, QtCore.Qt.UserRole)
|
||||
data = item.data(0, QtCore.Qt.ItemDataRole.UserRole)
|
||||
if data == gid_out:
|
||||
from_parent = item
|
||||
|
||||
@ -227,7 +241,7 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
self.blockSignals(False)
|
||||
|
||||
def sort(self, graph_item: QtWidgets.QTreeWidgetItem, mode: str = 'value'):
|
||||
graph_id = graph_item.data(0, QtCore.Qt.UserRole)
|
||||
graph_id = graph_item.data(0, QtCore.Qt.ItemDataRole.UserRole)
|
||||
sets = self.management.get_attributes(graph_id, mode)
|
||||
sets = [el[0] for el in sorted(sets.items(), key=lambda x: x[1])]
|
||||
|
||||
@ -239,18 +253,18 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
|
||||
for s in sets:
|
||||
for c in children:
|
||||
if c.data(0, QtCore.Qt.UserRole) == s:
|
||||
if c.data(0, QtCore.Qt.ItemDataRole.UserRole) == s:
|
||||
graph_item.addChild(c)
|
||||
|
||||
self.update_indexes()
|
||||
|
||||
self.blockSignals(False)
|
||||
|
||||
|
||||
def update_indexes(self):
|
||||
graph_cnt = -1
|
||||
set_cnt = 0
|
||||
iterator = QtWidgets.QTreeWidgetItemIterator(self)
|
||||
self.blockSignals(True)
|
||||
while iterator.value():
|
||||
item = iterator.value()
|
||||
if item is not None:
|
||||
@ -265,13 +279,14 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
iterator += 1
|
||||
|
||||
self.resizeColumnToContents(1)
|
||||
self.blockSignals(False)
|
||||
|
||||
def set_name(self, sid, name):
|
||||
iterator = QtWidgets.QTreeWidgetItemIterator(self)
|
||||
while iterator.value():
|
||||
item = iterator.value()
|
||||
if item is not None:
|
||||
data = item.data(0, QtCore.Qt.UserRole)
|
||||
data = item.data(0, QtCore.Qt.ItemDataRole.UserRole)
|
||||
if data == sid:
|
||||
if name != item.text(0):
|
||||
item.setText(0, name)
|
||||
@ -280,24 +295,31 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
iterator += 1
|
||||
|
||||
def keyPressEvent(self, evt: QtGui.QKeyEvent):
|
||||
if evt.key() == QtCore.Qt.Key_Delete:
|
||||
if evt.key() == QtCore.Qt.Key.Key_Delete:
|
||||
rm_sets = []
|
||||
rm_graphs = []
|
||||
for idx in self.selectedIndexes():
|
||||
if idx.column() == 1:
|
||||
continue
|
||||
|
||||
item = self.itemFromIndex(idx)
|
||||
if item.parent() is None:
|
||||
for c_i in range(item.childCount()):
|
||||
rm_sets.append(item.child(c_i).data(0, QtCore.Qt.UserRole))
|
||||
rm_graphs.append(item.data(0, QtCore.Qt.UserRole))
|
||||
# add sets inside graph to removal
|
||||
child_data = item.child(c_i).data(0, QtCore.Qt.ItemDataRole.UserRole)
|
||||
if child_data not in rm_sets:
|
||||
rm_sets.append(child_data)
|
||||
rm_graphs.append(item.data(0, QtCore.Qt.ItemDataRole.UserRole))
|
||||
|
||||
else:
|
||||
rm_sets.append(item.data(0, QtCore.Qt.UserRole))
|
||||
item_data = item.data(0, QtCore.Qt.ItemDataRole.UserRole)
|
||||
if item_data not in rm_sets:
|
||||
rm_sets.append(item_data)
|
||||
|
||||
# self.deleteItem.emit(rm_sets+rm_graphs)
|
||||
self.management.delete_sets(rm_sets+rm_graphs)
|
||||
|
||||
elif evt.key() == QtCore.Qt.Key_Space:
|
||||
elif evt.key() == QtCore.Qt.Key.Key_Space:
|
||||
sets = []
|
||||
from_parent = []
|
||||
|
||||
@ -305,26 +327,24 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
if idx.column() != 0:
|
||||
continue
|
||||
item = self.itemFromIndex(idx)
|
||||
|
||||
if item.parent() is None:
|
||||
is_selected = item.checkState(0)
|
||||
self.blockSignals(True)
|
||||
for i in range(item.childCount()):
|
||||
child = item.child(i)
|
||||
from_parent.append(child)
|
||||
self.blockSignals(False)
|
||||
if is_selected == QtCore.Qt.Checked:
|
||||
item.setCheckState(0, QtCore.Qt.Unchecked)
|
||||
else:
|
||||
item.setCheckState(0, QtCore.Qt.Checked)
|
||||
|
||||
else:
|
||||
sets.append(item)
|
||||
|
||||
to_be_hidden = set()
|
||||
to_be_shown = set()
|
||||
self.blockSignals(True)
|
||||
for it in sets:
|
||||
if it in from_parent:
|
||||
continue
|
||||
it.setCheckState(0, QtCore.Qt.Unchecked if it.checkState(0) == QtCore.Qt.Checked else QtCore.Qt.Checked)
|
||||
it.setCheckState(0, QtCore.Qt.CheckState.Unchecked if it.checkState(0) == QtCore.Qt.CheckState.Checked else QtCore.Qt.CheckState.Checked)
|
||||
s1, s2 = self.data_change(it, emit=False)
|
||||
to_be_hidden |= s2
|
||||
to_be_shown |= s1
|
||||
self.blockSignals(False)
|
||||
self.stateChanged.emit(list(to_be_shown), list(to_be_hidden))
|
||||
else:
|
||||
super().keyPressEvent(evt)
|
||||
|
||||
@ -334,24 +354,47 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
self.setDragEnabled(idx.column() == 0)
|
||||
super().mousePressEvent(evt)
|
||||
|
||||
def remove_item(self, ids: list):
|
||||
def remove_item(self, ids: list[str]):
|
||||
iterator = QtWidgets.QTreeWidgetItemIterator(self)
|
||||
|
||||
toberemoved = []
|
||||
graph_removal = []
|
||||
|
||||
# find all items that have to be removed
|
||||
while iterator.value():
|
||||
item = iterator.value()
|
||||
_id = item.data(0, QtCore.Qt.UserRole)
|
||||
_id = item.data(0, QtCore.Qt.ItemDataRole.UserRole)
|
||||
if _id in ids:
|
||||
try:
|
||||
idx = item.parent().indexOfChild(item)
|
||||
item.parent().takeChild(idx)
|
||||
item_parent = item.parent()
|
||||
if item_parent is None:
|
||||
raise AttributeError
|
||||
|
||||
idx = item_parent.indexOfChild(item)
|
||||
# item.parent().takeChild(idx)
|
||||
|
||||
toberemoved.append((item_parent, idx))
|
||||
|
||||
if _id in self._checked_sets:
|
||||
self._checked_sets.remove(_id)
|
||||
|
||||
except AttributeError:
|
||||
idx = self.invisibleRootItem().indexOfChild(item)
|
||||
self.invisibleRootItem().takeChild(idx)
|
||||
# self.invisibleRootItem().takeChild(idx)
|
||||
|
||||
graph_removal.append(idx)
|
||||
|
||||
if _id in self._checked_graphs:
|
||||
self._checked_graphs.remove(_id)
|
||||
|
||||
iterator += 1
|
||||
|
||||
for (item, set_idx) in sorted(toberemoved, key=lambda x: x[1], reverse=True):
|
||||
item.takeChild(set_idx)
|
||||
|
||||
for graph_idx in sorted(graph_removal, reverse=True):
|
||||
self.invisibleRootItem().takeChild(graph_idx)
|
||||
|
||||
self.update_indexes()
|
||||
|
||||
def contextMenuEvent(self, evt):
|
||||
@ -377,6 +420,7 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
self.ctx_sets(evt, menu)
|
||||
|
||||
def ctx_graphs(self, evt, menu):
|
||||
copy_action = menu.addAction('Replicate graph!')
|
||||
del_action = menu.addAction('Exterminate graph!')
|
||||
|
||||
sort_menu = menu.addMenu('Sort sets')
|
||||
@ -387,19 +431,26 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
for c in available_cycles.keys():
|
||||
col_menu.addAction(c)
|
||||
|
||||
action = menu.exec(evt.globalPos())
|
||||
if action is None:
|
||||
return
|
||||
|
||||
graphs = []
|
||||
items = []
|
||||
for i in self.selectedIndexes():
|
||||
if i.column() == 0:
|
||||
continue
|
||||
items.append(self.itemFromIndex(i))
|
||||
graphs.append(self.itemFromIndex(i).data(0, QtCore.Qt.UserRole))
|
||||
graphs.append(self.itemFromIndex(i).data(0, QtCore.Qt.ItemDataRole.UserRole))
|
||||
|
||||
action = menu.exec(evt.globalPos())
|
||||
if action == del_action:
|
||||
for gid in graphs:
|
||||
self.management.delete_graph(gid)
|
||||
|
||||
elif action == copy_action:
|
||||
for gid in graphs:
|
||||
self.management.copy_graph(gid)
|
||||
|
||||
elif action.parent() == col_menu:
|
||||
for gid in graphs:
|
||||
self.management.set_cycle(self.management.graphs[gid].sets, action.text())
|
||||
@ -414,8 +465,7 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
del_action = menu.addAction('Exterminate sets')
|
||||
cp_action = menu.addAction('Replicate sets')
|
||||
cat_action = menu.addAction('Join us!')
|
||||
plt_action = None
|
||||
save_action = None
|
||||
plt_action = save_action = extend_action = subfit_action = None
|
||||
menu.addSeparator()
|
||||
col_menu = menu.addMenu('Color cycle')
|
||||
for c in available_cycles.keys():
|
||||
@ -433,12 +483,12 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
continue
|
||||
|
||||
else:
|
||||
graph_id = parent.data(0, QtCore.Qt.UserRole)
|
||||
graph_id = parent.data(0, QtCore.Qt.ItemDataRole.UserRole)
|
||||
if graph_id not in idx:
|
||||
idx[graph_id] = []
|
||||
# collect sets in their graph
|
||||
idx[graph_id].append(item.data(0, QtCore.Qt.UserRole))
|
||||
data = self.management[item.data(0, QtCore.Qt.UserRole)]
|
||||
idx[graph_id].append(item.data(0, QtCore.Qt.ItemDataRole.UserRole))
|
||||
data = self.management[item.data(0, QtCore.Qt.ItemDataRole.UserRole)]
|
||||
if data.mode == 'fit':
|
||||
has_fits = True
|
||||
|
||||
@ -446,6 +496,8 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
menu.addSeparator()
|
||||
plt_action = menu.addAction('Plot fit parameter')
|
||||
save_action = menu.addAction('Save fit parameter')
|
||||
extend_action = menu.addAction('Extrapolate fit')
|
||||
subfit_action = menu.addAction('Plot partial functions')
|
||||
|
||||
action = menu.exec(evt.globalPos())
|
||||
|
||||
@ -453,6 +505,9 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
for gid, sets in idx.items():
|
||||
s.extend(sets)
|
||||
|
||||
if action is None:
|
||||
return
|
||||
|
||||
if action == del_action:
|
||||
self.management.delete_sets(s)
|
||||
|
||||
@ -469,6 +524,12 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
elif action == save_action:
|
||||
self.saveFits.emit(s)
|
||||
|
||||
elif action == extend_action:
|
||||
self.extendFits.emit(s, False)
|
||||
|
||||
elif action == subfit_action:
|
||||
self.extendFits.emit(s, True)
|
||||
|
||||
elif action.parent() == col_menu:
|
||||
self.management.set_cycle(s, action.text())
|
||||
|
||||
@ -479,7 +540,7 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
while iterator.value():
|
||||
item = iterator.value()
|
||||
if item is not None:
|
||||
if item.data(0, QtCore.Qt.UserRole) == gid:
|
||||
if item.data(0, QtCore.Qt.ItemDataRole.UserRole) == gid:
|
||||
item.setBackground(0, QtGui.QBrush(QtGui.QColor('gray')))
|
||||
else:
|
||||
item.setBackground(0, QtGui.QBrush())
|
||||
@ -488,11 +549,14 @@ class DataTree(QtWidgets.QTreeWidget):
|
||||
def uncheck_sets(self, sets: list[str]):
|
||||
self.blockSignals(True)
|
||||
iterator = QtWidgets.QTreeWidgetItemIterator(self)
|
||||
self._checked_sets = set()
|
||||
while iterator.value():
|
||||
item = iterator.value()
|
||||
if item is not None:
|
||||
if item.data(0, QtCore.Qt.UserRole) in sets:
|
||||
item.setCheckState(0, QtCore.Qt.Unchecked)
|
||||
if item.data(0, QtCore.Qt.ItemDataRole.UserRole) in sets:
|
||||
item.setCheckState(0, QtCore.Qt.CheckState.Unchecked)
|
||||
else:
|
||||
self._checked_sets.add(item.data(0, QtCore.Qt.ItemDataRole.UserRole))
|
||||
iterator += 1
|
||||
self.blockSignals(False)
|
||||
|
||||
@ -509,6 +573,7 @@ class DataWidget(QtWidgets.QWidget, Ui_DataWidget):
|
||||
self.setupUi(self)
|
||||
self.tree = DataTree(self)
|
||||
self.verticalLayout.addWidget(self.tree)
|
||||
# noinspection PyUnresolvedReferences
|
||||
self.tree.selectionModel().selectionChanged.connect(lambda x, y: self.show_property(x))
|
||||
|
||||
self.tree.keyChanged.connect(lambda x, y: self.keyChanged.emit(x, y))
|
||||
@ -519,6 +584,8 @@ class DataWidget(QtWidgets.QWidget, Ui_DataWidget):
|
||||
self.propwidget.expansionChanged.connect(self.show_property)
|
||||
self.proptable.propertyChanged.connect(self.change_property)
|
||||
|
||||
self.pokemon_toolbutton.clicked.connect(self.catchthemall)
|
||||
|
||||
make_action_icons(self)
|
||||
|
||||
def add_graph(self, idd: str, name: str):
|
||||
@ -526,9 +593,9 @@ class DataWidget(QtWidgets.QWidget, Ui_DataWidget):
|
||||
self.tree.add_graph(idd, name)
|
||||
self.tree.blockSignals(False)
|
||||
|
||||
def add_item(self, idd: str, name: str, gid: str):
|
||||
def add_item(self, idd: str, name: str, value: str, gid: str, update: bool= True):
|
||||
self.tree.blockSignals(True)
|
||||
self.tree.add_item((idd, name), gid)
|
||||
self.tree.add_item((idd, name, value), gid, update=update)
|
||||
self.tree.blockSignals(False)
|
||||
|
||||
def add_item_list(self, loi: list, gid: str):
|
||||
@ -536,7 +603,7 @@ class DataWidget(QtWidgets.QWidget, Ui_DataWidget):
|
||||
self.tree.add_item(loi, gid)
|
||||
self.tree.blockSignals(False)
|
||||
|
||||
def remove_item(self, key):
|
||||
def remove_item(self, key: list[str]):
|
||||
self.tree.remove_item(key)
|
||||
|
||||
def show_property(self, _: QtCore.QModelIndex = None):
|
||||
@ -546,7 +613,7 @@ class DataWidget(QtWidgets.QWidget, Ui_DataWidget):
|
||||
sid = []
|
||||
for i in self.tree.selectedIndexes():
|
||||
if i.column() == 0:
|
||||
sid.append(i.data(role=QtCore.Qt.UserRole))
|
||||
sid.append(i.data(role=QtCore.Qt.ItemDataRole.UserRole))
|
||||
|
||||
self.startShowProperty.emit(sid)
|
||||
|
||||
@ -555,15 +622,23 @@ class DataWidget(QtWidgets.QWidget, Ui_DataWidget):
|
||||
self.proptable.populate(props)
|
||||
|
||||
def change_property(self, key1, key2, value):
|
||||
ids = [item.data(0, QtCore.Qt.UserRole) for item in self.tree.selectedItems()]
|
||||
if key2 == 'Value':
|
||||
try:
|
||||
value = float(value)
|
||||
except ValueError:
|
||||
QtWidgets.QMessageBox.warning(self, 'Invalid entry',
|
||||
'Value %r is not a valid number for `value`.' % value)
|
||||
QtWidgets.QMessageBox.warning(
|
||||
self,
|
||||
'Invalid entry',
|
||||
f'Value {value!r} is not a valid number for `value`.')
|
||||
return
|
||||
|
||||
ids = []
|
||||
for item in self.tree.selectedItems():
|
||||
ids.append(item.data(0, QtCore.Qt.ItemDataRole.UserRole))
|
||||
item.setToolTip(0, str(value))
|
||||
else:
|
||||
ids = [item.data(0, QtCore.Qt.ItemDataRole.UserRole) for item in self.tree.selectedItems()]
|
||||
|
||||
self.propertyChanged.emit(ids, key1, key2, value)
|
||||
|
||||
def uncheck_sets(self, sets: list[str]):
|
||||
@ -572,6 +647,12 @@ class DataWidget(QtWidgets.QWidget, Ui_DataWidget):
|
||||
def set_name(self, sid, value):
|
||||
self.tree.set_name(sid, value)
|
||||
|
||||
def catchthemall(self):
|
||||
from gui_qt.lib.pokemon import QPoke
|
||||
|
||||
dialog = QPoke( parent=self)
|
||||
dialog.exec()
|
||||
|
||||
@property
|
||||
def management(self):
|
||||
return self.tree.management
|
||||
|
@ -41,7 +41,7 @@ class PropWidget(QtWidgets.QWidget):
|
||||
idx = table.indexFromItem(item)
|
||||
self.propertyChanged.emit(self.tab.tabText(tab_idx),
|
||||
table.item(idx.row(), idx.column()-1).text(),
|
||||
item.data(QtCore.Qt.DisplayRole))
|
||||
item.data(QtCore.Qt.ItemDataRole.DisplayRole))
|
||||
|
||||
@QtCore.pyqtSlot(int)
|
||||
def tab_change(self, idx: int):
|
||||
@ -66,10 +66,10 @@ class PropTable(QtWidgets.QTableWidget):
|
||||
self.blockSignals(True)
|
||||
for k, v in prop.items():
|
||||
value_item = QtWidgets.QTableWidgetItem('')
|
||||
value_item.setData(QtCore.Qt.DisplayRole, v)
|
||||
value_item.setData(QtCore.Qt.ItemDataRole.DisplayRole, v)
|
||||
|
||||
key_item = QtWidgets.QTableWidgetItem(k)
|
||||
key_item.setFlags(QtCore.Qt.NoItemFlags)
|
||||
key_item.setFlags(QtCore.Qt.ItemFlag.NoItemFlags)
|
||||
key_item.setForeground(QtGui.QBrush(QtGui.QColor(0, 0, 0)))
|
||||
|
||||
self.setRowCount(self.rowCount()+1)
|
||||
|
@ -42,6 +42,8 @@ class IntegralWidget(QtWidgets.QWidget, Ui_Form):
|
||||
self.max_y = inf
|
||||
self.min_y = -inf
|
||||
|
||||
self.treeWidget.itemChanged.connect(self._update_by_tree)
|
||||
|
||||
def __call__(self, graph_name, items):
|
||||
self.label_2.setText(f'Connected to {graph_name}\nChanging tab will remove all integration limits.')
|
||||
|
||||
@ -77,7 +79,6 @@ class IntegralWidget(QtWidgets.QWidget, Ui_Form):
|
||||
for idx, rnge in enumerate(self.ranges):
|
||||
self._update_values(idx, rnge)
|
||||
|
||||
|
||||
def add(self, pos):
|
||||
x = pos[0]
|
||||
self.ranges.append((x, x*1.1))
|
||||
@ -108,6 +109,9 @@ class IntegralWidget(QtWidgets.QWidget, Ui_Form):
|
||||
item_list = []
|
||||
for text, val in [('Start', pts_i[0]), ('Stop', pts_i[1]), ('Areas', 0), ('Ratio', 1.)]:
|
||||
child = QtWidgets.QTreeWidgetItem()
|
||||
if text.startswith('S'):
|
||||
child.setFlags(child.flags() | QtCore.Qt.ItemIsEditable)
|
||||
else:
|
||||
child.setFlags(QtCore.Qt.NoItemFlags)
|
||||
child.setText(0, f'{text}: {val:.5g}')
|
||||
child.setForeground(0, QtGui.QBrush(QtGui.QColor('black')))
|
||||
@ -121,8 +125,27 @@ class IntegralWidget(QtWidgets.QWidget, Ui_Form):
|
||||
|
||||
self._update_values(len(self.ranges) - 1, pts_i)
|
||||
|
||||
def _update_by_tree(self, item: QtWidgets.QTreeWidgetItem) -> None:
|
||||
parent_item = item.parent()
|
||||
idx = self.treeWidget.invisibleRootItem().indexOfChild(parent_item)
|
||||
|
||||
is_left_border = parent_item.indexOfChild(item) == 0
|
||||
current_region = self.lines[idx][0]
|
||||
current_limits = current_region.getRegion()
|
||||
|
||||
new_value = item.text(0)
|
||||
try:
|
||||
new_value = float(new_value)
|
||||
if is_left_border:
|
||||
current_region.setRegion((new_value, current_limits[1]))
|
||||
else:
|
||||
current_region.setRegion((current_limits[0], new_value))
|
||||
except ValueError:
|
||||
self._update_values(idx, current_limits)
|
||||
|
||||
def _update_integral(self):
|
||||
idx = None
|
||||
reg = None
|
||||
sender = self.sender()
|
||||
for i, (reg, _) in enumerate(self.lines):
|
||||
if sender == reg:
|
||||
@ -132,19 +155,20 @@ class IntegralWidget(QtWidgets.QWidget, Ui_Form):
|
||||
if idx is None:
|
||||
return
|
||||
|
||||
self._update_values(idx, sender.getRegion())
|
||||
self._update_values(idx, reg.getRegion())
|
||||
|
||||
def _update_values(self, idx, new_range):
|
||||
self.ranges[idx] = new_range
|
||||
|
||||
area = self.make_integral(idx, *new_range)
|
||||
|
||||
self.treeWidget.blockSignals(True)
|
||||
|
||||
item = self.treeWidget.topLevelItem(idx)
|
||||
item.child(0).setText(0, f'Start: {new_range[0]:.5g}')
|
||||
item.child(1).setText(0, f'Stop: {new_range[1]:.5g}')
|
||||
|
||||
if area is not None:
|
||||
self.areas[idx] = area
|
||||
item.child(2).setText(0, f'Area: {area:.5g}')
|
||||
if self.max_area > 0:
|
||||
self._set_ratios(idx, self.max_area)
|
||||
@ -157,9 +181,12 @@ class IntegralWidget(QtWidgets.QWidget, Ui_Form):
|
||||
self._set_ratios(i, curr_max)
|
||||
self.max_area = curr_max
|
||||
|
||||
self.treeWidget.blockSignals(False)
|
||||
|
||||
def _set_ratios(self, idx, max_value):
|
||||
item = self.treeWidget.invisibleRootItem().child(idx)
|
||||
area_i = self.areas[idx]
|
||||
|
||||
item.child(3).setText(0, f'Ratio: {area_i / max_value:.3g}')
|
||||
|
||||
integral_line = self.lines[idx][1]
|
||||
@ -178,6 +205,8 @@ class IntegralWidget(QtWidgets.QWidget, Ui_Form):
|
||||
scale = (self.max_y-self.min_y) / area
|
||||
self.lines[idx][1].setData(x=integral[:, 0], y=integral[:, 1]*scale + self.min_y)
|
||||
|
||||
self.areas[idx] = area
|
||||
|
||||
return area
|
||||
|
||||
else:
|
||||
|
@ -1,6 +1,6 @@
|
||||
import re
|
||||
|
||||
from ..Qt import QtCore, QtWidgets
|
||||
from ..Qt import QtCore, QtWidgets, QtGui
|
||||
from .._py.ptstab import Ui_Form
|
||||
from ..lib.pg_objects import LogInfiniteLine, RegionItem
|
||||
|
||||
@ -27,15 +27,23 @@ class PointSelectWidget(QtWidgets.QWidget, Ui_Form):
|
||||
self._last_item = None
|
||||
self.connected_figure = ''
|
||||
|
||||
self._avg_modes = ['mean', 'sum', 'integral', 'std']
|
||||
self._special_values = ['max', 'absmax', 'min', 'absmin']
|
||||
self._group_modes = ['group', 'x']
|
||||
|
||||
self.okButton.clicked.connect(self.apply)
|
||||
self.deleteButton.clicked.connect(self.remove_points)
|
||||
|
||||
self.peaktable.itemChanged.connect(self.editing_finished)
|
||||
self.peaktable.itemDoubleClicked.connect(self.editing_started)
|
||||
|
||||
self.left_limit.setValidator(QtGui.QDoubleValidator())
|
||||
self.right_limit.setValidator(QtGui.QDoubleValidator())
|
||||
|
||||
def keyPressEvent(self, e):
|
||||
if e.key() == QtCore.Qt.Key_Delete:
|
||||
if e.key() == QtCore.Qt.Key.Key_Delete:
|
||||
self.remove_points()
|
||||
elif e.key() == QtCore.Qt.Key_F2:
|
||||
elif e.key() == QtCore.Qt.Key.Key_F2:
|
||||
self.editing_started()
|
||||
else:
|
||||
super().keyPressEvent(e)
|
||||
@ -91,7 +99,7 @@ class PointSelectWidget(QtWidgets.QWidget, Ui_Form):
|
||||
item = QtWidgets.QListWidgetItem(f'{self.pts[-1][0]:.5g} - {self.pts[-1][1]:.5g}')
|
||||
else:
|
||||
item = QtWidgets.QListWidgetItem(f'{self.pts[-1]:.5g}')
|
||||
item.setFlags(item.flags() ^ QtCore.Qt.ItemIsEditable)
|
||||
item.setFlags(item.flags() ^ QtCore.Qt.ItemFlag.ItemIsEditable)
|
||||
self.peaktable.blockSignals(True)
|
||||
self.peaktable.addItem(item)
|
||||
self.peaktable.blockSignals(False)
|
||||
@ -102,21 +110,22 @@ class PointSelectWidget(QtWidgets.QWidget, Ui_Form):
|
||||
|
||||
@QtCore.pyqtSlot()
|
||||
def apply(self) -> dict:
|
||||
ret_dic = {'avg_range': [self.left_pt.value(), self.right_pt.value()],
|
||||
'avg_mode': {0: 'mean', 1: 'sum', 2: 'integral'}[self.average_combobox.currentIndex()],
|
||||
'special': None, 'idx': None,
|
||||
'xy': (self.xbutton.isChecked(), self.ybutton.isChecked())}
|
||||
ret_dic = {
|
||||
'avg_range': self.get_limits(),
|
||||
'avg_mode': self._avg_modes[self.average_combobox.currentIndex()],
|
||||
'special': None,
|
||||
'idx': None,
|
||||
'xy': (self.xbutton.isChecked(), self.ybutton.isChecked()),
|
||||
'groupby': self._group_modes[self.group_box.currentIndex()],
|
||||
}
|
||||
|
||||
if self.groupBox_2.isChecked():
|
||||
ret_dic['special'] = {0: 'max', 1: 'absmax', 2: 'min', 3: 'absmin'}[self.special_comboBox.currentIndex()]
|
||||
if self.special_checkbox.isChecked():
|
||||
ret_dic['special'] = self._special_values[self.special_comboBox.currentIndex()]
|
||||
|
||||
if len(self.pts) != 0:
|
||||
ret_dic['idx'] = self.pts
|
||||
|
||||
if self.graph_checkbox.isChecked():
|
||||
gid = ''
|
||||
else:
|
||||
gid = self.graph_combobox.currentData()
|
||||
gid = self.graph_combobox.currentData() if not self.graph_checkbox.isChecked() else ''
|
||||
|
||||
self.points_selected.emit(ret_dic, gid)
|
||||
|
||||
@ -177,7 +186,7 @@ class PointSelectWidget(QtWidgets.QWidget, Ui_Form):
|
||||
it.setText(f'{pos[0]:.5g} - {pos[1]:.5g}')
|
||||
self.peaktable.blockSignals(False)
|
||||
it_pts.blockSignals(True)
|
||||
it_pts.setRegion(pos)
|
||||
it_pts.setRegion(pos, use_log=True)
|
||||
it_pts.blockSignals(False)
|
||||
undo = False
|
||||
|
||||
@ -187,10 +196,34 @@ class PointSelectWidget(QtWidgets.QWidget, Ui_Form):
|
||||
self.peaktable.blockSignals(False)
|
||||
|
||||
def set_graphs(self, graphs: list):
|
||||
last_graph = self.graph_combobox.currentData()
|
||||
self.graph_combobox.clear()
|
||||
for g in graphs:
|
||||
idx = 0
|
||||
for i, g in enumerate(graphs):
|
||||
self.graph_combobox.addItem(g[1], userData=g[0])
|
||||
if g[0] == last_graph:
|
||||
idx = i
|
||||
|
||||
self.graph_combobox.setCurrentIndex(idx)
|
||||
|
||||
@QtCore.pyqtSlot(int, name='on_graph_checkbox_stateChanged')
|
||||
def changed_state(self, checked):
|
||||
self.graph_combobox.setEnabled(checked!=QtCore.Qt.Checked)
|
||||
self.graph_combobox.setEnabled(checked != QtCore.Qt.CheckState.Checked)
|
||||
|
||||
@QtCore.pyqtSlot(int, name='on_special_checkbox_stateChanged')
|
||||
def changed_special(self, checked: int):
|
||||
self.graph_combobox.setEnabled(checked != QtCore.Qt.CheckState.Checked)
|
||||
|
||||
def get_limits(self) -> tuple[float, float, str]:
|
||||
try:
|
||||
left = float(self.left_limit.text())
|
||||
except ValueError:
|
||||
left = 0.
|
||||
|
||||
try:
|
||||
right = float(self.right_limit.text())
|
||||
except ValueError:
|
||||
right = 0.
|
||||
|
||||
return left, right, self.limit_combobox.currentText()
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
import numpy as np
|
||||
from itertools import cycle
|
||||
|
||||
from pyqtgraph import mkColor, mkPen
|
||||
from pyqtgraph import mkColor, mkPen, mkBrush
|
||||
|
||||
from nmreval.lib.colors import Tab10
|
||||
|
||||
@ -42,11 +42,17 @@ class QShift(QtWidgets.QDialog, Ui_shift_dialog):
|
||||
|
||||
def add_item(self, idx, name, x, y):
|
||||
color = mkColor(next(self._colors).rgb())
|
||||
if np.iscomplexobj(y):
|
||||
pl = [PlotItem(x=x, y=y.real, name=name, pen=mkPen(color=color)),
|
||||
PlotItem(x=x, y=y.imag, name=name, pen=mkPen(color=color))]
|
||||
|
||||
if len(y) == 1:
|
||||
sym_kwds = {'symbol': 'o', 'symbolBrush': mkBrush(color=color), 'symbolPen': mkPen(color=color)}
|
||||
else:
|
||||
pl = [PlotItem(x=x, y=y, name=name, pen=mkPen(color=color))]
|
||||
sym_kwds = {'symbol': None, 'symbolBrush': mkBrush(color=color), 'symbolPen': mkPen(color=color)}
|
||||
|
||||
if np.iscomplexobj(y):
|
||||
pl = [PlotItem(x=x, y=y.real, name=name, pen=mkPen(color=color), **sym_kwds),
|
||||
PlotItem(x=x, y=y.imag, name=name, pen=mkPen(color=color), **sym_kwds)]
|
||||
else:
|
||||
pl = [PlotItem(x=x, y=y, name=name, pen=mkPen(color=color), **sym_kwds)]
|
||||
|
||||
self.data[idx] = (pl, x, y)
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
from .phase_dialog import QApodDialog, QPhasedialog
|
||||
from .phase_dialog import QPreviewDialog
|
||||
from .baseline_dialog import QBaselineDialog
|
||||
|
@ -1,3 +1,4 @@
|
||||
from nmreval.lib.logger import logger
|
||||
from nmreval.math import apodization
|
||||
from nmreval.lib.importer import find_models
|
||||
from nmreval.utils.text import convert
|
||||
@ -46,7 +47,7 @@ class EditSignalWidget(QtWidgets.QWidget, Ui_Form):
|
||||
stype = 'pts'
|
||||
else:
|
||||
try:
|
||||
_nop = float(self.lineEdit.text())
|
||||
_nop = float(self.ls_lineEdit.text())
|
||||
except ValueError:
|
||||
_nop = 0.0
|
||||
stype = 'time'
|
||||
@ -67,7 +68,7 @@ class EditSignalWidget(QtWidgets.QWidget, Ui_Form):
|
||||
self.do_something.emit(sender, (ph0, ph1, pvt))
|
||||
|
||||
else:
|
||||
print('You should never reach this by accident.')
|
||||
logger.warning(f'You should never reach this by accident, invalid sender {sender!r}')
|
||||
|
||||
@QtCore.pyqtSlot(int, name='on_apodcombobox_currentIndexChanged')
|
||||
def change_apodization(self, index):
|
||||
|
@ -1,119 +1,43 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import numpy as np
|
||||
from pyqtgraph import mkPen
|
||||
from numpy import inf, linspace
|
||||
from numpy.fft import fft, fftfreq, fftshift
|
||||
import numpy as np
|
||||
from numpy import pi
|
||||
from numpy.fft import fft, fftshift, fftfreq
|
||||
|
||||
from nmreval.data import FID, Spectrum
|
||||
from ...lib.pg_objects import PlotItem, LogInfiniteLine
|
||||
from nmreval.lib.importer import find_models
|
||||
from nmreval.math import apodization as apodization
|
||||
from nmreval.utils.text import convert
|
||||
|
||||
from ...Qt import QtCore, QtWidgets
|
||||
from ...Qt import QtCore, QtWidgets, QtGui
|
||||
from ..._py.apod_dialog import Ui_ApodEdit
|
||||
from ..._py.phase_corr_dialog import Ui_SignalEdit
|
||||
from ...lib.forms import FormWidget
|
||||
|
||||
|
||||
class QPreviewDialogs(QtWidgets.QDialog):
|
||||
class QPreviewDialog(QtWidgets.QDialog, Ui_ApodEdit):
|
||||
finished = QtCore.pyqtSignal(str, tuple)
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent=parent)
|
||||
|
||||
self.data = []
|
||||
self.graphs = []
|
||||
|
||||
self.mode = ''
|
||||
|
||||
def setRange(self, xlim: list, ylim: list, logmode: list[bool]):
|
||||
self.graphicsView.getPlotItem().setLogMode(x=logmode[0], y=logmode[1])
|
||||
if logmode[0]:
|
||||
xlim = [np.log10(x) for x in xlim]
|
||||
if logmode[1]:
|
||||
ylim = [np.log10(y) for y in ylim]
|
||||
|
||||
self.graphicsView.setRange(xRange=xlim, yRange=ylim, padding=0, disableAutoRange=True)
|
||||
|
||||
def add_data(self, x, y):
|
||||
self.data.append((x, y))
|
||||
real_plt = PlotItem(x=x, y=y.real, pen=mkPen('b'), )
|
||||
imag_plt = PlotItem(x=x, y=y.imag, pen=mkPen('r'))
|
||||
self.graphs.append((real_plt, imag_plt))
|
||||
self.graphicsView.addItem(real_plt)
|
||||
self.graphicsView.addItem(imag_plt)
|
||||
|
||||
def done(self, val):
|
||||
self.cleanup()
|
||||
super().done(val)
|
||||
|
||||
def close(self):
|
||||
self.cleanup()
|
||||
super().close()
|
||||
|
||||
def accept(self):
|
||||
self.finished.emit(self.mode, self.get_value())
|
||||
super().accept()
|
||||
|
||||
def get_value(self):
|
||||
raise NotImplementedError
|
||||
|
||||
def cleanup(self):
|
||||
self.blockSignals(True)
|
||||
|
||||
for line in self.graphs:
|
||||
for g in line:
|
||||
self.graphicsView.removeItem(g)
|
||||
del g
|
||||
|
||||
self.graphicsView.clear()
|
||||
|
||||
self.data = []
|
||||
self.graphs = []
|
||||
|
||||
self.blockSignals(False)
|
||||
|
||||
|
||||
class QPhasedialog(QPreviewDialogs, Ui_SignalEdit):
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent=parent)
|
||||
self.setupUi(self)
|
||||
|
||||
self.mode = 'ph'
|
||||
self.data = []
|
||||
self.graphs = []
|
||||
self._tmp_data_bl = []
|
||||
self._tmp_data_zf = []
|
||||
self._tmp_data_ls = []
|
||||
self._tmp_data_ap = []
|
||||
self._tmp_data_ph = []
|
||||
|
||||
self.pvt_line = LogInfiniteLine(pos=0, movable=True)
|
||||
self.graphicsView.addItem(self.pvt_line)
|
||||
self.freq_graph.addItem(self.pvt_line)
|
||||
self.pvt_line.sigPositionChanged.connect(self.move_line)
|
||||
|
||||
@QtCore.pyqtSlot(float, name='on_ph1slider_valueChanged')
|
||||
@QtCore.pyqtSlot(float, name='on_ph0slider_valueChanged')
|
||||
def _temp_phase(self, *args):
|
||||
ph0, ph1, pvt = self.get_value()
|
||||
self.pvt_line.setValue(pvt)
|
||||
self.ls_lineedit.hide()
|
||||
|
||||
for i, (x, y) in enumerate(self.data):
|
||||
phasecorr = np.exp(-1j * (ph0 + ph1*(x-pvt)/np.max(x))*np.pi/180.)
|
||||
_y = y * phasecorr
|
||||
|
||||
self.graphs[i][0].setData(x=x, y=_y.real)
|
||||
self.graphs[i][1].setData(x=x, y=_y.imag)
|
||||
|
||||
def get_value(self):
|
||||
return float(self.ph0slider.text()), float(self.ph1slider.text()), float(self.pivot_lineedit.text())
|
||||
|
||||
def move_line(self, evt):
|
||||
self.pivot_lineedit.setText(f'{evt.value():.5g}')
|
||||
|
||||
|
||||
class QApodDialog(QPreviewDialogs, Ui_ApodEdit):
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent=parent)
|
||||
self.setupUi(self)
|
||||
|
||||
self._limits = (-inf, inf), -inf
|
||||
|
||||
self.apods = []
|
||||
self.apods = find_models(apodization)
|
||||
|
||||
self.apodcombobox.blockSignals(True)
|
||||
@ -122,72 +46,288 @@ class QApodDialog(QPreviewDialogs, Ui_ApodEdit):
|
||||
self.apodcombobox.blockSignals(False)
|
||||
|
||||
self.apod_graph = PlotItem(x=[], y=[])
|
||||
self.graphicsView.addItem(self.apod_graph)
|
||||
self.time_graph.addItem(self.apod_graph)
|
||||
|
||||
self.mode = 'ap'
|
||||
for g in [self.freq_graph, self.time_graph]:
|
||||
pl = g.getPlotItem()
|
||||
pl.hideButtons()
|
||||
pl.setMenuEnabled(False)
|
||||
|
||||
self._all_time = None
|
||||
self._all_freq = None
|
||||
|
||||
self.change_apodization(0)
|
||||
|
||||
def add_data(self, x, y):
|
||||
real_plt = PlotItem(x=x, y=y.real, pen=mkPen('b'))
|
||||
# imag_plt = (x=x, y=y.imag, pen=pg.mkPen('r'))
|
||||
self.graphicsView.addItem(real_plt)
|
||||
# self.graphicsView.addItem(imag_plt)
|
||||
self.shift_box.clicked.connect(self._update_shift)
|
||||
self.ls_spinbox.valueChanged.connect(self._update_shift)
|
||||
self.ls_lineedit.setValidator(QtGui.QDoubleValidator())
|
||||
self.ls_lineedit.textChanged.connect(self._update_shift)
|
||||
|
||||
self.zerofill_box.clicked.connect(self._update_zf)
|
||||
self.zf_spinbox.valueChanged.connect(self._update_zf)
|
||||
|
||||
self.apod_box.clicked.connect(self._update_apod)
|
||||
|
||||
self.phase_box.clicked.connect(self._update_phase)
|
||||
self.ph0_spinbox.valueChanged.connect(self._update_phase)
|
||||
self.ph1_spinbox.valueChanged.connect(self._update_phase)
|
||||
self.pivot_lineedit.setValidator(QtGui.QDoubleValidator())
|
||||
self.pivot_lineedit.textChanged.connect(self._update_phase)
|
||||
self.pivot_lineedit.textEdited.connect(lambda x: self.pvt_line.setValue(float(x)))
|
||||
|
||||
def add_data(self: QPreviewDialog, data: FID | Spectrum) -> bool:
|
||||
if isinstance(data, FID):
|
||||
valid, (real_plt, imag_plt, real_plt_fft, imag_plt_fft) = self._prep_time(data)
|
||||
|
||||
elif isinstance(data, Spectrum):
|
||||
valid, (real_plt, imag_plt, real_plt_fft, imag_plt_fft) = self._prep_freq(data)
|
||||
|
||||
else:
|
||||
return False
|
||||
|
||||
if not valid:
|
||||
return False
|
||||
|
||||
x_len = data.x.size
|
||||
self.zf_spinbox.setMaximum(min(2**17//x_len, 3))
|
||||
|
||||
self.time_graph.addItem(imag_plt)
|
||||
self.time_graph.addItem(real_plt)
|
||||
|
||||
self.freq_graph.addItem(imag_plt_fft)
|
||||
self.freq_graph.addItem(real_plt_fft)
|
||||
|
||||
self.data.append(data)
|
||||
for p in [self._tmp_data_bl, self._tmp_data_ls]:
|
||||
p.append(data.y.copy())
|
||||
|
||||
for p in [self._tmp_data_zf, self._tmp_data_ap]:
|
||||
p.append((data.x, data.y.copy()))
|
||||
|
||||
self.graphs.append((real_plt, imag_plt, real_plt_fft, imag_plt_fft))
|
||||
|
||||
return True
|
||||
|
||||
def _prep_time(self, data) -> tuple[bool, tuple]:
|
||||
if self._all_freq:
|
||||
_ = QtWidgets.QMessageBox.warning(self, 'Mixed types',
|
||||
'Time signals and spectra cannot be edited at the same time.')
|
||||
return False, tuple()
|
||||
|
||||
fid = data.copy()
|
||||
spec = self._temp_fft_time(fid.x, fid.y, self.baseline_box.isChecked())
|
||||
self._all_time = True
|
||||
self._all_freq = False
|
||||
|
||||
real_plt = PlotItem(x=fid.x, y=fid.y.real, pen=mkPen('b'))
|
||||
imag_plt = PlotItem(x=fid.x, y=fid.y.imag, pen=mkPen('r'))
|
||||
|
||||
real_plt_fft = PlotItem(x=spec[0], y=spec[1].real, pen=mkPen('b'))
|
||||
imag_plt_fft = PlotItem(x=spec[0], y=spec[1].imag, pen=mkPen('r'))
|
||||
|
||||
self._tmp_data_ph.append((data.x, data.y, spec[0], spec[1]))
|
||||
|
||||
return True, (real_plt, imag_plt, real_plt_fft, imag_plt_fft)
|
||||
|
||||
def _prep_freq(self, data) -> tuple[bool, tuple]:
|
||||
if self._all_time:
|
||||
_ = QtWidgets.QMessageBox.warning(self, 'Mixed types',
|
||||
'Time signals and spectra cannot be edited at the same time.')
|
||||
return False, tuple()
|
||||
|
||||
spec = data.copy()
|
||||
fid = self._temp_fft_time(spec.x, spec.y, self.baseline_box.isChecked())
|
||||
self._all_time = False
|
||||
self._all_freq = True
|
||||
|
||||
real_plt = PlotItem(x=fid[0], y=fid[1].real, pen=mkPen('b'))
|
||||
imag_plt = PlotItem(x=fid[0], y=fid[1].imag, pen=mkPen('r'))
|
||||
|
||||
real_plt_fft = PlotItem(x=spec.x, y=spec.y.real, pen=mkPen('b'))
|
||||
imag_plt_fft = PlotItem(x=spec.x, y=spec.y.imag, pen=mkPen('r'))
|
||||
|
||||
self._tmp_data_ph.append((data.x, data.y, spec.x, spec.y))
|
||||
|
||||
return True, (real_plt, imag_plt, real_plt_fft, imag_plt_fft)
|
||||
|
||||
@QtCore.pyqtSlot(name='on_baseline_box_clicked')
|
||||
def _update_bl(self):
|
||||
if self.baseline_box.isChecked():
|
||||
for y in self._tmp_data_bl:
|
||||
self._temp_baseline(y)
|
||||
else:
|
||||
for i, d in enumerate(self.data):
|
||||
self._tmp_data_bl[i] = d.y.copy()
|
||||
|
||||
self._update_shift()
|
||||
|
||||
def _update_shift(self):
|
||||
if self.shift_box.isChecked():
|
||||
if self.ls_combobox.currentIndex() == 0:
|
||||
num_points = self.ls_spinbox.value()
|
||||
is_time = False
|
||||
else:
|
||||
num_points = float(self.ls_lineedit.text())
|
||||
is_time = True
|
||||
|
||||
for i, y in enumerate(self._tmp_data_bl):
|
||||
self._tmp_data_ls[i] = self._temp_leftshift(self.data[i].dx, y, num_points, is_time)
|
||||
|
||||
else:
|
||||
for i, y in enumerate(self._tmp_data_bl):
|
||||
self._tmp_data_ls[i] = y
|
||||
|
||||
self._update_zf()
|
||||
|
||||
def _update_zf(self):
|
||||
zf_padding = self.zf_spinbox.value()
|
||||
|
||||
if self.zerofill_box.isChecked():
|
||||
for i, y in enumerate(self._tmp_data_ls):
|
||||
self._tmp_data_zf[i] = self._temp_zerofill(self.data[i].x, y, zf_padding)
|
||||
|
||||
else:
|
||||
for i, y in enumerate(self._tmp_data_ls):
|
||||
self._tmp_data_zf[i] = self.data[i].x, y
|
||||
|
||||
self._update_apod()
|
||||
|
||||
def _update_apod(self):
|
||||
if self.apod_box.isChecked():
|
||||
model = self.apods[self.apodcombobox.currentIndex()]
|
||||
p = self._get_parameter()
|
||||
|
||||
x_limit = np.inf, -np.inf
|
||||
y_limit = -np.inf
|
||||
|
||||
for i, (x, y) in enumerate(self._tmp_data_zf):
|
||||
self._tmp_data_ap[i] = x, y * model.apod(x, *p)
|
||||
y_limit = max(y.real.max(), y_limit)
|
||||
x_limit = min(x_limit[0], x.min()), max(x_limit[1], x.max())
|
||||
|
||||
_x_apod = np.linspace(*x_limit, num=150)
|
||||
_y_apod = model.apod(_x_apod, *p)
|
||||
self.apod_graph.setData(x=_x_apod, y=y_limit * _y_apod)
|
||||
self.apod_graph.show()
|
||||
|
||||
else:
|
||||
for i, (x, y) in enumerate(self._tmp_data_zf):
|
||||
self._tmp_data_ap[i] = x, y
|
||||
|
||||
self.apod_graph.hide()
|
||||
|
||||
self._update_phase()
|
||||
|
||||
def _update_phase(self):
|
||||
if self.phase_box.isChecked():
|
||||
pvt = float(self.pivot_lineedit.text())
|
||||
self.pvt_line.show()
|
||||
ph0 = self.ph0_spinbox.value()
|
||||
ph1 = self.ph1_spinbox.value()
|
||||
|
||||
for i, (x, y) in enumerate(self._tmp_data_ap):
|
||||
x_fft, y_fft = self._temp_fft(x, y, self.baseline_box.isChecked())
|
||||
|
||||
if ph0 != 0:
|
||||
y = self._temp_phase(x, y, ph0, 0, 0)
|
||||
y_fft = self._temp_phase(x, y_fft, ph0, ph1, pvt)
|
||||
elif ph1 != 0:
|
||||
y_fft = self._temp_phase(x, y_fft, ph0, ph1, pvt)
|
||||
|
||||
self._tmp_data_ph[i] = x, y, x_fft, y_fft
|
||||
|
||||
else:
|
||||
self.pvt_line.hide()
|
||||
for i, (x, y) in enumerate(self._tmp_data_ap):
|
||||
self._tmp_data_ph[i] = x, y, *self._temp_fft(x, y, self.baseline_box.isChecked())
|
||||
|
||||
self._update_plots()
|
||||
|
||||
def _update_plots(self):
|
||||
for i, (x, y, xf, yf) in enumerate(self._tmp_data_ph):
|
||||
self.graphs[i][0].setData(x=x, y=y.real)
|
||||
self.graphs[i][1].setData(x=x, y=y.imag)
|
||||
|
||||
self.graphs[i][2].setData(x=xf, y=yf.real)
|
||||
self.graphs[i][3].setData(x=xf, y=yf.imag)
|
||||
|
||||
@staticmethod
|
||||
def _temp_baseline_time(y):
|
||||
y -= y[int(-0.12 * y.size):].mean()
|
||||
|
||||
@staticmethod
|
||||
def _temp_baseline_freq(y):
|
||||
region = int(0.12 * y.size)
|
||||
y -= np.mean([y[-region:], y[:region]])
|
||||
|
||||
@staticmethod
|
||||
def _temp_phase(x: np.ndarray, y: np.ndarray, ph0: float, ph1: float, pvt: float) -> np.ndarray:
|
||||
phase_correction = np.exp(-1j * (ph0 + ph1 * (x - pvt) / x.max()) * pi / 180.)
|
||||
_y = y * phase_correction
|
||||
|
||||
return _y
|
||||
|
||||
@staticmethod
|
||||
def _temp_zerofill(x: np.ndarray, y: np.ndarray, num_padding: int) -> tuple[np.ndarray, np.ndarray]:
|
||||
length = x.size
|
||||
factor = 2**num_padding
|
||||
|
||||
_y = np.r_[y, np.zeros((factor-1) * length)]
|
||||
|
||||
_temp_x = np.arange(1, (factor-1) * length+1) * (x[1]-x[0]) + np.max(x)
|
||||
_x = np.r_[x, _temp_x]
|
||||
|
||||
return _x, _y
|
||||
|
||||
@staticmethod
|
||||
def _temp_leftshift(dx: np.ndarray, y: np.ndarray, points: float | int, is_time: bool) -> np.ndarray:
|
||||
if is_time:
|
||||
points = int(points//dx)
|
||||
_y = np.roll(y, -points)
|
||||
_y[-points-1:] = 0
|
||||
|
||||
return _y
|
||||
|
||||
@staticmethod
|
||||
def _temp_fft_time(x: np.ndarray, y: np.ndarray, baseline: bool = False) -> tuple[np.ndarray, np.ndarray]:
|
||||
y_fft = fftshift(fft(y))
|
||||
x_fft = fftshift(fftfreq(len(x), d=x[1]-x[0]))
|
||||
real_plt_fft = PlotItem(x=x_fft, y=y_fft.real, pen=mkPen('b'))
|
||||
# imag_plt_fft = pg.PlotDataItem(x=x_fft, y=y_fft.imag, pen=pg.mkPen('b'))
|
||||
self.graphicsView_2.addItem(real_plt_fft)
|
||||
# self.graphicsView_2.addItem(imag_plt_fft)
|
||||
|
||||
self.graphs.append((real_plt, real_plt_fft))
|
||||
self.data.append((x, y, x_fft))
|
||||
if baseline:
|
||||
QPreviewDialog._temp_baseline_freq(y_fft)
|
||||
|
||||
xlimits = (max(x.min(), self._limits[0][0]), min(x.max(), self._limits[0][1]))
|
||||
ylimit = max(self._limits[1], y.real.max())
|
||||
self._limits = xlimits, ylimit
|
||||
return x_fft, y_fft
|
||||
|
||||
@staticmethod
|
||||
def _temp_fft_freq(x: np.ndarray, y: np.ndarray, _=None):
|
||||
return x, y
|
||||
|
||||
def move_line(self, evt):
|
||||
self.pivot_lineedit.setText(f'{evt.value():.5g}')
|
||||
|
||||
@QtCore.pyqtSlot(int, name='on_apodcombobox_currentIndexChanged')
|
||||
def change_apodization(self, index):
|
||||
def change_apodization(self, index: int) -> None:
|
||||
# delete old widgets
|
||||
self.eqn_label.setText(convert(self.apods[index].equation))
|
||||
while self.widget_layout.count():
|
||||
item = self.widget_layout.takeAt(0)
|
||||
if isinstance(item, FormWidget):
|
||||
item.disconnect()
|
||||
|
||||
try:
|
||||
item.widget().deleteLater()
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
# set up parameter widgets for new model
|
||||
for k, v in enumerate(self.apods[index]().params):
|
||||
widgt = FormWidget(name=v)
|
||||
widgt.valueChanged.connect(self._temp_apod)
|
||||
self.widget_layout.addWidget(widgt)
|
||||
for k, v in enumerate(self.apods[index].params):
|
||||
widget = FormWidget(name=v)
|
||||
widget.value = 1
|
||||
widget.valueChanged.connect(self._update_apod)
|
||||
self.widget_layout.addWidget(widget)
|
||||
|
||||
self.widget_layout.addStretch()
|
||||
self._temp_apod()
|
||||
|
||||
def _temp_apod(self):
|
||||
apodmodel = self.apods[self.apodcombobox.currentIndex()]
|
||||
p = self._get_parameter()
|
||||
|
||||
if self.data:
|
||||
for i, (x, y, x_fft) in enumerate(self.data):
|
||||
y2 = apodmodel.apod(x, *p)
|
||||
_y = y2 * y
|
||||
self.graphs[i][0].setData(x=x, y=_y.real)
|
||||
# self.graphs[i][1].setData(y=_y.imag)
|
||||
y_fft = fftshift(fft(_y))
|
||||
self.graphs[i][1].setData(x=x_fft, y=y_fft.real)
|
||||
# self.graphs[i][3].setData(y=y_fft.imag)
|
||||
|
||||
_x_apod = linspace(self._limits[0][0], self._limits[0][1])
|
||||
try:
|
||||
_y_apod = apodmodel.apod(_x_apod, *p)
|
||||
self.apod_graph.setData(x=_x_apod, y=self._limits[1]*_y_apod)
|
||||
except IndexError:
|
||||
pass
|
||||
self._update_apod()
|
||||
|
||||
def _get_parameter(self):
|
||||
p = []
|
||||
@ -201,8 +341,104 @@ class QApodDialog(QPreviewDialogs, Ui_ApodEdit):
|
||||
|
||||
return p
|
||||
|
||||
def get_value(self):
|
||||
apodmodel = self.apods[self.apodcombobox.currentIndex()]
|
||||
p = self._get_parameter()
|
||||
@QtCore.pyqtSlot(int, name='on_ls_combobox_currentIndexChanged')
|
||||
def change_ls(self, idx: int) -> None:
|
||||
self.ls_lineedit.setVisible(bool(idx))
|
||||
self.ls_spinbox.setVisible(not bool(idx))
|
||||
|
||||
@QtCore.pyqtSlot(bool, name='on_ft_checkbox_stateChanged')
|
||||
def change_ft(self, state: bool):
|
||||
self.ph1_spinbox.setEnabled(state)
|
||||
self.pivot_lineedit.setEnabled(state)
|
||||
|
||||
def cleanup(self):
|
||||
self.blockSignals(True)
|
||||
|
||||
for line in self.graphs:
|
||||
for g in line:
|
||||
self.time_graph.removeItem(g)
|
||||
self.freq_graph.removeItem(g)
|
||||
del g
|
||||
|
||||
self.time_graph.clear()
|
||||
self.freq_graph.clear()
|
||||
|
||||
self._tmp_data_ap = []
|
||||
self._tmp_data_bl = []
|
||||
self._tmp_data_ls = []
|
||||
self._tmp_data_ph = []
|
||||
self._tmp_data_zf = []
|
||||
|
||||
self.data = []
|
||||
self.graphs = []
|
||||
self.freq_graph.removeItem(self.pvt_line)
|
||||
|
||||
self.blockSignals(False)
|
||||
|
||||
def get_value(self):
|
||||
edits = [(None,), (None,), (None,), (None,), (None,), (None,)]
|
||||
|
||||
if self.baseline_box.isChecked():
|
||||
edits[0] = (True,)
|
||||
|
||||
if self.zerofill_box.isChecked():
|
||||
edits[2] = (self.zf_spinbox.value(),)
|
||||
|
||||
if self.shift_box.isChecked():
|
||||
if self.ls_combobox.currentIndex() == 0:
|
||||
edits[1] = (self.ls_spinbox.value(), 'pts')
|
||||
else:
|
||||
edits[1] = (float(self.ls_lineedit.text()), 'time')
|
||||
|
||||
if self.apod_box.isChecked():
|
||||
edits[3] = (self._get_parameter(), self.apods[self.apodcombobox.currentIndex()])
|
||||
|
||||
if self.phase_box.isChecked():
|
||||
edits[4] = (self.ph0_spinbox.value(), self.ph1_spinbox.value(), float(self.pivot_lineedit.text()))
|
||||
|
||||
if self.ft_box.isChecked():
|
||||
edits[5] = (self.phase_before_button.isChecked(),)
|
||||
|
||||
return edits
|
||||
|
||||
def exec(self):
|
||||
self._prepare_ui()
|
||||
return super().exec()
|
||||
|
||||
def _prepare_ui(self):
|
||||
"""Stuff we have to do before showing the window but after all the data was added"""
|
||||
|
||||
vb = self.freq_graph.getPlotItem().getViewBox()
|
||||
vb.disableAutoRange(axis=vb.YAxis)
|
||||
|
||||
vb = self.time_graph.getPlotItem().getViewBox()
|
||||
vb.disableAutoRange(axis=vb.YAxis)
|
||||
if self._all_time is not None:
|
||||
self.zerofill_box.setVisible(self._all_time)
|
||||
self.apod_box.setVisible(self._all_time)
|
||||
self.shift_box.setVisible(self._all_time)
|
||||
self.time_graph.setVisible(self._all_time)
|
||||
self.logtime_widget.setVisible(self._all_time)
|
||||
|
||||
self._temp_baseline = self._temp_baseline_time if self._all_time else self._temp_baseline_freq
|
||||
self._temp_fft = self._temp_fft_time if self._all_time else self._temp_fft_freq
|
||||
|
||||
@QtCore.pyqtSlot(int, name='on_logx_time_stateChanged')
|
||||
@QtCore.pyqtSlot(int, name='on_logy_time_stateChanged')
|
||||
@QtCore.pyqtSlot(int, name='on_logx_freq_stateChanged')
|
||||
@QtCore.pyqtSlot(int, name='on_logy_freq_stateChanged')
|
||||
def set_log(self, state: int):
|
||||
switch = {
|
||||
self.logx_time: lambda _x: self.time_graph.setLogMode(x=_x),
|
||||
self.logy_time: lambda _x: self.time_graph.setLogMode(y=_x),
|
||||
self.logx_freq: lambda _x: self.freq_graph.setLogMode(x=_x),
|
||||
self.logy_freq: lambda _x: self.freq_graph.setLogMode(y=_x),
|
||||
}[self.sender()]
|
||||
switch(state == QtCore.Qt.Checked)
|
||||
|
||||
vb = self.freq_graph.getPlotItem().getViewBox()
|
||||
vb.disableAutoRange(axis=vb.YAxis)
|
||||
|
||||
vb = self.time_graph.getPlotItem().getViewBox()
|
||||
vb.disableAutoRange(axis=vb.YAxis)
|
||||
|
||||
return p, apodmodel
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user