Changeset 101 for trunk


Ignore:
Timestamp:
Jun 22, 2006, 11:00:06 AM (15 years ago)
Author:
Peter Johansson
Message:

closes #28 #18 and added some lippstick to the node daughters table output

Location:
trunk/lib
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/Directory.cc

    r100 r101  
    7878        }
    7979      }
     80    daughters_.sort(NodePtrLess());
    8081  }
    8182
     
    8586    for (NodeIterator i=daughters_.begin(); i!=daughters_.end(); i++)
    8687      delete *i;
     88  }
     89
     90  bool Directory::dir(void) const
     91  {
     92    return true;
    8793  }
    8894
     
    112118    print_header(os);
    113119    os << "<p align=center>\n<img src='"
    114        << file_name(stats_.plot(output_name()+"/index.png"))
     120       << file_name(stats_.plot(output_name()+"/index.png", output_name()))
    115121       << "' alt='[plot]' border=0><br>\n";
    116122    os << "<table>\n";
    117     os << "<tr><td><strong>Node</strong></td>\n";
    118     os << "<td><strong>Count</strong></td></tr>\n";
    119     os << "<tr><td>Total</td>\n";
    120     os << "<td align=right>" << stats_.rows() << "</td></tr>\n";
     123    os << "<tr>\n<td><strong>Node</strong></td>\n";
     124    os << "<td><strong>Count</strong></td>\n</tr>\n";
     125    os << "<tr>\n<td bgcolor=#dddddd>Total</td>\n";
     126    os << "<td align=right bgcolor=#dddddd>" << stats_.rows()
     127       << "</td>\n</tr>\n";
     128
    121129    // print html links to daughter nodes
    122     transform(daughters_.begin(), daughters_.end(),
    123               std::ostream_iterator<std::string>(os," "),
    124               std::mem_fun(&Node::html_tablerow));
     130    bool dark=true;
     131    for (NodeConstIterator d = daughters_.begin(); d!=daughters_.end(); d++){
     132      if (dark)
     133        os << (*d)->html_tablerow("#eeeeee");
     134      else
     135        os << (*d)->html_tablerow("#dddddd");
     136      dark = !dark;
     137    }
    125138    os << "</table>\n";
    126     os << "</p>";
     139    os << "</p>\n";
    127140    print_footer(os);
    128141    os.close();
  • trunk/lib/Directory.h

    r100 r101  
    6060
    6161    ///
     62    /// @return true
     63    ///
     64    bool dir(void) const;
     65
     66    ///
    6267    /// @return A properly formatted html link to this directory.
    6368    ///
  • trunk/lib/File.cc

    r100 r101  
    6565    print_header(os);
    6666    os << "<p align=center>\n<img src='"
    67        << file_name(stats_.plot(output_name_+".png"))
     67       << file_name(stats_.plot(output_name()+".png",output_name()))
    6868       << "' alt='[plot]' border=0>\n</p>";
    6969    print_footer(os);
  • trunk/lib/Gnuplot.cc

    r84 r101  
    7777
    7878 
    79   void Gnuplot::command(const std::string& cmdstr)
     79  int Gnuplot::command(const std::string& cmdstr)
    8080  {
    81     fputs(cmdstr.c_str(),pipe_);
     81    int r = fputs(cmdstr.c_str(),pipe_);
    8282    if (*(cmdstr.rbegin())!='\n')
    8383      fputc('\n',pipe_);
    8484    fflush(pipe_);
     85    return r;
    8586  }
    8687
  • trunk/lib/Gnuplot.h

    r84 r101  
    7070    /// Send arbitrary commands to Gnuplot.
    7171    ///
    72     void command(const std::string&);
     72    int command(const std::string&);
    7373
    7474    ///
  • trunk/lib/Node.cc

    r100 r101  
    4040  }
    4141
     42  bool Node::dir(void) const
     43  {
     44    return false;
     45  }
     46
     47  std::string Node::html_tablerow(const std::string& color) const
     48  {
     49    std::stringstream ss;
     50    ss << "<tr>\n<td bgcolor=" << color << ">" << html_link()
     51       << "</td>\n<td bgcolor=" << color << " align=right>"
     52       << stats_.rows() << "</td>\n</tr>\n";
     53    return ss.str();
     54  }
     55
    4256  void Node::print_footer(std::ostream& os) const
    4357  {
     
    4660    time ( &rawtime );
    4761    timeinfo = localtime ( &rawtime );
    48     os << "<p align=center><font size=-2>Generated on "
     62    os << "<p align=center><font size=-2>\nGenerated on "
    4963       << asctime (timeinfo)
    5064       << "by <a href=http://lev.thep.lu.se/trac/svnstat/>"
    5165       << PACKAGE_STRING << "</a>"
    52        << "</font></p></body>\n</html>\n";
     66       << "</font>\n</p>\n</body>\n</html>\n";
    5367  }
    5468
     
    6074       << "<title> svnstat " << name() << "</title>\n"
    6175       << "</head>\n"
    62        << "<body bgcolor='FFFBFB'>\n";
     76       << "<body bgcolor=#ffffff vlink=#000000>\n";
    6377  }
    6478
    65 
    6679}} // end of namespace svnstat and namespace theplu
  • trunk/lib/Node.h

    r100 r101  
    6666
    6767    ///
     68    /// @return true if directory
     69    ///
     70    virtual bool dir(void) const;
     71
     72    ///
    6873    /// @return A properly formatted html link to this node.
    6974    ///
    7075    virtual std::string html_link(void) const=0;
    7176
    72     inline std::string html_tablerow(void) const
    73     {
    74       std::stringstream ss;
    75       ss << "<tr><td>" << html_link() << "</td><td align=right>" << stats_.rows()
    76          << "</td></tr>\n";
    77       return ss.str();
    78     }
     77    ///
     78    ///
     79    ///
     80    std::string html_tablerow(const std::string&) const;
    7981
    8082    ///
     
    125127  };
    126128
     129  struct NodePtrLess
     130  {
     131    inline bool operator()(const Node* first, const Node* second) const
     132    {   
     133      if (first->dir()==second->dir())
     134        return first->output_name()<second->output_name();
     135      return first->dir();
     136    }
     137  };
     138
    127139}} // end of namespace svnstat and namespace theplu
    128140
  • trunk/lib/Stats.cc

    r84 r101  
    131131
    132132
    133   std::string Stats::plot(const std::string& name) const
     133  std::string Stats::plot(const std::string& filename,
     134                          const std::string& title) const
    134135  {
    135136    GnuplotFE* gp=GnuplotFE::instance();
    136     gp->command(std::string("set term png; set output '")+name+"'");
    137     gp->command(std::string("set title '")+name+"'");
     137    gp->command(std::string("set term png; set output '")+filename+"'");
     138    gp->command(std::string("set title '")+title+"'");
    138139    gp->command("set key default");
    139140    gp->command("set key left Left reverse");
     
    168169    gp->yrange();
    169170
    170     return name;
     171    return filename;
    171172  }
    172173
  • trunk/lib/Stats.h

    r84 r101  
    5454    /// Create statistics graph.
    5555    ///
    56     std::string plot(const std::string&) const;
     56    std::string plot(const std::string&, const std::string&) const;
    5757
    5858    ///
Note: See TracChangeset for help on using the changeset viewer.