Index: /trunk/BNC/src/rinex/graphwin.cpp
===================================================================
--- /trunk/BNC/src/rinex/graphwin.cpp	(revision 4347)
+++ /trunk/BNC/src/rinex/graphwin.cpp	(revision 4348)
@@ -63,4 +63,8 @@
   connect(_buttonClose, SIGNAL(clicked()), this, SLOT(slotClose()));
 
+  _buttonPrint = new QPushButton(tr("Print"), this);
+  _buttonPrint->setMaximumWidth(10*ww);
+  connect(_buttonPrint, SIGNAL(clicked()), this, SLOT(slotPrint()));
+
   // Color Scale
   // -----------
@@ -92,4 +96,5 @@
   QHBoxLayout* buttonLayout = new QHBoxLayout;
   buttonLayout->addWidget(_buttonClose);
+  buttonLayout->addWidget(_buttonPrint);
 
   QVBoxLayout* mainLayout = new QVBoxLayout(this);
@@ -114,2 +119,27 @@
   QDialog::closeEvent(event);
 }
+
+// Print the widget
+////////////////////////////////////////////////////////////////////////////
+void t_graphWin::slotPrint() {
+
+  QPrinter printer;
+  QPrintDialog* dialog = new QPrintDialog(&printer, this);
+  dialog->setWindowTitle(tr("Print Plot"));
+  if (dialog->exec() != QDialog::Accepted) {
+    return;
+  }
+  else {
+    QPainter painter;
+    painter.begin(&printer);
+    QWidget* prtWidget = this; // TODO: only a part of it?
+    double xscale = printer.pageRect().width()/double(prtWidget->width());
+    double yscale = printer.pageRect().height()/double(prtWidget->height());
+    double scale  = qMin(xscale, yscale);
+    painter.translate(printer.paperRect().x() + printer.pageRect().width()/2,
+                      printer.paperRect().y() + printer.pageRect().height()/2);
+    painter.scale(scale, scale);
+    painter.translate(-width()/2, -height()/2);
+    prtWidget->render(&painter);
+  }
+}
Index: /trunk/BNC/src/rinex/graphwin.h
===================================================================
--- /trunk/BNC/src/rinex/graphwin.h	(revision 4347)
+++ /trunk/BNC/src/rinex/graphwin.h	(revision 4348)
@@ -58,4 +58,5 @@
  private slots:
   void slotClose();
+  void slotPrint();
 
  protected:
@@ -64,4 +65,5 @@
  private:
   QPushButton*    _buttonClose;
+  QPushButton*    _buttonPrint;
   QwtScaleWidget* _colorScale;
 };
