Remove excessive shortcut key matching in ToolStrip
[mono.git] / mcs / class / System.ComponentModel.Composition / Tests / ComponentModelUnitTest / System / ComponentModel / Composition / Factories / PartFactory.cs
1 // -----------------------------------------------------------------------\r
2 // Copyright (c) Microsoft Corporation.  All rights reserved.\r
3 // -----------------------------------------------------------------------\r
4 using System;\r
5 using System.Collections.Generic;\r
6 using System.ComponentModel.Composition;\r
7 using System.ComponentModel.Composition.AttributedModel;\r
8 using System.ComponentModel.Composition.Hosting;\r
9 using System.ComponentModel.Composition.Primitives;\r
10 \r
11 namespace System.ComponentModel.Composition.Factories\r
12 {\r
13     internal static partial class PartFactory\r
14     {\r
15         public static Type GetAttributedExporterType()\r
16         {\r
17             return typeof(ExportValueTypeFactory);\r
18         }\r
19 \r
20         public static ComposablePart CreateAttributed(Type type)\r
21         {\r
22             var definition = PartDefinitionFactory.CreateAttributed(type);\r
23 \r
24             return definition.CreatePart();\r
25         }\r
26 \r
27         public static ComposablePart CreateAttributed(object instance)\r
28         {\r
29             return AttributedModelServices.CreatePart(instance);\r
30         }\r
31 \r
32         public static ComposablePart Create()\r
33         {\r
34             return new NoOverridesComposablePart();\r
35         }\r
36 \r
37         public static ComposablePart CreateExporter(string contractName, object value)\r
38         {\r
39             return CreateExporter(new MicroExport(contractName, value));\r
40         }\r
41 \r
42         public static ComposablePart CreateExporter(params MicroExport[] exports)\r
43         {\r
44             ConcreteComposablePart part = new ConcreteComposablePart();\r
45 \r
46             if (exports != null)\r
47             {\r
48                 foreach (var export in exports)\r
49                 {\r
50                     foreach (object exportedValue in export.ExportedValues)\r
51                     {\r
52                         part.AddExport(ExportFactory.Create(export.ContractName, exportedValue, export.Metadata));\r
53                     }\r
54                 }\r
55             }\r
56 \r
57             return part;\r
58         }\r
59 \r
60         public static ImportingComposablePart CreateImporter<T>()\r
61         {\r
62             string contractName = AttributedModelServices.GetContractName(typeof(T));\r
63 \r
64             return CreateImporter(contractName);\r
65         }\r
66 \r
67         public static ImportingComposablePart CreateImporterExporter(string exportContractName, string importContractName)\r
68         {\r
69             return new ImportingComposablePart(exportContractName, ImportCardinality.ExactlyOne, false, importContractName);\r
70         }\r
71 \r
72         public static ImportingComposablePart CreateImporter(params string[] contractNames)\r
73         {\r
74             return new ImportingComposablePart(ImportCardinality.ZeroOrMore, false, contractNames);\r
75         }\r
76 \r
77         public static ImportingComposablePart CreateImporter(bool isRecomposable, params string[] contractNames)\r
78         {\r
79             return new ImportingComposablePart(ImportCardinality.ZeroOrMore, isRecomposable, contractNames);\r
80         }\r
81 \r
82         public static ImportingComposablePart CreateImporter(string contractName)\r
83         {\r
84             return CreateImporter(contractName, ImportCardinality.ZeroOrMore);\r
85         }\r
86 \r
87         public static ImportingComposablePart CreateImporter(string contractName, bool isRecomposable)\r
88         {\r
89             return CreateImporter(contractName, ImportCardinality.ZeroOrMore, isRecomposable);\r
90         }\r
91 \r
92         public static ImportingComposablePart CreateImporter(string contractName, ImportCardinality cardinality)\r
93         {\r
94             return CreateImporter(contractName, cardinality, false);\r
95         }\r
96 \r
97         public static ImportingComposablePart CreateImporter(string contractName, ImportCardinality cardinality, bool isRecomposable)\r
98         {\r
99             return new ImportingComposablePart(cardinality, isRecomposable, contractName);\r
100         }\r
101 \r
102         public static ImportingComposablePart CreateImporter(params ImportDefinition[] importDefinitions)\r
103         {\r
104             return new ImportingComposablePart(importDefinitions);\r
105         }\r
106 \r
107         public static ComposablePart CreateDisposable(Action<bool> disposeCallback)\r
108         {\r
109             return new DisposableComposablePart(disposeCallback);\r
110         }\r
111     }\r
112 }\r