[Oberon] Moin and Oberon browsers

John Drake jmdrake_98 at yahoo.com
Thu Jul 22 05:19:40 CEST 2004

--- edgar at edgarschwarz.de wrote:
> Hi,
> after making PNPImages for Aos Oberon I finally
> installed WebNavigator.
> I says it understands CSS, which is used for moin.
> OTOH I don't see
> the PNG images which I see with the standard Oberon
> browser.
> The standard browser doesn't understand <div> so the
> layout is bad.
> And John Drake mentioned that it's better with
> forms.
> So it seems that there should be a merge.
> My question now is which browser is ETH using ?
> Mozilla, IE ?
> And which of the existing Oberon browsers would be
> the better foundation to
> add missing features ?
> Cheers, Edgar

I can get WebNavigator to show PNG pictures now.
The problem is that WebNavigator uses the "Pictures"
subsystem as opposed to Images.  And least that's
what I seem to pick up from experiments.  If you
open an HTML document containing a Gif using the
default browser module GIFImages gets loaded.  If
you use WebNavigator module GIF gets loaded.  I
wrote a module PNGPictures to fix this.  It loads
module es.PNGImages.  PNGImages has to be changed
to make module "Load" visible.  Also 
PNGPictures.InitPicture must be added to the 
PictConverters section of Oberon.Text.  

As far as which browser would be better to update,
I'm not sure.  I've sometimes thought about using
the HTML4 parser in WebNavigator and combined with
the "LayLa" layout language to implement a "panels"
type browser.  But perhaps the most straightforward
thing would be to add the required elements for
WebNavigator to process forms.  (Buttons and 
checkboxes would be easy.  Text boxes and Text
areas would be a bit challenging.)  Alternately
I wonder what it would take to build a browser
in BlueBottle itself.  The XML user interface
(which I still need to learn) supports CSS (I 
think?)  So it shouldn't be terribly hard to
get it to support XHTML with CSS.

Anyway here's the code for PNGPictures.  (I would
have uploaded it to the WebDav but it doesn't seem
to be working today).

    PNGImages, Objects, Pictures, Images, Files,    

  PROCEDURE Handle*(obj: Objects.Object; VAR M: 
    name : ARRAY 256 OF CHAR;
    img : Images.Image;
    done : BOOLEAN;
    WITH obj: Pictures.Picture DO
      IF M IS Objects.AttrMsg THEN
        WITH M: Objects.AttrMsg DO 
          IF (M.id = Objects.get) & (M.name = "Gen")
            M.class := Objects.String; M.s :=        
              "Pictures.NewPicture"; M.res := 0 
      ELSIF M IS Objects.FileMsg THEN
        WITH M: Objects.FileMsg DO
          IF M.id = Objects.load THEN
            obj.depth := 0;
            Files.GetName(Files.Base(M.R), name);
            PNGImages.Load(img, name, done);
            PictImages.ImageToPict(img, obj);
            IF obj.depth = 0 THEN 
              M.len := 0 
              M.len := Files.Length(Files.Base(M.R)) 
            Pictures.Handle(obj, M)
        Pictures.Handle(obj, M)
  END Handle;
  PROCEDURE InitPicture*;
    Objects.NewObj.handle := Handle;
  END InitPicture;
END PNGPictures.


John M. Drake

Do you Yahoo!?
Vote for the stars of Yahoo!'s next ad campaign!

More information about the Oberon mailing list