/// <summary> /// Raises the <see cref="E:System.Windows.Forms.Form.Load" /> event. /// </summary> /// <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param> protected override void OnLoad(EventArgs e) { base.OnLoad(e); Cursor.Current = Cursors.WaitCursor; try { _categories = CategoryCollection.Read(); tabCategories.TabPages.Clear(); // Add categories and examples. foreach (Category category in _categories) { Panel panel = AddCategory(category); if (panel == null) { continue; } foreach (Example example in category.Examples) { AddPanel(panel, example); } } } catch (Exception ex) { if (_categories != null) { _categories.Dispose(); } GorgonDialogs.ErrorBox(this, ex); Application.Exit(); } finally { Cursor.Current = Cursors.Default; } }
/// <summary> /// Function to read the categories and examples from the embedded example list. /// </summary> /// <returns>A new category collection.</returns> public static CategoryCollection Read() { var result = new CategoryCollection(); var document = XDocument.Parse(Resources.Examples); XElement root = document.Element("Examples"); if (root == null) { return(result); } IEnumerable <XElement> categories = root.Elements("Category"); foreach (XElement categoryNode in categories) { result.Add(Category.Read(categoryNode)); } return(result); }