Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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;
                }
            }
        }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
        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;
        }