Index: trunk/BNC/src/bncmap.h
===================================================================
--- trunk/BNC/src/bncmap.h	(revision 4629)
+++ trunk/BNC/src/bncmap.h	(revision 4630)
@@ -16,7 +16,16 @@
  public slots:
   void slotNewPoint(const QString& name, double latDeg, double lonDeg);
-   
+
+ private slots:
+  void slotClose();
+  void slotPrint();
+
+ protected:
+  virtual void closeEvent(QCloseEvent *);
+
  private:
-  QwtPlot* _mapPlot;
+  QwtPlot*     _mapPlot;
+  QPushButton* _buttonClose;
+  QPushButton* _buttonPrint;
 };
 
Index: trunk/BNC/src/bncmap_svg.cpp
===================================================================
--- trunk/BNC/src/bncmap_svg.cpp	(revision 4629)
+++ trunk/BNC/src/bncmap_svg.cpp	(revision 4630)
@@ -17,4 +17,6 @@
 t_bncMap::t_bncMap(QWidget* parent) : QDialog(parent) {
 
+  // Map in Scalable Vector Graphics (svg) Format
+  // --------------------------------------------
   _mapPlot = new QwtPlot();
 
@@ -28,7 +30,28 @@
   mapItem->attach(_mapPlot);
 
+  // Buttons
+  // -------
+  int ww = QFontMetrics(font()).width('w');
+
+  _buttonClose = new QPushButton(tr("Close"), this);
+  _buttonClose->setMaximumWidth(10*ww);
+  connect(_buttonClose, SIGNAL(clicked()), this, SLOT(slotClose()));
+
+  _buttonPrint = new QPushButton(tr("Print"), this);
+  _buttonPrint->setMaximumWidth(10*ww);
+  connect(_buttonPrint, SIGNAL(clicked()), this, SLOT(slotPrint()));
+
+  // Layout
+  // ------
+  QHBoxLayout* buttonLayout = new QHBoxLayout;
+  buttonLayout->addWidget(_buttonClose);
+  buttonLayout->addWidget(_buttonPrint);
+
   QVBoxLayout* mainLayout = new QVBoxLayout(this);
   mainLayout->addWidget(_mapPlot);
+  mainLayout->addLayout(buttonLayout);
 
+  // Important
+  // ---------
   _mapPlot->replot();
 }
@@ -54,4 +77,28 @@
 }
 
+// Close
+////////////////////////////////////////////////////////////////////////////
+void t_bncMap::slotClose() {
+  done(0);
+}
 
+// Close Dialog gracefully
+////////////////////////////////////////////////////////////////////////////
+void t_bncMap::closeEvent(QCloseEvent* event) {
+  QDialog::closeEvent(event);
+}
 
+// Print the widget
+////////////////////////////////////////////////////////////////////////////
+void t_bncMap::slotPrint() {
+
+  QPrinter printer;
+  QPrintDialog* dialog = new QPrintDialog(&printer, this);
+  dialog->setWindowTitle(tr("Print Plot"));
+  if (dialog->exec() != QDialog::Accepted) {
+    return;
+  }
+  else {
+    qDebug() << "Print Map";
+  }
+}
