add epics widgets, CustomROI
This commit is contained in:
51
app_config.py
Normal file
51
app_config.py
Normal file
@@ -0,0 +1,51 @@
|
||||
import yaml
|
||||
from PyQt5.QtCore import QSettings
|
||||
from pathlib import Path
|
||||
|
||||
import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
settings = QSettings("Paul Scherrer Institut", "SwissMX")
|
||||
|
||||
inst_folder = Path(__file__).absolute().parent
|
||||
|
||||
config_file = inst_folder / "swissmx.yaml"
|
||||
configs = yaml.load(config_file.read_text())
|
||||
endstation = configs["configure_for"]
|
||||
appsconf = configs[endstation]
|
||||
|
||||
simulated = appsconf.get("simulate", False)
|
||||
|
||||
logger.info(f"configuring for endstation: {endstation.upper()}")
|
||||
|
||||
if simulated:
|
||||
logger.warning("SIMULATION is ACTIVE")
|
||||
css_file = inst_folder / "swissmx.css"
|
||||
|
||||
|
||||
|
||||
def font(name: str) -> str:
|
||||
p = Path(__file__).absolute().parent / "fonts" / name
|
||||
return str(p)
|
||||
|
||||
|
||||
def logo(size: int = 0) -> str:
|
||||
p = Path(__file__).absolute().parent / "logos" / "logo.png"
|
||||
if size:
|
||||
p = Path(__file__).absolute().parent / "logos" / f"tell_logo_{size}x{size}.png"
|
||||
return str(p)
|
||||
|
||||
|
||||
def option(key: str) -> bool:
|
||||
try:
|
||||
return settings.value(key, type=bool)
|
||||
except:
|
||||
logger.error(f"option {key} not known")
|
||||
return False
|
||||
|
||||
|
||||
def toggle_option(key: str):
|
||||
v = settings.value(key, type=bool)
|
||||
settings.setValue(key, not v)
|
||||
settings.sync()
|
||||
Reference in New Issue
Block a user