wiki:UIStrategies

## page was renamed from PyXPCOMStrategies

Options and Problems

GtkMozEmbed Unstable on Windows1
Old XUL/Nevow interface Can't run Firefox and eXe2, extra menu bar
Old XUL/Nevow interface - without menu bar Can't run Firefox and eXe2, (some other problem which I can't remember, need to retry)
Chrome XUL/Nevow interface Can't run Firefox and eXe2, FCK Flicker3
NuFox Untested, (assume) FCK Flicker3
XULRunner FCK Flicker3, problems building on Linux, Tooltips disappear
wxMozilla Untested, (assume) FCK Flicker3
  1. Unstable on Windows
    • use debug build of Mozilla to help identify problems (./)
    • remove nevow - eliminate communication loss (./)
      • still unstable
  2. Can't run Firefox and eXe
    • compile special "eXe version" of Firefox? :-\
  3. FCK Flicker
    • upgrade FCK
    • change to HTMLArea - problem with it being collapsed
    • change to Midas

Strategies

ElectricSheep?

!XULRunner + PyXPCOM

  • Matiu to expand here

BurningRats?

GtkMozEmbed by itself

  • easy to implement
  • data can be rendered dynamically without a webserver, BUT
  • still needs a webserver, because we can't get the form contents using GtkMozEmbed
  • do get notified of link clicks, button and key presses
  • could be stage I - GTK could replace Nevow library would solve several problems
    • allow running eXe and Firefox together
    • get rid of Firefox menu
    • have a nice drag-n-drop tree
    • eliminate most of the troublesome Javascript
    • increase the products stability a great deal, getting rid of connection loss problems with HTTP and Nevow.
    • get rid of mozilla security problems using xpcom components
    • the user will be able to open other instances of firefox while running exe
    • we will be able to have a "quit" option in the file menu
  • Before we adopt GtkMozEmbed though we need to investigate GTK on MacOSX ???

PyroMonkey?

GtkMozEmbed + PyXPCOM

  • using GtkMozEmbed for the simple stuff and gtk_moz_embed_get_nsIWebBrowser and PyXPCOM for the complex DOM stuff
  • Could be stage II building on BurningRats
  • Matiu to expand here

PyFox?

PyXPCOM by itself

  • Doing everything through the XPCOM interfaces
  • many many interfaces to support
  • A lot of work

wxPhoenix

Use wxHtmlWindow from wxPython

  • http://wxwidgets.org/manuals/2.5.3/wx_wxhtmlwindow.html
  • provides a simple HTML widget
    • good stuff
      • can access all data
      • can manipulate DOM
      • can mix with wxWidgets
    • bad stuff
      • doesn't @import url(/css/exe.css);
      • doesn't handle relative URLs (of images)
      • doesn't handle Javascript <<<< killer!

wxFireSnake

Use new wxMozilla component