protected override void Initialize(bool initData) { base.Initialize(initData); if (initData) { // predefined styles string[] names = G3DPlotStyleCollectionTemplates.GetAvailableNames(); _predefinedStyleSetsAvailable = new SelectableListNodeList(); for (int i = 0; i < names.Length; ++i) { _predefinedStyleSetsAvailable.Add(new SelectableListNode(names[i], i, false)); } // single styles _singleStylesAvailable = new SelectableListNodeList(); Type[] avtypes = ReflectionService.GetNonAbstractSubclassesOf(typeof(IG3DPlotStyle)); for (int i = 0; i < avtypes.Length; i++) { if (avtypes[i] != typeof(G3DPlotStyleCollection)) { _singleStylesAvailable.Add(new SelectableListNode(Current.Gui.GetUserFriendlyClassName(avtypes[i]), avtypes[i], false)); } } BuildCurrentStyleListNodeList(); } if (null != _view) { _view.InitializePredefinedStyles(_predefinedStyleSetsAvailable); _view.InitializeAvailableStyleList(_singleStylesAvailable); _view.InitializeStyleList(_currentItems); } }
public void EhView_PredefinedStyleSelected() { var sel = _predefinedStyleSetsAvailable.FirstSelectedNode; if (null == sel) { return; } var template = G3DPlotStyleCollectionTemplates.GetTemplate((int)sel.Tag, _doc.GetPropertyContext()); _currentItems.Clear(() => _doc.Clear()); for (int i = 0; i < template.Count; i++) { var listNode = new SelectableListNode(Current.Gui.GetUserFriendlyClassName(template[i].GetType()), template[i], false); _currentItems.Add <IG3DPlotStyle>(listNode, (docNode) => _doc.Add(docNode)); } OnCollectionChangeCommit(); }