Esempio n. 1
0
        private void UpdateWindowFromProfile(XPathNavigator navWindow)
        {
            string hierID = navWindow.SelectSingleNode("@HierID").Value;

            string[] numbers  = hierID.Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries);
            int[]    ordinals = new int[numbers.Length];
            for (int i = 0, iMax = ordinals.Length; i < iMax; i++)
            {
                ordinals[i] = int.Parse(numbers[i]) - 1;
            }

            TreeNodeCollection treeNodes = TV_WINDOW_TREE.Nodes;
            TreeNode           tNode     = null;
            int nTopOrdinal = ordinals.Length - 1;

            for (int i = 0, iMax = ordinals.Length; i < iMax; i++)
            {
                if (ordinals[i] >= treeNodes.Count)
                {
                    throw new Exception("A window with hierarchical ID '" + hierID + "' not found");
                }
                tNode = treeNodes[ordinals[i]];
                if (i < nTopOrdinal)
                {
                    treeNodes = tNode.Nodes;
                }
            }

            if (tNode != null)
            {
                tNode.Checked = true;
                Window win = (Window)tNode.Tag;
                win.Refresh();

                win.PosX    = SRWE_Utility.SAFE_String_2_Int(navWindow.SelectSingleNode("@PosX").Value, win.PosX);
                win.PosY    = SRWE_Utility.SAFE_String_2_Int(navWindow.SelectSingleNode("@PosY").Value, win.PosY);
                win.Width   = SRWE_Utility.SAFE_String_2_Int(navWindow.SelectSingleNode("@Width").Value, win.Width);
                win.Height  = SRWE_Utility.SAFE_String_2_Int(navWindow.SelectSingleNode("@Height").Value, win.Height);
                win.Style   = (uint)SRWE_Utility.SAFE_HexString_2_Int(navWindow.SelectSingleNode("@Style").Value, (int)win.Style);
                win.ExStyle = (uint)SRWE_Utility.SAFE_HexString_2_Int(navWindow.SelectSingleNode("@ExStyle").Value, (int)win.ExStyle);
                win.ApplyChanges();
            }
        }
Esempio n. 2
0
        private void UpdateWindowStyles(bool exStyles)
        {
            if (exStyles)
            {
                m_states = (m_states | States.UpdateWindowExStyle) ^ States.UpdateWindowExStyle;
            }
            else
            {
                m_states = (m_states | States.UpdateWindowStyle) ^ States.UpdateWindowStyle;
            }

            if (TV_WINDOW_TREE.SelectedNode == null)
            {
                return;
            }

            Window win = (Window)TV_WINDOW_TREE.SelectedNode.Tag;

            if (exStyles)
            {
                win.ExStyle = (uint)SRWE_Utility.SAFE_HexString_2_Int(EDT_WSEX_HEX.Text, (int)win.ExStyle);
                foreach (DataRow dr in m_dtWS_EX.Rows)
                {
                    dr[1] = (win.ExStyle & (uint)dr[0]) != 0;
                }
            }
            else
            {
                win.Style = (uint)SRWE_Utility.SAFE_HexString_2_Int(EDT_WS_HEX.Text, (int)win.Style);
                foreach (DataRow dr in m_dtWS.Rows)
                {
                    dr[1] = (win.Style & (uint)dr[0]) != 0;
                }
            }
            win.ApplyChanges();
        }