' *
' * The project site is at: http://sourceforge.jp/projects/fishbornas/
' *
' * First author tiritomato 2012.
' *
' * Distributed under the FishbornArchiveShelf License (See
' *  file "Licenses/License.txt" contained in a project, or the following link.
' *  http://sourceforge.jp/projects/fishbornas/scm/svn/blobs/head/trunk/Licenses/License.txt)
' *
' * 2012.06.07 Initial Revision (tiritomato)
' *

Partial Public Class AppBase

    Public Class WindowSizeConfig

        Public Class Collection
            Implements Xml.Serialization.IXmlSerializable
            Private ary As New Logic.SerializableCollections.Dictionary(Of Windows.Forms.FormWindowState, WindowSizeConfig)
            Public Function ContainsKey(ByVal state As Windows.Forms.FormWindowState) As Boolean
                Return ary.ContainsKey(state)
            End Function
            Default Public ReadOnly Property Item(ByVal state As Windows.Forms.FormWindowState) As WindowSizeConfig
                Get
                    If ary.ContainsKey(state) = False OrElse ary.Item(state) Is Nothing Then ary.Item(state) = New WindowSizeConfig
                    Return ary.Item(state)
                End Get
            End Property
            Public Function GetSchema() As System.Xml.Schema.XmlSchema Implements System.Xml.Serialization.IXmlSerializable.GetSchema
                Return Nothing
            End Function
            Public Sub ReadXml(ByVal reader As System.Xml.XmlReader) Implements System.Xml.Serialization.IXmlSerializable.ReadXml
                ary.ReadXml(reader)
            End Sub
            Public Sub WriteXml(ByVal writer As System.Xml.XmlWriter) Implements System.Xml.Serialization.IXmlSerializable.WriteXml
                ary.WriteXml(writer)
            End Sub
        End Class

        Public WndWidth As Integer
        Public WndHeight As Integer
        Public BaseSplitDistance As Integer
        Public SettingPanelSplitDistance As Integer
        Public ArchiveTaskPresetSplitDistance As Integer
        Public SampleSplitDistance As Integer
        Public TreeSplitDistance As Integer
        Public StatusSplitDistance As Integer
        Public LogSplitDistance As Integer
        Public IsLogSingleLineMode As Boolean

    End Class

End Class

