Control screen generator for Phoebus
Project description
Python Module to Generate Phoebus Control Screens
Phoebus is the next generation of Control System Studio, a graphical platform for EPICS control systems. https://github.com/ControlSystemStudio/phoebus
This module aims to provide a way to generate Phoebus xml through Python. See examples here.
Requirements
- Python >= 3.5
Install
Pip Package: phoebusgen
pip install phoebusgen
Intro
>>> import phoebusgen.widget as w
>>> text_update_widget = w.TextUpdate('test widget', 'TEST:PV', 10, 20, 20, 50)
>>> text_update_widget.predefined_foreground_color(phoebusgen.colors.OK)
>>> print(text_update_widget)
<?xml version="1.0" ?>
<widget type="textupdate" version="2.0.0">
<name>test widget</name>
<x>10</x>
<y>20</y>
<width>20</width>
<height>50</height>
<pv_name>TEST:PV</pv_name>
<foreground_color>
<color red="0" green="255" blue="0" alpha="255" name="OK"/>
</foreground_color>
</widget>
Modules
phoebusgen.widget
Low Level Python API to directly create Phoebus widgets
Available Widgets
Graphics
- Arc
- Ellipse
- Label
- Picture
- Polygon
- Polyline
- Rectangle
Monitors
- LED
- Meter
- Progress Bar
- Tank
- Text Update
- Thermometer
Controls
- Action Button
- Boolean Button
- Check Box
- Choice Button
- Combo Box
- File Selector
- Radio Button
- Scrollbar
- Slider Button
- Spinner
- Text Entry
Plots
- Data Browser
Structure
- Array
- Embedded Display
- Group
Miscellaneous
- Web Browser
- 3DViewer
Example
text_update_xml = phoebusgen.widget.TextUpdate(widget_name, pv_name, x, y, height, width)
phoebusgen.screen
>>> import phoebusgen.screen
>>> import phoebusgen.widget
>>> my_screen = phoebusgen.screen.Screen("my screen")
>>> print(my_screen)
<?xml version="1.0" ?>
<display version="2.0.0">
<name>my screen</name>
</display>
>>> my_widget = phoebusgen.widget.TextUpdate("test", "test:PV", 10, 10 ,10 ,10)
>>> my_screen.add_widget(my_widget)
>>> print(my_screen)
<?xml version="1.0" ?>
<display version="2.0.0">
<name>my screen</name>
<widget type="textupdate" version="2.0.0">
<name>test</name>
<x>10</x>
<y>10</y>
<width>10</width>
<height>10</height>
<pv_name>test:PV</pv_name>
</widget>
</display>
Site specific color and font definitions
Place a custon color.def or font.def in ~/.phoebusgen/ to force phoebusgen.colors or phoebusgen.fonts to reflect your site's custom definitions.
my_widget.predefined_font(phoebusgen.fonts.Header1)
my_widget.predefined_color(phoebusgen.colors.OK)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
phoebusgen-2.0.0.tar.gz
(23.4 kB
view hashes)
Built Distribution
phoebusgen-2.0.0-py3-none-any.whl
(24.7 kB
view hashes)
Close
Hashes for phoebusgen-2.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f81bcdc068fe9111183e674cc9fdad64421d3089c31440a8aa036b5a0d1d226 |
|
MD5 | 05f15e104e591ccea9db72abf0444a3a |
|
BLAKE2b-256 | 3c20e3356bfad0d68e210b313b9b915166504f7185c9e275a6414206f7fedf39 |