Historical:SoC 2007 project New GUI Framework

From PanoTools.org Wiki
Revision as of 20:05, 17 March 2007 by Ippei (talk | contribs) (Init. detailed project proposal)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

New extensible modular GUI framework

The goal of this project is to build a highly extensible GUI framework for Panorama creation, with simple yet intuitive layouts that both beginners and advanced users would be comfortable to use. The application should stay cross-platform.


  1. Cross-platform Application
    • Acceptable look-and-feel with every platform's standard
    • Minimum amount of platform specific code
  2. Completely modular system for organising the functionalities
    • Clear separation of the interface and implementations
    • Intuitive GUI for displaying those modules suitable for different levels of users
  3. Implementations of some basic modules
    • Control-points Editor and other modules that require custom control may take long
    • Modules with a lot of parameters may be hard to come up with good organisation and layout
    • Should at least have examples that guide how other modules could be implemented

The new framework shall be constructed as such that users can edit/use various aspect of panorama project through modules (plug-ins) each of them providing one specific functions. The application should provide intuitive interface for the users to choose what to edit and display with what aspect.

The modular system is crucial because the panorama stitching is consist of several steps and the community comes up with new variations of each step every year, and each of them advances with new features every month.

Also crucial is the way those modules should be organised and presented to the users. Advanced users want to have access to every available feature, while there are many beginners and those who need access to only the basic tasks and options in simple and intuitive interface.


  • Choice of GUI Toolkit: QT4 is modern and has good support on most of major platforms. wxWidgets is okay, but best of all we have many lines of code that are written for wxWidgets. Scripting languages like Python may have advantages in debugging and module managements.
    • Personally, I want to give QT4 a try. Though its widgets look weird on Mac sometimes, it has more to offer outside the GUI itself. --Ippei 20:05, 17 March 2007 (CET)

Students planning to apply