static AttributeInspectorForm() { /* read the schema from our application directory */ /* NOTE: we use XPathDocument instead of XmlDocument since it is faster in the read-only case */ XPathNavigator schema = new XPathDocument(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "attributes.xml")).CreateNavigator(); /* scan attribute schema for graph components */ _graphProperties = GetComponentProperties(schema, "graph"); _nodeProperties = GetComponentProperties(schema, "node"); _edgeProperties = GetComponentProperties(schema, "edge"); // NOTE: this has to run AFTER we set up the graph, node & edge properties so the external property tabs can read them in _instance = new AttributeInspectorForm(); }
protected override void OnFormClosing(FormClosingEventArgs e) { if (e.CloseReason == CloseReason.UserClosing) { /* instead of closing, we hide ourselves */ Hide(); e.Cancel = true; } else _instance = null; }