예제 #1
0
 /// <summary>
 /// Static Constructor.
 /// </summary>
 static DetailAppearance()
 {
     __ClassDefinitor = new ModelClassDefinitor <DetailAppearance>("DetailAppearance", null, "Detail Appearance",
                                                                   "Base for setting the appearance of detail content shown in a symbol's details poster.");
     __ClassDefinitor.DeclareProperty(__IsDisplayed);
     __ClassDefinitor.DeclareProperty(__ShowTitle);
 }
예제 #2
0
        /// <summary>
        /// Static Constructor.
        /// </summary>
        static VisualElementFormat()
        {
            __ClassDefinitor = new ModelClassDefinitor <VisualElementFormat>("VisualElementFormat", null, "Visual Element Format",
                                                                             "Specifies format for visual elements, considering opacity, line and background styles.");
            __ClassDefinitor.DeclareProperty(__Opacity);
            __ClassDefinitor.DeclareProperty(__MainBackground);
            __ClassDefinitor.DeclareProperty(__LineBrush);
            __ClassDefinitor.DeclareProperty(__LineDash);
            __ClassDefinitor.DeclareProperty(__LineCap);
            __ClassDefinitor.DeclareProperty(__LineJoin);
            __ClassDefinitor.DeclareProperty(__LineThickness);
            // POSTPONED: __ClassDefinitor.DeclareProperty(__HasShadow);

            __Opacity.RangeMin  = 0;
            __Opacity.RangeMax  = 1;
            __Opacity.RangeStep = 0.05;

            __LineThickness.ItemsSourceGetter            = ((ctx) => MasterDrawer.AvailableThicknesses);
            __LineThickness.ItemsSourceSelectedValuePath = SimpleElement.__TechName.TechName;
            __LineThickness.ItemsSourceDisplayMemberPath = SimpleElement.__Name.TechName;
            __LineThickness.BindingValueConverter        =
                new GenericConverter <double, SimplePresentationElement>(val => val == 0.0 ? null : MasterDrawer.AvailableThicknesses.First(tn => tn.TechName == val.ToString(CultureInfo.InvariantCulture.NumberFormat)),
                                                                         spe => spe == null ? 0.0 : double.Parse(spe.TechName, CultureInfo.InvariantCulture.NumberFormat));

            __LineDash.ItemsSourceGetter            = ((ctx) => MasterDrawer.AvailableDashStyles);
            __LineDash.ItemsSourceSelectedValuePath = SimpleElement.__TechName.TechName;
            __LineDash.ItemsSourceDisplayMemberPath = SimpleElement.__Name.TechName;
            __LineDash.BindingValueConverter        =
                new GenericConverter <DashStyle, SimplePresentationElement>(dash => dash == null ? null : MasterDrawer.AvailableDashStyles.First(ds => ds.TechName == Display.DeclaredDashStyles.First(reg => reg.Item1 == dash).Item2),
                                                                            spe => spe == null ? null : Display.DeclaredDashStyles.First(reg => reg.Item2 == spe.TechName).Item1);
        }
예제 #3
0
 /// <summary>
 /// Static Constructor.
 /// </summary>
 static InternalLink()
 {
     __ClassDefinitor = new ModelClassDefinitor <InternalLink>("InternalLink", Link.__ClassDefinitor, "Internal Link",
                                                               "References an internal property.");
     __ClassDefinitor.DeclareProperty(__AssignedDesignator);
     __ClassDefinitor.DeclareProperty(__TargetProperty);
 }
예제 #4
0
 /// <summary>
 /// Static Constructor.
 /// </summary>
 static Relationship()
 {
     __ClassDefinitor = new ModelClassDefinitor <Relationship>("Relationship", Idea.__ClassDefinitor, "Relationship",
                                                               "Association between multiple ideas, connected using link-roles, forming a nexus.");
     __ClassDefinitor.DeclareProperty(__RelationshipDefinitor);
     __ClassDefinitor.DeclareCollection(__Links);
 }
