CHAPTER 5 HWIM REFERENCE This document is a beta version and may be subject to change. This manual describes the changes and additions that have been made to the HWIM library as a result of the introduction of the Siena and Series 3c machines into the SIBO range. Siena and Series 3c The FILELIST class Very long pathnames are now displayed on the file selector with a leading ellipsis followed by the trailing characters of the pathname. The HELPLIST class HELPLIST now folds case when sorting help list entries. This is important if you are writing Help screens and lists for foreign language variants of your software. The DLGBOX class All dialog items now have the pR_wIN_IS_DLCTRL flag set. The hSetLandlordFlags () method does nothing if PR_WIN_IS_DLCTR1L is not set. With the exception of acurst, all lodger window classes which assumed that they were components of a DLGBox subclass now only make this assumption if the above flag is set. There is a new DLGBox flag, DLGBOxX_SMALL_FONT, matching the value of DLGBOx_FROM_HWIF, but never set from HWIF dialogs. (This flag is cleared from non-HWIF dialogs before the dialog is actually run). The purpose of the flag is to allow the Workabout and Siena small font feature to be set from resource files. The flag is harmless for Series 3, Series 3a and Series 3c dialogs. Infrared communications System resources A SYS_IR_POWER_LEVEL resource has been added, giving the text “High” and “Low” for Infrared power levels. A SYS_PRINTER_IR resource has been added, giving the text “Infrared” as a printer type. Keypresses Normally, IR-related keys are captured by the built-in IR data transfer application. If the user disables IR, by selecting another mode of communication, these keypresses are absorbed by the ws process key method of any application’s instance of wsERv. As a general service to the user, the method also displays an “Infrared not enabled” information message. See also the descriptions of the changes to the wsERv class for the Siena and the Series 3c, later in this chapter. Data transfer and the Link Paste mechanism The IR data transfer application on the Siena and Series 3c uses the Link Paste mechanism. The data to be transferred is extracted from the selected region of the active edit window in whatever application last declared itself to be the Link Paste server. An exception to this rule occurs when the currently selected data is a filename in any of the System Screen’s file lists. In this case the whole of that file is transferred. SIENA/SERIES 3C UPGRADE Siena The Siena’s 240x160 screen is half the width of the Series 3a and Series 3c screens. In consequence, great care has to be taken to ensure that lines of text do not exceed the available width. This restriction particularly affects the amount of text that can be displayed in the menu bar and in dialog items. Menu bars and pull-down menus The menu bar and pull-down menu borders are thinner than those on the Series 3a , being similar to those used for the Workabout, and the minimum spacing between menu bar items has been reduced. Despite these changes, a typical Siena menu bar can not contain more than, say, five menu titles plus a diamond menu, and the text is restricted to around 26 characters in total. Siena applications with many menu options will, in general, need to make greater use of submenus than equivalent applications running on the Series 3a or Series 3c. However, the Siena screen’s width is unlikely to restrict individual pull-down menus, which may contain up to nine items. Dialogs Dialogs are displayed in an 11 point font, with thinner borders (DLG_Box d1_init method), as on the Workabout. Up to eleven lines of text, including the dialog title, can be displayed in a Siena dialog. Siena dialogs can not display more than three action buttons in an AcLIst control. Text items in a cHLIST choice list control are automatically truncated if they are too long to be displayed. System dialogs The Siena does not support tone dialling. In consequence, the rpraLpuc free-form tone dialling dialog is disabled, and application software should not attempt to use it. The spranpic dialog has been modified so that its function is simply to display resolved telephone numbers. The content of the various Print dialogs has been rearranged. Help screens The title displayed does not include a preceding “Help: ”, to compensate for the smaller screen width. The FILELIST class An instance of FILELIST no longer displays the time and date for each file. The wn_key method has been modified so that pressing the space bar shows the time and date for the currently selected file. The CALWIN class On the Siena, an instance of cALWIN can only display the data for a single month. The WSERV class The ws _process_key method performs the following additional actions: e if the keypress is that of the decimal separator key in the numeric keypad - with a keycode of W_KEY CALC DECIMAL, 0x156 - it is converted to the current decimal separator , as determined by a call to p_getctd e if the keypress is one of W_KEY_IR_BRING, 0x140 Of W_KEY_IR_SEND, 0x141 (which would normally be captured by the infrared file/record transfer software) display an information message to the effect that Infrared is disabled e if the keypress is W_FUNC_MODIFIER with w_KEY MENU (FN and MENU keys pressed together) the Status Window in the System Screen is switched on or off, depending on its current state. Note that CTRL + MENU also toggles the Status Window on the Siena. Resource files Several resources have been changed for the Siena to either save screen space or take account of the different keyboard layout: e the syS MTYPE PROTECTED resource uses the padlock symbol instead of “protected” e SYS PREVIEW ACC is changed so that PSION + ? exits print preview (instead of PSION + * as on the Series 3a and Series 3c) e the degree symbol has been added to the resource string syS_SPECIAL CHARACTERS 5 HWIM REFERENCE Series 3c In general, the programming interface to HWIM (and XADD) classes is identical with that of the Series 3a. Menus and dialogs Menu and dialog borders have been restyled, but the basic geometry is unchanged. Dialogs have thinner borders (DLG_Box dl_init method), There is no difference in the programming interface. System dialogs The sETPoRTDLG dialog class offers a selection of Baud rates up to a maximum of 57600, compared with the maximum of 19200 on the Series 3a. The wn_key methods of the FNEDIT and FNSELWN classes have been modified so that SHIFT + TAB (instead of PSION + TAB) displays the current path in an information message (PSION + TAB is now used to instigate IR file or record transfer). The dial out code length in the Dial settings dialog (defined in prAL_ENvar, dialdigs.cl) has been increased to 16 characters. The WSERV class The ws process key method performs the following additional action: e if the keypress is W_KEY_IR_LINK, 0x142 (which would normally be captured by the infrared file/record transfer software) display an information message to the effect that Infrared is disabled e the class has been modified to take account of future extension to the resource string SYS_SPECIAL CHARACTERS.