public DockMapDocument(string text, Image icon, FileInfo file, Project project,
                               DockTilesetTools dockTilesetTools, DockLayers dockLayers, DockMapObjectProperties dockMapObject, DockMapAttributes dockMapAttributes)
            : this()
        {
            _regularDockText = text;
            _unsavedDockText = text + "*";

            DockText = text;
            Icon     = icon;

            _file              = file;
            _project           = project;
            _dockLayers        = dockLayers;
            _dockTilesetTools  = dockTilesetTools;
            _dockMapObject     = dockMapObject;
            _dockMapAttributes = dockMapAttributes;
            _dockMapAttributes.SetProject(project);

            _dockTilesetTools.Tileset_Loaded   += _tilesetTools_Tileset_Loaded;
            _dockTilesetTools.Tileset_Unloaded += _tilesetTools_Tileset_Unloaded;

            _dockMapAttributes.SelectingTile += DockMapAttributesOnSelectingTile;

            _dockLayers.LayersUpdated += DockLayersOnLayersUpdated;

            this.mapToolStrip.Items[1].Image = Icons.BrushSelected;
            this.mapView.Cursor = new Cursor(Icons.Brush.GetHicon());
            _placementMode      = PlacementMode.Paint;

            this.mapView.Resize += MapView_Resize;

            _tileAttributeSprites = new Dictionary <Vector3, Sprite>();
        }