home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / intrvews / xgrab.lha / xgrab / include / interf.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-04-20  |  4.9 KB  |  95 lines

  1. /**
  2.    GRAB Graph Layout and Browser System
  3.  
  4.    Copyright (c) 1989, Tera Computer Company
  5.  **/
  6.  
  7.   /* ultra way-exciting interface so C routines can call C++ routines */
  8.  
  9. #ifndef interf_h
  10. #define interf_h
  11.  
  12. #include "attribute.h"
  13.  
  14. #define NUMOPTS 11    /* better be the same as in bview.h */
  15.  
  16. extern void IChangeStatusLine ();   /* print a message in the status line */
  17. extern void IChangeFileName ();        /* print the file name */
  18. extern void IChangeGraphName ();    /* print the graph name */
  19. extern char *IGetText ();        /* pop up a dialog box and get some text */
  20. extern void IChangeToggles ();        /* mark the proper items in the options
  21. extern                       menu with stars */
  22. extern void IAddNode ();        /* add a node */
  23. extern void IAddEdge ();        /* add an edge */
  24. extern void IAddLine ();        /* add a free-floating line */
  25. extern void IEraseGraph ();        /* recycle the graph */
  26. extern void ISetCursor ();        /* change the cursor */
  27. extern void IUnsetCursor ();        /* return the cursor to normal */
  28. extern void ICenterGraph();        /* make the graph fit nice and tidy in the
  29. extern                       window */
  30. extern void IUpdateP();            /* inform the graph window the perspective
  31. extern                       has changed */
  32. extern void IUpdateG();            /* inform the graph window the graph 
  33. extern                       has changed */
  34. extern void IChangeZGrad();        /* change the zoom gradient */
  35. extern void IChangePGrad();        /* change the pan gradient */
  36. extern void IRedrawWorld();        /* redraw everything */
  37. extern void IGetBounds();        /* find the size of the graph window */
  38. extern void IPrintHelp();        /* pop up the help windows */
  39. extern char IConfirm();            /* pop up a dialogbox and get 
  40. extern                       confirmation for something */
  41. extern void IInitFonts();        /* initialize the fonts */
  42. extern void ISetFont();            /* set the fonts */
  43. extern BOOL ITextFits();        /* see if some text will fit in a 
  44. extern                       certain space */
  45. extern BOOL IOnNonDummyNode();        /* are we on a non-dummy node? */
  46. extern BOOL IOnNode();            /* are we on a node? */
  47. extern BOOL IOnEdge();            /* are we on an edge? */
  48. extern char *ICurNode();        /* what node are we on? */
  49. extern char *ICurEdge();        /* what edge are we on? */
  50. extern void IForceEL();            /* force edge labels to be printed */
  51. extern void INoForceEL();        /* force edge labels to be not printed */
  52. extern void IForceNL();            /* force node labels to be printed */
  53. extern void INoForceNL();        /* force node labels to be not printed */
  54. extern void IChangeLabels();        /* change node/edge labels */
  55. extern void IChangeForceNL();        /* inform the graph that node labels
  56. extern                       have been forced/unforced */
  57. extern void IChangeForceEL();        /* inform the graph that edge labels
  58. extern                       have been forced/unforced */
  59. extern void IChangePA();        /* inform the graph that arrows have
  60. extern                       been forced/unforced */
  61. extern void IChangeMarkDummy();        /* inform the graph that dummy nodes
  62. extern                       should/should not be marked */
  63. extern void IFindSmallestFont();    /* get the size of the smallest font */
  64. extern void IFocusGraph();        /* focus the graph on a certain position */
  65. extern void IChangeNodeText();        /* change the text of a node */
  66. extern void IChangeEdgeLabel();        /* change the label of an edge */
  67. extern void IDelEdge();            /* delete an edge */
  68. extern void IDelNode();            /* delete a node */
  69. extern void IGetCurPos();        /* get the current cursor position */
  70. extern void ISetupMove();        /* get things ready for a move */
  71. extern void IChangeBC();        /* inform the graph that barycenter should/
  72. extern                       should not be printed */
  73. extern void IResetCurrent();        /* recalculate who's under the cursor */
  74. extern void IChangeEdge();        /* change built-in attributes for an edge */
  75. extern void IChangeNode();        /* change built-in attributes for a node */
  76. extern SHAPE ICurShape();        /* get the current shape (on the side) */
  77. extern BRUSH ICurBrush();        /* get the current brush (on the side) */
  78. extern COLOR ICurColor();        /* get the current color (on the side) */
  79. extern BOOL IColorSet();        /* is a color set (on the side?) */
  80. extern BOOL IBrushSet();        /* is a brush set (on the side?) */
  81. extern BOOL IShapeSet();        /* is a shape set (on the side?) */
  82. extern SHAPE INextShape();        /* get the next shape */
  83. extern BRUSH INextBrush();         /* get the next brush */
  84. extern COLOR INextColor();        /* get the next color */
  85. extern void ISetPS();            /* set the postscript font */
  86. extern int IWidthPS();            /* find the width of some text in the 
  87. extern                       postscript font */
  88. extern void ISetDisplayed();        /* display the graph attributes window */
  89. extern void IShowNAttr();        /* display the attributes of a node */
  90. extern void IShowEAttr();        /* display the attributes of an edge */
  91. extern void IEraseAttrBox();        /* erase the displayed attributes */
  92. extern void ISetAttrNames();        /* give the names of the attributes */
  93.  
  94. #endif
  95.