Commit Graph

63 Commits

Author SHA1 Message Date
4f3e58db52 gui.applets: add EntryArea 2023-10-04 15:35:52 +08:00
David Nadlinger
2eb89cb168 dashboard: Fix occasional "unexpected action" applet errors on startup
This turned out to be a race between the dashboard's dataset db
subscriber being initialised and the applet "embed" request, with
artiq.applet.simple not being able to handle the unexpected "mod"
message. We were only handling the other ordering outcome of this
race before.
2023-09-30 00:27:25 +01:00
40ac2e03ab set_argument_value in applets 2023-09-21 16:26:11 +08:00
David Nadlinger
fc74b78a45 dashboard: Make Ctrl-Alt-W close non-docked applets only
I had introduced this in f11aef74b as a means of quickly cleaning up
after e.g. an exploratory session where a lot of transient applets were
opened from ndscan, or for a dashboard that has been running for a while
with CCBs enabled but without anybody actually working there.

It turns out that one usually wants the few docked applets to stay open,
as they were necessarily arranged manually at some prior point. And as a
corollary to the latter, if one did want to close them as well, doing so
manually would not be too onerous either.
2023-09-16 23:47:23 +01:00
16a3ce274f applets: add metadata param to set_dataset 2023-07-12 08:28:28 +00:00
c298ec4c2e applets: add update_dataset for dataset mods 2023-06-02 14:56:00 +00:00
Florian Agbuya
e12219e803
gui: add handler for applet set_dataset 2023-05-31 14:08:14 +00:00
444bab2186 gui: datasets_sub -> dataset_sub (nfc) 2023-05-30 15:44:30 +08:00
5f77d4f5fa applets: fix asyncio loop management 2023-01-12 12:35:02 +08:00
David Nadlinger
2d6fc154db applets: Allow wildcard subscription to all datasets matching prefix via IPC
This allows ndscan v0.3+ to use the IPC interface for efficiency;
previously, the non-upstreamed RID dataset namespace feature allowed
the applets to somewhat efficient subscribe directly to the master
process via the socket interface.
2022-06-18 15:45:57 +08:00
David Nadlinger
4c42f65909 applets: Add ${server}, ${port_control}, ${port_notify} command substitutions
This facilitates applets that connect back to the master
(e.g. to update datasets on user request, as used by ndscan).
2022-06-18 15:19:35 +08:00
Suthep Pomjaksilp
06ad76b6ab
applets: add progress bar applet
Signed-off-by: Suthep Pomjaksilp <pomjaksi@physik.uni-kl.de>
2022-04-22 09:27:28 +08:00
David Nadlinger
f11aef74b4 gui: Add context menu entry to close all applets
This is occasionally very useful if a large number of
applets were left open (e.g. spawned via CCB).
2021-01-17 11:56:03 +01:00
3fd6962bd2 use sipyco (#585) 2019-11-10 15:55:17 +08:00
David Nadlinger
5fd92a6175 gui: Fix crash when quickly opening/closing applets
Quickly closing/reopening applets (e.g. quickly clicking the checkbox
on an entire folder of applets) would previously lead to an occasional
KeyError on the self.dock_to_item access in on_dock_closed, as close()
would be invoked more than once.

The geometry/checked state handling can potentially be cleaned up
further, but at least this avoid the crash.
2019-03-10 20:57:10 +00:00
c5b55c1dfe applets: compatibility with older Qt. Closes #629 2016-11-29 10:45:07 +08:00
4bdbc5b259 applets: use a different workaround to disable editing
True to itself, Qt did not miss the opportunity to trash widgets inside
QTreeWidgetItems when they are moved by drag-and-drop. Problem known for
more than 6 years and still not fixed as of Qt 5.7.
2016-09-09 12:55:01 +08:00
6144839beb applets: support group-level CCB policies 2016-09-09 11:38:55 +08:00
ff20ed2710 applets: two column table, remove spurious Qt text editors 2016-09-09 09:07:31 +08:00
b982832ddc gui/applets: support passing command line arguments to code applets 2016-09-07 00:56:39 +08:00
5d293d14c6 gui/applets: fix teardown of half-initialized applets 2016-09-06 23:06:31 +08:00
f6b5d6d20f gui/applets: fix handling of process creation failure 2016-09-06 23:01:04 +08:00
56e3c80623 dashboard: support for code applets 2016-09-06 22:38:34 +08:00
549e09e06b applets: simplify command lines 2016-09-04 23:32:09 +08:00
8f6c4451ac gui/applets: support groups, creating and deleting applet groups, renaming groups, moving applets from one group to another and reordering applets and groups via drag-and-drop 2016-09-04 23:09:26 +08:00
8a243d322f gui/applets: hack completer model to block noxious dataChanged signal. Closes #464 2016-08-07 18:57:08 +08:00
591e44b227 gui/applets: capture applet stdout/stderr and redirect to log. Closes #472 2016-08-04 17:53:42 +08:00
03eeec55b2 gui: better log levels 2016-05-30 15:04:49 -05:00
f24f7380f5 gui: fix new() being called with arguments by qt (closes #444) 2016-05-25 23:13:00 +02:00
dec323b097 gui/applets: catch duplicate applet UIDs (#430) 2016-05-07 11:47:17 +08:00
063639662e applets: also accept '/' as dataset path separator for completion 2016-04-25 00:04:40 +08:00
e91961fbae applets: dataset name completion 2016-04-24 23:51:55 +08:00
f530815305 gui/applets: use templates instead of formats 2016-04-06 17:02:26 +08:00
1d94cfd8ed gui: save/restore geometry of applets when they are disabled/enabled. Closes #375 2016-04-06 15:18:21 +08:00
deb9a60ca3 gui: setParent(None) before deleteLater() to remove dock appears unnecessary and causes memory corruption on Windows. Closes #362 2016-03-30 11:40:00 +08:00
b59283f85e gui/applets: use a better default size, make minimum size proportional to font 2016-03-29 17:10:37 +08:00
befbab5571 gui: add image applet 2016-03-23 17:04:22 +08:00
7f501820de gui: delete log/applet docks instead of hiding them 2016-03-10 10:35:44 +08:00
fef72506e4 ctlmgr/gui/master: start subprocesses in new pgroup
This only makes a difference on POSIX. It prevents subprocesses
from receiving the signals that the parent receives. For ctlmgr
and master is cuts down on spam on the console (KeyboardInterrupt
tracebacks from all controllers) and enforces that proper
termination is followed.

This does not help if the parent gets SIGKILL (subprocesses
may linger).
2016-02-18 23:51:12 +01:00
2ce3c08697 gui/applets: escape backslashes in {python} and {ipc_address} 2016-02-16 12:52:11 +01:00
d30fe60edd gui: remove pyqtgraph 2016-02-15 00:23:47 +01:00
9797acc964 gui/applets: prevent size from shrinking to zero when docked 2016-02-14 23:27:59 +01:00
489f69f991 gui: reliable detection of dock close 2016-02-14 22:22:07 +01:00
3c12c13a67 gui: dock state save/restore 2016-02-14 13:46:15 +01:00
daf49efa04 gui: rough conversion to the Qt docking system 2016-02-14 12:15:57 +01:00
29d4755567 gui/applets: prevent concurrent process start/stop 2016-02-11 16:25:44 +01:00
92c0ede689 applets: workaround for Qt window embedding initial size bug 2016-02-11 16:19:34 +01:00
cd9467a8df gui/applets: properly destroy container widget when process is terminated 2016-02-11 16:02:10 +01:00
d1e54c86b1 gui/applets: log warning if IPC address not in command 2016-02-08 22:39:47 +01:00
67327b1e61 applets: avoid argparse subparser mess 2016-02-08 22:25:02 +01:00