public void SaveGridProperties()
        {
            CreateTempFile(m_xmlShell);

            using (DataGridView grid = CreateTestGrid())
            {
                SettingsHandler hndlr = new SettingsHandler(m_tempFilename);
                hndlr.SaveGridProperties(grid, null);

                XmlNode node = hndlr.FindChildNode("/settings/grids", "testgrid");
                Assert.IsNotNull(node);

                Assert.AreEqual(3, node.ChildNodes.Count);

                Assert.AreEqual(grid.ColumnHeadersHeight, XMLHelper.GetIntFromAttribute(node, "colheaderheight", -1));
                Assert.AreEqual(3, node.ChildNodes.Count);

                node = node.FirstChild;
                Assert.AreEqual("col3", XMLHelper.GetAttributeValue(node, "id"));
                Assert.AreEqual(grid.Columns[2].Width, XMLHelper.GetIntFromAttribute(node, "width", 0));
                Assert.AreEqual(grid.Columns[2].DisplayIndex, XMLHelper.GetIntFromAttribute(node, "displayindex", -1));
                Assert.IsTrue(XMLHelper.GetBoolFromAttribute(node, "visible"));

                node = node.NextSibling;
                Assert.AreEqual("col1", XMLHelper.GetAttributeValue(node, "id"));
                Assert.AreEqual(grid.Columns[0].Width, XMLHelper.GetIntFromAttribute(node, "width", 0));
                Assert.AreEqual(grid.Columns[0].DisplayIndex, XMLHelper.GetIntFromAttribute(node, "displayindex", -1));
                Assert.IsTrue(XMLHelper.GetBoolFromAttribute(node, "visible"));

                node = node.NextSibling;
                Assert.AreEqual("col2", XMLHelper.GetAttributeValue(node, "id"));
                Assert.AreEqual(grid.Columns[1].Width, XMLHelper.GetIntFromAttribute(node, "width", 0));
                Assert.IsFalse(XMLHelper.GetBoolFromAttribute(node, "visible"));
            }
        }
        public void SaveFormProperties_Minimized()
        {
            CreateTempFile(m_xmlShell);
            m_frm.WindowState = FormWindowState.Minimized;
            SettingsHandler hndlr = new SettingsHandler(m_tempFilename);

            hndlr.SaveFormProperties(m_frm, true);
            Assert.IsNull(hndlr.FindChildNode("/settings/windowstates", "testwnd"));
        }
        public void FindChildNode()
        {
            string xml = string.Format(m_xmlShell, "<windowstates><window id=\"wnd1\"/>" +
                                       "<window id=\"wnd2\"/><window id=\"wnd3\"/></windowstates>");

            CreateTempFile(xml);

            SettingsHandler hndlr = new SettingsHandler(m_tempFilename);

            // Test the overloaded version that takes an xpath to a parentNode as first argument.
            Assert.IsNotNull(hndlr.FindChildNode("/settings/windowstates", "wnd1"));
            XmlNode node = hndlr.FindChildNode("/settings/windowstates", "wnd3");

            Assert.IsNotNull(node);

            // Now test the overloaded version that takes a parentNode as first argument.
            node = node.ParentNode;
            Assert.IsNotNull(node);
            Assert.IsNotNull(hndlr.FindChildNode(node, "wnd2"));
        }
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Verifies the contents of a window node.
        /// </summary>
        /// <param name="hndlr"></param>
        /// <param name="frm"></param>
        /// ------------------------------------------------------------------------------------
        private static void VerifyWindowNodeContents(SettingsHandler hndlr, Form frm)
        {
            hndlr.SaveFormProperties(frm, true);

            XmlNode node = hndlr.FindChildNode("/settings/windowstates", "testwnd");

            Assert.IsNotNull(node);
            Assert.AreEqual(frm.Width, XMLHelper.GetIntFromAttribute(node, "width", 0));
            Assert.AreEqual(frm.Height, XMLHelper.GetIntFromAttribute(node, "height", 0));
            Assert.AreEqual(frm.Top, XMLHelper.GetIntFromAttribute(node, "top", 0));
            Assert.AreEqual(frm.Left, XMLHelper.GetIntFromAttribute(node, "left", 0));
            Assert.AreEqual(frm.WindowState.ToString(), XMLHelper.GetAttributeValue(node, "state"));
        }
        public void SaveFormProperties_Maximized()
        {
            CreateTempFile(m_xmlShell);

            m_frm.WindowState = FormWindowState.Maximized;
            SettingsHandler hndlr = new SettingsHandler(m_tempFilename);

            hndlr.SaveFormProperties(m_frm, true);

            XmlNode node = hndlr.FindChildNode("/settings/windowstates", "testwnd");

            Assert.IsNotNull(node);
            Assert.AreEqual("Maximized", XMLHelper.GetAttributeValue(node, "state"));
        }
        public void SaveWindowValues()
        {
            CreateTempFile(m_xmlShell);

            SettingsHandler hndlr = new SettingsHandler(m_tempFilename);

            hndlr.SaveSettingsValue("gumby", "string", "pokey");
            hndlr.SaveSettingsValue("gumby", "int", 6372);
            hndlr.SaveSettingsValue("gumby", "bool", true);

            XmlNode node = hndlr.FindChildNode("/settings/misc", "gumby");

            Assert.IsNotNull(node);
            Assert.AreEqual("pokey", XMLHelper.GetAttributeValue(node, "string"));
            Assert.AreEqual(6372, XMLHelper.GetIntFromAttribute(node, "int", -1));
            Assert.IsTrue(XMLHelper.GetBoolFromAttribute(node, "bool", false));
        }