Table Driven GUI Definition?

Tim Daneliuk tundra at tundraware.com
Fri Aug 5 18:20:16 EDT 2011


On 8/5/2011 3:42 PM, Philip Semanchuk wrote:
>
> On Aug 5, 2011, at 4:10 PM, Tim Daneliuk wrote:
>
>> On 8/5/2011 2:05 PM, Irmen de Jong said this:
>>> On 05-08-11 19:53, Tim Daneliuk wrote:
>>>> I have a task where I want to create pretty simple one page visual
>>>> interfaces (Graphical or Text, but it needs to run across Windows,
>>>> Cygwin, Linux,*BSD, OSX ...).  These interfaces are nothing more
>>>> than option checklists and text fields.  Conceptually something like:
>>>>
>>>>                  Please Select Your Installation Options:
>>>>
>>>>             Windows Compatibility Services  _
>>>>             Linux Compatibility Services    _
>>>>             TRS-DOS Compatibility Services  _
>>>>
>>>>             What Is Your email Address:     _______________________
>>>>
>>>> What I'm looking for is a way to describe such forms in a text
>>>> file that can then be fed into a tool to generate the necessary
>>>> pyGUI, Tkinter, (or whatever) code.   The idea is that it should
>>>> be simple to generate a basic interface like this and have it
>>>> only record the user's input.  Thereafter, the python code
>>>> would act on the basis of those selection without any further
>>>> connection to the GUI.
>>>>
>>>> An added bonus would be a similar kind of thing for generating
>>>> web interfaces to do this.  This might actually be a better model
>>>> because then I only have to worry about a single presentation
>>>> environment.
>>>>
>>>> Ideas anyone?
>
> Hi Tim
> This looks pretty straightforward to me; maybe I'm missing something. It doesn't look trivial, but the steps seem pretty clear. Is there some part in particular that's giving you trouble?
>
> Cheers
> Philip
>

I want to take a text definition file that looks something this:

   Title         "Please Select Your Installation Options:"


   Checkbox      "Windows Compatibility Services"
   Checkbox      "Linux Compatibility Services"
   Checkbox      "TRS-DOS Compatibility Services"

   Inputbox       "What Is Your email Address:"


And have that aut-generate the GUI interface described above for the
selected GUI toolkit and/or an equivalent HTML page.

I know I can write a program to do this, but it seems that someone else
may have already solved this problem.

Appearance isn't terribly important.  I want a "Quick-And-Dirty" configuration
manager interface (for configuring new operating system VMs).  The reason
that I want a simple text file definition is to make it easy to add new
options to the display as they become available.  For example, suppose
it becomes possible to work with a new OS, then all I'd have to do is
add the following to the text definition file, and regenerate the interface:

   Checkbox      "MVS Compatibility Services"

The idea is to not have to touch the code base as the options of the GUI
evolve, but rather to modify the data file that describes it.  In some sense,
this is a variation of HTML templating except I want to do it (potentially)
with a thick client GUI.




More information about the Python-list mailing list