lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] Generating screenshots automatically


From: Greg Chicares
Subject: Re: [lmi] Generating screenshots automatically
Date: Wed, 11 Feb 2009 20:06:33 +0000
User-agent: Thunderbird 2.0.0.19 (Windows/20081209)

Let me try to summarize these discussions instead of replying to
several messages individually. First, here's the problem statement:

On 2009-02-10 01:54Z, Greg Chicares wrote:
> New end users would appreciate annotated screenshots of the various
> panels on lmi's tabbed dialogs. Those dialogs are all specified by
> 'skin*.xrc'. It's be really nice if we could automatically create
> screenshots that use the contents of the WXXRC <help> tags, which we
> have already written for every control, as the annotations.
[...]
> What matters most is automation. And automation matters greatly for
> lmi because we've got numerous 'skin*.xrc' files, and may have more
> in the future, which makes it quite a tedious chore to do this all
> by hand--and redo it whenever a screen (or a <help> tag's contents)
> changes, which happens quite often.

We mentioned a number of ideas that didn't work out well. I think we
can dismiss them and focus on what seems clearly best, which AIUI we
can separate into two phases. Phase I does much of the tedious work:

On 2009-02-11 15:45Z, Vadim Zeitlin wrote:
> On Tue, 10 Feb 2009 01:54:12 +0000 Greg Chicares <address@hidden> wrote:
>
> GC> Here's yet one more idea. Write a program that takes an '.xrc' file
> GC> as its parameter and does this:
> GC>   for each wxPanel in the file
> GC>     render the panel to '.png'
> GC>     write out [...] all <name> attributes and <help> contents
>
>  Yes, this is pretty simple to do.

That's really good news. Just to clarify: what I think this means is
writing a program FOO such that, given X.xrc and Y.xrc,
  for z in *.xrc; do FOO $z; done
creates files X.whatever and Y.whatever, and all that remains is to
add arrows somehow to connect each control to its <name> and <help>.
I think this would be useful by itself, and a natural prerequisite
for any of the further "Phase II" ideas below.

Phase II might involve someone working with a printed page and a box
of crayons, or one of these distinctly more tasteful ideas:

On 2009-02-11 17:21Z, Vadim Zeitlin wrote:
> On Wed, 11 Feb 2009 18:07:50 +0100 Vaclav Slavik <address@hidden> wrote:
> 
> VS> On Wed, 2009-02-11 at 16:45 +0100, Vadim Zeitlin wrote:
> VS> >  Unfortunately I don't see how to do this automatically because the
> VS> > placement of these annotations usually needs to be carefully chosen
> VS> > manually to make them nicely looking or even just readable.
> VS> 
> VS> I'd expect the techniques used for labels placement in GIS
> VS> (http://en.wikipedia.org/wiki/Automatic_label_placement) to give good
> VS> results here too -- it should be a simpler task, because we want the
> VS> labels only around the screenshot, not all over the map. But I never
> VS> tried, so it's at best an educated guest.
> 
>  Yes, ok, I should have qualified my sentence above: I don't see how to
> _easily_ do this automatically. I'm sure that this could be done by
> spending enough time/effort on it but I'm not sure how appropriate would
> this be in this case.

Another problem handily solved by simulated annealing. It's always
helpful to realize that a comparable problem has already been solved.

It's probably not worth the cost of implementing this ourselves, but
if you know of software that already solves our specific problem, we
could try it. However, if you don't, then...

> VS> >  A variation: create a DIA file containing the screenshot and the text
> VS> > boxes with the help text. 
> VS> 
> VS> ...and instead of generating it from scratch, only update the manually
> VS> tweaked files and preserve placement changes.
> 
>  Yes, this should still be relatively easy to do and would be almost
> perfect, wouldn't it?

That sounds just about perfect to me. If there are no further ideas,
then let's pick that as Phase II.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]