new toolbar property, new function which fetches templates, fix hashtable bug, bmkNotifFunc notifies regardless of property type. r:rjc

This commit is contained in:
danm%netscape.com 1998-08-28 01:19:41 +00:00
parent d6628e1b51
commit 0127c9fef0
4 changed files with 36 additions and 2 deletions

View File

@ -73,6 +73,12 @@ typedef struct _HT_CursorStruct* HT_Cursor;
typedef struct _HT_ResourceStruct* HT_Resource;
/* for use with HT_GetTemplate */
enum TemplateType {
ht_template_chrome,
ht_template_management,
ht_template_navigation
};
/*
* This is the Notification structure that gets passed to the HT layer on
@ -274,6 +280,11 @@ PR_PUBLIC_API(HT_Resource) HT_GetParent (HT_Resource node);
PR_PUBLIC_API(HT_Error) HT_NodeDisplayString (HT_Resource node, char *buffer, int bufferLen); /* obsolete! */
PR_PUBLIC_API(HT_Error) HT_ViewDisplayString (HT_View view, char *buffer, int bufferLen); /* obsolete! */
/* an API for external access to the templates. It takes a specifier
defined by enum TemplateType, in this file. HT_GetTemplate() returns
the basic HT_Pane corresponding to the requested type. */
PR_PUBLIC_API(HT_Pane) HT_GetTemplate(int templateType);
PR_PUBLIC_API(PRBool) HT_GetTemplateData(HT_Resource node, void* token, uint32 tokenType, void **nodeData);
PR_PUBLIC_API(PRBool) HT_GetNodeData (HT_Resource node, void *token,
uint32 tokenType, void **data);

View File

@ -168,6 +168,7 @@ typedef struct _RDF_NCVocabStruct {
/* Toolbar Appearance Styles */
RDF_Resource toolbarBitmapPosition; /* Bitmap's position ("side"/"top") */
RDF_Resource toolbarDisplayMode;
/* Cookie Stuff */

View File

@ -363,6 +363,7 @@ newHTEntry (HT_View view, RDF_Resource node)
nr->view = view;
if (existing != NULL)
{
nr->nextItem = existing->nextItem;
existing->nextItem = nr;
}
else
@ -628,8 +629,7 @@ bmkNotifFunc (RDF_Event ns, void* pdata)
htr = htr->nextItem;
}
}
else if ((aev->s == gCoreVocab->RDF_name) || (aev->s == gNavCenter->RDF_smallIcon) ||
(aev->s == gNavCenter->RDF_largeIcon))
else
{
htr = PL_HashTableLookup(hash, aev->u);
while (htr != NULL)
@ -5115,6 +5115,25 @@ ht_isURLReal(HT_Resource node)
PR_PUBLIC_API(HT_Pane)
HT_GetTemplate(int templateType)
{
XP_ASSERT(templateType == ht_template_chrome ||
templateType == ht_template_management ||
templateType == ht_template_navigation);
switch(templateType) {
case ht_template_chrome :
return gChromeTemplate;
case ht_template_management :
return gManagementTemplate;
case ht_template_navigation :
return gNavigationTemplate;
default :
return 0;
}
}
PR_PUBLIC_API(PRBool)
HT_GetTemplateData(HT_Resource node, void* token, uint32 tokenType, void **nodeData)
{
@ -5372,6 +5391,7 @@ HT_IsNodeDataEditable(HT_Resource node, void *token, uint32 tokenType)
(token == gNavCenter->viewRolloverColor) ||
(token == gNavCenter->viewPressedColor) || (token == gNavCenter->viewDisabledColor) ||
(token == gNavCenter->toolbarBitmapPosition) || (token == gNavCenter->toolbarButtonsFixedSize) ||
(token == gNavCenter->toolbarDisplayMode) ||
(token == gNavCenter->RDF_smallDisabledIcon) || (token == gNavCenter->RDF_largeDisabledIcon) ||
(token == gNavCenter->RDF_smallRolloverIcon) || (token == gNavCenter->RDF_largeRolloverIcon) ||
(token == gNavCenter->RDF_smallPressedIcon) || (token == gNavCenter->RDF_largePressedIcon) ||
@ -5894,6 +5914,7 @@ htIsPropertyInMoreOptions(RDF_Resource r)
(r == gNavCenter->triggerPlacement) || (r == gNavCenter->viewRolloverColor) ||
(r == gNavCenter->viewPressedColor) || (r == gNavCenter->viewDisabledColor) ||
(r == gNavCenter->toolbarBitmapPosition) || (r == gNavCenter->toolbarButtonsFixedSize) ||
(r == gNavCenter->toolbarDisplayMode) ||
(r == gNavCenter->RDF_smallDisabledIcon) || (r == gNavCenter->RDF_largeDisabledIcon) ||
(r == gNavCenter->RDF_smallRolloverIcon) || (r == gNavCenter->RDF_largeRolloverIcon) ||
(r == gNavCenter->RDF_smallPressedIcon) || (r == gNavCenter->RDF_largePressedIcon) ||

View File

@ -245,6 +245,7 @@ createNavCenterVocab () {
/* Toolbar Appearance Styles */
gNavCenter->toolbarBitmapPosition = newResource("toolbarBitmapPosition", 0 /* XXX "Toolbar Bitmap Position" */ );
gNavCenter->toolbarButtonsFixedSize = newResource("toolbarButtonsFixedSize", 0 /* XXX "Toolbar Bitmap Position" */ );
gNavCenter->toolbarDisplayMode = newResource("toolbarDisplayMode", 0);
gNavCenter->RDF_smallDisabledIcon = newResource("smallDisabledIcon", 0 /* XXX */);
gNavCenter->RDF_largeDisabledIcon = newResource("largeDisabledIcon", 0 /* XXX */);
gNavCenter->RDF_smallRolloverIcon = newResource("smallRolloverIcon", 0 /* XXX */);