Difference between revisions of "Sequencers"
Jump to navigation
Jump to search
Ivan denisov (talk | contribs) (Created page with " Marco Ciot TYPE CloseNotifier = POINTER TO RECORD (Sequencers.Notifier) END; PROCEDURE (n: CloseNotifier) Notify (VAR msg: Sequencers.Message); VAR res: INTEGER; BEGI...") |
|||
| (8 intermediate revisions by one other user not shown) | |||
| Line 1: | Line 1: | ||
== How to do something after view was closed? == | |||
Robert Campbell | |||
TYPE | |||
CloseNotifier = POINTER TO RECORD (Sequencers.Notifier) | |||
plotId: INTEGER | |||
END; | |||
PROCEDURE (c : CloseNotifier) Notify (VAR msg : Sequencers.Message); | |||
BEGIN | |||
WITH msg : Sequencers.CloseMsg DO | |||
########### | |||
ELSE END | |||
END Notify; | |||
... | |||
VAR | |||
cNotif: CloseNotifier; | |||
BEGIN | |||
c := Containers.Focus (); | |||
IF c # NIL THEN c.GetFirstView (Containers.any, v) END; | |||
IF (v # NIL) & (v IS Plotters.View) THEN | |||
NEW (cNotif); cNotif.plotId := 1; | |||
v.Domain().GetSequencer()(Sequencers.Sequencer).InstallNotifier(cNotif) | |||
END; | |||
== How to disable the window close? == | |||
Marco Ciot | |||
TYPE | |||
CloseNotifier = POINTER TO RECORD (Sequencers.Notifier) END; | |||
PROCEDURE (n: CloseNotifier) Notify (VAR msg: Sequencers.Message); | |||
VAR res: INTEGER; | |||
BEGIN | |||
WITH | |||
| msg: Sequencers.CloseMsg DO | |||
Dialog.Beep; | |||
Dialog.GetOK("#Mondig:ATTENTION: Exit will stop data recording!!! Stop anyway? ", | |||
"", "", "", {Dialog.yes, Dialog.no, Dialog.cancel}, res); | |||
IF ~(res = Dialog.yes) THEN | |||
msg.sticky := TRUE; | |||
END; | |||
ELSE | |||
END; | |||
END Notify; | |||
PROCEDURE MakeSticky*; | |||
VAR n: CloseNotifier; | |||
BEGIN | |||
IF stickyDialog = NIL THEN | |||
HostWindows.dir.minimized := TRUE; | |||
HostWindows.dir.minimized := FALSE; | |||
HostWindows.dir.l := 1100; HostWindows.dir.t := 600; | |||
HostWindows.dir.r := 1400; HostWindows.dir.b := 900; | |||
StdApi.OpenAuxDialog('Mondata/Rsrc/HPM-Tool', '#Mondata:StorageForwarder', stickyDialog); | |||
NEW(n); | |||
stickyDialog.Domain().GetSequencer()(Sequencers.Sequencer).InstallNotifier(n); | |||
END; | |||
END MakeSticky; | |||
Latest revision as of 20:38, 28 March 2017
How to do something after view was closed?
Robert Campbell
TYPE CloseNotifier = POINTER TO RECORD (Sequencers.Notifier) plotId: INTEGER END; PROCEDURE (c : CloseNotifier) Notify (VAR msg : Sequencers.Message); BEGIN WITH msg : Sequencers.CloseMsg DO ########### ELSE END END Notify; ... VAR cNotif: CloseNotifier; BEGIN c := Containers.Focus (); IF c # NIL THEN c.GetFirstView (Containers.any, v) END; IF (v # NIL) & (v IS Plotters.View) THEN NEW (cNotif); cNotif.plotId := 1; v.Domain().GetSequencer()(Sequencers.Sequencer).InstallNotifier(cNotif) END;
How to disable the window close?
Marco Ciot
TYPE
CloseNotifier = POINTER TO RECORD (Sequencers.Notifier) END;
PROCEDURE (n: CloseNotifier) Notify (VAR msg: Sequencers.Message);
VAR res: INTEGER;
BEGIN
WITH
| msg: Sequencers.CloseMsg DO
Dialog.Beep;
Dialog.GetOK("#Mondig:ATTENTION: Exit will stop data recording!!! Stop anyway? ",
"", "", "", {Dialog.yes, Dialog.no, Dialog.cancel}, res);
IF ~(res = Dialog.yes) THEN
msg.sticky := TRUE;
END;
ELSE
END;
END Notify;
PROCEDURE MakeSticky*;
VAR n: CloseNotifier;
BEGIN
IF stickyDialog = NIL THEN
HostWindows.dir.minimized := TRUE;
HostWindows.dir.minimized := FALSE;
HostWindows.dir.l := 1100; HostWindows.dir.t := 600;
HostWindows.dir.r := 1400; HostWindows.dir.b := 900;
StdApi.OpenAuxDialog('Mondata/Rsrc/HPM-Tool', '#Mondata:StorageForwarder', stickyDialog);
NEW(n);
stickyDialog.Domain().GetSequencer()(Sequencers.Sequencer).InstallNotifier(n);
END;
END MakeSticky;