Hallo,
es gibt ein spezielles Nokia-SDK, bei dem alles anders ist als beim normalen SDK (alles hat ein "Foam" am Anfang des Klassennamens anstelle des "Gen",....). Aber man kann auch mit dem normalen SDK "Nokia-Apps" schreiben (auch wenn man damit nicht alle Feature des Nokias voll ausnutzen kann). Und zwar geht das so:
Als C-Code sieht das dann so aus:
@object GenPrimaryClass MyPrim = {
GI_comp = @MyMenu, @MyNext, @MyPrev, @MyQuit, @MySonstiges
HINT_SIZE_WINDOW_AS_DESIRED;
HINT_ORIENT_CHILDREN_HORIZONTALLY;
HINT_CENTER_CHILDREN_HORIZONTALLY;
HINT_PRIMARY_NO_FILE_MENU;
/*The "no file menu"-hint won't have any effect on the Nokia, but it'll prevent
the existence of FILE->EXIT on other systems. This is very usefull
since there's an own close-menu. */
}
@object GenInteractionClass MyMenu = {
GI_visMoniker = 'E',"Editor";
GI_comp = @MyUpdate, @MyDelete, @MyInfo;
GII_visibility = GIV_POPUP;
HINT_SEEK_MENU_BAR;
HINT_SEEK_REPLY_BAR;
HINT_SEEK_SLOT = 0;
}
@object GenTriggerClass MyUpdate= {
GI_visMoniker = 'U',"Update";
GTI_actionMsg = MSG_MYUPDATE;
GTI_destination = process;
}
@object GenTriggerClass MyDelete = {
GI_visMoniker = 'D',"Delete";
GTI_actionMsg = MSG_MYDELETE;
GTI_destination = process;
}
@object GenTriggerClass MyInfo = {
GI_visMoniker = 'I',"Info";
GTI_actionMsg = MSG_MYINFO;
GTI_destination = process;
}
@object GenTriggerClass MyNext = {
GI_visMoniker = 'N',"Next";
GTI_actionMsg = MSG_MYNEXT;
GTI_destination = process;
HINT_SEEK_MENU_BAR;
HINT_SEEK_REPLY_BAR;
HINT_SEEK_SLOT = 1;
}
@object GenTriggerClass MyPrev = {
GI_visMoniker = 'P',"Prev.";
GTI_actionMsg = MSG_MYPREV;
GTI_destination = process;
HINT_SEEK_MENU_BAR;
HINT_SEEK_REPLY_BAR;
HINT_SEEK_SLOT = 2;
}
@object GenInteractionClass MyQuit = {
GI_visMoniker = 'C',"Close";
GI_comp = @MyQuitSave, @MyQuitUndo;
GII_visibility = GIV_POPUP;
GII_type = GIT_AFFIRMATION;
HINT_SEEK_MENU_BAR;
HINT_SEEK_REPLY_BAR;
HINT_SEEK_SLOT = 3;
}
@object GenTriggerClass MyQuitSave = {
GI_visMoniker = 'x',"Save & Exit";
GTI_actionMsg = MSG_META_QUIT;
GTI_destination = @MyApp;
ATTR_GEN_TRIGGER_INTERACTION_COMMAND = { IC_YES };
HINT_SEEK_REPLY_BAR;
HINT_DEFAULT_DEFAULT_ACTION;
/*This trigger will use slot 0 on the Nokia by default.*/
}
@object GenTriggerClass MyQuitUndo = {
GI_visMoniker = 'E',"Discard & Exit";
GTI_actionMsg = MSG_MYUNDO;
GTI_destination = process;
ATTR_GEN_TRIGGER_INTERACTION_COMMAND = { IC_NO };
HINT_SEEK_REPLY_BAR;
HINT_SEEK_SLOT = 3;
HINT_DEFAULT_DEFAULT_ACTION;
}
Alles anzeigen
[size=14]Und in R-BASIC?[/size]
Zwar gilt sonst immer
GenPrimaryClass -> Primary
GenInteractionClass -> Group
GenTriggerClass -> Button
Aber leider kann man irgendwie nicht so etwas machen: "HINT_SEEK_MENU_BAR; HINT_SEEK_REPLY_BAR; HINT_SEEK_SLOT = 3;"... ob es reicht, wenn man aus den entsprechenden GenInteraction/GenTrigger ein "Menu" macht? Zwar könnte man dann keine "Lücken" bei der Belegung der Nokia-Tasten rechts des Schirms lassen, aber tendenziell sollte es trotzdem gehen, oder?