using System;
using System.Collections;
using System.Drawing;
using System.Xml.Serialization;

namespace QC.QsprShared.Config;

[Serializable]
public class DockConfig
{
	private Size paneSize = new Size(500, 200);

	private string dockLocation = "DockedTop";

	private bool pinned = true;

	private string windowName = "Debug Window";

	private Point floatingLocation = new Point(500, 500);

	private ArrayList groupName = new ArrayList();

	private string childPaneStyle = "TabGroup";

	private Size dockAreaSize = new Size(500, 200);

	public Size DockAreaSize
	{
		get
		{
			return dockAreaSize;
		}
		set
		{
			dockAreaSize = value;
		}
	}

	public Size PaneSize
	{
		get
		{
			return paneSize;
		}
		set
		{
			paneSize = value;
		}
	}

	public string DockLocation
	{
		get
		{
			return dockLocation;
		}
		set
		{
			dockLocation = value;
		}
	}

	public bool Pinned
	{
		get
		{
			return pinned;
		}
		set
		{
			pinned = value;
		}
	}

	public string ChildPaneStyle
	{
		get
		{
			return childPaneStyle;
		}
		set
		{
			childPaneStyle = value;
		}
	}

	public string WindowName
	{
		get
		{
			return windowName;
		}
		set
		{
			windowName = value;
		}
	}

	public Point FloatingLocation
	{
		get
		{
			return floatingLocation;
		}
		set
		{
			floatingLocation = value;
		}
	}

	[XmlElement(typeof(string))]
	public ArrayList GroupName
	{
		get
		{
			return groupName;
		}
		set
		{
			groupName = value;
		}
	}

	public void Copy(DockConfig dockConfig)
	{
		ChildPaneStyle = dockConfig.ChildPaneStyle;
		DockAreaSize = dockConfig.DockAreaSize;
		DockLocation = dockConfig.DockLocation;
		FloatingLocation = dockConfig.FloatingLocation;
		GroupName = dockConfig.GroupName;
		PaneSize = dockConfig.PaneSize;
		Pinned = dockConfig.Pinned;
		WindowName = dockConfig.WindowName;
	}
}
