Ikoner, beskrivningar och namngivning
I många gränssnittssammanhang, både deskriptor-/automatgenererade och egna är det praktiskt om objekt har ett generellt sätt att meddela gränssnittet hur de vill visa sig. Detta kan göras genom att implementera något av Dynamix beskrivningsinterface.
Dynamix.IName
Beskriver vad ett objekt anser är dess huvudsakliga namn. Dynamix.Object implementerar detta interface, så i klasser som ärvs därifrån sätter man eget namn genom att överlagra IName_Name:
- C#
public class MyObject : Dynamix.Object
{
...
public string TheName
{
get ...
set ...
}
protected override string IName_Name
{
get { return TheName; }
}
}
Dynamix.IDescription
Den enda medlemsmetoden Description ska returnera en beskrivning av objektet. Dynamix UI-kontroller använder denna beskrivning för att ge bra meddelanden och visa allmän information. Dynamix.Object implementerar detta interface, så i klasser som ärvs därifrån sätter man eget namn genom att överlagra IDescription_IName:
- C#
public class MyObject : Dynamix.Object
{
...
public string TheDescription
{
get ...
set ...
}
protected override string IDescription_Description
{
get { return TheDescription; }
}
}
Dynamix.UI.IDisplayItem
IDisplayItem innehåller tre medlemsmetoder, men två av dem - Name och Description - är märkta som Obsolete och ska numera alltid implementeras av IName och IDescription enligt ovan. Den tredje metoden - IconUrl - ska returnera sökvägen till en ikonbild som Dynamix UI-kontroller kan använda i de sammanhang det är lämpligt, exempelvis träd och listor. Dynamix.Object implementerar detta interface, så i klasser som ärvs därifrån sätter man eget namn genom att överlagra IDisplayItem_IconUrl
- C#
public class MyObject : Dynamix.Object
{
...
protected override string IDisplayItem_IconUrl
{
get { return Dynamix.Util.Icon16( "star_yellow" ); }
}
}