awips2/nativeLib/rary.empty.motif/include/Xm/Protocols.h

122 lines
3.6 KiB
C
Raw Normal View History

2017-04-21 18:33:55 -06:00
/**
*
* $Id: Protocols.h,v 1.1 2004/08/28 19:23:25 dannybackx Exp $
*
* Copyright (C) 1995 Free Software Foundation, Inc.
* Copyright (C) 1995-2001 LessTif Development Team
*
* This file is part of the GNU LessTif Library.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
**/
#ifndef _XM_PROTOCOLS_H
#define _XM_PROTOCOLS_H
#include <Xm/Xm.h>
#include <Xm/AtomMgr.h>
#ifdef __cplusplus
extern "C" {
#endif
#define XmCR_WM_PROTOCOLS 6666
/* Some macros being defined here are called
"convenience" interfaces in the Motif docs and
specified as of type
void foo(...,...);
Since Motif only provides some of them as macros we dare
to do the very same! */
#define XM_WM_PROTOCOL_ATOM(shell) \
XmInternAtom(XtDisplay(shell), "WM_PROTOCOLS", FALSE)
#define XmAddWMProtocols(shell, protocols, num_protocols) \
XmAddProtocols(shell, XM_WM_PROTOCOL_ATOM(shell), \
protocols, num_protocols)
#define XmRemoveWMProtocols(shell, protocols, num_protocols) \
XmRemoveProtocols(shell, XM_WM_PROTOCOL_ATOM(shell), \
protocols, num_protocols)
#define XmAddWMProtocolCallback(shell, protocol, callback, closure) \
XmAddProtocolCallback(shell, XM_WM_PROTOCOL_ATOM(shell), \
protocol, callback, closure)
#define XmRemoveWMProtocolCallback(shell, protocol, callback, closure) \
XmRemoveProtocolCallback(shell, XM_WM_PROTOCOL_ATOM(shell), \
protocol, callback, closure)
#define XmActivateWMProtocol(shell, protocol) \
XmActivateProtocol(shell, XM_WM_PROTOCOL_ATOM(shell), \
protocol)
#define XmDeactivateWMProtocol(shell, protocol) \
XmDeactivateProtocol(shell, XM_WM_PROTOCOL_ATOM(shell), \
protocol)
#define XmSetWMProtocolHooks(shell, protocol, pre_h, pre_c, post_h, post_c) \
XmSetProtocolHooks(shell, XM_WM_PROTOCOL_ATOM(shell), \
protocol, pre_h, pre_c, post_h, post_c)
XMLIBEXPORT extern WidgetClass xmProtocolClass;
XMLIBEXPORT void XmActivateProtocol(Widget shell,
Atom property,
Atom protocol);
XMLIBEXPORT void XmAddProtocolCallback(Widget shell,
Atom property,
Atom protocol,
XtCallbackProc callback,
XtPointer closure);
XMLIBEXPORT void XmAddProtocols(Widget shell,
Atom property,
Atom *protocol,
Cardinal num_protocols);
XMLIBEXPORT void XmRemoveProtocolCallback(Widget shell,
Atom property,
Atom protocol,
XtCallbackProc callback,
XtPointer closure);
XMLIBEXPORT void XmRemoveProtocols(Widget shell,
Atom property,
Atom *protocols,
Cardinal num_protocols);
XMLIBEXPORT void XmDeactivateProtocol(Widget shell,
Atom property,
Atom proto_atom);
XMLIBEXPORT void XmSetProtocolHooks(Widget shell,
Atom property,
Atom proto_atom,
XtCallbackProc pre_hook,
XtPointer pre_closure,
XtCallbackProc post_hook,
XtPointer post_closure);
#ifdef __cplusplus
}
#endif
#endif /* _XM_PROTOCOLS_H */