I know that HtmlWindow is not meant to have full browser functionality, but
unfortunately it seems to be the best we have.
wxMozilla appears to be dead (python bindings are generally built (and
sometime shared) by people on an as needed basis, but there doesn't seem to
be any Windows python support). It would be nice if wxMozilla were adopted
by the wxWidgets project.
I find it hard to believe that displaying HTML in a multi-platform
environment isn't a high priority for a lot of people.
You'd be surprised - "rich text" is whats most often needed, not a
full browser environment.
There is of course ActiveX_IEHtmlWindow, but that is Windows only AFAIK.
Not to mention that trying to work with IE via that horribly ugly Microsoft
API is a major headache.
So if I want to do multi-platform development, I'm have no real
alternatives other than HtmlWindow for displaying HTML.
I have two uses for html display:
One is to show generated content, where html seems preferable to rich text.
HtmlWindow seems okay for this, except that I would like to be able to
display forms (more on this below).
The other need is to have an embedded browser for displaying web pages.
Obviously HtmlWindow will not work for this because it is not meant to be a
full browser. This has me worried because there seems to be no solution
whatsoever that is multi-platform.
A full browser is a lot more work than you're crediting. There are
only 4 mature browser engines in existence today, and they all took
tens of thousands of man-hours of work, and they're (all) still highly
imperfect and inconsistent. None of them are especially easy to embed
in a foreign library - IE is easiest because of it's ActiveX support.
Mozilla is a huge beast and hard to embed. Opera isn't available for
embedding at all. KHTML/WebKit is the most likely option, and there is
a wxWebKit project, but it's still a lot of work and it's certainly
non-trivial to implement. wxWebKit, from what I hear, is the current
best option for cross-platform embedded browsing, but I don't believe
there are Python bindings.
HtmlWindow has nice support for embedding wx widgets inside html code as
in:
<wxp module="wx" class="Button" >
<param name="label" value="It works!">
<param name="id" value="ID_OK">
</wxp>
But there appears to be no support for html form controls such as buttons
and text inputs.
It shouldn't be *that* difficult to implement HTML forms directly in
wxHTML. Get crackin' 
It would be nice if simple forms created in an html editor could be
displayed in an HtmlWindow.
Perhaps one solution would be to make an html preprocessor to convert
proper html form controls into code for embedded wx controls. For example,
the following would be converted into the above code (I'm ignoring the
<form> tag itself):
<button type="button" name="ID_OK">It works!</button>
The button tag, on the other hand, would be hard. You'd need a nested
wxHTML window inside a custom "button-like" panel. Probably still
possible.
Anyway, I'm wondering if it was a mistake to go with wxPython instead of
GTK, given that there doesn't seem to be any obvious way to display HTML. I
really hope I'm wrong about this because I have already written a lot of
wxPython code. Was it a mistake?
Wow, you don't sound like someone making loaded petulant statements at
all! I don't know your needs or requirements, and so I can't tell you
if you made a mistake or not. If you think that GTK has a fully
featured embeddable browser suitable for viewing arbitrary web pages,
though, you're quite mistaken.
···
On 6/5/07, Ken Seehart <ken@seehart.com> wrote: