123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299 |
- (******************************************************************************
- *
- * Copyright (c) 1996-2000 Palm, Inc. or its subsidiaries.
- * All rights reserved.
- *
- * File: AppLaunchCmd.h
- *
- * Release: Palm OS SDK 4.0 (63220)
- *
- * Description:
- * Pilot launch commands for applications. Some launch commands
- * are treated differently by different apps. The different
- * parameter blocks used by the apps are kept here.
- *
- * History:
- * 7/23/96 rsf - Created by Roger Flores
- * 7/28/98 dia - Added generic LaunchWithCommand. Made
- * AppLaunchWithCommand() use it.
- *
- *****************************************************************************)
- unit applaunchcmd;
- interface
- uses palmos, systemmgr;
- (*
- #define LaunchWithCommand(type, creator, command, commandParams) \
- { \
- UInt16 cardNo; \
- LocalID dbID; \
- DmSearchStateType searchState; \
- Err err; \
- DmGetNextDatabaseByTypeCreator(true, &searchState, type, \
- creator, true, &cardNo, &dbID); \
- ErrNonFatalDisplayIf(!dbID, "Could not find app"); \
- if (dbID) { \
- err = SysUIAppSwitch(cardNo, dbID, command, commandParams); \
- ErrNonFatalDisplayIf(err, "Could not launch app"); \
- } \
- }
- #define AppLaunchWithCommand(appCreator, appCommand, appCommandParams) \
- LaunchWithCommand (sysFileTApplication, appCreator, appCommand, appCommandParams)
- #define AppCallWithCommand(appCreator, appCommand, appCommandParams) \
- { \
- UInt16 cardNo; \
- LocalID dbID; \
- DmSearchStateType searchState; \
- UInt32 result; \
- Err err; \
- DmGetNextDatabaseByTypeCreator(true, &searchState, sysFileTApplication, \
- appCreator, true, &cardNo, &dbID); \
- ErrNonFatalDisplayIf(!dbID, "Could not find app"); \
- if (dbID) { \
- err = SysAppLaunch(cardNo, dbID, 0, appCommand, (MemPtr) appCommandParams, &result); \
- ErrNonFatalDisplayIf(err, "Could not launch app"); \
- } \
- }
- *)
- (************************************************************
- * Param Block passsed with the sysAppLaunchCmdLookup Command
- *************************************************************)
- //-------------------------------------------------------------------
- // sysAppLaunchCmdLookup parameter block for the Address Book
- //-------------------------------------------------------------------
- // This is a list of fields by which data may be looked up.
- type
- AddressLookupFields = Enum;
- const
- addrLookupName = 0;
- addrLookupFirstName = Succ(addrLookupName);
- addrLookupCompany = Succ(addrLookupFirstName);
- addrLookupAddress = Succ(addrLookupCompany);
- addrLookupCity = Succ(addrLookupAddress);
- addrLookupState = Succ(addrLookupCity);
- addrLookupZipCode = Succ(addrLookupState);
- addrLookupCountry = Succ(addrLookupZipCode);
- addrLookupTitle = Succ(addrLookupCountry);
- addrLookupCustom1 = Succ(addrLookupTitle);
- addrLookupCustom2 = Succ(addrLookupCustom1);
- addrLookupCustom3 = Succ(addrLookupCustom2);
- addrLookupCustom4 = Succ(addrLookupCustom3);
- addrLookupNote = Succ(addrLookupCustom4); // This field is assumed to be < 4K
- addrLookupWork = Succ(addrLookupNote);
- addrLookupHome = Succ(addrLookupWork);
- addrLookupFax = Succ(addrLookupHome);
- addrLookupOther = Succ(addrLookupFax);
- addrLookupEmail = Succ(addrLookupOther);
- addrLookupMain = Succ(addrLookupEmail);
- addrLookupPager = Succ(addrLookupMain);
- addrLookupMobile = Succ(addrLookupPager);
- addrLookupSortField = Succ(addrLookupMobile);
- addrLookupListPhone = Succ(addrLookupSortField);
- addrLookupFieldCount = Succ(addrLookupListPhone); // add new fields above this one
- addrLookupNoField = $ff;
- const
- addrLookupStringLength = 12;
- type
- AddrLookupParamsType = record
- title: PChar;
- // Title to appear in the title bar. If NULL the default is used.
- pasteButtonText: PChar;
- // Text to appear in paste button. If NULL "paste" is used.
- lookupString: array [0..addrLookupStringLength-1] of Char;
- // Buffer containing string to lookup. If the string matches
- // only one record then that record is used without
- // presenting the user with the lookup dialog.
- field1: AddressLookupFields;
- // Field to search by. This field appears on the left side
- // of the lookup dialog. If the field is the sort field then
- // searches use a binary search. If the field isn't the sort
- // field then the data does appear in sorted order and searching
- // is performed by a linear search (can get slow).
- field2: AddressLookupFields;
- // Field to display on the right. Often displays some
- // information about the person. If it is a phone field
- // and a record has multiple instances of the phone type
- // then the person appears once per instance of the phone
- // type. Either field1 or field2 may be a phone field but
- // not both.
- field2Optional: Boolean;
- // True means that the record need not have field2 for
- // the record to be listed. False means that field2 is
- // required in the record for it to be listed.
- userShouldInteract: Boolean;
- // True means that the user should resolve non unique
- // lookups. False means a non unique and complete lookup
- // returns resultStringH set to 0 and recordID set to 0;
- formatStringP: PChar;
- // When the user selects the paste button a string is generated
- // to return data from the record. The format of the result string
- // is controlled by this string. All characters which appear
- // in this string are copied straight to the result string unless
- // they are a field (a '^' follow by the field name). For
- // example, the format string "^first - ^home" might result in
- // "Roger - 123-4567".
- // The field arguments are name, first, company, address, city
- // state, zipcode, country, title, custom1, custom2, custom3,
- // custom4, work, home, fax, other, email, main, pager, mobile,
- // and listname.
- resultStringH: MemHandle;
- // If there is a format string a result string is allocated on
- // the dynamic heap and its handle is returned here.
- uniqueID: UInt32;
- // The unique ID of the found record or 0 if none was found.
- end;
- type
- AddrLookupParamsPtr = ^AddrLookupParamsType;
- (************************************************************
- * Param Block passsed with the sysAppLaunchCmdSetActivePanel Command
- *************************************************************)
- const
- prefAppLaunchCmdSetActivePanel = sysAppLaunchCmdCustomBase + 1;
- // Record this panel so switching to the Prefs app
- // causes this panel to execute.
- type
- PrefActivePanelParamsType = record
- activePanel: UInt32;
- // The creator ID of a panel. Usually sent by a panel so the prefs
- // apps will switch to it. This allows the last used panel to appear
- // when switching to the Prefs app.
- end;
- PrefActivePanelParamsPtr = ^PrefActivePanelParamsType;
- (************************************************************
- * Param Block passsed with the sysAppLaunchCmdAddRecord Command
- *************************************************************)
- //-------------------------------------------------------------------
- // sysAppLaunchCmdAddRecord parameter block for the Mail application
- //-------------------------------------------------------------------
- // Param Block passsed with the sysAppLaunchCmdAddRecord Command
- type
- MailMsgPriorityType = Enum;
- const
- mailPriorityHigh = 0;
- mailPriorityNormal = Succ(mailPriorityHigh);
- mailPriorityLow = Succ(mailPriorityNormal);
- type
- MailAddRecordParamsType = record
- secret: Boolean;
- // True means that the message should be marked secret
- signature: Boolean;
- // True means that signature from the Mail application's preferences
- // should be attached to the message.
- confirmRead: Boolean;
- // True means that a comfirmation should be sent when the message
- // is read.
- confirmDelivery: Boolean;
- // True means that a comfirmation should be sent when the message
- // is deliveried
- priority: MailMsgPriorityType;
- // high, normial, or low.
- padding: UInt8;
- subject: PChar;
- // Message's subject, a null-terminated string (optional).
- from: PChar;
- // Message's send, a null-terminated string (not currently used).
- to_: PChar;
- // Address the the recipient, a null-terminated string (required).
- cc: PChar;
- // Copy Addresses, a null-terminated string (required).
- bcc: PChar;
- // Blind copy Addresses, a null-terminated string (required).
- replyTo: PChar;
- // Reply to address, a null-terminated string (required).
- body: PChar;
- // The text of the message, a null-terminated string (required).
- end;
- MailAddRecordParamsPtr = ^MailAddRecordParamsType;
- //-------------------------------------------------------------------
- // sysAppLaunchCmdAddRecord parameter block for the Messaging application
- //-------------------------------------------------------------------
- // Param Block passsed with the sysAppLaunchCmdAddRecord Command
- //category defines
- const
- MsgInboxCategory = 0;
- MsgOutboxCategory = 1;
- MsgDeletedCategory = 2;
- MsgFiledCategory = 3;
- MsgDraftCategory = 4;
- type
- MsgAddRecordParamsType = record
- category: UInt16;
- //is this an outgoing mesage? Or should it be put into a different category
- edit: Boolean;
- // True means that the message should be opened in the editor,instead of
- // just dropped into the category (only applies to outBox category)
- signature: Boolean;
- // True means that signature from the Mail application's preferences
- // should be attached to the message.
- subject: PChar;
- // Message's subject, a null-terminated string (optional).
- from: PChar;
- // Message's send, a null-terminated string (not currently used).
- to_: PChar;
- // Address the the recipient, a null-terminated string (required).
- replyTo: PChar;
- // Reply to address, a null-terminated string (required).
- body: PChar;
- // The text of the message, a null-terminated string (required).
- end;
- MsgAddRecordParamsPtr = ^MsgAddRecordParamsType;
- implementation
- end.
|