home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / sys / next / software / 2753 < prev    next >
Encoding:
Text File  |  1992-11-22  |  11.6 KB  |  331 lines

  1. Newsgroups: comp.sys.next.software
  2. Path: sparky!uunet!zaphod.mps.ohio-state.edu!rpi!think.com!ames!purdue!mentor.cc.purdue.edu!noose.ecn.purdue.edu!en.ecn.purdue.edu!davis
  3. From: davis@en.ecn.purdue.edu (Robert E Davis)
  4. Subject: Available for FTP:  a NeXTSTEP front-end for GNUPLOT 3.2
  5. Message-ID: <1992Nov22.201728.11006@en.ecn.purdue.edu>
  6. Organization: Purdue University Engineering Computer Network
  7. Date: Sun, 22 Nov 92 20:17:28 GMT
  8. Lines: 321
  9.  
  10.  
  11.     The pre-release version of a NeXTSTEP front-end for Gnuplot is
  12.     now available via anonymous FTP from Oregon State
  13.     (cs.orst.edu) and Purdue (sonata.cc.purdue.edu).
  14.  
  15.  
  16. NeXTSTEP Gnuplot 0.47 is completely integrated with Gnuplot 3.2 and
  17. requires no prior experience with or knowledge of the original
  18. plotting program.  This app was written without any change to the
  19. original source (except renaming main() to something less obtrusive
  20. and adding a custom terminal type) and may be run either as a NeXTSTEP
  21. app from the Workspace or as the original command line program from
  22. Terminal or Stuart.
  23.  
  24.  
  25.     NeXTSTEP features:
  26.  
  27.     + Exports Encapsulated PostScript (EPS), Tag Image File Format
  28.       (TIFF), the document filename, and ASCII text selections to
  29.       Service-providers and exports EPS, PS fonts, and ASCII text
  30.       selections via Copy/Paste.
  31.  
  32.     + Allows drag and drop of EPS plots into other NeXTSTEP
  33.       applications, such as the Workspace, Mail, Create, or Diagram.
  34.  
  35.     + Accepts drag and drop of ASCII text files containing
  36.       columns of numerical data to be plotted.
  37.  
  38.     + Font selection through the standard NeXTSTEP Font panel.
  39.       Print support through standard NeXTSTEP Page Setup and Print
  40.       panels.
  41.  
  42.     + "Constant Update" feature that automatically updates the
  43.       plot when changes are made to its settings (e.g. If you want
  44.       the plot to have a border, put a check mark in the "Border"
  45.       box, and a border will appear in the plot).  May be disabled
  46.       with Preferences.
  47.  
  48.     + Multi-purpose inspectors.  Unlimited number of open
  49.       documents.
  50.  
  51.     + Written for NeXTSTEP 2.1 and should compile under 3.0.
  52.  
  53.     + Fully compliant with NeXTSTEP 2.1 User Interface Guidelines.
  54.  
  55.  
  56.  
  57.     Other features:
  58.  
  59.     + Entire Gnuplot 3.2 distribution included, with
  60.       documentation, demonstration documents, and Makefiles.
  61.  
  62.     + Simple installation: the default Makefile produces a single
  63.       NeXTSTEP app-wrapper that includes "everything you need" and
  64.       may be placed in ~/Apps or /LocalApps -- no other
  65.       installation necessary.
  66.     
  67.     + Compatible with standard Gnuplot files (i.e. it reads text
  68.       files meant for the original Gnuplot, and writes files that
  69.       can be read by the original Gnuplot).
  70.  
  71.     + Support for most (soon-to-be all) relevant Gnuplot features.
  72.  
  73.     + All source and nibs included.  (The NeXTSTEP additions to
  74.       Gnuplot are protected under the Free Software Foundations's
  75.       GNU copyleft, and the original source is protected under its
  76.       own copyright -- please see the copyright notice in the Info
  77.       menu).
  78.  
  79.     + Demonstration documents for the NeXTSTEP front end included.
  80.       (The standard demo docs work as well, if you add a
  81.       ".gnuplot" to their filenames and limit the number of plots
  82.       to one per file -- that's one *plot*, with any number of
  83.       *functions* -- just as you would normally do to create an
  84.       EPS plot with Gnuplot.)
  85.  
  86.     + "Dual-binary" ;-) which may be double-clicked for the
  87.       NeXTSTEP version or run with "Gnuplot -c ..." for the
  88.       old-fashioned command-line version, so you'll only need one
  89.       version of Gnuplot on your system.
  90.  
  91.  
  92.     Caveats:
  93.  
  94.     + Although this app accepts all standard Gnuplot files,
  95.       "pause," "set output," "set terminal," and any "plot"
  96.       commands after the first one are ignored, and references to
  97.       external files should use full pathnames.
  98.  
  99.     + Comments and aesthetic formatting contained in Gnuplot files
  100.       that are opened, modified, and then saved with this app will
  101.       be overwritten.
  102.  
  103.     + This app does not expand on Gnuplot's plotting features --
  104.       my goal of leaving the original source unchanged limits the
  105.       app to Gnuplot 3.2's capabilities -- although the creation
  106.       and manipulation of plots is greatly simplified.
  107.  
  108.  
  109.     The Gnuplot front-end is provided with absolutely no warranty,
  110. of course, and no promise that it is suitable for any purpose or that
  111. its bugs will be fixed or that its features will be expanded or that
  112. it will keep pace with the official Gnuplot releases.  And since it is
  113. a kludge, I make no claim that it is a good example of object-oriented,
  114. NeXTSTEP programming.
  115.  
  116.  
  117.     And I make no promise that questions, comments, etc. mailed to
  118. davis@ecn.purdue.edu or 71302.273@compuserve.com will be answered (I'm
  119. busy being a student), although there is a distinct possibility.
  120.  
  121.  
  122.  
  123. Enjoy,
  124. Robert Davis
  125.  
  126.  
  127.  
  128. ---------------------------- The README ----------------------------
  129.  
  130. Gnuplot NeXTSTEP Front End 0.47
  131. October 1992
  132. For NeXTSTEP 2.0 or higher
  133.  
  134.  
  135. Contents
  136. --------
  137.     The file package should have unpacked into a folder called
  138. Gnuplot containing the following:
  139.  
  140. -- Gnuplot.app
  141.  
  142.     This contains the pre-compiled, ready-to-go app which may be
  143.     copied to ~/Apps or wherever you like.
  144.  
  145. -- NeXTSTEP
  146.  
  147.     For those people who would rather compile the software
  148.     themselves, this folder contains all the files necessary to
  149.     build Gnuplot.app.
  150.  
  151. -- Samples
  152.  
  153.     This folder contains sample documents created specifically for
  154.     the NeXTSTEP version.
  155.  
  156. -- gnuplot3.2
  157.  
  158.     Several files from the Gnuplot 3.2 distribution are not
  159.     required to build Gnuplot.app but are included here, for
  160.     completeness.  Documentation, demo files, and support
  161.     documents pertaining only to original Gnuplot are here as
  162.     well.
  163.  
  164.  
  165.  
  166. Building and Installing Gnuplot.app
  167. -----------------------------------
  168.     To install the pre-compiled app, simply drag Gnuplot.app to
  169. the folder of your choice.  To build and install the NeXTSTEP version
  170. of Gnuplot, launch Terminal or Stuart and cd to the NeXTSTEP
  171. directory.  Then choose one of the these options:
  172.  
  173.     -- to build and install the app in your own Apps folder, type
  174.        "make install".  This will create a file package
  175.        "Gnuplot.app" in your Apps folder which contains all the
  176.        files necessary for running either the NeXTSTEP version or
  177.        the command line version of Gnuplot.  (When compiling under
  178.        NeXTSTEP 2.1, you will receive warnings on parse.c and
  179.        plot.c, which can be ignored.  Compiling under NeXTSTEP 3.0
  180.        has not been tested, but will probably compile with many
  181.        more warnings.)
  182.  
  183.     -- to build and install the app in a folder other than your
  184.        own Apps folder, type "make INSTALLDIR=/LocalApps install"
  185.        replacing /LocalApps with the desired folder.  You must
  186.        have write access to the install folder, of course.
  187.  
  188.     -- to build the app right here without installing it, type
  189.        "make".  It will create the executable (called "Gnuplot")
  190.        in the current directory.  Note that this app requires the
  191.        various TIFF and NIB files in the NeXTSTEP directory to be
  192.        present as it is running, so moving the executable from
  193.        this directory will cause the NeXTSTEP version to fail.
  194.  
  195.  
  196. Launching the NeXTSTEP Version
  197. ------------------------------
  198.     To launch the NeXTSTEP version, double click its icon in the
  199. Workspace File Viewer.  The app will launch and an untitled plot will
  200. be created.  To look at some of the sample documents, choose "Open..."
  201. from the "Plot" menu and select the sample plot(s) in the
  202. NeXTSTEP/SamplePlots directory.  (Alternatively, you may double click
  203. the sample plot(s) in the Workspace File Viewer.)
  204.  
  205.  
  206. Running the Command Line Version
  207. --------------------------------
  208.     To run the command line version, go to a Terminal or Stuart
  209. window, cd to the directory containing the executable (probably
  210. ~/Apps/Gnuplot.app) and type "./Gnuplot -c".  The -c specifies that
  211. you want the command line version.  The standard Gnuplot banner and
  212. copyright information will be displayed, and you will get a "gnuplot>"
  213. prompt.
  214.  
  215.     If you have files of Gnuplot commands, you may load them into
  216. the command line version with "./Gnuplot -c filename".  You may also
  217. load them into the NeXTSTEP version if you give each filename a
  218. ".gnuplot" extension.  (Note that irrelevant commands, such as set
  219. terminal, set output, pause, and any commands after the first plot
  220. command, will be ignored, and you should use full path names when
  221. specifying external files.)
  222.  
  223.  
  224. What the NeXTSTEP Version Can't Do
  225. ----------------------------------
  226.     I wrote this app primarily for myself, and I admit that the
  227. Gnuplot features that the app does not support are those that I rarely
  228. use.  Nearly all of them would be easy to implement because they are
  229. supported by the underlying code, I just haven't added them to the
  230. interface yet.  Specifically, the following features are not included
  231. but will (probably) make it into any subsequent releases:
  232.  
  233.     -- Ranges for parametric plots
  234.  
  235.     -- Re-ordering of functions within a pair/triple for
  236.        parametric plots
  237.  
  238.     -- Positioning of titles and axis labels
  239.  
  240.     -- Labels that can be placed at arbitrary locations and arrows
  241.        that can point to arbitrary locations (although I bet
  242.        anyone with an app like Diagram will never use these two
  243.        features)
  244.  
  245.     -- Support for 3-dimensional features, like surfaces,
  246.        contours, isolinear samples, and hidden graphics.
  247.        
  248.     -- User-defined functions and variables
  249.     
  250.     -- Custom formats for custom tic marks
  251.     
  252.  
  253.     Additionally, I'd like a few more NeXTSTEP additions:
  254.  
  255.     -- Better graphical depiction of pairs/triples of functions
  256.        for parametric plots in the Data Inspector
  257.  
  258.     -- Allow creation of raw data points within Gnuplot, with the
  259.        option of saving the data to a text file, which would allow
  260.        the app to...
  261.  
  262.     -- Provide a service that allows the user to select columns of
  263.        text in other apps and plot them with Gnuplot, or select a
  264.        text file in another app and plot its contents with Gnuplot.
  265.  
  266.     -- Ability to drag data files onto the plot window instead of
  267.        onto the Gnuplot app icon.  It would make more sense and
  268.        would cause less conflict with dock-extenders like Engage.
  269.        I was just being lazy.
  270.  
  271.     -- Support new 3.0 features, like interactive help, links,
  272.        etc.
  273.  
  274.  
  275. Acknowledgements
  276. ----------------
  277.     Although I worked on this alone, I examined and borrowed code
  278. and ideas from many sources:
  279.  
  280.     -- NeXTSTEP Examples and Mini-Examples primarily
  281.        CellScrollView by R. Dunbar Poor and Mai Nguyen,
  282.        ScrollDoodScroll by Jayson Adams, and Draw by Paul Hegarty.
  283.        Any classes or methods that I used have their origins
  284.        documented in the code.
  285.  
  286.     -- Nick Strobel, whose Gnuplot terminal served as an example.
  287.        My custom terminal is similar to his first version -- it
  288.        creates a stream of PostScript which is used to create an
  289.        NXImage that is composited into the plot window.  His
  290.        second version is faster and less of a memory hog, but it
  291.        violates some "rules" about calling Objective-C code from a
  292.        .c file.  I'm trying to think of a clean, legal way around
  293.        this.  (By the way, Strobel's terminal is included with the
  294.        official Gnuplot 3.2 distribution and is, therefore,
  295.        included here if you want to use it.)
  296.  
  297.     -- Russell Lang, whose official Gnuplot PostScript terminal
  298.        driver is the basis for my custom terminal driver.  In fact,
  299.        mine is a very slight modification of his.
  300.  
  301.     -- Usenet's comp.sys.next.programmer.  The best source of cool
  302.        tips on the planet.
  303.  
  304.  
  305. Rejected Names
  306. --------------
  307.     I almost named this app something else, like
  308.  
  309.         Plot!
  310.         Gnuisance
  311.         DataGraf
  312.         Thicken
  313.         Visual Gnuplot
  314.         Denoument
  315.  
  316. but opted for the less artsy, less monumental "Gnuplot Front End,"
  317. which has about as much charm, sophistication, and panache as does "The
  318. IBM Personal Computer Company."
  319.  
  320.  
  321. Enjoy,
  322. Rob
  323.  
  324. davis@ecn.purdue.edu
  325. 71302.273@compuserve.com
  326.  
  327. -- 
  328. | Robert Davis                          davis@ecn.purdue.edu
  329. | "Look up, Hannah.  Look up."                          NeXT Mail accepted
  330. --
  331.