예제 #5
0
 /// <summary>
 /// Static Constructor.
 /// </summary>
 static RelationshipVisualRepresentation()
 {
     __ClassDefinitor = new ModelClassDefinitor <RelationshipVisualRepresentation>("RelationshipVisualRepresentation", VisualRepresentation.__ClassDefinitor, "Relationship Visual Representation",
                                                                                   "Visually represents a Relationship.");
     __ClassDefinitor.DeclareProperty(__RepresentedRelationship);
     //- __ClassDefinitor.DeclareProperty(__ConnectorsFormat);
 }
예제 #6
0
 /// <summary>
 /// Static Constructor.
 /// </summary>.
 static MetaDefinition()
 {
     __ClassDefinitor = new ModelClassDefinitor <MetaDefinition>("MetaDefinition", FormalPresentationElement.__ClassDefinitor, "Meta-Definition",
                                                                 "Represents, at a meta level of abstraction, the definition of the data structure upon which schema objects, of a particular type, are created.");
     __ClassDefinitor.DeclareProperty(__MetaId);
     __ClassDefinitor.DeclareProperty(__Alterability);
 }
예제 #7
0
 /// <summary>
 /// Static Constructor.
 /// </summary>
 static Table()
 {
     __ClassDefinitor = new ModelClassDefinitor <Table>("Table", ContainedDetail.__ClassDefinitor, "Table",
                                                        "Stores structured information, containing one or multiple data records of the same type.");
     __ClassDefinitor.DeclareProperty(__AssignedDesignator);
     __ClassDefinitor.DeclareCollection(__Records);
 }
예제 #8
0
 /// <summary>
 /// Static Constructor.
 /// </summary>
 static MarkerAssignment()
 {
     __ClassDefinitor = new ModelClassDefinitor <MarkerAssignment>("MarkerAssignment", null,
                                                                   "Marker Assignment", "Represents the assignment of a Marking to an Idea. Optionally, a descriptor can be also associated.");
     __ClassDefinitor.DeclareProperty(__Definitor);
     __ClassDefinitor.DeclareProperty(__Descriptor);
 }
예제 #9
0
 /// <summary>
 /// Static Constructor.
 /// </summary>
 static TableRecord()
 {
     __ClassDefinitor = new ModelClassDefinitor <TableRecord>("TableRecord", null, "Table Record",
                                                              "Groups variable data items that conforms a data entity, composing a Table with others of the same kind.");
     __ClassDefinitor.DeclareProperty(__OwnerTable);
     __ClassDefinitor.DeclareCollection(__Values);
 }
 /// <summary>
 /// Static Constructor.
 /// </summary>.
 static ExternalLanguageDeclaration()
 {
     __ClassDefinitor = new ModelClassDefinitor <ExternalLanguageDeclaration>("ExternalLanguageDeclaration", FormalPresentationElement.__ClassDefinitor, "Meta-Definition",
                                                                              "Represents, at a metalevel of abstraction, the definition of the data structure upon which create schema objects of a type.");
     __ClassDefinitor.DeclareProperty(__MetaId);
     __ClassDefinitor.DeclareProperty(__Alterability);
 }
예제 #11
0
 /// <summary>
 /// Static Constructor.
 /// </summary>
 static AttachmentDetailDesignator()
 {
     __ClassDefinitor = new ModelClassDefinitor <AttachmentDetailDesignator>("AttachmentDetailDesignator", DetailDesignator.__ClassDefinitor, "Attachment Detail Designator",
                                                                             "Associates an Attachment definition to an Idea.");
     __ClassDefinitor.DeclareProperty(__DeclaringContentType);
     __ClassDefinitor.DeclareProperty(__AttachmentLook);
 }
예제 #12
0
        /// <summary>
        /// Static Constructor.
        /// </summary>
        static FormalElement()
        {
            __ClassDefinitor = new ModelClassDefinitor <FormalElement>("FormalElement", UniqueElement.__ClassDefinitor, "Formal Element",
                                                                       "Standard entity type, globally unique, with Name, Tech-Name, Summary, Tech-Spec, plus rich-text Description and Version information.");
            __ClassDefinitor.DeclareProperty(__Name);
            __ClassDefinitor.DeclareProperty(__TechName);
            __ClassDefinitor.DeclareProperty(__Summary);
            __ClassDefinitor.DeclareProperty(__TechSpec);
            __ClassDefinitor.DeclareProperty(__Description);
            __ClassDefinitor.DeclareProperty(__Classification);
            __ClassDefinitor.DeclareProperty(__Version);

            __Name.IsIdentificator = true;
            __Name.IsLinkeable     = true;

            __TechName.IsIdentificator = true;
            __TechName.IsLinkeable     = true;

            __Summary.IsLinkeable = true;

            __TechSpec.IsLinkeable = true;

            // POSTPONED: Until be supported by the internal-link editor
            // __Description.IsLinkeable = true;

            __Description.HasRichContent = true;

            __ClassDefinitor.InstanceValidator = (ins => ins.Name.IsAbsent() ? ("The '" + __Name.Name + "' field is empty").IntoList() : null);
        }
예제 #13
0
 /// <summary>
 /// Static Constructor.
 /// </summary>
 static Concept()
 {
     __ClassDefinitor = new ModelClassDefinitor <Concept>("Concept", Idea.__ClassDefinitor, "Concept",
                                                          "Concrete object, subtype of Idea, which can be associated to others through Relationships.");
     __ClassDefinitor.DeclareProperty(__ConceptType);
     __ClassDefinitor.DeclareProperty(__ConceptDefinitor);
 }
예제 #14
0
 /// <summary>
 /// Static Constructor.
 /// </summary>
 static LinkDetailDesignator()
 {
     __ClassDefinitor = new ModelClassDefinitor <LinkDetailDesignator>("LinkDetailDesignator", DetailDesignator.__ClassDefinitor, "Link Detail Designator",
                                                                       "Associates an Link definition to an Idea.");
     __ClassDefinitor.DeclareProperty(__DeclaringLinkType);
     __ClassDefinitor.DeclareProperty(__LinkLook);
 }
예제 #15
0
 /// <summary>
 /// Static constructor
 /// </summary>
 static MarkerDefinition()
 {
     __ClassDefinitor = new ModelClassDefinitor <MarkerDefinition>("MarkerDefinition", SimplePresentationElement.__ClassDefinitor, "Marker Definition",
                                                                   "Defines a simple classificator.");
     __ClassDefinitor.DeclareProperty(__ClusterKey);
     __ClassDefinitor.DeclareProperty(__Background);
     __ClassDefinitor.DeclareProperty(__Foreground);
 }
예제 #16
0
 /// <summary>
 /// Static constructor
 /// </summary>
 static TextTemplate()
 {
     __ClassDefinitor = new ModelClassDefinitor <TextTemplate>("TextTemplate", null, "Text Template",
                                                               "Defines a template for text based file generation.");
     __ClassDefinitor.DeclareProperty(__Language);
     __ClassDefinitor.DeclareProperty(__Text);
     __ClassDefinitor.DeclareProperty(__ExtendsBaseTemplate);
 }
예제 #17
0
 /// <summary>
 /// Static Constructor.
 /// </summary>
 static DetailDesignator()
 {
     __ClassDefinitor = new ModelClassDefinitor <DetailDesignator>("DetailDesignator", MetaDefinition.__ClassDefinitor, "Detail Designator",
                                                                   "Base ancestor for the designators of detailed data.");
     __ClassDefinitor.DeclareProperty(__Initializer);
     __ClassDefinitor.DeclareProperty(__Owner);
     __ClassDefinitor.DeclareProperty(__SubOwnerFieldDef);
 }
예제 #18
0
 /// <summary>
 /// Static Constructor.
 /// </summary>
 static ResourceLink()
 {
     __ClassDefinitor = new ModelClassDefinitor <ResourceLink>("ResourceLink", Link.__ClassDefinitor, "Resource Link",
                                                               "References a resource, such as a file, folder or web address.");
     __ClassDefinitor.DeclareProperty(__AssignedDesignator);
     __ClassDefinitor.DeclareProperty(__TargetLocation);
     //? __ClassDefinitor.DeclareProperty(__IsRelative);
 }
예제 #19
0
        /// <summary>
        /// Static Constructor.
        /// </summary>
        static UniqueElement()
        {
            __ClassDefinitor = new ModelClassDefinitor <UniqueElement>("UniqueElement", null,
                                                                       "Unique Element", "Object with unique non-repeatable identity among others of any kind.");
            __ClassDefinitor.DeclareProperty(__GlobalId);

            __GlobalId.IsIdentificator  = true;
            __GlobalId.IsEditControlled = false;
        }
예제 #20
0
        /// <summary>
        /// Static Constructor.
        /// </summary>
        static VisualObject()
        {
            __ClassDefinitor = new ModelClassDefinitor <VisualObject>("VisualObject", UniqueElement.__ClassDefinitor, "Visual Object",
                                                                      "Elementary visual object and ancestor for others most sophisticated.");

            __ClassDefinitor.DeclareProperty(__Graphic);
            __ClassDefinitor.DeclareProperty(__IsRelatedVisible);

            __IsRelatedVisible.ChangesExistenceStatus = false;
        }
예제 #21
0
 /// <summary>
 /// Static Constructor.
 /// </summary>
 static RoleBasedLink()
 {
     __ClassDefinitor = new ModelClassDefinitor <RoleBasedLink>("RoleBasedLink", UniqueElement.__ClassDefinitor, "Link",
                                                                "Links a Relationship with a related Idea, following a Link Role Definition.");
     __ClassDefinitor.DeclareProperty(__OwnerRelationship);
     __ClassDefinitor.DeclareProperty(__Descriptor);
     __ClassDefinitor.DeclareProperty(__AssociatedIdea);
     __ClassDefinitor.DeclareProperty(__RoleDefinitor);
     __ClassDefinitor.DeclareProperty(__RoleVariant);
 }
예제 #22
0
        /// <summary>
        /// Static Constructor.
        /// </summary>
        static Attachment()
        {
            __ClassDefinitor = new ModelClassDefinitor <Attachment>("Attachment", ContainedDetail.__ClassDefinitor, "Attachment",
                                                                    "Represents an arbitrary embedded object, obtained from external source, such as: image, video, data file, etc.");
            __ClassDefinitor.Pictogram = Display.GetAppImage("page_attach.png");

            __ClassDefinitor.DeclareProperty(__AssignedDesignator);
            __ClassDefinitor.DeclareProperty(__Content);
            __ClassDefinitor.DeclareProperty(__Source);
            __ClassDefinitor.DeclareProperty(__MimeType);
        }
예제 #23
0
 /// <summary>
 /// Static constructor
 /// </summary>
 static DisplayList()
 {
     __ClassDefinitor = new ModelClassDefinitor <DisplayList>("DisplayList", null, "Display List",
                                                              "Stores display preferences about object views of List style.");
     __ClassDefinitor.DeclareProperty(__Show);
     __ClassDefinitor.DeclareProperty(__PropName);
     __ClassDefinitor.DeclareProperty(__PropTechName);
     __ClassDefinitor.DeclareProperty(__PropSummary);
     __ClassDefinitor.DeclareProperty(__PropPictogram);
     __ClassDefinitor.DeclareProperty(__Definitor);
 }
