PTOpenGui wxWindows-layout nearly finished

Pablo d'Angelo pablo at mathematik.uni-ulm.de
Thu Apr 17 20:38:25 BST 2003


Hi together,

Kai-Uwe Behrmann schrieb am Mittwoch, den 16. April 2003:

> Hi,
> here comes a little snapshot from what we have done last week to port
> PTOpenGui from Delphi to wxWindows. I started this because of it's
> portability (Windows, Unix/Linux, Mac), free development tools, an GPL
> licence of the toolkit.

Yep, I recognize the problems with QT on windows and mac (no free
version available). Since I'm quite familiar with QT I have started
using it for the GUI.

I guess that both qt and wxwindows have their strong and weak sides.

My main goals for hugin are the following:

1. I want to create panoramas under linux :) Or stitch many of my
   digicam pics (2MPixel) images together to get a high resolution
   image for printing.

   This should be as simple as possible while getting good results.

2. Simple GUI that even beginners that do not know the Panorama Tools
   in detail can operate successfully without seeing many unknown
   terms. For example, almost nobody (imho) wants to link the lens
   variables directly. If needed, I want to specify that I have used a
   different lens for some picture, and hugin should take care of the
   linking automatically. (maybe I should set if it was scanned or
   came from a digicam, so that d and e should be linked or not). This
   could all be done semiautomatically, when EXIF data is found etc.

   Another nice thing that I like in PTAssembler is the "Reference
   Point Selector", where the user sets the orientation of an anchor
   Image.

3. Try some patterns from the "Design Patterns" book. This is one
   reason why hugin consists of many more classes than PTOpenGUI.
   Also I have split the GUI into many separate widgets which can be
   changed or inserted in other places of the GUI more easily, if
   needed. I'm quite sure that this approach is not the fastest way to
   get something running (and I have made some mistakes with hugin
   already, because I wanted to see something :), but I hope that
   it'll keep the program more flexible for changes and feature
   additions.

   For example I've started to use the command pattern to change the
   model classes, which will give me full undo/redo without too much
   hassle. (hopefully ;)

   don't look to closely on the hugin code, since it is still
   pre-alpha and the design is not perfect yet and some places do not
   look like it.

4. I also like to experiment with some semi-automatic control point
   finder idea. (a bit like the fine tune in PTOpenGUI, but it should
   try to find the corrosponding point automatically (probably using
   image pyramids, to become a bit faster)).

I choose QT only because I know it well and it has a nice & clean
(most of the time) API, and I can compile a windows version of it as
well (I never intended to develop under windows myself and I can use
VC++ at university, probably a bit of a selfish attitude for an
opensource project.). So I'm not particulary bound to QT, its just a
vehicle to reach my goals, and if some people like to work with
wxWindows and maybe know how to do stuff there, then its not a problem
for me.

I think we have similar views on point 1,3,4. From a first (short)
glimpse at the code of PTOpenGUI (actually I like the name hugin
better as well ;) I found not many signs of goal 2, most classes seem
to be tighly coupled and having the complete GUI in one class is
probably also a sign of the C++ Builder history.

I'm quite willing to throw away some of my code in order to avoid
double development, but I really like to build an application from
finer grained classes.
I think the porting efforts are probably a good time to do this if you
have similar intentions for PTOpenGUI.

> The snapshot includes only the layout and compiles out of the box on linux
> (gcc - makefile.unx) and windows (tested with bcb4 - ptopengui.bpr).

Yep, it works fine on my debian linux. Although the window seems to
have a fixed size, but I guess it will become resizeable in the
future. Quite impressive for your first encounter with wxWindows.

ciao
  Pablo
--
http://wurm.wohnheim.uni-ulm.de/~redman/
Please use PGP


More information about the ptX mailing list