On Sun, Nov 11, 2007 at 10:26:57PM +0000, place wrote:
On Sun, Nov 11, 2007 at 01:05:30AM +0000, place wrote:
The right-click menus. I am giving them the linkblock ptr via a_UIcmd_*_popup so that they can call Html_load_images (well, a_Html_load_images now, by way of a_UIcmd_load_images -- if that's the right way to route it.)
After some study and a reimplentation of plain.cc with classes (getting rid of its linkblock and hooking a callback for memory handling), it looks simpler and better. It looks like the same may be done with html.cc.
Has the new html.cc made my problem go away? So far as I can tell, things will be the same: a_UIcmd_page_popup() will need a DilloHtml*, so uicmd.hh will include html.hh. When IO/http.c includes uicmd.hh, it will see #include "dw/core.hh" and #include "lout/misc.hh" in html.hh, and it will not compile.
You can use a void* inside the bw structure (as with render_layout).
It may end being a list in the future. For instance, if we ever implement frames, this list could contain the DilloHtml objects for each component URL, of a framed page.
The design is not clear yet, but this is one way to implement it.
I misremembered what you wrote and instead, like the void *vbw going into a_UIcmd_*_popup(), gave it a void *vpage. Seems to be working and loading images. Do you think there'd be a good reason to put the html pointer inside the bw anyway?
Yes. It may be useful for handling frames (having access to the DilloHtml object of each URL), or for hooking a menu into a plain image URL (e.g. zoom).
PS The fact that page url != base_url means that various items on the page menu do not work if a base url is specified. I'll deal with that separately...
Ok. -- Cheers Jorge.-