This commit is contained in:
ramiro%netscape.com 1998-09-28 19:42:46 +00:00
Родитель dd04fc2bbb
Коммит 17f4c00bfc
3 изменённых файлов: 150 добавлений и 8 удалений

Просмотреть файл

@ -5244,10 +5244,27 @@ from the network, or save to a file and then play from the file?
@CLASS@*tipShell.borderColor: Black
@CLASS@*tipShell.borderWidth: 1
!!
!! Tool Tips
!!
@CLASS@*ToolTipShell*background: #FFFFCC
@CLASS@*ToolTipShell*foreground: black
@CLASS@*ToolTipShell.borderColor: black
@CLASS@*ToolTipShell.borderWidth: 1
@CLASS@*ToolTipShell.shadowThickness: 0
@CLASS@*ToolTipLabel.fontList: -*-helvetica-medium-r-*-*-*-120-*-*-*-*-iso8859-*
@CLASS@*ToolTipLabel.marginLeft: 2
@CLASS@*ToolTipLabel.marginRight: 2
@CLASS@*ToolTipLabel.marginTop: 2
@CLASS@*ToolTipLabel.marginBottom: 2
@CLASS@*ToolTipLabel.shadowThickness: 1
!
! Browser documentation and tip strings
!
! Navigator/Toolbar (tip strings and special documentation strings)
*back.tipString: Go to previous page
*forward.tipString: Go to next page

Просмотреть файл

@ -34,6 +34,8 @@
#include <Xfe/BmCascade.h>
#include <Xm/XmAll.h>
#include <Xfe/ToolTip.h>
#include "xpgetstr.h" // for XP_GetString()
extern int XFE_UNTITLED;
@ -230,13 +232,24 @@ XFE_Button::createButton(Widget parent,WidgetClass wc)
&XFE_Button::activate_cb,
(XtPointer) this);
/* Add tooltip to button */
#if 1
fe_AddTipStringCallback(button, XFE_Button::tip_cb, this);
#else
// Add tooltip to button
fe_WidgetAddToolTips(button);
#endif
// Add tip string support
XfeTipStringAdd(button);
XfeTipStringSetObtainCallback(button,
&XFE_Button::tipStringObtainCB,
(XtPointer) this);
// Add doc string support
XfeDocStringAdd(button);
XfeDocStringSetObtainCallback(button,
&XFE_Button::docStringObtainCB,
(XtPointer) this);
XfeDocStringSetCallback(button,
&XFE_Button::docStringCB,
(XtPointer) this);
return button;
}
//////////////////////////////////////////////////////////////////////////
@ -672,3 +685,87 @@ fe_buttonSetPixmaps(Widget button,IconGroup * ig)
}
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
//
// Tool tip support
//
//////////////////////////////////////////////////////////////////////////
/* virtual */ void
XFE_Button::tipStringObtain(XmString * stringReturn,
Boolean * needToFreeString)
{
// XFE_Frame * frame = (XFE_Frame *) getToplevel();
// char * psz = frame->getTipString(m_cmd);
*stringReturn = XfeTipStringGetFromAppDefaults(m_widget);
*needToFreeString = False;
}
//////////////////////////////////////////////////////////////////////////
/* virtual */ void
XFE_Button::docStringObtain(XmString * stringReturn,
Boolean * needToFreeString)
{
// XFE_Frame * frame = (XFE_Frame *) getToplevel();
// char * psz = frame->getDocString(m_cmd);
*stringReturn = XfeDocStringGetFromAppDefaults(m_widget);
*needToFreeString = False;
}
//////////////////////////////////////////////////////////////////////////
/* virtual */ void
XFE_Button::docStringSet(XmString /* string */)
{
XFE_Frame * frame = (XFE_Frame *) getToplevel();
frame->notifyInterested(Command::commandArmedCallback,(void*) m_cmd);
}
//////////////////////////////////////////////////////////////////////////
/* virtual */ void
XFE_Button::docStringClear(XmString /* string */)
{
XFE_Frame * frame = (XFE_Frame *) getToplevel();
frame->notifyInterested(Command::commandDisarmedCallback, (void*) m_cmd);
}
//////////////////////////////////////////////////////////////////////////
/* static */ void
XFE_Button::tipStringObtainCB(Widget /* w */,
XtPointer clientData,
XmString * stringReturn,
Boolean * needToFreeString)
{
XFE_Button * button = (XFE_Button *) clientData;
button->tipStringObtain(stringReturn,needToFreeString);
}
//////////////////////////////////////////////////////////////////////////
/* static */ void
XFE_Button::docStringObtainCB(Widget /* w */,
XtPointer clientData,
XmString * stringReturn,
Boolean * needToFreeString)
{
XFE_Button * button = (XFE_Button *) clientData;
button->docStringObtain(stringReturn,needToFreeString);
}
//////////////////////////////////////////////////////////////////////////
/* static */ void
XFE_Button::docStringCB(Widget /* w */,
XtPointer clientData,
unsigned char reason,
XmString string)
{
XFE_Button * button = (XFE_Button *) clientData;
if (reason == XfeDOC_STRING_SET)
{
button->docStringSet(string);
}
else if (reason == XfeDOC_STRING_CLEAR)
{
button->docStringClear(string);
}
}
//////////////////////////////////////////////////////////////////////////

Просмотреть файл

@ -135,6 +135,34 @@ protected:
static void tip_cb(Widget, XtPointer, XtPointer cb_data);
virtual void tipCB(Widget, XtPointer cb_data);
virtual void tipStringObtain (XmString * stringReturn,
Boolean * needToFreeString);
virtual void docStringObtain (XmString * stringReturn,
Boolean * needToFreeString);
virtual void docStringSet (XmString string);
virtual void docStringClear (XmString string);
private:
static void tipStringObtainCB (Widget w,
XtPointer clientData,
XmString * stringReturn,
Boolean * needToFreeString);
static void docStringObtainCB (Widget w,
XtPointer clientData,
XmString * stringReturn,
Boolean * needToFreeString);
static void docStringCB (Widget w,
XtPointer clientData,
unsigned char reason,
XmString string);
};
extern void fe_buttonSetPixmaps(Widget button,IconGroup * group);