Common Desktop Environment: Användarhandbok för systemadministratörer

Kapitel 13 Skapa datatyper manuellt

Du kan skapa datatypsdefinitioner på två sätt:

När du skapar en datatyp manuellt måste du redigera en databasfil.

I det här kapitlet beskrivs hur du manuellt skapar datatypsdefinitioner i följande avsnitt:

Varför du måste skapa datatyper manuellt

Med manuellt skapade datatyper kan du använda alla möjligheter som finns inbyggda i datatypsdefinitionernas syntax.

Du måste skapa en datatyp manuellt om du vill kunna använda följande funktionalitet:

Komponenter i datatypsdefinitionen: Villkor och attribut

En datatypsdefinition består av två separata databasdefinitioner:

Det måste finnas minst en DATA_CRITERIA-definition för varje DATA_ATTRIBUTES-definition. En DATA_ATTRIBUTES-definition kan ha flera DATA_CRITERIA associerade.

Du kan t ex skapa en attributdefinition för PostScript-filer som beskriver hur PostScript-filerna ser ut och fungerar i Filhanteraren. Sedan kan du skapa två separata villkor för PostScript-datatypen - ett som är baserat på filnamn och ett som är baserat på filinnehåll.

Mer information finns i "Definiera dataattribut för en datatyp".

Skapa datatyper manuellt: Allmänna steg

I det här avsnittet beskrivs hur du skapar en datatypskonfigurationsfil.

Konfigurationsfiler för datatyper

Kraven för konfigurationsfiler som innehåller datatypsdefinitioner är:

Skapa en datatypsdefinition

  1. Öppna en befintlig databasfil eller skapa en ny.

    Mer information finns i föregående avsnitt "Konfigurationsfiler för datatyper".

  2. Definiera dataattribut för datatypen med följande syntax:

    	DATA_ATTRIBUTES datatypsnamn
     	{
     		ICON						bildnamn
     		DESCRIPTION				sträng
     		attributfält
     		attributfält
     		...
     	}
    

    där

    datatypsnamn är ett unikt namn som ges till den här datatypen.

    bildnamn är ett filnamn eller en sökväg för en ikonfil. Använd filens basnamn. För ikonfilerna minbild.m.pm och minbild.t.pm används namnet myimage.

    attributfält definierar utseende eller beteende för datatypen.

    sträng är en teckensträng. Innehållet blir objekthjälp för datatypen.

    Se "Exempel på hur du skapar en egen funktion och datatyp".

  3. Definiera datatypens datavillkor med hjälp av följande syntax:

    	DATA_CRITERIA villkorsnamn
     	{
     		DATA_ATTRIBUTES_NAME						datatypsnamn
     		villkorsfält
     		villkorsfält
     		...
     	}
    

    , där

    villkorsnamn är ett unikt namn för den här villkorsdefinitionen

    datatypsnamn är ett namn som används i definitionen DATA_ATTRIBUTES

    villkorsfält är ett fält som används för att definiera villkoren för tilldelning av en fil till den här datatypen

    Se: "Definiera dataattribut för en datatyp".

  4. Spara databasfilen.

  5. Skapa datatypens ikoner

    Mer information finns i "Ange ikonbild för datatypen".

  6. Skapa de funktioner som finns i fältet ACTIONS i attributdefinitionen.

  7. Dubbelklicka på Ladda om funktioner i programgruppen Skrivbordsverktyg för att läsa om databasen.

Exempel på hur du skapar en egen funktion och datatyp

Anta att det i ditt system finns ett program som heter xgif, som visar GIF-bilder. Normalt startas programmet med kommandot

xgif filnamn.

