mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-05 05:30:29 +00:00
Kepp track of the ht resource that created the item. Make the urlbar
useable.
This commit is contained in:
parent
6f5429efa5
commit
8b0bffc4af
@ -20,6 +20,7 @@
|
|||||||
Created: Stephen Lamm <slamm@netscape.com>, 13-Aug-1998
|
Created: Stephen Lamm <slamm@netscape.com>, 13-Aug-1998
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "BrowserFrame.h"
|
||||||
#include "RDFToolbar.h"
|
#include "RDFToolbar.h"
|
||||||
#include "Logo.h"
|
#include "Logo.h"
|
||||||
#include "MozillaApp.h"
|
#include "MozillaApp.h"
|
||||||
@ -46,6 +47,7 @@
|
|||||||
#define MAX_CHILD_WIDTH 100
|
#define MAX_CHILD_WIDTH 100
|
||||||
#define LOGO_NAME "logo"
|
#define LOGO_NAME "logo"
|
||||||
|
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
extern RDF_NCVocab gNavCenter;
|
extern RDF_NCVocab gNavCenter;
|
||||||
extern XmString fe_ConvertToXmString(unsigned char *, int16, fe_Font, XmFontType, XmFontList * );
|
extern XmString fe_ConvertToXmString(unsigned char *, int16, fe_Font, XmFontType, XmFontList * );
|
||||||
@ -58,6 +60,14 @@ typedef struct _tbarTooltipCBStruct {
|
|||||||
} tbarTooltipCBStruct;
|
} tbarTooltipCBStruct;
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// XFE_RDFToolbar notifications
|
||||||
|
//
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
const char *
|
||||||
|
XFE_RDFToolbar::navigateToUrlNotice = "XFE_RDFToolbar::navigateToUrlNotice";
|
||||||
|
|
||||||
XFE_RDFToolbar::XFE_RDFToolbar(XFE_Frame * frame,
|
XFE_RDFToolbar::XFE_RDFToolbar(XFE_Frame * frame,
|
||||||
XFE_Toolbox * toolbox,
|
XFE_Toolbox * toolbox,
|
||||||
HT_View view)
|
HT_View view)
|
||||||
@ -587,7 +597,14 @@ XFE_RDFToolbar::createUrlBar(Widget parent,HT_Resource entry)
|
|||||||
|
|
||||||
XFE_ToolbarUrlBar * urlbar = new XFE_ToolbarUrlBar(_frame,
|
XFE_ToolbarUrlBar * urlbar = new XFE_ToolbarUrlBar(_frame,
|
||||||
parent,
|
parent,
|
||||||
"urlBar");
|
entry,
|
||||||
|
"toolbarUrlBar");
|
||||||
|
|
||||||
|
urlbar->registerInterest(XFE_ToolbarUrlBar::urlBarTextActivatedNotice,
|
||||||
|
this,
|
||||||
|
urlBarTextActivatedNotice_cb,
|
||||||
|
(void *) urlbar);
|
||||||
|
|
||||||
urlbar->initialize();
|
urlbar->initialize();
|
||||||
|
|
||||||
return urlbar->getBaseWidget();
|
return urlbar->getBaseWidget();
|
||||||
@ -713,3 +730,43 @@ XFE_RDFToolbar::docStringCB(Widget w, XtPointer client_data, unsigned char reaso
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
XFE_CALLBACK_DEFN(XFE_RDFToolbar,urlBarTextActivatedNotice)
|
||||||
|
(XFE_NotificationCenter * /* obj */,
|
||||||
|
void * clientData,
|
||||||
|
void * callData)
|
||||||
|
{
|
||||||
|
URL_Struct * url = (URL_Struct *) callData;
|
||||||
|
XFE_ToolbarUrlBar * urlbar = (XFE_ToolbarUrlBar *) clientData;
|
||||||
|
|
||||||
|
XP_ASSERT( _frame != NULL );
|
||||||
|
XP_ASSERT( url != NULL );
|
||||||
|
XP_ASSERT( urlbar != NULL );
|
||||||
|
|
||||||
|
// Ask the frame to get the new url.
|
||||||
|
// If successfull, update the urlbar
|
||||||
|
if (_frame->getURL(url) >= 0)
|
||||||
|
{
|
||||||
|
// The way this should work is like this:
|
||||||
|
//
|
||||||
|
// 1. XFE_BrowserFrame::XFE_BrowserFrame register a newPageLoading
|
||||||
|
// notification with its XFE_HTMLView
|
||||||
|
//
|
||||||
|
// 2. In that notification, the browser frame tells the toolbox
|
||||||
|
// that urlbars needs to be updated
|
||||||
|
//
|
||||||
|
// 3. The toolbox tells the toolbars that urlbar need to be
|
||||||
|
// updates
|
||||||
|
//
|
||||||
|
// 4. The RDF_Toolbar looks for urlbar and it updates the
|
||||||
|
// urlbar text with the following mehtod.
|
||||||
|
//
|
||||||
|
// Because im a lazy bastard, ill do this later and for
|
||||||
|
// now ill do the following.
|
||||||
|
//
|
||||||
|
// Have a nive day -re
|
||||||
|
//
|
||||||
|
urlbar->setTextStringFromURL(url);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -63,6 +63,13 @@ public:
|
|||||||
// Override RDFMenuToolbarBase methods
|
// Override RDFMenuToolbarBase methods
|
||||||
virtual void notify(HT_Resource n, HT_Event whatHappened);
|
virtual void notify(HT_Resource n, HT_Event whatHappened);
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
// //
|
||||||
|
// XFE_RDFToolbar notifications //
|
||||||
|
// //
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
static const char * navigateToUrlNotice;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void setRaised (XP_Bool);
|
void setRaised (XP_Bool);
|
||||||
void destroyToolbarWidgets ();
|
void destroyToolbarWidgets ();
|
||||||
@ -98,6 +105,9 @@ private:
|
|||||||
|
|
||||||
// update the icon appearance
|
// update the icon appearance
|
||||||
XFE_CALLBACK_DECL(updateIconAppearance)
|
XFE_CALLBACK_DECL(updateIconAppearance)
|
||||||
|
|
||||||
|
// Url bar activated
|
||||||
|
XFE_CALLBACK_DECL(urlBarTextActivatedNotice)
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /*_xfe_rdftoolbar_*/
|
#endif /*_xfe_rdftoolbar_*/
|
||||||
|
@ -42,8 +42,9 @@ XFE_ToolbarButton::doCommandNotice = "XFE_ToolbarButton::doCommandNotice";
|
|||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
XFE_ToolbarButton::XFE_ToolbarButton(XFE_Frame * frame,
|
XFE_ToolbarButton::XFE_ToolbarButton(XFE_Frame * frame,
|
||||||
Widget parent,
|
Widget parent,
|
||||||
|
HT_Resource htResource,
|
||||||
const String name) :
|
const String name) :
|
||||||
XFE_ToolbarItem(frame,parent,name),
|
XFE_ToolbarItem(frame,parent,htResource,name),
|
||||||
m_command(NULL),
|
m_command(NULL),
|
||||||
m_callData(NULL)
|
m_callData(NULL)
|
||||||
{
|
{
|
||||||
|
@ -38,6 +38,7 @@ public:
|
|||||||
|
|
||||||
XFE_ToolbarButton(XFE_Frame * frame,
|
XFE_ToolbarButton(XFE_Frame * frame,
|
||||||
Widget parent,
|
Widget parent,
|
||||||
|
HT_Resource htResource,
|
||||||
const String name);
|
const String name);
|
||||||
|
|
||||||
virtual ~XFE_ToolbarButton();
|
virtual ~XFE_ToolbarButton();
|
||||||
|
@ -34,11 +34,13 @@
|
|||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
XFE_ToolbarItem::XFE_ToolbarItem(XFE_Frame * frame,
|
XFE_ToolbarItem::XFE_ToolbarItem(XFE_Frame * frame,
|
||||||
Widget parent,
|
Widget parent,
|
||||||
|
HT_Resource htResource,
|
||||||
const String name) :
|
const String name) :
|
||||||
XFE_Component(frame),
|
XFE_Component(frame),
|
||||||
m_name(NULL),
|
m_name(NULL),
|
||||||
m_parent(NULL),
|
m_parent(NULL),
|
||||||
m_ancestorFrame(frame)
|
m_ancestorFrame(frame),
|
||||||
|
m_htResource(htResource)
|
||||||
{
|
{
|
||||||
XP_ASSERT( XfeIsAlive(parent) );
|
XP_ASSERT( XfeIsAlive(parent) );
|
||||||
XP_ASSERT( frame != NULL );
|
XP_ASSERT( frame != NULL );
|
||||||
@ -52,6 +54,12 @@ XFE_ToolbarItem::~XFE_ToolbarItem()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Accessors
|
||||||
|
//
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
const String
|
const String
|
||||||
XFE_ToolbarItem::getName()
|
XFE_ToolbarItem::getName()
|
||||||
{
|
{
|
||||||
@ -80,6 +88,11 @@ XFE_ToolbarItem::getAncestorContext()
|
|||||||
return getAncestorFrame()->getContext();
|
return getAncestorFrame()->getContext();
|
||||||
}
|
}
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
HT_Resource
|
||||||
|
XFE_ToolbarItem::getHtResource()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
/* virtual */ void
|
/* virtual */ void
|
||||||
XFE_ToolbarItem::setBaseWidget(Widget w)
|
XFE_ToolbarItem::setBaseWidget(Widget w)
|
||||||
{
|
{
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
|
|
||||||
#include "Component.h"
|
#include "Component.h"
|
||||||
#include "Frame.h"
|
#include "Frame.h"
|
||||||
|
#include "htrdf.h"
|
||||||
|
|
||||||
class XFE_ToolbarItem : public XFE_Component
|
class XFE_ToolbarItem : public XFE_Component
|
||||||
{
|
{
|
||||||
@ -39,15 +40,22 @@ public:
|
|||||||
|
|
||||||
XFE_ToolbarItem(XFE_Frame * frame,
|
XFE_ToolbarItem(XFE_Frame * frame,
|
||||||
Widget parent,
|
Widget parent,
|
||||||
|
HT_Resource htResource,
|
||||||
const String name);
|
const String name);
|
||||||
|
|
||||||
virtual ~XFE_ToolbarItem();
|
virtual ~XFE_ToolbarItem();
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
// //
|
||||||
|
// Accessors //
|
||||||
|
// //
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
const String getName();
|
const String getName();
|
||||||
Widget getParent();
|
Widget getParent();
|
||||||
|
|
||||||
XFE_Frame * getAncestorFrame();
|
XFE_Frame * getAncestorFrame();
|
||||||
MWContext * getAncestorContext();
|
MWContext * getAncestorContext();
|
||||||
|
HT_Resource getHtResource();
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
// //
|
// //
|
||||||
@ -103,6 +111,7 @@ private:
|
|||||||
String m_name;
|
String m_name;
|
||||||
Widget m_parent;
|
Widget m_parent;
|
||||||
XFE_Frame * m_ancestorFrame;
|
XFE_Frame * m_ancestorFrame;
|
||||||
|
HT_Resource m_htResource;
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
// //
|
// //
|
||||||
|
@ -40,16 +40,14 @@
|
|||||||
//
|
//
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
const char *
|
const char *
|
||||||
XFE_ToolbarUrlBar::doCommandNotice = "XFE_ToolbarUrlBar::doCommandNotice";
|
XFE_ToolbarUrlBar::urlBarTextActivatedNotice = "XFE_ToolbarUrlBar::urlBarTextActivatedNotice";
|
||||||
|
|
||||||
const char *
|
|
||||||
XFE_ToolbarUrlBar::navigateToUrlNotice = "XFE_ToolbarUrlBar::navigateToUrlNotice";
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
XFE_ToolbarUrlBar::XFE_ToolbarUrlBar(XFE_Frame * frame,
|
XFE_ToolbarUrlBar::XFE_ToolbarUrlBar(XFE_Frame * frame,
|
||||||
Widget parent,
|
Widget parent,
|
||||||
|
HT_Resource htResource,
|
||||||
const String name) :
|
const String name) :
|
||||||
XFE_ToolbarItem(frame,parent,name),
|
XFE_ToolbarItem(frame,parent,htResource,name),
|
||||||
m_proxyIcon(NULL),
|
m_proxyIcon(NULL),
|
||||||
m_proxyIconDragSite(NULL)
|
m_proxyIconDragSite(NULL)
|
||||||
{
|
{
|
||||||
@ -78,6 +76,30 @@ XFE_ToolbarUrlBar::initialize()
|
|||||||
}
|
}
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Text string methods
|
||||||
|
//
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
void
|
||||||
|
XFE_ToolbarUrlBar::setTextStringFromURL(URL_Struct * url)
|
||||||
|
{
|
||||||
|
XP_ASSERT( isAlive() );
|
||||||
|
XP_ASSERT( url != NULL );
|
||||||
|
|
||||||
|
// Update the proxy icon
|
||||||
|
if (m_proxyIconDragSite != NULL)
|
||||||
|
{
|
||||||
|
m_proxyIconDragSite->setDragData(url);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Lots of munging and sanitization need to happen here. See
|
||||||
|
// URLBar.cpp for the insanity
|
||||||
|
|
||||||
|
XfeComboBoxSetTextString(m_widget,url->address);
|
||||||
|
}
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Widget creation interface
|
// Widget creation interface
|
||||||
@ -172,7 +194,7 @@ XFE_ToolbarUrlBar::textActivate()
|
|||||||
|
|
||||||
URL_Struct * url = NET_CreateURLStruct(text,NET_DONT_RELOAD);
|
URL_Struct * url = NET_CreateURLStruct(text,NET_DONT_RELOAD);
|
||||||
|
|
||||||
notifyInterested(XFE_ToolbarUrlBar::navigateToUrlNotice,
|
notifyInterested(XFE_ToolbarUrlBar::urlBarTextActivatedNotice,
|
||||||
(void *) url);
|
(void *) url);
|
||||||
|
|
||||||
XtFree(text);
|
XtFree(text);
|
||||||
|
@ -41,6 +41,7 @@ public:
|
|||||||
|
|
||||||
XFE_ToolbarUrlBar(XFE_Frame * frame,
|
XFE_ToolbarUrlBar(XFE_Frame * frame,
|
||||||
Widget parent,
|
Widget parent,
|
||||||
|
HT_Resource htResource,
|
||||||
const String name);
|
const String name);
|
||||||
|
|
||||||
virtual ~XFE_ToolbarUrlBar();
|
virtual ~XFE_ToolbarUrlBar();
|
||||||
@ -52,13 +53,19 @@ public:
|
|||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
virtual void initialize ();
|
virtual void initialize ();
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
// //
|
||||||
|
// Text string methods //
|
||||||
|
// //
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
void setTextStringFromURL(URL_Struct * url);
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
// //
|
// //
|
||||||
// XFE_ToolbarUrlBar notifications //
|
// XFE_ToolbarUrlBar notifications //
|
||||||
// //
|
// //
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
static const char * doCommandNotice;
|
static const char * urlBarTextActivatedNotice;
|
||||||
static const char * navigateToUrlNotice;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user