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

  1. C#
  1. [Dynamix.Descriptors.UI.DateTimeEditor( IncludeDate=true,
  2. IncludeTime=true)]
  3. public string MyProperty { ... }

Standardvärden är IncludeDate=true och IncludeTime=false

 

UI.EditingMode

Anger hur gränssnittsgeneratorer ska behandla egenskapen.

  1. C#
  1. // Do not generate editing UI
  2. [EditingMode( EditingVisibilityMode.Hidden )]
  3. 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.

  1. C#
  1. // Peka ut deskriptor-klassen EditMyClassDesc
  2. [EditObjectDialogDescriptor( typeof( EditMyClassDesc ))]
  3. public class MyClass : Dynamix.Object { ... }
  4. // Använd andra dimensioner än de som anges av dialog-deskriptorn
  5. [EditObjectDialogDescriptor( typeof( EditMyClassDesc ), 500, 500 )]
  6. public class MyClass : Dynamix.Object { ... }

 

UI.EditorControl

Anger vilken kontroll som ska användas för att redigera egenskaper av denna typ

  1. C#
  1. // Använd MyControl som redigerare för egenskapen
  2. [EditorControl( typeof( MyControl ) )]
  3. public string MyProperty { ... }
  4. [EditorControl( typeof( MyClassChooser ) )]
  5. public class MyClass { ... }
  6. // MyProperty redigeras med MyClassChooser pga returtypen
  7. public MyClass MyProperty { ... }

 

UI.Label

Anger utseendet för de etiketter som visas i samband med redigering av egenskapen.

  1. C#
  1. [Dynamix.Descriptors.UI.Label( "En lång text:", LabelWidth=200 )]
  2. public string MyProperty { ... }
  3. [Dynamix.Descriptors.UI.Label( "Värde:" )]
  4. 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.

  1. C#
  1. [Dynamix.Descriptors.UI.Name( "Nyhet" )]
  2. public class NewsItem : Dynamix.Object { ... }

 

UI.TextEditor

Anger utseendet för egenskapen om den redigeras med en textredigerare

  1. C#
  1. using System.Web.UI.WebControls;
  2. [Dynamix.Descriptors.UI.TextEditor( TextBoxMode=TextBoxMode.MultiLine,
  3. Rows=5 )]
  4. public string MyProperty { ... }
  5. [Dynamix.Descriptors.UI.TextEditor( TextBoxMode=TextBoxMode.Password )]
  6. public string MyProperty { ... }

Standardvärden är TextBoxMode=TextBoxmode.SingleLine och Rows=1