Solaris Common Desktop Environment: Handbok för avancerade användare och 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 associerade DATA_CRITERIA.

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 datatypnamn
     	{
     		ICON						bildnamn
     		DESCRIPTION				sträng
     		attributfält
     		attributfält
     		…
     	}
    

    där:

    datatypnamn ä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. Använd till exempel filnamnet minbild för ikonfilerna minbild.m.pm och minbild.t.pm.

    attributfält definierar dataatypens utseende eller beteende.

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

    Se Exempel på hur du skapar en egen åtgärd och datatyp.

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

    	DATA_CRITERIA villkorsnamn
     	{
     		DATA_ATTRIBUTES_NAME						datatypnamn
     		villkorsfält
     		villkorsfält
     		…
     	}
    

    där:

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

    datatypnamn är det 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 åtgärder som finns i fältet ACTIONS i attributdefinitionen.

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

Exempel på hur du skapar en egen åtgärd och datatyp

Anta att det finns ett program i ditt system som heter xgif som används för att visa 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 Hemkatalog/.dt/types/GifViewer.dt för redigering.

  2. Skriv datatypsdefinitionerna:

    	DATA_ATTRIBUTES Gif
     	{
     		DESCRIPTION				Gif-bildfil.
     		ICON						GifIcon
     		ACTIONS					View
     	}
     	DATA_CRITERIA Gif_Criteria
     	{
     		DATA_ATTRIBUTES_NAME			Gif
     		NAME_PATTERN						*.gif
     	}
  3. Skriv åtgärdsdefinitionen för åtgärden GifViewer:

    	ACTION GifViewer
     	{
     		EXEC_STRING			xgif %(File)Arg_1"Gif-fil som ska visas:"
     		WINDOW_TYPE			NO_STDIO
     		DESCRIPTION			Dubbelklicka eller släpp en fil för att \
     								visa Gif-filer.
     	}

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

  4. Skapa följande tilldelningsåtgärd för att koppla åtgärden GifViewer till åtgärden View i datatypsdefinitionen. Använd fältet ARG_TYPE för att begränsa denna visningsåtgärd till GIF-filer.

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

  6. Dubbelklicka på Ladda om åtgärder i programgruppen Skrivbordsverktyg.

Definiera datatypens dataattribut

DATA_ATTRIBUTES-definitionen definierar utseende och åtgärd 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 

Pixmappsnamn 

32 gånger 32 

namn.m.bm.

namn .m.pm

16 gånger 16 

namn.t.bm

namn.t.pm

Associera datatyper med åtgärder

Du kan associera datatyper med åtgärder 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

I Tabell 13–2visas DATA_ATTRIBUTES-fälten, som 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 kataloger. Anger en åtgärd 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 kataloger. Anger en åtgärd som ska köras när en fil kopieras till en behållare av den här datatypen. 

LINK_TO_ACTION

Anger en åtgärd 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 katalog en datatyp.

Du kan använda villkoren som definieras i Tabell 13–3fö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, katalog). 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 och 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 enstaka tecken

* – matchar noll eller flera tecken i följd

[cc] – matchar vilket som helst av tecknen (c) inom hakparenteser

[cc] – matchar vilket som helst av tecknen i intervallet c till c

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 Project_Graphics
 {
 	DESCRIPTION			Grafikfil för QS-projektet. Dubbelklicka på \
 							ikonen för att visa bilden.
 	ICON					QSgraphics
 }
 DATA_CRITERIA Project_Graphics_Criteria
 {
 	DATA_ATTRIBUTES_NAME			Project_Graphics
 	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 value. 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 katalog, 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 kataloger 

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 motsvarar minst 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_Name_Criteria
     {
     	DATA_ATTRIBUTES_NAME				Mif
     	NAME_PATTERN							*.mif
     }
    
     DATA_CRITERIA Mif_Content_Criteria
     {
     	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 katalog i åtgärdssökvägen.

Standardsökväg:

Språkanpassa en datatyp

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

  2. Kopiera datatypsdefinitionen till den språkberoende konfigurationsfilen.

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