예제 #24
0
        /// <summary>
        /// Static Constructor.
        /// </summary>
        static TableDetailDesignator()
        {
            __ClassDefinitor = new ModelClassDefinitor <TableDetailDesignator>("TableDetailDesignator", DetailDesignator.__ClassDefinitor, "Table Detail Designator",
                                                                               "Associates Table-Structure Definitions to an Idea, Idea-Definition or Field-Definition (Contained Table field type).");
            __ClassDefinitor.DeclareProperty(__DeclaringTableDef);
            __ClassDefinitor.DeclareProperty(__TableLook);
            __ClassDefinitor.DeclareProperty(__TableDefIsOwned);
            __ClassDefinitor.DeclareProperty(__ContainedTableSubOwner);

            __DeclaringTableDef.ForcedOwnershipIndicator = __TableDefIsOwned;
        }
예제 #25
0
        /// <summary>
        /// Static Constructor.
        /// </summary>
        static ConceptDefinition()
        {
            ConceptDef_Cluster_None.GlobalId = new Guid(CONDEF_CLUSTER_EMPTY_ID);

            __ClassDefinitor = new ModelClassDefinitor <ConceptDefinition>("ConceptDefinition",
                                                                           IdeaDefinition.__ClassDefinitor,
                                                                           "Concept Definition",
                                                                           "Represents the definition of a Concept type.");

            __ClassDefinitor.DeclareProperty(__AncestorConceptDef);
            __ClassDefinitor.DeclareProperty(__AutomaticCreationConceptDef);
            __ClassDefinitor.DeclareProperty(__AutomaticCreationRelationshipDef);
            __ClassDefinitor.DeclareProperty(__AutomaticCreationPositioningMode);
            __ClassDefinitor.DeclareProperty(__AutomaticCreationPositioningIsRadialized);

            __AutomaticCreationConceptDef.ItemsSourceGetter = ((ctx) =>
            {
                if (!(ctx is ConceptDefinition ConceptDef))
                {
                    return(null);
                }

                return(ConceptDef.OwnerDomain.ConceptDefinitions);
            });

            __AutomaticCreationConceptDef.ItemsSourceSelectedValuePath = FormalElement.__TechName.TechName;
            __AutomaticCreationConceptDef.ItemsSourceDisplayMemberPath = FormalElement.__Name.TechName;

            __AutomaticCreationRelationshipDef.ItemsSourceGetter = ((ctx) =>
            {
                if (!(ctx is ConceptDefinition ConceptDef))
                {
                    return(null);
                }

                return(ConceptDef.OwnerDomain.RelationshipDefinitions);
            });

            __AutomaticCreationRelationshipDef.ItemsSourceSelectedValuePath = FormalElement.__TechName.TechName;
            __AutomaticCreationRelationshipDef.ItemsSourceDisplayMemberPath = FormalElement.__Name.TechName;

            if (ConceptDefinition.AutoLocatingModes == null)
            {
                ConceptDefinition.AutoLocatingModes = General.GetEnumMembers <EAutoPositioningMode>().ToArray();
            }

            __AutomaticCreationPositioningMode.ItemsSourceGetter            = ((ctx) => ConceptDefinition.AutoLocatingModes);
            __AutomaticCreationPositioningMode.ItemsSourceSelectedValuePath = "Item1";
            __AutomaticCreationPositioningMode.ItemsSourceDisplayMemberPath = "Item2";
            __AutomaticCreationPositioningMode.BindingValueConverter        =
                new GenericConverter <EAutoPositioningMode, Tuple <EAutoPositioningMode, string, string> >(alm => ConceptDefinition.AutoLocatingModes.First(reg => reg.Item1 == alm),
                                                                                                           tup => tup.Item1);
        }
예제 #26
0
 /// <summary>
 /// Static Constructor.
 /// </summary>
 static TableAppearance()
 {
     __ClassDefinitor = new ModelClassDefinitor <TableAppearance>("TableAppearance", DetailAppearance.__ClassDefinitor, "Table Appearance",
                                                                  "Stores appearance data for a table to be displayed as part of a details poster of a symbol.");
     __ClassDefinitor.DeclareProperty(__IsMultiRecord);
     //? __ClassDefinitor.DeclareProperty(__MinRecords);
     //? __ClassDefinitor.DeclareProperty(__MaxRecords);
     __ClassDefinitor.DeclareProperty(__Layout);
     __ClassDefinitor.DeclareProperty(__ShowFieldTitles);
     // POSTPONED: __ClassDefinitor.DeclareProperty(__FieldsArrangement);
     // POSTPONED: __ClassDefinitor.DeclareProperty(__RecordsArrangement);
 }
