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