home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 November / pcwk_11_98a.iso / Wtestowe / SOFTSRC / vtrial15.exe / DATA.1 / Vplugin.h < prev    next >
C/C++ Source or Header  |  1997-02-08  |  3KB  |  93 lines

  1. /*
  2. Vdraft plugin support file    - vplugin.h
  3.     (C) Copyright 1997 by SoftSource.  All rights reserved.
  4. Scott Sherman 1-97...
  5.  
  6.     A Vdraft plugin must export vfLoad.
  7.     This file contains definitions of event information
  8.         and prototypes for plugin functions that Vdraft can call.
  9. */
  10.  
  11. #ifndef VPLUGIN_HPP
  12. #define VPLUGIN_HPP
  13.  
  14. /*********************************/
  15. /* specific Vdraft plugin events */
  16.  
  17. /* IPickEvents */
  18. enum vePickEvent
  19. {
  20.     vePE_Point,    /* a point has been picked */
  21.     vePE_Cancel,    /* pick was aborted */
  22.     vePE_Done,        /* Done chosen from popup */
  23.     vePE_Properties,    /* Properties chosen from popup */
  24.     vePE_Undo,        /* Undo chosen from popup */
  25. };
  26.  
  27. /* IPickEvents */
  28. enum veDrawEvent
  29. {
  30.     veDE_Done,        /* drawing is completely done */
  31.     veDE_Cancel,    /* drawing has been aborted */
  32.     veDE_Pick        /* a point has been picked */
  33. };
  34.  
  35. /* ISelectionEvents */
  36. enum veSelectEvent
  37. {
  38.     veSE_Done,        /* the user is done selecting objects */
  39.     veSE_Cancel        /* the user aborted the selection process */
  40. };
  41.  
  42. /* the add-on id is a unique identifier created at run-time
  43.     it should be passed to Vdraft when requesting events
  44.     it is passed back to the plugin
  45. */
  46. typedef long vtAddOnID;
  47.  
  48.  
  49. /**************************************/
  50. /* Return values for plugin functions */
  51. enum veReturn
  52. {
  53.     veR_OK,        /* return to continue */
  54.     veR_Unload,    /* return if the plugin should be unloaded immediately */
  55.     veR_DontUnload = veR_OK
  56. };
  57.  
  58.  
  59. /***************************/
  60. /* Vdraft plugin functions */
  61.  
  62. /* vfLoad is the only function that is required to exist for the plugin to be loaded
  63.     it is called when the plugin is first loaded - good time to add commands to Vdraft
  64. */
  65. veReturn vfLoad(vtAddOnID id);
  66.  
  67. /* Vdraft is going to end - plugin should return veR_Unload if it isn't busy */
  68. veReturn vfQueryUnload(vtAddOnID id);
  69.  
  70. /* Vdraft is ending - plugin should do final cleanup */
  71. veReturn vfUnload(vtAddOnID id);
  72.  
  73. /* IApplicationEvents */
  74. /* the user has selected a plugin-defined command */
  75. veReturn vfCommand(vtAddOnID id, long eventid);
  76.  
  77. /* IPickEvents::RequestPick */
  78. /* the user has picked a point or done something related to picking a point */
  79. veReturn vfPickEvent(vtAddOnID id, vePickEvent event, double* point, long info);
  80.  
  81. /* IPickEvents::RequestDraw */
  82. /* the user has generated an event related to drawing an object */
  83. veReturn vfDrawEvent(vtAddOnID id, veDrawEvent event, double* point, short picknumber, long info);
  84.  
  85. /* ISelectionEvents::RequestSelect or RequestSingleSelect */
  86. /* the user has finished selecting objects */
  87. veReturn vfSelectEvent(vtAddOnID id, veSelectEvent event, long info);
  88.  
  89. /* the user has asked for help on something provided by the plugin */
  90. veReturn vfHelpEvent(vtAddOnID id, long helptoken);
  91.  
  92. #endif /* VPLUGIN_HPP */
  93.