예제 #27
0
 /// <summary>
 /// Static Constructor.
 /// </summary>
 static VersionCard()
 {
     __ClassDefinitor = new ModelClassDefinitor <VersionCard>("VersionCard", null,
                                                              "Version Card", "Stores version control information for versionable objects.");
     __ClassDefinitor.DeclareProperty(__VersionSequence);
     //- __ClassDefinitor.DeclareProperty(__VersionChangeId);
     __ClassDefinitor.DeclareProperty(__Creation);
     __ClassDefinitor.DeclareProperty(__Creator);
     __ClassDefinitor.DeclareProperty(__LastModification);
     __ClassDefinitor.DeclareProperty(__LastModifier);
     __ClassDefinitor.DeclareProperty(__Annotation);
     __ClassDefinitor.DeclareProperty(__VersionNumber);
 }
        /// <summary>
        /// Static Constructor.
        /// </summary>
        static VisualRepresentation()
        {
            __ClassDefinitor = new ModelClassDefinitor <VisualRepresentation>("VisualRepresentation", UniqueElement.__ClassDefinitor, "Visual Representation",
                                                                              "Groups Visual Elements to conform the exposed representation of an Idea.");
            __ClassDefinitor.DeclareProperty(__DisplayingView);
            __ClassDefinitor.DeclareProperty(__IsShortcut);
            //- __ClassDefinitor.DeclareProperty(__SynonymIndex);
            __ClassDefinitor.DeclareProperty(__AreRelatedTargetsShown);
            __ClassDefinitor.DeclareProperty(__AreRelatedOriginsShown);

            __ClassDefinitor.DeclareCollection(__VisualParts);
            __ClassDefinitor.DeclareCollection(__CustomFormatValues);
        }
예제 #29
0
 /// <summary>
 /// Static Constructor.
 /// </summary>
 static TextFormat()
 {
     __ClassDefinitor = new ModelClassDefinitor <TextFormat>("TextFormat", null, "Text Format",
                                                             "Specifies format to be applied on text.");
     __ClassDefinitor.DeclareProperty(__Alignment);
     __ClassDefinitor.DeclareProperty(__ForegroundBrush);
     __ClassDefinitor.DeclareProperty(__IsBold);
     __ClassDefinitor.DeclareProperty(__IsItalic);
     __ClassDefinitor.DeclareProperty(__IsUnderline);
     __ClassDefinitor.DeclareProperty(__IsStrikethrough);
     __ClassDefinitor.DeclareProperty(__FontFamilyName);
     __ClassDefinitor.DeclareProperty(__FontSize);
 }
예제 #30
0
 /// <summary>
 /// Static Constructor.
 /// </summary>
 static VisualConnector()
 {
     __ClassDefinitor = new ModelClassDefinitor <VisualConnector>("VisualConnector", VisualElement.__ClassDefinitor, "Visual Connector",
                                                                  "Makes a visual connection between two elements.");
     __ClassDefinitor.DeclareProperty(__OwnerRelationshipRepresentation);
     __ClassDefinitor.DeclareProperty(__RepresentedLink);
     __ClassDefinitor.DeclareProperty(__OriginPosition);
     __ClassDefinitor.DeclareProperty(__OriginEdgePosition);
     __ClassDefinitor.DeclareProperty(__OriginSymbol);
     __ClassDefinitor.DeclareProperty(__TargetPosition);
     __ClassDefinitor.DeclareProperty(__TargetEdgePosition);
     __ClassDefinitor.DeclareProperty(__TargetSymbol);
     __ClassDefinitor.DeclareProperty(__IntermediatePosition);
 }