added button that opens ScreenPanel for selected camera

This commit is contained in:
gac-maloja
2021-10-02 19:16:04 +02:00
parent 3e4decb4c9
commit 3d7e6c8ffd

14
scam.py
View File

@ -28,6 +28,7 @@ TITLE = "SCam" if not clargs.show_all_settings else "SCam Expert Mode"
import itertools import itertools
import subprocess
import wx import wx
try: try:
@ -72,6 +73,7 @@ class MainPanel(wx.Panel):
self.eb_bkg = eb_bkg = EntryButton(self, label="Background Images", value=100, button="Record Background") self.eb_bkg = eb_bkg = EntryButton(self, label="Background Images", value=100, button="Record Background")
self.btn_screenpanel = btn_screenpanel = wx.Button(self, label="Open ScreenPanel")
self.btn_get_roi_bkg = btn_get_roi_bkg = wx.Button(self, label="Get ROI Background from ScreenPanel") self.btn_get_roi_bkg = btn_get_roi_bkg = wx.Button(self, label="Get ROI Background from ScreenPanel")
self.btn_get_roi_sig = btn_get_roi_sig = wx.Button(self, label="Get ROI Signal from ScreenPanel") self.btn_get_roi_sig = btn_get_roi_sig = wx.Button(self, label="Get ROI Signal from ScreenPanel")
@ -81,6 +83,7 @@ class MainPanel(wx.Panel):
self.btn_save = btn_save = wx.Button(self, label="Save") self.btn_save = btn_save = wx.Button(self, label="Save")
eb_bkg.Disable() eb_bkg.Disable()
btn_screenpanel.Disable()
btn_get_roi_bkg.Disable() btn_get_roi_bkg.Disable()
btn_get_roi_sig.Disable() btn_get_roi_sig.Disable()
btn_print.Disable() btn_print.Disable()
@ -88,12 +91,13 @@ class MainPanel(wx.Panel):
cb_pls.Bind(wx.EVT_COMBOBOX, self.on_select) cb_pls.Bind(wx.EVT_COMBOBOX, self.on_select)
eb_bkg.button.Bind(wx.EVT_BUTTON, self.on_save_bkg) eb_bkg.button.Bind(wx.EVT_BUTTON, self.on_save_bkg)
btn_screenpanel.Bind(wx.EVT_BUTTON, self.on_screenpanel)
btn_get_roi_bkg.Bind(wx.EVT_BUTTON, self.on_get_roi_bkg) btn_get_roi_bkg.Bind(wx.EVT_BUTTON, self.on_get_roi_bkg)
btn_get_roi_sig.Bind(wx.EVT_BUTTON, self.on_get_roi_sig) btn_get_roi_sig.Bind(wx.EVT_BUTTON, self.on_get_roi_sig)
btn_print.Bind(wx.EVT_BUTTON, self.on_print) btn_print.Bind(wx.EVT_BUTTON, self.on_print)
btn_save.Bind(wx.EVT_BUTTON, self.on_save_cfg) btn_save.Bind(wx.EVT_BUTTON, self.on_save_cfg)
widgets = [btn_get_roi_bkg, btn_get_roi_sig] widgets = [btn_screenpanel, btn_get_roi_bkg, btn_get_roi_sig]
btns_get_roi = make_filled_vbox(widgets) btns_get_roi = make_filled_vbox(widgets)
widgets = [btn_print, btn_save] widgets = [btn_print, btn_save]
@ -139,6 +143,7 @@ class MainPanel(wx.Panel):
bkg_setting.set_value(latest_bkg) bkg_setting.set_value(latest_bkg)
self.eb_bkg.Enable() self.eb_bkg.Enable()
self.btn_screenpanel.Enable()
self.btn_get_roi_sig.Enable() self.btn_get_roi_sig.Enable()
self.btn_get_roi_bkg.Enable() self.btn_get_roi_bkg.Enable()
self.btn_print.Enable() self.btn_print.Enable()
@ -162,6 +167,13 @@ class MainPanel(wx.Panel):
return cfg return cfg
def on_screenpanel(self, event):
cam = self.camera
cmd = f"screen_panel -persist -cam={cam}"
print(cmd)
subprocess.run(cmd.split())
def on_get_roi_bkg(self, event): def on_get_roi_bkg(self, event):
roi = self._get_roi() roi = self._get_roi()
if roi is None: if roi is None: