next up previous contents
Next: 3. Installing PaPCo Up: 2. Version Control Previous: 2.6 Changes to Version

Subsections

2.7 Changes to Version 9.0

Release date: 25 January 1999

Version 8.0 was probably the first version that saw a more widespread use - and thus a lot of reports came back on bugs and problems - all of them happily minor. A lot was learned by PAPCO installations under diverse systems, such as SGI/IRIX, OPEN/VMS v7.1 and v6.2.

Incorporating all these changes warrants this release of the next Version of PaPCo. Thanks for all the reports on bugs and help in getting PaPCo to be truly operating system transparent.

A lot of new functionality has also been added to make life easier. For instance, on re-drawing a product only those panels get redrawn that have been edited. This really speeds things up when you are designing a product! Many of the user suggestions have also been incorporated.

N.B.: PaPCo 09 is the first version fully developed under IDL 5.x. While everything should still work under IDL 4.x, backward compatibility is not guaranteed!

2.7.1 New features on PaPCo Home Page

The PaPCo home page has been substantially updated. Apart from distributing the latest version of PaPCo, it now also has a ``patch'' page for fixes and reports of bugs, it maintains a list of where to get modules, you can access the PaPCo mailing list from there, and more. It pays to check out the site periodically as it is expanding, and esp. the ``patch'' page is constantly updated.

Check out the ``Rules of the Road'' if you're a new PaPCo user. A full list of available modules, their maintainers and sites running PaPCo is also available.

2.7.2 PaPCo core changes & new features & bug fixes

All these changes are documented in more detail where needed elsewhere in this manual.

1.
Implemented bug fixes from the PaPCo patch page:
(a)
Renaming of papco_default and papco_printer_config to have extension ``.dat''. This is necessary for portability to VMS as each VMS system treats files without extension differently. If you're updating an older version of PaPCo and don't want to lose your configuration, just rename your old papco_default and papco_printer_config files (they could have been hidden files under UNIX).
(b)
Naming Conflict: with the POLAR HYDRA module's color plot routines has been fixed. The PaPCo supplied color plot routine is now called papco_plot_colorspec.pro.
(c)
PaPCo Configure change: It was noticed that on startup PAPCO reported module directories under UNIX ending with // instead of /. This did not create problems but is now fixed. By request (Jeremy Faden) the order of the module buttons has been changed - your user defined modules now come up first, followed by the "standard" modules. This give the user some control over the order of the buttons in PaPCo.
(d)
Misspelling in built-in panel editor panel: The y-scale and z-scale widgets had "logarithmic" misspelled. This is now fixed.
(e)
Problem using file dialog when printing to .gif: This has been fixed.
(f)
Major papco_cursor improvement: For advanced PaPCo programmers only! Due to several suggestions by Doug Rowland and Jermey Faden the PAPCO core functionality of the cursor-interaction with PAPCO has been improved and further modularized. You can now add in USER_SHOW_ACTIONS - define your own action that happens in the draw window for your user slice. You can choose from PaPCo supplied options (like draw a vertical line, or a hair cursor) or write your own show action.
(g)
Color fix for 24bit workstations: IDL internally runs on 256 colors, which is what the PAPCO color scheme is based on. Problems arose on installations where IDL reported more than 255 colors available. This has been fixed. This problem so far has occurred on SGI/IRIX and OPEN/VMS systems.
(h)
Time hand-over fix to PaPCo batch processing: Module designers using the old PaPCo T90 standard encountered difficulties using the PAPCO batch facility as this was written to work only with the new PAPCO mjdt time standard. This has been fixed.
2.
Expanded PaPCo configurability: The PaPCo startup widget now allows you to save and load the current configuration of PaPCo . There is also a new option to edit the papco_include_addins.pro file, and enable or disable the use of the addins.
3.
PaPCo error trapping: In the past, an ``unhandled'' error in one of the user written interface or plot/read routines would crash PaPCo. These errors are now trapped by PaPCo at the point the user written routines get called, and an error message is printed without PaPCo crashing. Using the defaults widget this feature can be turned off if you want to trace your error.
4.
Smart re-draw: new logic has been added to the draw loop to only redraw the panels of a product when needed, i.e. if they have been edited, the panel sizing/position/composition has been changed, and when a new time-range is chosen. This makes for faster redraw when designing a product.
5.
Updated PRINT ACTION button behavior: The choice ``Select default output'' calls up the print widget directly: you no longer have to press ``PRINT'' afterwards.
6.
PaPCo output option: As part of being funded as an ISTP utility PaPCo needs to conform to some ISTP rules - such as providing output. This feature has now been implemented in a simplified form. A new action button has been added - ``Output''. Once a given product has been drawn, pressing output sets a keyword which ``tells'' the modules to output data to file. The modules themselves need to support this option and take action. A new routine has been supplied for this purpose - papco_output.pro which takes a standard set of inputs and keyword to produce output files in either text, IDL saveset or CDF (still under development) format. It is, however, up to the module developer and maintainer to implement this feature in his/her module!
7.
Edit batch option: A new action button, ``Edit Batch'' has been added. It allows the user to interactively edit and create batch files for PaPCo batch processing from within PaPCo. Files are automatically searched for in papco_user_XX/papco_products/batch/.
8.
A new action button, ``Annotate'': This calls up the IDL supplied annotate utility, which allows the user to overlay text, lines and simple graphics on their plots. Very useful for making conference or publication plots (highlight some area of your plot, add comments, draw arrows etc.). The annotate overlay can be saved in a file and becomes part of your PaPCo product. A second new action button, ``Rm. Annot.'' is supplied to delete any annotation.
9.
A new action button, ``Back''. As you work with PaPCo , you will go through many versions of a plot. Each time you draw a new product, a copy of the previous product is now automatically saved. Hitting the back button loads the previous product, all the way back to the first one drawn. Once you exit PaPCo, all these history product files are deleted.
10.
Smart crash recovery: If you for any reason need to exit PaPCo ungraciously, PaPCo will start up the next time you run it and automatically load the last saved product file from your crashed session.
11.
New option in printer defaults widget: When selecting the default options for your print button, one of the options is to write the plot to file with an automatically generated file name. This file name uses a template to substitute the time range and orbit. A new symbol, ``$'', can now be used, which will be substituted with the current product name if there is one.
12.
The PaPCo defaults widget has been redesigned and expanded to include several new options:
(a)
Choose PaPCo data output format
(b)
Enable/disable PaPCo trapping of errors
(c)
Enable/disable remote data get with wGeT
13.
Changed behaviour of draw widgets ``Del all'' button: Hitting this not only closes all draw windows, but also re=activates the main PaPCo widget. This is useful when you are debugging a new module: You can recover from a crash in your plot routine by hitting ``Del all'', then the ``Stop'' button in the PaPCo main widget, edit your routine, recompile it, and carry on with ``.con''. You never have to restart PaPCo itself.
14.
Updated papco_panel_AddFile_Widgets: This is the built-in widget you can use to select files and edit them. This has been re-written to seperate out directory path and filename, this is more robust.
15.
Extended user variable space for module structure: Each module's panel editor uses a structure called plotinfo to keep information about it's state. We have extended the variables a user can use to the following:
  ;        ---------------------------------------         
           typeVector:intarr(4),  ; user tag (old, for compatibility)
           switch:lonarr(3),      ; user tag (old, for compatibility)
           options:fltarr(20),    ; user tag (float options)
           ioptions:lonarr(16),   ; user tag (long options)
           soptions:strarr(16)    ; user tag (string options)
  ;        ---------------------------------------
