[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Re: Easy to use components
From:       Simon Hausmann <tronical () gmx ! net>
Date:       1999-07-02 11:20:40
[Download RAW message or body]

On Fri, 2 Jul 1999, Lars Knoll wrote:

> On Thu, 01 Jul 1999, Kurt Granroth wrote:
> >I used an ActiveX component for the first time yesterday (<excuse>I had to
> >get the product working in under and hour and it had to be a Windows app (in
> >the project-requirements)</excuse>).  I almost hate to say it, but I was
> >impressed!
> >
> >What I needed to do was embedd a web browser into my app.  Mind you, an HTML
> >widget would *not* have worked as the browser needed to take care of such
> >things as the proxy and downloading the pages as well as displaying them.
> >I used the MS Internet Explorer ActiveX component to do this.  Here are
> >all the steps I took to do so in VC++5:
> >
> >1) Click on Project->Add Components.  Select WebBrowser control from HUGE list
> >   of components (all with descriptions).  Decide on name for the wrapper
> >   class (CWebBrowser)
> >
> >2) Go to the dialog editor (my app was dialog based).  I see a cute icon on my
> >   tools bar for the browser component.  I select it and do a click-n-drag
> >   to put it on my dialog in the size that I want.
> >
> >3) I go to the class-wizard and associate a member variable for that component
> >   (CWebBrowser m_browser)
> >
> >Mind you, I have not written one *single* line of code, yet.
> >
> >4) I go into my dialog class (CGpsDemoDlg) and add this to the init function
> >   m_browser.Navigate("http://www.pobox.com/~kurt_granroth", ..).
> >
> >5) I compile and run.  Voila!  I see my home page displayed in my app.
> >
> >Wow!  One line of code to have an entire embedded web browser!  Of course,
> >there are tons more options that you can set (and I did, later), but the fact
> >that you can do sooo much with so little effort is incredible.
> >
> >Just some food for thought when we think about using KOM/OP.  Can we get it to
> >be that easy?
> 
> I think, we can get it almost that easy even without using KOM/OP. I once had a
> thought about implementing a browser class in khtml, which does almost
> everything for the user. But for that khtml will need to link against libkio.
> Then one could perhaps do something like:
> 
> 	KHTMLBrowser m_browser;
> 	m_browser.load(my_url);
> 	m_browser.show();
> 
> to get a HTML window in you app. The question is then, howmuch should it do by
> itself? Should it follow links if a user clicks onto it, etc...
> 
> Another possibility is to use konqueror for showing your page, but you probably
> wanted to embed it into some widget...

I think Torben's KBrowser class in Konqueror is what you're looking for.

But: Why not use the full-fledged HTMLView component from Konqueror
directly? IMHO this is what components are for, and embedding a
remote KonqHTMLView can be done in about 10 LOC.

Advantages are:
- Use all features from Konqy, including Plugins (see tool-issue thread on
  kfm-devel)
- KonqHTMLView has nice features, just like "save document as..." for
  example . Either call the method directly or use the GUI (next point)
- Just send the HTMLView a special event with a reference to a
  OpenPartsUI::Menu and it fills it with it's menu entries.

I think this is the 100% equivalent thing to the ActiveX component
or IE.

Bye,
 Simon

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic