On Thu, Jan 08, 2004 at 11:14:41AM -0800, R. Douglas Barbieri wrote:
> > The BEST would be if the app used some configuration file itself
> > (one that I would maintain) which described what questions to ask the
> > parent/teacher/adult, how those questions should be grouped, and what
> > kinds of answers they should have.  I guess kind of like the output file
> > the Glade RAD tool makes for people. :^)
> 
> Is said output XML-ish? Is this what you have in mind? Or should we roll
> our own format?

Having never actually used Glade, I dunno. :^)  I think rolling our own would
be easy enough.  The way FLTK resizes itself to fit a window has always
been very nice (came in handy on the Agenda, when you popped the on-screen
keyboard or handwriting area up).


Would it make sense for the FLTK app to simply read through a configuration
file and add widgets as it reads them?  In other words, it would be
a hierarchical list... like:


Tab: "Screen"
Toggle: "Fullscreen" fullscreen
Toggle: "800x600" 800x6800

Tab: "Sound"
Toggle: "Disable Sound" nosound

Tab: "Printing"
Toggle: "Disable Printing" noprint
Toggle: "Store Printer Config" printcfg
Text: "Print Command" printcommand
Number: "Print Delay (in seconds; '0' for none)" printdelay

Tab: "Input"
Toggle: "Grab mouse and keyboard" grab
Toggle: "Disable [Control] key shortcuts" noshortcuts
Toggle: "Disable wheel mouse" nowheelmouse
Toggle: "Use [Arrows] to control pointer" keyboard

Tab: "Saving"
Radio: "Ask before saving over existing image?" saveover=ask
Radio: "Always save over existing image?" saveover=yes
Radio: "Always make a new image?" saveover=new
FileBrowser: "Save images here:" savedir


etc...


The idea is that every time it would hit a "Tab:" it would simply create
a new 'screen' of questions.  All of the lines that appear below would then
be widgets to appear on that screen.  e.g., on the "Printing" screen,
it might look like:

  [ ] Disable Printing
  [ ] Store Printer Config
  Print Command: [ pngtopnm | pnmtops | lpr ]
  Print Delay: [ 0 ]


This way, if I add a new option, like "Always print in greyscale", I only
need to add a line to this file (be in in the format above, XML, or something
else), rather than actually CHANGE the "tuxpaint-config" code.

I imagined that "tuxpaint-config" would be its own, separate package from
Tux Paint (like the stamps and the locale fonts), since not _everyone_ would
want or need to install it.


The _file_ that describes what the interface should look like, though, would
be released with Tux Paint itself.  Again, if I add some new "--cool-option",
there's no reason to release a whole new version of 'tuxpaint-config'
just for this description file. :^)


Make sense?  Seem doable? :)

-bill!
_______________________________________________
Tuxpaint-dev mailing list
[EMAIL PROTECTED]
http://tux4kids.net/mailman/listinfo/tuxpaint-dev

Reply via email to