Du vill kunna visa GIF-bilder på flera olika sätt:

  1. Öppna den nya filen Hemmapp/.dt/types/Gifvisning.dt för redigering.

  2. Skriv datatypsdefinitionerna:

    	DATA_ATTRIBUTES Gif
     	{
     		DESCRIPTION				GIF-bildfil.
     		ICON						GifIcon
     		ACTIONS					View
     	}
     	DATA_CRITERIA Gifvillkor
     	{
     		DATA_ATTRIBUTES_NAME			Gif
     		NAME_PATTERN						*.gif
     	}
  3. Skriv funktionsdefinitionen för funktionen Gifvisning:

    	ACTION Gifvisning
     	{
     		EXEC_STRING					xgif %(File)Arg_1"Gif-fil som ska visas:"
     		WINDOW_TYPE					NO_STDIO
     		DESCRIPTION					Starta Gif-läsaren genom att \
     										dubbelklicka eller släppa filen.
     	}

    Eftersom definitionen inte omfattar något ICON-fält använder funktionen systemets standardikon.

  4. Skapa följande tilldelningsfunktion för att koppla funktionen Gifvisning till funktionen View i datatypsdefinitionen. Använd fältet ARG_TYPE för att begränsa denna visningsfunktion till GIF-filer.

    	ACTION View
     	{
     		ARG_TYPE				Gif
     		TYPE					MAP
     		MAP_ACTION			Gifvisning
     	} 
  5. Spara filen.

  6. Dubbelklicka på Ladda om funktioner i programgruppen Skrivbordsverktyg.

Definiera datatypens dataattribut

Definitionen DATA_ATTRIBUTES definierar utseende och beteende för datatypen. Den anger namn på datatypen och ger dig möjlighet att ange:

Ange ikonbild för datatypen

Använd fältet ICON för att ange vilken ikon som ska användas i Filhanteraren. Om du inte anger någon ikonbild visas bara namnet i Filhanteraren.

Värdet på fältet ICON kan vara:

Tabell 13-1 Ikonnamn och storlekar för datatypsikoner

Storleken i bildpunkter 

Bitmappsnamn 

Bildpunktsmönsternamn 

32 gånger 32 

namn.m.bm

namn.m.pm

16 gånger 16 

namn.t.bm

namn.t.pm

Associera datatyper med funktioner

Du kan associera datatyper med funktioner på två sätt:

Dölja filer baserat på datatyp

Om en fil är en osynlig datatyp visas den inte i Filhanteraren.

Använd fältet PROPERTIES i definitionen DATA_ATTRIBUTES för att ange att objekt av den här typen ska döljas:

PROPERTIES				invisible

Ange metoder när en fil manipuleras

Tabell 13-2 visar DATA_ATTRIBUTES-fälten, vilka mest används av programmerare. De anger hur filer ska fungera när användaren utför olika skrivbordsaktiviteter.

Mer information finns i Common Desktop Environment Programmer's Guide, som ingår i dokumentationen till utvecklingsmiljön.

Tabell 13-2 DATA_ATTRIBUTES Fält och beskrivningar

Fält 

Beskrivning 

MOVE_TO_ACTION

För behållare som t ex mappar. Anger en funktion som ska köras när en fil flyttas till en behållare av den här datatypen. 

COPY_TO_ACTION

För behållare som t ex mappar. Anger en funktion som ska köras när en fil kopieras till en behållare av den här datatypen. 

LINK_TO_ACTION

Anger en funktion som ska köras när en fil länkas till en fil av den här datatypen. 

IS_TEXT

Anger att filer av den här datatypen innehåller text som kan visas i en textruta. 

MEDIA

Anger motsvarande typ av ToolTalk-medium. 

MIME_TYPE

Anger motsvarande MIME-typ. 

X400_TYPE

Anger motsvarande X400-typ. 

Definiera dataattribut för en datatyp

Definitionen för DATA_CRITERIA anger de villkor som används för att tilldela en fil eller mapp en datatyp

Du kan använda villkoren som definieras i Tabell 13-3 för objekttypsbestämning.

Tabell 13-3 DATA_CRITERIA Villkor och beskrivningar

Villkor 

Beskrivning 

Filnamn 

Filnamnet måste matcha ett angivet mönster. Använd fältet NAME_PATTERN.

Filens sökväg 

Sökvägen måste matcha ett angivet mönster. Använd fältet PATH_PATTERN.

Filinnehåll 

En angiven del av filens innehåll måste matcha angivna data. Använd fältet CONTENT.

Filläge 

Filen måste ha de angivna behörigheterna (läsa, ändra, använda, mapp). Använd fältet MODE

Symboliska länkar

Typen beror på filen som objektet har länkats till.  

Du kan använda fler än ett villkor för en datatyp. Du bör däremot inte använda villkoren NAME_PATTERN eller PATH_PATTERN i samma datatyp.

Namnbaserade datatyper

Använd fältet NAME_PATTERN för att ange namngivningskrav. Fältvärdet kan innehålla följande jokertecken:

? - matchar ett valfritt tecken

