//Deserialize individual base windows and there child control public static void DeserializeWindowXML(string fileName, Control baseFrame, XmlNode parentXMLNode) { XmlDocument doc = new XmlDocument(); XmlNode currentXmlNode = null; EIBGrid grid = null; EIBLattice lattice = null; try { // disabling re-drawing of treeview till all nodes are added fileName = fileName + ".xml"; if (parentXMLNode == null) { doc.Load(fileName); currentXmlNode = doc.FirstChild; baseFrame.Controls.Clear(); } else { currentXmlNode = parentXMLNode; } // baseFrame.Controls.Clear(); if (currentXmlNode.Name == FormDesignerConstants.BaseWindow) { // loading node attributes UpdateControlProperties(baseFrame, currentXmlNode); ((EIBPanel)baseFrame).AutoScroll = true; } foreach (XmlNode xmlNode in currentXmlNode.ChildNodes) { #region Desearilization for each control if (xmlNode.NodeType == XmlNodeType.Element) { if (xmlNode.Name == FormDesignerConstants.TextBoxControl) { EIBTextBox newNode = new EIBTextBox(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBTextBox.counter++; } if (xmlNode.Name == FormDesignerConstants.SchedularControl) { EIBSchedular newNode = new EIBSchedular(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBSchedular.counter++; } if (xmlNode.Name == FormDesignerConstants.AppletControl) { EIBApplet newNode = new EIBApplet(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBApplet.counter++; } if (xmlNode.Name == FormDesignerConstants.ButtonControl) { EIBButton newNode = new EIBButton(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBButton.counter++; //UIEventManager.form.Controlpool.Add(newNode,); } if (xmlNode.Name == FormDesignerConstants.JasperControl) { EIBJasper newNode = new EIBJasper(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBJasper.counter++; } if (xmlNode.Name == FormDesignerConstants.DatePickerControl) { EIBDatePicker newNode = new EIBDatePicker(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBDatePicker.counter++; } if (xmlNode.Name == FormDesignerConstants.TimeControl) { EIBTime newNode = new EIBTime(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); newNode.ShowTimeSplit(); EIBTime.counter++; } if (xmlNode.Name == FormDesignerConstants.CalenderControl) { EIBCalender newNode = new EIBCalender(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBCalender.counter++; } if (xmlNode.Name == FormDesignerConstants.LabelControl) { EIBLabel newNode = new EIBLabel(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBLabel.counter++; } if (xmlNode.Name == FormDesignerConstants.RadioControl) { EIBRadioButton newNode = new EIBRadioButton(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBRadioButton.counter++; } if (xmlNode.Name == FormDesignerConstants.CheckboxControl) { EIBCheckbox newNode = new EIBCheckbox(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBCheckbox.counter++; } if (xmlNode.Name == FormDesignerConstants.ComboControl) { EIBCombobox newNode = new EIBCombobox(); UpdateControlProperties(newNode, xmlNode); UpdateComboBoxValues(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBCombobox.counter++; } if (xmlNode.Name == FormDesignerConstants.PagingControl) { EIBPaging newNode = new EIBPaging(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBPaging.counter++; } if (xmlNode.Name == FormDesignerConstants.ImageBrowseControl) { EIBImageBrowse newNode = new EIBImageBrowse(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBImageBrowse.counter++; } /*if (xmlNode.Name == FormDesignerConstants.MenuBarControl) { EIBMenuBar.counter++; EIBMenuBar newNode = new EIBMenuBar(); UpdateControlProperties(newNode, xmlNode); UpdateMenuValues(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); newNode.Height = 25; newNode.Width = newNode.Parent.Width; newNode.CurrentToolStrip.Dock = DockStyle.Fill; DragDropHandler.RegisterControl(newNode, true, true); newNode.Click += new EventHandler(FormDesigner.eventManager.handleMenuClick); currentControl = newNode; }*/ if (xmlNode.Name == FormDesignerConstants.MenuBarControl) { EIBVMenuBar newNode = new EIBVMenuBar(); UpdateControlProperties(newNode, xmlNode); UpdateMenuValues(newNode, xmlNode); newNode.InitiateSettings(null); newNode.Dock = DockStyle.None; baseFrame.Controls.Add(newNode); DragDropHandler.RegisterControl(newNode, true, true); newNode.PerformLayout(); //newNode.Size = new Size(30, 30); //newNode.Click += new EventHandler(FormDesigner.eventManager.handleMenuClick); currentControl = newNode; EIBVMenuBar.counter++; } if (xmlNode.Name == FormDesignerConstants.FrameControl) { EIBPanel newNode = new EIBPanel(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBDeserializeServices.DeserializeWindowXML(null, newNode, xmlNode); DragDropHandler.RegisterControl(newNode, true, true); Console.Write("Done with Frame"); EIBPanel.counter++; } if (xmlNode.Name == FormDesignerConstants.PlaceHolderControl) { EIBPlaceHolder newNode = new EIBPlaceHolder(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBDeserializeServices.DeserializeWindowXML(null, newNode, xmlNode); DragDropHandler.RegisterControl(newNode, true, true); Console.Write("Done with PlaceHolder"); EIBPlaceHolder.counter++; } if (xmlNode.Name == FormDesignerConstants.UserControl) { EIBItem newNode = new EIBItem(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); //EIBDeserializeServices.DeserializeWindowXML(null, newNode, xmlNode); //DragDropHandler.RegisterControl(newNode, true, true); Console.Write("Done with Item"); EIBItem.counter++; } if (xmlNode.Name == FormDesignerConstants.RadioGroupControl) { EIBRadioGroup newNode = new EIBRadioGroup(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBDeserializeServices.DeserializeWindowXML(null, newNode, xmlNode); DragDropHandler.RegisterControl(newNode, true, true); //Console.Write("Done with EIBradioGroup"); EIBRadioGroup.counter++; } if (xmlNode.Name == FormDesignerConstants.PictureControl) { EIBPicture newNode = new EIBPicture(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBPicture.counter++; } if (xmlNode.Name == FormDesignerConstants.GridControl) { EIBGrid newNode = new EIBGrid(); UpdateControlProperties(newNode, xmlNode); currentControl = newNode; baseFrame.Controls.Add(newNode); DragDropHandler.RegisterControl(newNode, true, true); EIBDeserializeServices.DeserializeWindowXML(null, newNode, xmlNode); EIBGrid.counter++; } if (xmlNode.Name == FormDesignerConstants.LatticeControl) { EIBLattice newNode = new EIBLattice(); UpdateControlProperties(newNode, xmlNode); currentControl = newNode; baseFrame.Controls.Add(newNode); DragDropHandler.RegisterControl(newNode, true, true); EIBDeserializeServices.DeserializeWindowXML(null, newNode, xmlNode); EIBLattice.counter++; } if (xmlNode.Name.Trim().Equals(FormDesignerConstants.RowControl, StringComparison.CurrentCultureIgnoreCase)) { EIBRow newNode = new EIBRow(); if (currentControl is EIBGrid) { if (currentControl is EIBGrid) { grid = (EIBGrid)currentControl; UpdateControlProperties(newNode, xmlNode); DragDropHandler.RegisterControl(newNode, true, true); grid.Rows.Add(newNode); currentControl = newNode; EIBDeserializeServices.DeserializeWindowXML(null, newNode, xmlNode); EIBRow.counter++; } } } //added for LROW if (xmlNode.Name.Trim().Equals(FormDesignerConstants.LRowControl, StringComparison.CurrentCultureIgnoreCase)) { EIBRow newNode = new EIBRow(); if (currentControl is EIBLattice) { if (currentControl is EIBLattice) { lattice = (EIBLattice)currentControl; UpdateControlProperties(newNode, xmlNode); DragDropHandler.RegisterControl(newNode, true, true); lattice.Rows.Add(newNode); IEIBControl parent = currentControl; currentControl = newNode; EIBDeserializeServices.DeserializeWindowXML(null, newNode, xmlNode); currentControl = parent; EIBRow.counter++; } } } if (xmlNode.Name.Trim().Equals(FormDesignerConstants.ColumnControl, StringComparison.CurrentCultureIgnoreCase)) { EIBColumn newNode = new EIBColumn(); if (currentControl is EIBRow) { EIBRow row = (EIBRow)currentControl; row.Columns.Add(newNode); DragDropHandler.RegisterControl(newNode, true, true); UpdateControlProperties(newNode, xmlNode); } EIBDeserializeServices.DeserializeWindowXML(null, newNode, xmlNode); EIBColumn.counter++; } //added for LCOLUMN if (xmlNode.Name.Trim().Equals(FormDesignerConstants.LColumnControl, StringComparison.CurrentCultureIgnoreCase)) { EIBColumn newNode = new EIBColumn(); if (currentControl is EIBRow) { EIBRow row = (EIBRow)currentControl; row.Columns.Add(newNode); DragDropHandler.RegisterControl(newNode, true, true); UpdateControlProperties(newNode, xmlNode); } EIBDeserializeServices.DeserializeWindowXML(null, newNode, xmlNode); EIBColumn.counter++; } if (xmlNode.Name == FormDesignerConstants.ListControl) { EIBListbox newNode = new EIBListbox(); UpdateControlProperties(newNode, xmlNode); UpdateListBoxValues(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBListbox.counter++; } if (xmlNode.Name == FormDesignerConstants.MultiTabControl) { EIBTabControl newNode = new EIBTabControl(); UpdateControlProperties(newNode, xmlNode); //newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBDeserializeServices.DeserializeWindowXML(null, newNode, xmlNode); DragDropHandler.RegisterControl(newNode, true, true); EIBTabControl.counter++; } if (xmlNode.Name == FormDesignerConstants.TreeNodeControl) { EIBTreeNode newNode = new EIBTreeNode(); currentTreeControl = null; UpdateTreeNodeProperties(newNode, xmlNode); newNode.InitiateSettings(null); if ((currentControl != null) && (currentControl is EIBTreeView)) { if (!(((EIBTreeView)currentControl).Nodes.Contains(newNode))) { ((EIBTreeView)currentControl).Nodes.Add(newNode); } } //baseFrame.Controls.Add(newNode); EIBTreeNode.counter++; } if (xmlNode.Name == FormDesignerConstants.TabPage) { EIBTabPage newNode = new EIBTabPage(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); EIBDeserializeServices.DeserializeWindowXML(null, newNode, xmlNode); EIBTabPage.counter++; } if (xmlNode.Name == FormDesignerConstants.TreeControl) { EIBTreeView newNode = new EIBTreeView(); UpdateControlProperties(newNode, xmlNode); newNode.InitiateSettings(null); baseFrame.Controls.Add(newNode); currentControl = newNode; EIBDeserializeServices.DeserializeWindowXML(null, newNode, xmlNode); DragDropHandler.RegisterControl(newNode, true, true); EIBTreeView.counter++; } if (xmlNode.Name == FormDesignerConstants.SearchControl) { EIBSearch eibSearch = new EIBSearch(); UpdateControlProperties(eibSearch, xmlNode); eibSearch.SearchDesign = new EIBFormDesigner.Search.SearchDesigner(baseFrame); eibSearch.SearchDesign.initSearchFrame(baseFrame); UpdateSearchProperties(eibSearch.SearchDesign, xmlNode); baseFrame.Controls.Add(eibSearch); EIBSearch.counter++; } if (xmlNode.Name == FormDesignerConstants.BrowseControl) { EIBBrowse eibBrowse = new EIBBrowse(); UpdateControlProperties(eibBrowse, xmlNode); eibBrowse.InitiateSettings(null); baseFrame.Controls.Add(eibBrowse); EIBBrowse.counter++; } } #endregion // moving up to in TreeView if end tag is encountered } } catch (FileNotFoundException ex) { MessageBox.Show("The File " + ex.FileName + " not found."); } catch (Exception ex) { MessageBox.Show("Error Occured.\n Xml File Was Modified."+ex.Message); } finally { } }