[GRASS-dev] ps.map consolidation

Hamish hamish_nospam at yahoo.com
Sun Mar 4 20:50:14 EST 2007


Jáchym Èepický wrote:
> I was suggesting this changes to make live of GUI coder easier :)

I know, and feel your pain.

> another point: How to write GUI for ps.map, so it is usable for the
> user. Several approaches are possible:
> 
> Drawing boxes for legend, measure, text and so on, so the user has at
> least idea about where and how the object will be placed on the paper.
> 
> Another sollution would be, if we would copy the map display approach:
> render separate layer for each map instruction in the temporary file
> and put them together in the map display. User could than take a mouse
> and position each object interactively.

some ideas here:
http://grass.gdf-hannover.de/wiki/GRASS_GUI#Cartography:_GUI_front_end_for_ps.map


My idea was to combine both ways, sort of like how QGIS is organized.
blank preview page on the right side of the GUI (portrait or landscape)
with solid black border for map box and colored dashed lines for the
different text/legend boxes. To begin with have those drawn from map
control placement settings, but in future you could drag those around
to update the instructions settings (adjust box of currently selected
instruction for overlap-proofing). In the far-future you would see low
res preview instead of just rectangles.

On the left 1/4 of the GUI would be an expandable map control
tree with a few permanent entries (paper, scale, maploc). 
They might start with a "default" tick box selected [which would skip
the instruction on output])

[-] paper
    type _____A4_[V]
             letter
             custom
                ...
 [ungreyed for custom]
    units ___inch_[V]
        Page Size
    height ______
    width _______
      Margin Size
    top _________
    bottom ______
    left ________
    right _______
[+] scale
[+] maploc

then icons along the top for:  (keep it simple, ~8 is enough)

# rast
# vects (areas, lines, points)
# grids
# scalebar
# mapinfo
# text labels

When you click on an icon, a new "[+] raster map" gets added to
the list, then as above. Right-click to select remove instruction.
Some of those (rast, grid) need logic so you can only add them once.
Then in a main window pulldown menu have all the mapping instructions,
including the lesser used ones.

Save As... would take the current tree settings and write a ps.map
instructions file.

In the top-left "File" menu have (greyed-out in prototype) Load command
file, then these (working in prototype) output menu entries:
 * Save instructions file, Save As...  [a ps.map file]
 * Save as PostScript file [run ps.map]
 * Save as PDF File (pstopdf? ps2pdf? GNU Ghostscript?)
     [run ps.map, work on PostScript tmp file]
 * Print [run ps.map, lpr PostScript tmp file]

And of course a Help menu with "g.manual ps.gui", "g.manual ps.map",
"About GUI", "About ps.map", "About GRASS".


how does that sound?

Hamish




More information about the grass-dev mailing list