Det här avsnittet beskriver hur du skapar en konfigurationsfil för en funktionsdefinition.
Konfigurationsfiler som innehåller funktionsdefinitioner måste uppfylla följande krav:
Filerna måste använda namnkonventionen namn.dt
Filerna måste finnas i databasens (funktioner och datatyper) sökväg. Standardsökvägen är:
Egna funktioner - hemmapp/.dt/types
Systemfunktioner - /etc/dt/appconfig/types/språk
Inbyggda funktioner - /usr/dt/appconfig/types/språk. Du bör inte använda den här mappen.
Mer information om hur du ändrar sökväg för funktioner och datatyper finns i "Ange värde för en sökväg".
Öppna en befintlig databasfil eller skapa en ny.
Se föregående avsnitt, "Konfigurationsfiler för funktioner".
Skapa en funktionsdefinition med syntaxen:
ACTION funktionsnamn { TYPE funktionstyp funktionsfält ... }
där:
funktionsnamn är namnet som används för att köra funktionen.
funktionstyp är COMMAND (standard), MAP, eller TT_MSG.
funktionsfält är ett av de nödvändiga eller valfria fälten för den här typen av funktion. Alla fält består av ett nyckelord och ett värde.
Många av funktionsfälten beskrivs i det här kapitlet. Du får mer information i direkthjälpen (man) för dtactionfile(4).
Spara filen
Om du vill att funktionsikonen ska ha en unik bild skapar du en ikon till funktionen. Standardadressen för ikoner är:
Egna ikoner: Hemmapp/.dt/icons
Systemtäckande ikoner: /etc/dt/appconfig/icons/språk. Standardvärdet för språk är C.
Mer information finns i "Ange funktionens ikonbild".
Dubbelklicka på Ladda om funktioner i programgruppen Skrivbordsverktyg.
Skapa funktionsfilen för funktionen. Funktionsfilen skapar en ikon i Filhanteraren eller Programhanteraren som representerar funktionen. (Om funktionen är skriven för att starta ett program kallas ikonen för programikon.)
Om du vill skapa en funktionsfil skapar du en körbar fil med samma namn som ett funktionsnamn. Du kan placera den här filen i en valfri mapp, som du har skrivbehörighet till. Du kan skapa så många funktionsfiler du vill.
I följande steg skapas en egen funktion som startar ett faxprogram i fjärrsystemet ProgServerA. Kommandot som startar faxprogrammet är:
/usr/fax/bin/faxcompose [filnamn]
Skapa filen Hemmapp/.dt/types/Fax.dt.
Placera följande funktionsdefinition i filen:
ACTION Faxassistent { TYPE COMMAND ICON fax WINDOW_TYPE NO_STDIO EXEC_STRING /usr/fax/bin/faxcompose -c %Arg_1% EXEC_HOST ProgServerA DESCRIPTION Kör Faxassistenten
}
Fälten WINDOW_TYPE och EXEC_STRING beskriver funktionens beteende.
WINDOW_TYPE - nyckelordet NO_STDIO anger att funktionen inte behöver köras i ett terminalemulatorfönster.
Se "Ange fönsterstöd för funktionen".
EXEC_STRING - syntaxen %Arg_1% accepterar en släppt fil. Om någon dubbelklickar på funktionsikonen, öppnar funktionen ett tomt faxassistentfönster.
Spara filen
Skapa följande ikonbildsfiler i Hemmapp/.dt/icons med hjälp av Ikonredigeraren:
fax.m.pm, 32 gånger 32 bildpunkter
fax.t.pm, 16 gånger 16 bildpunkter
Dubbelklicka på Ladda om funktioner i programgruppen Skrivbordsverktyg.
Skapa en körbar fil med namnet Faxassistent i en mapp som du har skrivbehörighet till (t ex hemmappen).
Anta att de flesta filer du faxar skapas med Textredigeraren och är av datatypen TEXTFILE (filer med namnet *.txt).
Stegen nedan lägger till menyalternativet ''Fax'' på datatypens Markera-meny.
Öppna filen Hemmapp/.dt/types/Fax.dt som skapades i föregående exempel.
Lägg till den här tilldelningsdefinitionen i filen:
ACTION Fax { ARG_TYPE TEXTFILE TYPE MAP MAP_ACTION Faxassistent }
Spara filen
Kopiera dataattributsdefinition för TEXTFILE från /usr/dt/appconfig/types/språk/dtpad.dt till den nya filen Hemmapp/.dt/types/textfile.dt. Lägg till funktionen Fax i fältet ACTIONS.
DATA_ATTRIBUTES TEXTFILE { ACTIONS Open,Print,Fax ICON Dtpenpd ... }
Spara filen
Öppna Programhanteraren och dubbelklicka på Ladda om funktioner i programgruppen Skrivbordsverktyg.
För att nya och redigerade funktionsdefinitioner ska träda i kraft måste skrivbordet läsa om databasen.
Öppna programgruppen Skrivbordsverktyg och dubbelklicka på Ladda om funktioner.
Eller också kör du kommandot:
dtaction ReloadActions
ReloadActions är namnet på den funktion vars ikon heter ''Ladda om funktioner''.
Funktionsdatabasen läses också om när användaren:
Loggar in
Startar om arbetsytehanteraren
Sparar en funktion i fönstret Skapa funktion genom att välja Spara på Fil-menyn.
En funktionsfil är en fil som skapas för att visuellt representera funktionen i Filhanteraren och Programhanteraren.
Eftersom en funktionsfils ikon representerar en funktion, kallas den ibland funktionsikon. Om den underliggande funktionen startar ett program, kallas funktionsfilsikonen för programikon.
Om du dubbelklickar på funktionsikonen körs funktionen. Funktionsikonen kan också vara ett släppområde.
Om funktionsdefinitionen är:
ACTION Favoritprogram { EXEC_STRING Fav-fil %Arg_1% DESCRIPTION Kör Favoritprogram ICON Favp }
blir funktionsfilen en körbar fil med namnet Favoritprogram. I Filhanteraren och Programhanteraren använder filen Favoritprogram ikonbilden Favp.storlek.typ. Om du dubbelklickar på ikonen för Favoritprogram körs funktionens exekveringssträng, och ikonens objekthjälp får innehållet i fältet DESCRIPTION ("Kör Favoritprogram").
Om funktionsdefinitionen innehåller fältet LABEL, får funktionsfilen innehållet i detta fält som namn i Filhanteraren och Programhanteraren i stället för filnamnet (funktionsnamn). Om funktionsdefinitionen t ex innehåller:
ACTION Favoritprogram { LABEL Mitt favoritprogram ... }
kommer funktionsikonen att heta "Mitt favoritprogram".
Använd fältet ICON för att ange vilken ikonbild som ska användas i Filhanteraren och Programhanteraren för den funktionsikon som skapas för funktionen.
Om du inte anger någon ikon används bildfilerna för standardfunktionsikoner /usr/dt/appconfig/icons/språk/Dtactn.*.
Standardfunktionsikonen ändras med resursen:
*actionIcon: ikonfilnamn
där ikonfilnamn kan vara ett basnamn eller en absolut sökväg.
Värdet på fältet ICON kan vara:
Ett basfilnamn.
Basfilnamnet är namnet på filen som innehåller ikonbilden minus suffixen för storlek (m och t) och bildtyp (bm och pm). Om filer t ex får namnet Spelikon.m.pm och Spelikon.t.pm, använder du Spelikon.
Om du använder basfilnamnet måste ikonfilen placeras i en mapp i ikonsökvägen:
Egna ikoner: Hemmapp/.dt/icons
Systemtäckande ikoner: /etc/dt/appconfig/icons/språk
En absolut sökväg till ikonfilen, inklusive fullständigt filnamn.
Du ska bara använda den absoluta sökvägen om ikonen inte finns i ikonsökvägen. Om ikonfilen Spelikon.m.pm placeras i mappen /dok/projekt, som inte finns i ikonsökvägen, blir värdet i fältet ICON /dok/projekt/Spelikon.m.pm.
Tabell 12-1 visar ikonstorlekar som du bör skapa samt motsvarande filnamn.
Storlek i bildpunkter |
Bitmappsnamn |
Bildpunktsmönsternamn |
---|---|---|
48 gånger 48 |
namn.l.bm |
namn.l.pm |
32 gånger 32 |
namn.m.bm |
namn.m.pm |
16 gånger 16 |
namn.t.bm |
namn.t.pm |
Du kan ändra alla funktioner som finns tillgängliga i systemet, inklusive inbyggda funktioner.
Var försiktig när du ändrar databasen för inbyggda funktioner. De inbyggda funktionerna är utformade speciellt för att fungera med skrivbordsprogrammen.
Sök reda på funktionsdefinitionen till funktionen du vill ändra.
Standardsökvägen för funktionsdefinitioner är:
Inbyggda funktioner: /usr/dt/appconfig/types/språk
Systemtäckande funktioner: /etc/dt/appconfig/types/språk
Egna funktioner: Hemmapp/.dt/types
Det kan finnas fler sökvägar i systemet. Om du vill visa en lista med de sökvägar som systemet använder för funktioner, skriver du kommandot:
dtsearchpath -v
Systemet använder mapparna som listas under DTDATABASESEARCHPATH.
Om det behövs kopierar du texten till funktionsdefinitionen till en ny eller befintlig fil i någon av dessa mappar:
Systemtäckande funktioner: /etc/dt/appconfig/types/språk
Egna funktioner: Hemmapp/.dt/types
Du måste kopiera inbyggda funktioner eftersom du inte bör redigera filer i mappen /usr/dt/appconfig/types/språk.
Redigera funktionsdefinitionen.
När du är färdig med redigeringen sparar du filen.
Dubbelklicka på Ladda om funktioner i programgruppen Skrivbordsverktyg.
När användarna anropar en funktion söker systemet i databasen efter ett matchande funktionsnamn. När det finns fler än en funktion med samma namn används prioritetsregler för att bestämma vilken funktion som ska användas.
Om inga andra prioritetsregler gäller, baseras prioriteten på definitionens sökväg. Följande lista är rangordnad från högsta till lägsta prioritet:
Egna funktioner (Hemmapp/.dt/types)
Systemtäckande funktioner (/etc/dt/appconfig/types/språk)
Systemtäckande fjärrfunktioner (värddatornamn:/etc/dt/appconfig/types/språk). De fjärranslutna värddatorer som genomsöks är de som listas i programmets sökväg.
Inbyggda funktioner (/usr/dt/appconfig/types/språk)
Inom en given mapp läses filerna *.dt i alfabetisk ordning.
Funktioner som begränsas av ARG_CLASS, ARG_TYPE, ARG_MODE eller ARG_COUNT prioriteras framför obegränsade funktioner. (Standardvärdet för dessa fyra fält är *.)
När fler än en begränsning gäller är prioritetsordningen (från hög till låg):
ARG_CLASS
ARG_TYPE
ARG_MODE
ARG_COUNT
När det finns fler än en begränsad ARG_COUNT är prioritetsordningen (från hög till låg):
Heltalsvärdet n
<n
>n
*
Ta följande del av en funktionsdefinition som exempel:
ACTION EditGraphics # EditGraphics-1 { ARG_TYPE XWD ... }
ACTION EditGraphics # EditGraphics-2 { ARG_COUNT 0 ... }
ACTION EditGraphics # EditGraphics-3 { ARG_TYPE * ... }
När du dubbelklicka på funktionen EditGraphics startar EditGraphics-2 eftersom inga argument har angivits och ARG_COUNT 0 har prioritet. När filargument av XWD-typ tillhandahålls, används EditGraphics-1 eftersom det angav XWD som ARG_TYPE. EditGraphics-3 används för alla andra filargument.