Next: 3. Installing PaPCo
Up: 2. Version Control
Previous: 2.6 Changes to Version
Subsections
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!
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.
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: 3. Installing PaPCo
Up: 2. Version Control
Previous: 2.6 Changes to Version
Reiner Friedel
1999-02-03