home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Linux / Divers / angela-1.28-BETA-bin-Linux-i586.tar.gz / angela-1.28-BETA-bin-Linux-i586.tar / angela-1.28-BETA / README < prev    next >
Text File  |  1998-05-05  |  18KB  |  429 lines

  1. This is the README file for angela!
  2.  
  3. The angela! editor is distributed under the GPL License. Read the
  4. included LICENSE file for more informations. 
  5.  
  6. -------------------------------------------------------------------------------
  7. REMEMBER: THIS IS BETA SOFTWARE IN DEVELOPMENT STATE
  8.           ALL ODD MAJOR VERSION NUMBERS ARE BETA (DEVELOPMENT) VERSIONS !!!
  9. -------------------------------------------------------------------------------
  10.                                                                                 
  11.                      .:.    .!V!    ..                                          
  12.                     :VXVI. IXVX!  :!VX!                                         
  13.                III  !VVVI:.VVXX: IVVXI:   !:.                                   
  14.               !VVV!  .VI:..!!IX: VVVXV. IIVXI.                                  
  15.         :..:   !V!:   .!    ..:. .:!IV..VVXV:.                                  
  16.        :VVVVI. .!.                   . .!!IV: :!!!:                ::.          
  17.    !.:: :VV!..                             ...IVVVI:              :VV           
  18.  .IVIIV: :I:                                   :V!..             :V!:           
  19.  :IIIIII  ..                                    !:                .             
  20.   .!VI!:                                         .                              
  21.    :II!.                                          :V!II.        .               
  22.     !!:                                          :VVVXVI        ::              
  23. ::!!...                                           .!VV:.        !!              
  24. VIVVI:                                              .:.         !:              
  25. VVII!:                                       .:                                 
  26. VII::.                                     .IWX            .!                   
  27. !I!.                                      .WWWX            VWI   .              
  28. .::.                                       .XWX            XWV   I:             
  29. !:.                                        .VWX            VWI   II             
  30. VVI                                         VWX            IWI   !V             
  31. II!. :XWX!    !I IWW!    .VXXXI..  .IXXX.   VWX   IXXWV.   !W!                  
  32. !::.!WW.WW: !WWVXVXWW:  :WX..IWXV..X.  VW.  VWX  VWI IWW   !W:                  
  33. :...VWX.WWI !VWW:::WWI  XW! .:WX  W.   !WV  VWX  WW!.!WW   :W:                  
  34. .  ..:.:XWV.:IWV .:XWV .WW:  :XX !WXXXXXWW  VWX  .:  :WW.  :W.     :I.          
  35.        IWWV .!WV  :XWV .WW:  .XX VW.......  VWX     !XWW.  .W      !VI          
  36. .   :VV!XWV .!WV  :XWV .VWX  :WI.VW:     .  VWX  !VI:!WW.   V      .II          
  37. V: :WW.:XWV .!WV  :XWV  .IWWXWV .IWW.   :X  VWX :WV  :WW.                       
  38. VI.IWW.:WWV .!WV  :XWV  !X. .   .:WWW!.:WI  VWX !WX  :WW.                       
  39. I!:IWWXVWWXI:IWV  :XWX  WX!!!::. .VWWWWWW  .XWW !WWIIVWWI  IW!        .         
  40. ::.:XWWIVWW!IWWW!.IWWWV.XWWWWWWX .:VWWWW. .VWWWV:WWWI.WW!  VWI      :I:         
  41.  ..:.::.::..:!!:: :!!::.:X!!!!!V! ..:!!.   :!!!:.:!: .:!   .:.      IV:         
  42. !I!.                   .X.    .:!                                  :I.          
  43. IIII                   IW!     I                                                
  44. VI!:.                  :WWWXVXW!                                                
  45. I!:..                  .:VXWWV!                               :!I:              
  46. !:.                    .......                                VVI               
  47. :!IVV.                    .                                     .               
  48.  :IVVIV:                                                                        
  49.   :VVVVI                                           !VVVI                        
  50.   :VVI!III.                                         !VI:.                       
  51.   .::::IVVII!                                       .I!.                        
  52.    ... .VVVVV:                                 !!:   .:                         
  53.        .VVVVVV!I                              !VVV:                             
  54.        .VVI!IVVV!I.  ..                .I!:I! :!V!:                             
  55.         :::..:IVVVVIIVV!: :!!:!:.!!:!!!!IVIVVI..!.                              
  56.               IV!!II:VVVVVIVVIVVVVVIVVV!!VII!!.                                 
  57.               :!::::!VVIVV:!VVII!!IVIII:.II!:..                                 
  58.                ..  .:II!!!::VVI:::IVI!:. :!:.                                   
  59.                      .:.... :I!....I!:.   ..                                    
  60.                       .      ::    .:.                                          
  61.                               .     .                                           
  62.  
  63. angela! stands for:   A ngela is a
  64.                       N atural
  65.                       G raph
  66.                       E ditor with
  67.                       L ayout
  68.                       A lgorithms
  69.                       ! 
  70.  
  71. angela! is also a nice name ;)
  72.  
  73. -------------------------------------------------------------------------------
  74. angela! is a mouse-driven graph editor. 
  75. angela! should be easy to learn in order to help creating in short time graphs 
  76. for presentations, technical papers...
  77. New functions should be easy to code as plugins (modules in angela! jargon) in
  78. high-level languages like C and very high languages like Tcl.
  79.  
  80. -------------------------------------------------------------------------------
  81. What do I need to use angela! ?
  82. -------------------------------
  83.  
  84. For binary distributions, only Tcl/Tk Version 8.0p2 and Tix 4.1 are
  85. necessary. Contact your system administrator to help you installing these
  86. tools (also used by other programs, so the disk space is not wasted ;) )
  87. These tools are installed by default (or at least included) in modern Linux 
  88. distributions.
  89.  
  90. The developpment platform is Linux 2.0.33 with glibc libraries as there
  91. are provided with RedHat 5.0. Porting angela! to other systems should not
  92. be difficult, but is still untested. I use following tools:
  93.  
  94.     - Standard C compiler (no C++ code at this time)
  95.     - CWEB Version 3.4
  96.     - Tcl/Tk Version 8.0p2
  97.     - Tix 4.1
  98.  
  99. -------------------------------------------------------------------------------
  100. How to install the source version ?
  101. -----------------------------------
  102.  
  103. Unpack the distribution source package into a new directory. 
  104.  
  105. Launch the configure script by doing
  106.     
  107.     ./configure
  108.  
  109. If this fails at the time the script is looking for tcl.h or
  110. tk.h, you should provide a command-line argument to help the
  111. script finding the required files:
  112.  
  113.     ./configure --with-tcl=/somewhere/to/find/includes \
  114.         --with-tk=/somewhere/to/find/includes
  115.  
  116. Take a look to the freshly-created Makefile.common and make some 
  117. changes. Please reminder that these changes will disappear when 
  118. calling ./configure again. If you want to make permanent changes,
  119. then edit the Makefile.common.in file.
  120.  
  121. Then do a 
  122.  
  123.     make exec
  124.  
  125. PLEASE USE GNU MAKE. On some systems, GNU make is called gmake.
  126.  
  127. After a (little) while, some *.o files should appear in your directory and
  128. you should be able to launch the program by typing
  129.  
  130.     ./angela
  131.  
  132. If the program complains, that he cannot find Tcl/Tk (wish) or perhaps the
  133. Tix toolkit (tixwish4.1.8.0), edit the first some lines of the file angela
  134. to correct bad path settings. You can also make a symbolic link from the 
  135. position where tixwish4.1.8.0 resides to the same file in the current
  136. directory.
  137.  
  138. *** IF NOTHING WORKS ***
  139.  
  140. If nothing helps, then double check, that you have the correct CWEB
  141. version. Send me a bug report with a copy of the error messages and a
  142. copy of the result of a "make configuration".
  143.  
  144. -------------------------------------------------------------------------------
  145. How to install the binary version ?
  146. -----------------------------------
  147.  
  148. Check that you have installed the few tools that are required (Tcl/Tk and Tix).
  149. unpack the distribution archive into a new directory. Step into it and type
  150.  
  151.     angela
  152.  
  153. on some systems (if the current directory is not in the PATH environment), 
  154. you will need to type
  155.  
  156.     ./angela
  157.  
  158. If this does not work, then send me a bug report.
  159.  
  160. -------------------------------------------------------------------------------
  161. What can angela! do at this time ?
  162. ----------------------------------
  163.  
  164. I must divide this section in two parts. First the features a user can see
  165. when he uses angela! and second, the features a programmer has when he is
  166. using the module mechanism of angela!
  167.  
  168. See the CHANGES file for informations about the evolution of the last
  169. versions of angela!
  170.  
  171. Features with a *** indicates new or changed features for the current release.
  172.  
  173. So, here is what a user sees and can use:
  174.  
  175.     - Creating nodes.
  176.     - Creating edges.
  177.     - Creating edge bends.
  178.     - Changing all attributes of the nodes (also their shape and text).
  179.     - Changing all attributes of the edges (also their line aspect).
  180.     - Moving nodes.
  181.     - Moving edges.
  182.     - Moving edge bends.
  183.     - Saving to PLING format.
  184.     - Load from PLING format.
  185.       (note that the PLING format cannot save all features angela! provides)
  186.     - Saving of window positions.
  187.     - Saving of save and load directories.
  188.     - Grid facility to help manual alignment.
  189.     - Selecting Nodes in edit mode with Ctrl-Left Click and middle click.
  190.     - Deleting selected nodes with related edges.
  191.     - Style manager for changing quickly the different attributes of nodes
  192.       and edges.
  193.     - Context menu for edges and nodes.
  194.     - Configuration mechanism.
  195.     - Executing of external programs manipulating the PLING format.
  196.     - Load and save using GML format.
  197.     - Generate Tcl/Tk programs for tcl plugin and stand-alone viewing.
  198.  
  199. And for programmers:
  200.     
  201.     - Easy interface to angela! for writing all sorts of modules in Tcl or
  202.       in C. This API can also be used to create stand-alone modules for
  203.           Tcl.
  204.  
  205. -------------------------------------------------------------------------------
  206. What features will angela! acquire ?
  207. ------------------------------------
  208.  
  209.     - The "Natural" part which consist of a mass-spring simulator
  210.       giving the user the possibility to create constraints between
  211.           nodes
  212.     - Interface to AGD. For more informations about this library,
  213.       take a look at 
  214.         http://www.mpi-sb.mpg.de/~mutzel/dfgdraw/agdlib.html
  215.     - Interface to LEDA. Please note that LEDA is NOT distributed under
  216.       the GPL License. For research purposes, LEDA is free. For any other
  217.       purpose, LEDA must be licensed. See the LEDA WWW-Site for more 
  218.       Informations ( http://www.mpi-sb.mpg.de/LEDA ).
  219.     - Better documentation
  220.  
  221. -------------------------------------------------------------------------------
  222. How to contribute/participate ?
  223. -------------------------------
  224.  
  225. Using angela! is already a great participation and help for me. If you are
  226. connected to the Internet, then you can send me bug reports in any form, or
  227. by using the built-in Bug Report dialog box (in the File menu).
  228. Also positive experiences are welcome.
  229.  
  230. You can also write modules to improve/optimize existing algorithms or to
  231. extend the functionality.
  232.  
  233. See the mailing-list section to get access to a more usefull source of
  234. information.
  235.  
  236. -------------------------------------------------------------------------------
  237. New versions ?
  238. --------------
  239.  
  240. The actual version is at this time under the following URL:
  241.  
  242.     http://www.mpi-sb.mpg.de/~pabst/angela
  243.  
  244. -------------------------------------------------------------------------------
  245. Mailing-list
  246. ------------
  247.  
  248. There is a mailing-list for users and developpers who want to share their
  249. experiences, report bugs or talking about the underlying philosophy of angela!
  250.  
  251. The mail adress is:
  252.     
  253.     angela@itm.uni-sb.de
  254.  
  255. and you must subscribe to this list:
  256.  
  257.     Send a mail with empty body and subject: "subscribe" to
  258.     angela-request.itm.uni-sb.de
  259.  
  260. To unsubscribe from this list:
  261.  
  262.     Send a mail with empty body and subject: "unsubscribe" to
  263.     angela-request.itm.uni-sb.de
  264.  
  265. -------------------------------------------------------------------------------
  266. Thanks
  267. ------
  268.  
  269. for Assistance:
  270.     - Dr. Petra Mutzel     <mutzel@mpi-sb.mpg.de>
  271.     - Carsten Gutwenger    <gutwenge@mpi-sb.mpg.de>
  272.     - Thomas Ziegler     <tziegler@mpi-sb.mpg.de>
  273.  
  274. for Bug reports:
  275.     - Perry Couprie        <perry@office.netland.nl>
  276.     - Dov Grobgeld         <dov@Orbotech.Co.IL>
  277.     - Markus Hennig        <hennig@planNET.de>
  278.     - Michael Hirsch     <hirsch@mathcs.emory.edu>
  279.     - Bernt Hullen        <Bernt.Hullen@ruhr-uni-bochum.de>
  280.     - Bastian Kleineidam    <calvin@mpi-sb.mpg.de>
  281.     - Syrus Nemat-Nasser     <syrus@ucsd.edu>
  282.     - Erik Rantapaa        <rantapaa@uswest.net>
  283.     - Aharon Schkolnik    <aharon@health.gov.il>
  284.     - Karl-Heinz Schramm    <Karl-Heinz.Schramm@FernUni-Hagen.de>
  285.     - Nicolas Thiery    <nthiery@clipper.ens.fr> 
  286.     - Curtis Vagner        <cvarner@cs.ucr.edu>
  287.     - Scott Wisniewski     <scott@tigger.cs.uwm.edu> 
  288.  
  289. for Code:
  290.     - Marcus Raitner    <raitner@fmi.uni-passau.de>
  291.        Scanner and Parser for GML file format.
  292.  
  293. -------------------------------------------------------------------------------
  294. User Frequently Asked Questions
  295. -------------------------------
  296.  
  297. Q1: How can I add edge bends ?
  298. ------------------------------
  299. A1: Simply click on "Create Edge" and then on one point of an existing
  300.     edge. The bend will appear as a little black box. It will disappear
  301.     if the mouse cursor moves over another edge.
  302.  
  303. Q2: How can I move edge bends ?
  304. -------------------------------
  305. A2: Click on "Edit Object" and then move over an edge. The bends of this
  306.     edge will appear and you can drag them away.
  307.  
  308. Q3: How can I set the grid size ?
  309. ---------------------------------
  310. A3: At this time only by editing the angela.rc configuration file.
  311.  
  312. Q4: How can I select a node ?
  313. -----------------------------
  314. A4: Click on "Edit Object" and then click on the node you will (de)select
  315.     and press the Ctrl-Key at the same time.
  316.  
  317. Q5: How can I delete some nodes ?
  318. ---------------------------------
  319. A5: Select them (see A4) and then choose "Cut" in the "Edit" menu.
  320.  
  321. Q6: I really need function X. Will you implement it ?
  322. -----------------------------------------------------
  323. A6: Send me a wish list via email and I will try to incorporate it into a
  324.     future version of angela! See also the mailing-list section to get
  325.     direct access with developpers and users.
  326.  
  327. Q7: Why are you always writing a ! after angela! ?
  328. --------------------------------------------------
  329. A7: Because angela! is the answer. ;)
  330.     In analogy to:
  331.  
  332.     Micr*s*ft is not the answer.
  333.     Micr*s*ft is the question.
  334.     The answer is NO.
  335.  
  336.                 (thanks to jm !)
  337.  
  338. Q8: What is this PLING format ?
  339. -------------------------------
  340. A8: See http://www.mpi-sb.mpg.de/~schwartz/pling.ps
  341.  
  342. Q9: How can I delete edges ?
  343. ----------------------------
  344. A9: You can remove an adjacent node or use the context menu by clicking
  345.     with the right mouse button on an edge.
  346.  
  347. Q10: I installed a new release of angela! and some dialog boxes look strange
  348.      or some modules are missing!
  349. ----------------------------------------------------------------------------
  350. A10: angela! is saving the geometry of the main dialog boxes in a file called
  351.      angela.rc in your home directory. This geometry constrain can have the
  352.      negative side-effect that some new items in dialog boxes become invisible.
  353.      You will have to stretch the dialog box manually one time or to erase
  354.      the angela.rc file in your HOME directory.
  355.      Also the list of modules to be loaded at runtime is stored in this 
  356.      configuration file.
  357.  
  358. Q11: How can I use the external calling of program feature 
  359.      (in menu Tools->PLING external program) ?
  360. ----------------------------------------------------------
  361. A11: You need the module_plingexternal.tcl module to be loaded at startup.
  362.  
  363.      a) you need a command-line program (let's call it filter) that reads a 
  364.         PLING file, does some work with the contained graph and then writes 
  365.         the result to a new PLING file.
  366.  
  367.      b) you need to register this filter:
  368.  
  369.           i) Click on Tools->PLING external program->Configure
  370.  
  371.          ii) Click on Insert new item
  372.  
  373.         iii) Enter the desired name
  374.  
  375.          iv) Enter the command for the filter. Try to use an absolute path.
  376.  
  377.              %i will be expanded into a temporary file with PLING content of
  378.                 graph before processing.
  379.  
  380.              %o will be expanded into a temporary file with PLING content of
  381.                 graph after processing. %o will be loaded by angela!
  382.  
  383.              Example:  /usr/bin/plingfilter -some -switches %i 276 345 > %o
  384.  
  385.           v) Click on Done, then Done again.
  386.  
  387.      c) A new menu entry under Tools->PLING external program should be now
  388.         active with the name you entered in iii)
  389.  
  390.      d) Save the configuration to use this settings with future sessions with
  391.         angela!
  392.  
  393. Q12: Where can I get informations about the GML file format ?
  394. -------------------------------------------------------------
  395. A12: See http://www.fmi.uni-passau.de/~himsolt/Graphlet/GML/index.html             
  396.  
  397. Q13: What non-standard attributes have been used in the GML format supported
  398.      by angela! ?
  399. ----------------------------------------------------------------------------
  400. A13: Since there are some informations that cannot be represented with the
  401.      standard GML tags, I introduced some inofficial attributes.
  402.  
  403.      * the labelgraphics|font attribute does only understand standard X11
  404.        font descriptions. I wanted to continue using the "Arial 12 bold"
  405.        form, which is much more readable. The new attribute is called
  406.        pifont for platform independent font.
  407.  
  408.      * The physical values for velocity, acceleration and mass for nodes have
  409.        been grouped in a physics section. The attributes are called
  410.        physics|X where X is vx, vy, ax, ay or mass.
  411.     
  412.      * The physical values for rest length, spring constant and dampering
  413.        constant for edges have been grouped in a physics section. The attributes
  414.        are called physics|X where X is restlen, ks or kd.
  415.  
  416. -------------------------------------------------------------------------------
  417. Epilogue
  418. --------
  419.  
  420. Thank you for using some of your time with this project.
  421.  
  422. -------------------------------------------------------------------------------
  423. Friend: "I am using Wind*ws 95!"
  424. Me:     "Hmmmm."
  425. Friend: "My computer is not working properly"
  426. Me:     "You already said that."
  427. -------------------------------------------------------------------------------
  428. (non Eric, ce n'est pas toi l'ami en question ;)
  429.