Also, PaPCo products are now compatible across PaPCo versions.
16.
Extending PaPCo read by orbit functionality: This has been rewritten and modularized, which makes it relatively easy for the user to add in another satellite for this feature.
17.
More buttons on PaPCo draw widget: The ``Print'', ``Output'' and ``Back'' buttons from the main widgets have been replicated here. This avoids having to toggle between the draw and main widget too often.
18.
Quick access to a panel list entry's panel editor: Instead of having to double click on the panel entry in the plot composer list in the main widget, clicking inside the draw window NEXT to (left or right) the panel also calls up that panel's panel editor.
19.
Updated color logic in the panel editor schematic draw widget. More colors are used to warn the user of overlaps and overplot conflicts:
solid: panel not an overplot
outline: panel is an overplot
blue: Single panel with no overlapping or overplotting panels
cyan: Two or more panels OF THE SAME SIZE at this location (used for lining up overplots)
dark green: O.K. overplot arrangement at this location. All overlapping panels have the same size, and all but one are overplots!
red: Conflict! Not all panels are overplots, not all overlaps here are of the same size - this will possibly not create the panel plot the user intended!
20.
Updated panel editor Reform and positioning actions: These actions have been redesigned with new logic to make them more intuitive, and to also handle overplots. Any panels at the same position are handled together, ie resized together, etc.

   
2.7.3 PaPCo core changes affecting modules

In PaPCo 09 we have fixed an insiduous problem with the way the PaPCo-supplied widgets in papco_panel.pro behaved. There was some ``crosstalk'' between these PaPCo internal widgets and user written ones, which was puzzling and which took a while to trace down.

Some elements of the user tag ``switch'' had also been used in the PaPCo widgets. As a result, whenver the user actually used that tag, the behaviour was unpredictable!

This has been fixed. As a result, IF A USER PANEL EDITOR DOES NOT USE THE TAG ``SWITCH'', THEN IT DOES NO LONGER NEED TO BE RETURNED. If you still specify ``switch'' as one of your return tags, your panel editor will crash on exit.

To fix this simply delete the tag from you return data structure. In many older panel editors, the return structure looks something like this:

  returnData={typevector:widgetData.typevector, $
              typevector:widgetData.switch, $
             }
  additionalRData=papco_panel_ReturnData(widgetData)

  return, create_struct(ReturnData, additionalRData)

If you're not using the ``switch'' tag yourself, simply edit your panel editor file and remove the tag from returnData:

  returnData={typevector:widgetData.typevector}

  additionalRData=papco_panel_ReturnData(widgetData)

  return, create_struct(ReturnData, additionalRData)

This is the ONLY edit you will need to make to your module to get it to run under PaPCo 09!


next up previous contents
Next: 3. Installing PaPCo Up: 2. Version Control Previous: 2.6 Changes to Version
Reiner Friedel
1999-02-03