Index: trunk/MagicSoft/Mars/mgui/MCamDisplay.cc
===================================================================
--- trunk/MagicSoft/Mars/mgui/MCamDisplay.cc	(revision 1018)
+++ trunk/MagicSoft/Mars/mgui/MCamDisplay.cc	(revision 1023)
@@ -2,4 +2,5 @@
 
 #include <math.h>
+#include <fstream.h>
 
 #include <TClonesArray.h>
@@ -308,2 +309,15 @@
     }
 }
+
+// ------------------------------------------------------------------------
+//
+// Save primitive as a C++ statement(s) on output stream out
+//
+void MCamDisplay::SavePrimitive(ofstream &out, Option_t *opt)
+{
+    if (!gROOT->ClassSaved(TCanvas::Class()))
+        fDrawingPad->SavePrimitive(out, opt);
+
+    out << "   " << fDrawingPad->GetName() << "->SetWindowSize(";
+    out << fDrawingPad->GetWw() << "," << fDrawingPad->GetWh() << ");" << endl;
+}
Index: trunk/MagicSoft/Mars/mgui/MCamDisplay.h
===================================================================
--- trunk/MagicSoft/Mars/mgui/MCamDisplay.h	(revision 1018)
+++ trunk/MagicSoft/Mars/mgui/MCamDisplay.h	(revision 1023)
@@ -57,4 +57,5 @@
     void Reset();
     void Draw(Option_t *option="");
+    void SavePrimitive(ofstream &out, Option_t *);
 
     ClassDef(MCamDisplay, 0) // Displays the magic camera
Index: trunk/MagicSoft/Mars/mgui/MHexagon.cc
===================================================================
--- trunk/MagicSoft/Mars/mgui/MHexagon.cc	(revision 1018)
+++ trunk/MagicSoft/Mars/mgui/MHexagon.cc	(revision 1023)
@@ -30,4 +30,5 @@
 #include "MHexagon.h"
 
+#include <fstream.h>
 #include <iostream.h>
 
@@ -51,5 +52,5 @@
 //
 MHexagon::MHexagon(Float_t x, Float_t y, Float_t d)
-: TAttFill(0, 1001), fX(x), fY(y), fD(d)
+: TAttLine(1, 1, 1), TAttFill(0, 1001), fX(x), fY(y), fD(d)
 {
 }
@@ -60,5 +61,5 @@
 //
 MHexagon::MHexagon(MGeomPix &pix)
-: TAttFill(0, 1001)
+: TAttLine(1, 1, 1), TAttFill(0, 1001)
 {
     fX = pix.GetX();
@@ -246,9 +247,33 @@
 void MHexagon::Print(Option_t *) const
 {
-    cout << GetName() << ": x=" << fX << "mm y=" << fY << "mm r=" << fD << "mm" << endl;
-
-    cout << " Color="     << GetLineColor() << ",";
-    cout << " Style="     << GetLineStyle() << ",";
-    cout << " Width="     << GetLineWidth() << ",";
-    cout << " FillColor=" << GetFillColor() << endl;
-}
+    cout << "MHexagon - " << GetName() << ": ";
+    cout << "x=" << fX << "mm y=" << fY << "mm r=" << fD << "mm" << endl;
+
+    cout << " Line:";
+    cout << " Color=" << GetLineColor() << ",";
+    cout << " Style=" << GetLineStyle() << ",";
+    cout << " Width=" << GetLineWidth() << endl;
+    cout << " Fill:";
+    cout << " Color=" << GetFillColor() << ",";
+    cout << " Style=" << GetFillStyle() << endl;
+}
+
+// ------------------------------------------------------------------------
+//
+// Save primitive as a C++ statement(s) on output stream out
+//
+void MHexagon::SavePrimitive(ofstream &out, Option_t *)
+{
+
+    if (gROOT->ClassSaved(MHexagon::Class()))
+       out << "   ";
+    else
+       out << "   MHexagon *";
+
+    out << "hexagon = new MHexagon(" << fX << "," << fY << "," << fD << ");" << endl;
+
+    SaveFillAttributes(out, "hexagon");
+    SaveLineAttributes(out, "hexagon");
+
+    out << "   hexagon->Draw();" << endl;
+}
Index: trunk/MagicSoft/Mars/mgui/MHexagon.h
===================================================================
--- trunk/MagicSoft/Mars/mgui/MHexagon.h	(revision 1018)
+++ trunk/MagicSoft/Mars/mgui/MHexagon.h	(revision 1023)
@@ -44,8 +44,8 @@
     virtual ~MHexagon();
 
-    void Copy (TObject &hexagon);
+    virtual void  Copy(TObject &hexagon);
 
     virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
-    virtual void  DrawHexagon( Float_t x, Float_t y, Float_t d);
+    virtual void  DrawHexagon(Float_t x, Float_t y, Float_t d);
 
     //virtual void  ExecuteEvent(Int_t event, Int_t px, Int_t py);
@@ -55,4 +55,5 @@
     virtual void  PaintHexagon(Float_t x, Float_t y, Float_t d);
     virtual void  Print(Option_t *Option="") const; // *MENU*
+    virtual void  SavePrimitive(ofstream &out, Option_t *);
 
     ClassDef(MHexagon, 0)    // A hexagon for MAGIC
