home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 mARCH / PCWK3A99.iso / Linux / DDD331 / DDD-3_1_.000 / DDD-3_1_ / ddd-3.1.1 / ddd / Swallower.h < prev    next >
C/C++ Source or Header  |  1998-08-24  |  3KB  |  88 lines

  1. // $Id: Swallower.h,v 1.1 1998/08/24 19:33:14 zeller Exp $ -*- C++ -*-
  2. // Swallower Widget - swallow a user application
  3.  
  4. // Copyright (C) 1998 Technische Universitaet Braunschweig, Germany.
  5. // Written by Andreas Zeller <zeller@ips.cs.tu-bs.de>.
  6. // 
  7. // This file is part of DDD.
  8. // 
  9. // DDD is free software; you can redistribute it and/or
  10. // modify it under the terms of the GNU General Public
  11. // License as published by the Free Software Foundation; either
  12. // version 2 of the License, or (at your option) any later version.
  13. // 
  14. // DDD is distributed in the hope that it will be useful,
  15. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  17. // See the GNU General Public License for more details.
  18. // 
  19. // You should have received a copy of the GNU General Public
  20. // License along with DDD -- see the file COPYING.
  21. // If not, write to the Free Software Foundation, Inc.,
  22. // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  23. // 
  24. // DDD is the data display debugger.
  25. // For details, see the DDD World-Wide-Web page, 
  26. // `http://www.cs.tu-bs.de/softech/ddd/',
  27. // or send a mail to the DDD developers <ddd@ips.cs.tu-bs.de>.
  28.  
  29. #ifndef _DDD_Swallower_h
  30. #define _DDD_Swallower_h
  31.  
  32. #ifdef __GNUG__
  33. #pragma interface
  34. #endif
  35.  
  36. #include <X11/Intrinsic.h>
  37. #include <X11/StringDefs.h>
  38.  
  39. // This widget `swallows' an X application.  You pass the app window,
  40. // and it will be reparented as a child of this widget.
  41. //
  42. // Resources:
  43. //
  44. // window
  45. //     The application window to be swallowed, or `None'.
  46. //
  47. // Realizing the widget requires WINDOW to be non-None.
  48. //
  49. //
  50. // Callbacks:
  51. //
  52. // windowGoneCallback
  53. //     Called whenever the app window is destroyed or reparented.
  54. //
  55. // windowCreatedCallback
  56. //     Called whenever a new app window is created.
  57. //     Useful if you have to wait for the app window.
  58. //
  59. // Each callback is passed a `SwallowerInfo' structure pointer:
  60.  
  61. struct SwallowerInfo {
  62.     Window window;
  63.     XEvent *event;
  64. };
  65.  
  66. // WINDOW is the window gone or created; EVENT is the event causing
  67. // the callback.
  68. //
  69. // For `windowCreatedCallback' to function properly, this 
  70. // should be called whenever an X event is processed:
  71.  
  72. extern void SwallowerCheckEvents();
  73.  
  74.  
  75. // Declare specific Swallower class and instance datatypes
  76. typedef struct _SwallowerClassRec *SwallowerWidgetClass;
  77. typedef struct _SwallowerRec      *SwallowerWidget;
  78.  
  79. // Declare the class constant
  80. extern WidgetClass swallowerWidgetClass;
  81.  
  82. // Define any new resources
  83. #define XtNwindowGoneCallback    "windowGoneCallback"
  84. #define XtNwindowCreatedCallback "windowCreatedCallback"
  85.  
  86. #endif // _DDD_Swallower_h
  87. // DON'T ADD ANYTHING BEHIND THIS #endif
  88.