home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright (C) 1994, Silicon Graphics, Inc.
- * All Rights Reserved.
- *
- * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
- * the contents of this file may not be disclosed to third parties, copied or
- * duplicated in any form, in whole or in part, without the prior written
- * permission of Silicon Graphics, Inc.
- *
- * RESTRICTED RIGHTS LEGEND:
- * Use, duplication or disclosure by the Government is subject to restrictions
- * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
- * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
- * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
- * rights reserved under the Copyright Laws of the United States.
- */
- //////////////////////////////////////////////////////////////////////////////
- // OkComponent.h -
- //////////////////////////////////////////////////////////////////////////////
- #ifndef OKCOMPONENT_H
- #define OKCOMPONENT_H
-
- #include <Vk/VkComponent.h>
-
- #include "OkCompoundString.h"
-
- #define cat(a,b) a ## b
-
- #define CALLBACKSTUB(className,name)\
- static void cat(name,CB)( Widget, XtPointer ptr, XtPointer cbInfo )\
- { className *obj = (className *) ptr; obj->_cbInfo = cbInfo; obj->name(); }
-
- #define CALLBACK(className,name) &className::cat(name,CB)
-
-
- class OkComponent : public VkComponent {
-
- protected:
- XtPointer _cbInfo;
-
- public:
- OkComponent( const char* name ) : VkComponent( name ) {}
- virtual ~OkComponent() {}
- virtual const char* className() { return "OkComponent"; }
-
- // Conveniences:
-
- void addCallback( const String name, XtCallbackProc func )
- { XtAddCallback( _baseWidget, name, func, XtPointer( this ) ); }
- void removeCallback( const String name, XtCallbackProc func )
- { XtRemoveCallback( _baseWidget, name, func, XtPointer( this ) ); }
-
- };
-
- #endif
-