* - matchar noll eller flera tecken i följd

[tt...] - matchar något av de tecken (t) som omsluts av hakparentes

[t-t] - matchar något av tecknen i intervallet t t o m t

Exempel

Sökvägsbaserade datatyper

Använd fältet PATH_PATTERN för att ange sökväg. Du kan använda samma jokertecken som med NAME_PATTERN.

Följande datatyp använder ett villkor baserat på sökvägen.

DATA_ATTRIBUTES Projektgrafik
 {
 	DESCRIPTION			Grafikfil för projektet QS. Dubbelklicka på ikonen \
 							om du vill visa grafiken.
 	ICON					QSgraphics
 }
 DATA_CRITERIA Projektgrafikvillkor
 {
 	DATA_ATTRIBUTES_NAME			Projektgrafik
 	PATH_PATTERN						*/projects/QS/graphics/*
 }

Datatyper baserade på namn och sökväg

Om du vill skapa en datatyp baserat på både filnamn och sökväg, tar du med namnet i värdet PATH_PATTERN. Du kan inte använda både NAME_PATTERN och PATH_PATTERN i samma villkorsdefinition.

Exempel

Använda fillägen som typvillkor

Använd fältet MODE för att ange vilka behörigheter som krävs.

Lägesvillkor används normalt i kombination med namnbaserade, sökvägsbaserade eller innehållsbaserade datatyper. Med dessa kan du begränsa en datatyp till en fil eller mapp, eller ange om det krävs behörighet för att läsa, skriva eller använda.

Fältet MODE kan innehålla logiska operatorer (Tabell 13-4) och tecken (Tabell 13-5).

Tabell 13-4 MODE Logiska operatorer

Operator 

Beskrivning 

!

NOT, logisk operator

&

AND, logisk operator

|

OR, logiskt eller

Tabell 13-5 MODE Fälttecken och beskrivningar

Tecken 

Beskrivning 

f

Datatypen gäller bara filer 

d

Datatypen gäller bara mappar 

r

Filen kan läsas av alla användare 

w

Filen kan ändras av alla användare. 

x

Filen kan köras av alla användare. 

l

Filen är en länk 

Standardinställningen för ett behörighetsläge är att läget inte spelar någon roll.

Exempel

Innehållsbaserad datatypsbestämning

Använd fältet CONTENT för att ange datatyp baserat på filens innehåll. Innehållsbaserad datatypsbestämning kan användas i kombination med namn- eller platsbaserad datatypsbestämning.

Typbestämningen kan baseras på texten i filen eller på dess numeriska innehåll. Numret på filens första byte är 0.

Skapa en datatyp med flera oberoende villkor

Du kan skapa en datatyp med flera oberoende villkor - dvs filen tilldelas datatypen om den minst motsvarar ett av villkoren.

  1. Skapa en DATA_ATTRIBUTES-definition för datatypen.

  2. Skapa en DATA_CRITERIA-definition för varje villkor.

    Använd fältet DATA_ATTRIBUTES_NAME för att ansluta alla villkor till samma DATA_ATTRIBUTES-definition.

    Följande definitioner skapar datatypen Mif. Typen baseras på namn eller innehåll.

    DATA_ATTRIBUTES Mif
    {
     	ICON								Frame
     	ACTION_LIST						Open,Print
     }
    
     DATA_CRITERIA Mif_namnvillkor
     {
     	DATA_ATTRIBUTES_NAME				Mif
     	NAME_PATTERN							*.mif
     }
    
     DATA_CRITERIA Mif_innehållsvillkor
     {
     	DATA_ATTRIBUTES_NAME		Mif
     	CONTENT							1 string MIFFile
     }

Skapa språkanpassade datatyper

Sökvägen för datatyper omfattar språkberoende adresser. Skrivbordet använder värdet på LANG för att bestämma på vilka adresser datatypsdefinitioner söks.

Adresser för språkanpassade datatyper

Språkanpassade datatypsdefinitioner måste placeras i rätt språkberoende mapp i funktionssökvägen.

Standardsökvägen är:

Språkanpassa en datatyp

  1. Skapa en fil i rätt språkberoende mapp (t ex i /etc/dt/appconfig/types/sv).

  2. Kopiera datatypsdefinitionen till den språkberoende konfigurationsfilen.

  3. Språkanpassa ett eller flera fält i datatypsdefinitionen.