Multiple panes qt6 - #2721
Conversation
|
This is what it looks like in release-8 that we're using internally in Warsaw. Option to hide scheduler settings will be in a future PR. Also we're working on docking applets inside these workspaces. Here's the original PR where I tested this for some edge cases, when reviewing you can redo those scenarios if you want. |
| tab_widget = self.main_window.centralWidget() | ||
| mdi_area_name = experiment_mdi[expurl] | ||
| mdi_area = self.main_window.get_mdi_area_by_name(mdi_area_name) | ||
| tab_widget.setCurrentWidget(mdi_area) |
There was a problem hiding this comment.
Seems odd to have to switch between tabs for each experiment. Would it be challenging to store the state of each experiment window in their corresponding MdiArea and restore the state of each MdiArea sequentially?
There was a problem hiding this comment.
ok, I save and restore mdi areas and respective experiments as stored in the centralWidget. There is not need to add any additional monotonically increasing index nor depend on unique names anymore.
|
Can we make the tabs movable? |
| index = self.tabAt(event.pos()) | ||
| if index != -1: | ||
| current_name = self.tabText(index) | ||
| new_name, ok = QtWidgets.QInputDialog.getText( |
There was a problem hiding this comment.
I am aware that QTabBar does not come with built in editing of the tab text (which is a shame). I do still think that an input dialog is overkill here. Spawning a QLineEdit and positioning it over the tab text seems more user friendly, see for example https://stackoverflow.com/q/8707457
There was a problem hiding this comment.
I did it and pushed the changes.
Please check it, as I am not convinced if it is a better solution.
If I were to choose, I would go with the input dialog.
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
… ExperimentManager #4 Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
…#4 Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
7032c2e to
3869ce2
Compare
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
…mdi_area_by_name which becomes redundant now #4 Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
… state #4 Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
…ng input dialog to change the tab name #4 Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
60b20f0 to
24ba2a7
Compare
…s and move it to artiq/dashboard/experiment_tabs.py #4 Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
Signed-off-by: Miłosz Malczak <milosz.malczak@gmail.com>
24ba2a7 to
bf3ed36
Compare

ARTIQ Pull Request
Description of Changes
Add multiple experiment workspaces.
Add possibility to rename workspace tab. Add tooltip informing about that possibility. Ensure unique tab names.
Opening experiment opens related workspace.
The workspace state is save.
Handle migration of experiments from previous version to the version with multiple workspaces.
Related Issue
Type of Changes
Steps (Choose relevant, delete irrelevant before submitting)
All Pull Requests
git commit --signoff, see copyright).Code Changes
flake8to check code style (follow PEP-8 style).flake8has issues with parsing Migen/gateware code, ignore as necessary.Git Logistics
git rebase --interactive). Merge/squash/fixup commits that just fix or amend previous commits. Remove unintended changes & cleanup. See tutorial.git show). Format:Licensing
See copyright & licensing for more info.
ARTIQ files that do not contain a license header are copyrighted by M-Labs Limited and are licensed under LGPLv3+.