GUI auto generation from data base
|
|
---|---|
Hi All, I am currently trying to automatically generate a control-room GUI based on certain devices registered in the database. Before I get stuck in to it, I was wondering if anyone had had any experience in doing something like this and if anyone knows of any scripts or anything available for this task. Regards, Chris |
|
|
---|---|
Dear Chris, I am not a GUI expert but I know this has been done in various places e.g. ALBA. What kind of GUI are you thinking of i.e. wha functionality should it offer? What should the configuration file be. If you use Taurus or Atk with a GUI builder don't they populate the screen with a panel per device automatically? Andy |
|
|
---|---|
Chris, I am not sure to well understand your project. On which criteria do you want to generate the GUI? ATKpanel may be considered as a GUI automatically configured on a device registered in the database. There is a lot of other examples but perhaps your request is different, please give me more details on what you want to do. cheers
Cheers
Jean-Michel |
|
|
---|---|
Hi Andy, Jean-Michel, Thanks for the responses. My original question may have been a bit too general so I have tried to clarify what we're trying to do in this document Cheers, Chris |
|
|
---|---|
Dear Chris, at Alba, we have developed a 'generic table grid' Taurus widget (Taurus Grid) that is able to receive a regular expression representing the list of taurus models (i.e. tango device names or attribute names), and then split the information in rows and columns. Please, find below two simple examples that you can try from the command line: +) A view of a subset of motor states, positions, and offsets python taurus/qt/qtgui/table/taurusgrid.py "model=motor/.*(dmot|ipap).*/.*/(State|Position|Offset)" cols=State,Position,Offset rows=dmot,ipap +) A view of a subset of vacuum readings python taurus/qt/qtgui/table/taurusgrid.py "model=lt.*/VC.*/.*/((C*)|(P*)|(I*))" cols=IP,CCG,PNV rows=LT01,LT02 others=False rowframe=True colframe=False I think this could cover the first scenario in your document. For more complex displays, you may define PyStateComposer Tango Devices, or create your own application that can use the TaurusGrid widget and customize it for your needs. Cheers, Guifré. |
|
|
---|---|
Thanks for that Guifré, This looks like something I can use! Cheers, Chris |