Deskriptorer - referens
Med hjälp av deskriptorer kan objekt och deras egenskaper beskrivas utifrån. Detta möjliggör stor flexibiltet för exempelvis automatiska eller "smarta" gränssnittsgeneratorer. I artikeln "Redigeringsdialoger och deskriptorer" visas några praktiska exempel.
Nedan följer en komplett lista på de standarddeskriptorer som följer med Dynamix
Deskriptorer som sätts som attribut
UI.DateTimeEditor
Anger önskat utseendet för datumredigerare
- C#
[Dynamix.Descriptors.UI.DateTimeEditor( IncludeDate=true,
IncludeTime=true)]
public string MyProperty { ... }
Standardvärden är IncludeDate=true och IncludeTime=false
UI.EditingMode
Anger hur gränssnittsgeneratorer ska behandla egenskapen.
- C#
// Do not generate editing UI
[EditingMode( EditingVisibilityMode.Hidden )]
public object MyHiddenProperty { ... }
Möjliga värden är:
Auto - Egenskapen är redigerbar om den har get- och set-metoder
Editable - Egenskapen är redigerbar
ReadOnly - Egenskapen visas men värdet kan inte ändras
Hidden - Inga redigerare ska visas för egenskapen
EditableIfNew - Egenskapen kan endast redigeras i nya objekt
Standardvärdet är Auto.
EditableIfNew och ReadOnly har ingen effekt i Dynamix version 4.3.17 och tidigare
UI.EditObjectDialogDescriptor
Anger en dialog som gränssnittgeneratorer kan använda för att redigera objekt av den aktuella typen.
- C#
// Peka ut deskriptor-klassen EditMyClassDesc
[EditObjectDialogDescriptor( typeof( EditMyClassDesc ))]
public class MyClass : Dynamix.Object { ... }
// Använd andra dimensioner än de som anges av dialog-deskriptorn
[EditObjectDialogDescriptor( typeof( EditMyClassDesc ), 500, 500 )]
public class MyClass : Dynamix.Object { ... }
UI.EditorControl
Anger vilken kontroll som ska användas för att redigera egenskaper av denna typ
- C#
// Använd MyControl som redigerare för egenskapen
[EditorControl( typeof( MyControl ) )]
public string MyProperty { ... }
[EditorControl( typeof( MyClassChooser ) )]
public class MyClass { ... }
// MyProperty redigeras med MyClassChooser pga returtypen
public MyClass MyProperty { ... }
UI.Label
Anger utseendet för de etiketter som visas i samband med redigering av egenskapen.
- C#
[Dynamix.Descriptors.UI.Label( "En lång text:", LabelWidth=200 )]
public string MyProperty { ... }
[Dynamix.Descriptors.UI.Label( "Värde:" )]
public string MyProperty { ... }
UI.Name
Anger önskat namn för en objekttyp i de sammanhang det är lämpligt, exempelvis för Ny-knappar och -menyer i automatiska gränssnitt.
- C#
[Dynamix.Descriptors.UI.Name( "Nyhet" )]
public class NewsItem : Dynamix.Object { ... }
UI.TextEditor
Anger utseendet för egenskapen om den redigeras med en textredigerare
- C#
using System.Web.UI.WebControls;
[Dynamix.Descriptors.UI.TextEditor( TextBoxMode=TextBoxMode.MultiLine,
Rows=5 )]
public string MyProperty { ... }
[Dynamix.Descriptors.UI.TextEditor( TextBoxMode=TextBoxMode.Password )]
public string MyProperty { ... }
Standardvärden är TextBoxMode=TextBoxmode.SingleLine och Rows=1