public GraphicsDegreeView(Document doc)
 {
     InitializeComponent();
     this.document = (DegreeDocument)doc;
     zoomFactor    = 1;
     horizontalAdd = 0;
     verticalAdd   = 0;
 }
        /// <summary>
        /// Létrehoz egy új dokumentumot a hozzá tartozó nézettel.
        /// </summary>
        public void NewDocument()
        {
            // Bekérdezzük az új font típus (dokumentum) nevét a felhasználótól egy modális dialógs ablakban.
            NewDocForm form = new NewDocForm();

            if (form.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            // Új dokumentum objektum létrehozása és felvétele a dokumentum listába.
            // TODO: ne a Document-et példányosítsuk, hanem a leszármazottunkat
            Document doc = new DegreeDocument(form.DocName, true);

            documents.Add(doc);
            createView(doc, true);
        }
        /// <summary>
        /// Megnyit egy dokumentumot. Nincs implementálva.
        /// </summary>
        public void OpenDocument()
        {
            // 1. Fájl útvonal megkérdezése a felhasználótól (OpenFileDialog).
            // http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspx
            string         path            = "";
            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.Filter           = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
            openFileDialog1.FilterIndex      = 1;
            openFileDialog1.DefaultExt       = ".txt";
            openFileDialog1.RestoreDirectory = false;
            //openFileDialog1.FileName = ActiveDocument.Name;

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                // Útvonal mentése
                path = openFileDialog1.FileName;
            }

            // 2. Új dokumentum objektum létrehozása, regisztrálása, nézet létrehozása, stb.
            // , a NewDocument szolgálhat mintaként.
            // A dokumentum neve a fájl neve legyen a könyvtár nélkül (ehhez használja a
            // System.IO.Path osztály GetFileName statikus függvényét)
            Document doc = new DegreeDocument(path);

            documents.Add(doc);
            createView(doc, true);

            // 3. Dokumentumba adatok betöltése
            // A dokumentum adatainak elmentése.
            ActiveDocument.LoadDocument(path);

            // 4. Nézetek értesítése, hogy frissítsék magukat
            // Az UpdateAllViews protected, itt nem elérhető. Ne is tegye publikussá, válasszon más
            // megoldást! Szükség esetén konzultáljon a mérésvezetővel.
        }