public abstract class DocumentKindOne kind of document: which files it claims and how it opens one. No view — that is DocumentView's.
Remarks
The Documents half of what IAssetEditorFactory used to be — doc 50 § D4, #1294. That interface carried Open (the project and the document: this assembly's words) and CreateView (an element: Vixen.Ui's) on one type, deliberately, because "a document with no view is a model nobody can reach and a view with no document is a control with nothing behind it". The pairing is right as a product invariant and wrong as a type: it put two contexts' words on one interface, and no assembly could own it. So the kind is here, the view is in Vixen.Editor.Ui, and the invariant is a test — DocumentPairingTests — over the two registries a running editor actually holds.
⚠ DocumentTypes is the join, and it is a list because one kind can open more than one type: the markup kind opens a MarkupDocument or a StyleSheetDocument by extension. TryOpen refuses a document of a type the kind did not declare, which is the runtime half of the pairing — a kind that drifted from what it declares would otherwise reach a view lookup that fails for a reason nobody can see from the double-click.
Fields and properties (3)
public abstract string NameWhat it is called, in a menu and in a message about two of them clashing.
public abstract IReadOnlyList<string> ExtensionsThe extensions it claims, each with its leading dot.
public abstract IReadOnlyList<Type> DocumentTypesEvery type Open may return; a view is found for each by DocumentView.
Methods (2)
public abstract EditorDocument Open(DocumentRequest request)Opens an asset as a document.
public bool Declares(EditorDocument document)Whether a document is one of DocumentTypes or derives from one.
Used by (44, showing 40)
- AddressableGroupEditorFactoryVixen.Editor.AssetEditors
- AnimationClipEditorFactoryVixen.Editor.AssetEditors
- AnimationGraphEditorFactoryVixen.Editor.AssetEditors
- AssetEditorsModuleVixen.Editor.AssetEditors
- AudioMixerEditorFactoryVixen.Editor.AssetEditors
- AuthoringTestsVixen.Editor.AssetEditors.Tests
- BehaviorTreeEditorFactoryVixen.Editor.AssetEditors
- CompositorEditorFactoryVixen.Editor.AssetEditors
- DocumentHostVixen.Editor.Core
- DocumentHostTestsVixen.Editor.AssetEditors.Tests
- DocumentPairingVixen.Editor.AssetEditors.Tests
- EditorCombinatorPairTestsVixen.Editor.App.Tests
- FakeKindVixen.Editor.AssetEditors.Tests
- FontEditorFactoryVixen.Editor.AssetEditors
- GoapDomainEditorFactoryVixen.Editor.AssetEditors
- HalfKindVixen.Editor.App.Tests
- HarnessEditorFactoryVixen.Editor.AssetEditors
- IDocumentHostVixen.Editor.Core
- InputActionsEditorFactoryVixen.Editor.AssetEditors
- LayerStackEditorFactoryVixen.Editor.Texturing
- LayerStackPanelTestsVixen.Editor.Texturing.Tests
- LyingKindVixen.Editor.AssetEditors.Tests
- MarkupEditorFactoryVixen.Editor.AssetEditors
- MaterialEditorFactoryVixen.Editor.AssetEditors
- ModelEditorFactoryVixen.Editor.AssetEditors
- MoveSetEditorFactoryVixen.Editor.AssetEditors
- PrefabEditorFactoryVixen.Editor.AssetEditors
- ProxyShapeEditorFactoryVixen.Editor.AssetEditors
- QueryEditorFactoryVixen.Editor.AssetEditors
- RemovalVixen.Editor.Core
- SceneEditorFactoryVixen.Editor.AssetEditors
- SequenceEditorFactoryVixen.Editor.AssetEditors
- ShaderEditorFactoryVixen.Editor.AssetEditors
- ShaderGraphEditorFactoryVixen.Editor.AssetEditors
- ShaderGraphSurfaceTestsVixen.Editor.App.Tests
- ShapeVocabularyEditorFactoryVixen.Editor.AssetEditors
- StandardEditorsVixen.Editor.AssetEditors
- StandardFrameEditorFactoryVixen.Editor.AssetEditors
- TextureEditorFactoryVixen.Editor.AssetEditors
- TextureGraphEditorFactoryVixen.Editor.Texturing