public void Initialize(Exolutio.Controller.Controller controller, PIMClass PIMClass, PIMAttribute initialSelectedAttribute = null) { this.controller = controller; this.PIMClass = PIMClass; this.Title = string.Format(this.Title, PIMClass); tbName.Text = PIMClass.Name; //tbElementLabel.Text = PIMClass.ElementName; //cbAbstract.IsChecked = PIMClass.IsAbstract; //cbAnyAttribute.IsChecked = PIMClass.AllowAnyAttribute; typeColumn.ItemsSource = PIMClass.ProjectVersion.GetAvailablePIMTypes(); fakeAttributesList = new ObservableCollection <FakePIMAttribute>(); fakeAttributes = new FakeAttributeCollection(fakeAttributesList, PIMClass); fakeAttributesList.CollectionChanged += delegate { UpdateApplyEnabled(); }; gridAttributes.ItemsSource = fakeAttributesList; if (initialSelectedAttribute != null) { gridAttributes.SelectedItem = fakeAttributesList.SingleOrDefault(fa => fa.SourceAttribute == initialSelectedAttribute); } dialogReady = true; bApply.IsEnabled = false; }
public ClassDialog(ClassController classController, ModelController controller) { InitializeComponent(); this.modelController = controller; this.classController = classController; if (classController is PSMClass) { isPSM = true; } this.Title = string.Format(this.Title, modelClass); tbName.Text = modelClass.Name; tbOnto.Text = modelClass.OntologyEquivalent; SubpackagesGetter subpackagesGetter = new SubpackagesGetter(controller.Model); Collection <Package> packages = subpackagesGetter.GetSubpackages(null); cbPackages.ItemsSource = packages; cbPackages.SelectedItem = modelClass.Package; if (isPSM) { cbPackages.IsEnabled = false; psmAttributes = new ObservableCollection <PSMAttribute>(); checkedPSMAttributes = new ObservableCollection <PSMAttribute>(); foreach (PSMAttribute item in ((PSMClass)classController).PSMAttributes) { psmAttributes.Add(item); checkedPSMAttributes.Add(item); } } else { attributes = new ObservableCollection <Property>(); checkedAttributes = new ObservableCollection <Property>(); foreach (Property item in modelClass.Attributes) { attributes.Add(item); checkedAttributes.Add(item); } typeColumn.ItemsSource = classController.Class.Package.AllTypes; ObservableCollection <FakeAttribute> fakeAttributesList = new ObservableCollection <FakeAttribute>(); foreach (Property property in attributes) { fakeAttributesList.Add(new FakeAttribute(property)); } fakeAttributes = new FakeAttributeCollection(fakeAttributesList); fakeAttributesList.CollectionChanged += delegate { UpdateApplyEnabled(); }; gridAttributes.ItemsSource = fakeAttributesList; dialogReady = true; if (classController.Class is Model.AssociationClass) { cPackage.Visibility = Visibility.Hidden; } } }
public PSMClassDialog(PSM_ClassController classController, DiagramController controller) : this() { this.diagramController = controller; this.psmClassController = classController; this.Title = string.Format(this.Title, psmClass); tbName.Text = psmClass.Name; tbElementLabel.Text = psmClass.ElementName; cbAbstract.IsChecked = psmClass.IsAbstract; cbAnyAttribute.IsChecked = psmClass.AllowAnyAttribute; typeColumn.ItemsSource = classController.Class.Package.AllTypes; ObservableCollection <FakePSMAttribute> fakeAttributesList = new ObservableCollection <FakePSMAttribute>(); fakeAttributes = new FakeAttributeCollection(fakeAttributesList, psmClass); fakeAttributesList.CollectionChanged += delegate { UpdateApplyEnabled(); }; gridAttributes.ItemsSource = fakeAttributesList; dialogReady = true; }
public void Initialize(Controller.Controller controller, PSMClass psmClass, PSMAttribute initialSelectedAttribute = null) { this.controller = controller; this.psmClass = psmClass; this.Title = string.Format("PSM class: {0}", psmClass); tbName.Text = psmClass.Name; #region attributes typeColumn.ItemsSource = psmClass.PSMSchema.GetAvailablePSMTypes(); PSMClass nearestInterpretedClass = psmClass.NearestInterpretedClass(); if (nearestInterpretedClass != null) { CompositeCollection coll = new CompositeCollection(); //coll.Add("(None)"); coll.Add(new CollectionContainer { Collection = ((PIMClass)nearestInterpretedClass.Interpretation).PIMAttributes }); interpretationColumn.ItemsSource = coll; } ObservableCollection <FakePSMAttribute> fakeAttributesList = new ObservableCollection <FakePSMAttribute>(); TypeFinder tf = TryFindSuitablePIMType; fakeAttributes = new FakeAttributeCollection(fakeAttributesList, psmClass, tf); fakeAttributesList.CollectionChanged += delegate { UpdateApplyEnabled(); }; gridAttributes.ItemsSource = fakeAttributesList; #endregion #region associatiosn if (nearestInterpretedClass != null) { CompositeCollection coll = new CompositeCollection(); //coll.Add("(None)"); coll.Add(new CollectionContainer { Collection = ((PIMClass)nearestInterpretedClass.Interpretation).PIMAssociationEnds.Select(e => e.PIMAssociation) }); interpretationAssociation.ItemsSource = coll; } ObservableCollection <FakePSMAssociation> fakeAssociationsList = new ObservableCollection <FakePSMAssociation>(); fakeAssociations = new FakeAssociationCollection(fakeAssociationsList, psmClass); fakeAssociationsList.CollectionChanged += delegate { UpdateApplyEnabled(); }; gridAssociations.ItemsSource = fakeAssociationsList; #endregion if (initialSelectedAttribute != null) { gridAttributes.SelectedItem = fakeAttributesList.SingleOrDefault(fa => fa.SourceAttribute == initialSelectedAttribute); } dialogReady = true; }