gui/gui_writer.cc
author deba
Mon, 19 Jun 2006 13:44:06 +0000
changeset 2101 439b7f21ccc4
parent 1860 27a9a75b957b
permissions -rw-r--r--
Improvement:

The item sets are written in the order sorted by the labels.

It solves the problem if we read a graph from a file and
then write it back then the nodes will be reversed.
It can be switched off with the LemonWriter interface.
     1 #include "gui_writer.h"
     2 #include "xml.h"
     3 #include "mapstorage.h"
     4 #include <lemon/xy.h>
     5 #include <vector>
     6 
     7 std::string GuiWriter::header()
     8 {
     9   return "@gui";
    10 }
    11 
    12 void GuiWriter::write(std::ostream& os)
    13 {
    14   XmlIo x(os);
    15   std::map<int, xy<double> > m;
    16   for (EdgeIt e(mapstorage->graph); e != INVALID; ++e)
    17   {
    18     int edgeid = (int)(*(mapstorage->edgemap_storage["label"]))[e];
    19     m[edgeid] = mapstorage->arrow_pos[e];
    20   }
    21   x("arrow_pos", m);
    22 }
    23 
    24 GuiWriter::GuiWriter(LemonWriter& writer, MapStorage* ms) : Parent(writer), mapstorage(ms)
    25 {
    26 }