home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 11 Util / 11-Util.zip / sndys200.zip / nlssrc.zip / sndyseng.src < prev    next >
Text File  |  1996-02-29  |  100KB  |  2,521 lines

  1. :userdoc.
  2. .im macros.iph
  3. .imd sendyes.h
  4. .imd sndyseng.h
  5. .imd sndyseng.rch
  6.  
  7. :title. &__APPNAME__. &__VERSION__.
  8.  
  9. .*** Note to translators:
  10. .*** - This source file is both used for to compile the HLP and
  11. .***   and the INF file.
  12. .*** - the IPFC preprocessor IPFCPREP is used to resolve
  13. .***   BookMaster macros and conditional compile variables.
  14. .***   Refer to the DOC file of the IPFCPREP package.
  15. .***   and to section "National Language Support"
  16. .***   in the SendYes! INF file
  17. .*** - please do NOT CHANGE any of the macros, just use them
  18. .***   within your translated text. Please do not change
  19. .***   the layout of lists, parameter lists, and notes.
  20. .*** - some of the panels contain similar text: Use the same text
  21. .***   where possible like it is done in this english version.
  22. .***   An example is the text for the panels about the WPS program objects
  23. .***   and the commandline parameters for SENDYES.EXE: as nearly each WPS object
  24. .***   is for to execute SENDYES.EXE with one of the commandline parameters,
  25. .***   at least the text for the note section is (and should stay !) nearly identical.
  26.  
  27. .***
  28. .*** the following section is only compiled for INF
  29. .config IPFTYPE on
  30. .when 'INF' insert
  31.  
  32. .*********************************************************************************************
  33. :HEADLINE level='1' id='IDPNL_OVERVIEW' options='clear'.
  34. .*********************************************************************************************
  35. :p.
  36. :artwork name='BMP\SENDYES.BMP' align=center.
  37. :font facename='Tms Rmn' size=36x36.:hp3.:color fc=red.
  38. .ce &__APPNAME__. &__VERSION__.
  39. :color fc=default.:font.:ehp3.
  40. Are you tired of closing message boxes which you cannot surpress by default ?
  41. Ever got fed up by those confirmation boxes for closing text sessions ?
  42. :p.
  43. Now use :hp2.&__APPNAME__.:ehp2. to process (nearly) all standard message boxes automatically.
  44. :p.
  45. Wes Santee, author of :hp2.SendYes!:ehp2. V1.00&colon.
  46. .br
  47. "I wrote SendYes! because I hated having to sit and click the 'Yes'
  48. button during system shutdown to close all of my windowed text
  49. sessions that were open. "
  50. :p.
  51. SendYes! is a small utility that looks for message boxes and waits,
  52. until one comes up that matches with a message text defined within the :hp2.&__APPNAME__.:ehp2..
  53. It then performs an action on a user selected pushbutton, which can be&colon.
  54. pressing that button,
  55. setting that button as the default button or deactivating that button.
  56. :p.
  57. The definition of a message text together with an associated action is stored as an
  58. action profile within :hp2.&__APPNAME__.:ehp2..
  59. You can define as many action profiles within :hp2.&__APPNAME__.:ehp2. as you like...
  60. :p.
  61. The first versions of :hp2.&__APPNAME__.:ehp2. were designed to close only
  62. the confirmation message boxes that pop up whenever OS/2 is closing a DOS or
  63. OS/2 Windowed or Fullscreen Text session. This was achieved by sending a
  64. PM message to the yes button that it was pressed, so that way the utility got it's name.
  65. .br
  66. This feature as a subset of the current functionality is supported by
  67. :TEXTLINK id='IDPNL_USAGE_PREDEF_ACTIONPRF'..
  68. If you activate these action profiles :hp2.&__APPNAME__.:ehp2. will close the
  69. confirmation message boxes as in earlier versions.
  70. .br
  71.  
  72. .*********************************************************************************************
  73. :HEADLINE level='1' id='IDPNL_REQUIREMENTS' options='clear'.
  74. .*********************************************************************************************
  75. :p.
  76. :hp2.&__APPNAME__.:ehp2. has been tested on OS/2 V2.11 and OS/2 Warp 3.0
  77. for detecting message boxes and performing actions on them.
  78. It makes several assumptions as to the resource IDs of the message text and icon
  79. contained in a standard message box.
  80. If these resource IDs change in future versions of OS/2, :hp2.&__APPNAME__.:ehp2. will not
  81. work under them and must be changed for that new version. At least until now
  82. these IDs did not change at all ...
  83. :p.
  84. Furthermore :hp2.&__APPNAME__.:ehp2. reads the message texts for some
  85. :TEXTLINK id='IDPNL_USAGE_PREDEF_ACTIONPRF'. out of PM resource DLLs.
  86. If the resource IDs for these message texts change,
  87. the predefined action profiles will not longer contain the correct message texts
  88. and so they will not longer work, but you will still be able to define
  89. action profiles which enable :hp2.&__APPNAME__.:ehp2. to process the message boxes
  90. for which the predefined action profiles ares used.
  91. :p.
  92. For more information on predefined action profiles and how to test, if they work,
  93. refer to section
  94. :sl compact.
  95. :li.:TEXTLINK id='IDPNL_USAGE_PREDEF_ACTIONPRF'.
  96. :esl.
  97. .br
  98.  
  99. .*********************************************************************************************
  100. :HEADLINE level='1' id='IDPNL_PACKAGE' options='clear'.
  101. .*********************************************************************************************
  102. :p.
  103. The :hp2.&__APPNAME__.:ehp2. package contains the following files&colon.
  104. :xmp.
  105.  
  106. readme.cmd            displays the "&IDH_IDPNL_OVERVIEW." of this INF file
  107. install.cmd           calls the installation program
  108. sendyes.exe           the GUI executable
  109. sndyshk.bin           the hook executable
  110. sndysdll.dll          the hook DLL
  111.  
  112. sndyseng.dll          english resource library
  113. sndyseng.hlp          english help file
  114. sndyseng.inf          english online book
  115.  
  116. sndysger.dll          german resource library
  117. sndysger.hlp          german help file
  118. sndysger.inf          german online book
  119.  
  120. nlssrc.zip            zip file containing the sourcefiles for the
  121.                       :TEXTLINK id='IDPNL_DETAILS_LANGUAGE'.
  122.  
  123. install\install.cmd   install program for the :TEXTLINK id='IDPNL_USAGE_WPSOBJ'.
  124. install\remove.cmd    deinstall program for the :hp2.&IDH_IDPNL_USAGE_WPSOBJ.:ehp2.
  125. install\sndyseng.msg  english install messagefile
  126. install\sndysger.msg  german install messagefile
  127. install\*.ico         some icons used by the install and the deinstall program
  128. :exmp.
  129. :note.
  130. :ul compact.
  131. :li.you can delete the the language specific files for 
  132. languages which you don't use with :hp2.&__APPNAME__.:ehp2.
  133. :eul.
  134. .br
  135.  
  136. .*********************************************************************************************
  137. :HEADLINE level='1' id='IDPNL_LEGAL' view='LEFT' options='clear'.
  138. :AUTOLINK id='IDPNL_LEGAL_COPYRIGHT'.
  139. .*********************************************************************************************
  140. :p.
  141. :TEXTLINK id='IDPNL_LEGAL_COPYRIGHT'.
  142. .br
  143. :TEXTLINK id='IDPNL_LEGAL_LICENSE_GENERAL'.
  144. .br
  145. :TEXTLINK id='IDPNL_LEGAL_LICENSE_SHAREWARE'.
  146. .br
  147. :TEXTLINK id='IDPNL_LEGAL_DISCLAIMER'.
  148. .br
  149.  
  150. .*============================================================================================
  151. :HEADLINE level='2' id='IDPNL_LEGAL_COPYRIGHT' view='RIGHT'.
  152. .*============================================================================================
  153. :p.
  154. :hp2.&__APPNAME__. Copyright (C) &__AUTHOR__.:ehp2.
  155. :p.
  156. You are welcome to send your comments/suggestions via internet e-mail.
  157. :p.
  158. Send your email to :hp2.cla@oerag.de:ehp2.
  159. .br
  160.  
  161. .*============================================================================================
  162. :HEADLINE level='2' id='IDPNL_LEGAL_LICENSE_GENERAL' view='RIGHT'.
  163. .*============================================================================================
  164. :p.
  165. :hp2.&__APPNAME__.:ehp2. is freeware for noncommercial use and
  166. :TEXTLINKTEXT id='IDPNL_LEGAL_LICENSE_SHAREWARE' text='shareware'.
  167. for use in a commercial environment.
  168. :p.
  169. You are allowed to freely use :hp2.&__APPNAME__.:ehp2. as long as
  170. :ul compact.
  171. :li.:hp2.&__APPNAME__.:ehp2. is used in a noncommercial environment
  172. :eul.
  173. :p.
  174. You are allowed to freely distribute
  175. :hp2.&__APPNAME__.:ehp2. as long as
  176. :ul compact.
  177. :li.:hp2.&__APPNAME__.:ehp2. is not sold as a part of another program package
  178. :li.no fee is charged for the program other than for cost of media
  179. :li.the complete package is distributed unmodified
  180. :li.you send me some e-mail telling me how you liked it (or didn't like it)
  181. and/or with your suggestions for enhancements.
  182. :p.
  183. I'd like especially to hear from you if you would like to help me
  184. to enable :hp2.&__APPNAME__.:ehp2. to support your language if that is not yet done.
  185. :p.
  186. Refer to section
  187. :sl compact.
  188. :li.:TEXTLINK id='IDPNL_DETAILS_LANGUAGE'.
  189. :esl.
  190. :eul.
  191.  
  192. .*============================================================================================
  193. :HEADLINE level='2' id='IDPNL_LEGAL_LICENSE_SHAREWARE' view='RIGHT'.
  194. .*============================================================================================
  195. :p.
  196. You may use :hp2.&__APPNAME__.:ehp2. in a commercial environment only,
  197. if you agree to the following terms in addition to the
  198. :TEXTLINK id='IDPNL_LEGAL_LICENSE_GENERAL'. &colon.
  199. :ul.
  200. :li.If you continue to use :hp2.&__APPNAME__.:ehp2. after a trial
  201. period of 30 days, you register it and pay a registration fee of
  202. 5$ for
  203. :ul compact.
  204. :li.every copy of the :hp2.&__APPNAME__.:ehp2. package, that you use on a
  205. standalone computer at a time
  206. :li.every user, that can access an installed :hp2.&__APPNAME__.:ehp2. package via a network
  207. at a time. You are responsible to ensure that only that amount of users can access
  208. an installed :hp2.&__APPNAME__.:ehp2. package at a time, that you registered for.
  209. Or in other words, you have to register for every user, that can access an installed
  210. :hp2.&__APPNAME__.:ehp2. package at a time.
  211. :eul.
  212. :li.If you don't register :hp2.&__APPNAME__.:ehp2. after the trial period of 30 days,
  213. you delete all installed copies of the program
  214. :eul.
  215. :p.
  216. The registration will allow you to use :hp2.&__APPNAME__.:ehp2. up to V2.99.
  217. :p.
  218. Contact the author for discounts and site licenses.
  219. .br
  220.  
  221. .*============================================================================================
  222. :HEADLINE level='2' id='IDPNL_LEGAL_DISCLAIMER' view='RIGHT'.
  223. .*============================================================================================
  224. :p.
  225. :color fc=red.
  226. Since this program is free,
  227. it is supplied with no warranty, either expressed or implied.
  228. :p.
  229. I disclaim all warranties for any damages included but not limited to incidental or consequential
  230. damage caused directly or indirectly by this software.
  231. :p.
  232. All software is supplied AS IS.
  233. You may use the :hp2.&__APPNAME__.:ehp2. package only at your own risk.
  234. :p.
  235. :hp2.&__APPNAME__.:ehp2. must not be used in states that do not allow the above limitation of liability.
  236. :color fc=default.
  237. .br
  238.  
  239. .*********************************************************************************************
  240. :HEADLINE level='1' id='IDPNL_INSTALL' view='LEFT' options='clear'.
  241. :AUTOLINK id='IDPNL_INSTALL_COPY'.
  242. .*********************************************************************************************
  243. :p.
  244. :TEXTLINK id='IDPNL_INSTALL_COPY'.
  245. .br
  246. :TEXTLINK id='IDPNL_INSTALL_INSTALL'.
  247. .br
  248. :TEXTLINK id='IDPNL_INSTALL_DEINSTALL'.
  249. .br
  250.  
  251. .*============================================================================================
  252. :HEADLINE level='2' id='IDPNL_INSTALL_COPY' view='RIGHT'.
  253. .*============================================================================================
  254. :p.
  255. If you received the :TEXTLINKTEXT id='IDPNL_PACKAGE' text='&__APPNAME__. package'. as a ZIP file,
  256. create a directory for the files of the :hp2.&__APPNAME__.:ehp2. package on your harddisk
  257. and unzip all files from the ZIP file into it.
  258. :p.
  259. Make sure that the directory structure stored within the ZIP file is preserved.
  260. .br
  261.  
  262. .*============================================================================================
  263. :HEADLINE level='2' id='IDPNL_INSTALL_INSTALL' view='RIGHT'.
  264. .*============================================================================================
  265. :p.
  266. To create a :hp2.&__APPNAME__.:ehp2. folder with precustomized program objects in it,
  267. execute the following steps&colon.
  268. :ol compact.
  269. .*----------------
  270. :li.open an :hp2.OS/2 Window:ehp2.
  271. .*----------------
  272. :li.change into the directory, where the files of the
  273. :TEXTLINKTEXT id='IDPNL_PACKAGE' text='&__APPNAME__. package'. reside
  274. .*----------------
  275. :li.change into the subdirectory :hp2.INSTALL:ehp2.
  276. .*----------------
  277. :li.run the command
  278. :sl compact.
  279. :li.:hp2.install:ehp2.
  280. :esl.
  281. .*----------------
  282. :eol.
  283. :p.
  284. Within the installation program you can select
  285. the language to be used by the program.
  286. :p.
  287. The installation program creates the :hp2.&__APPNAME__.:ehp2. folder with several
  288. :TEXTLINK id='IDPNL_USAGE_WPSOBJ'..
  289. :note.
  290. :ul compact.
  291. .*----------------
  292. :li.If you want to change the location of the files of the :hp2.&__APPNAME__.:ehp2. package,
  293. move the :hp2.&__APPNAME__.:ehp2. directory to the new location and rerun the
  294. :hp2.&IDH_IDPNL_INSTALL_INSTALL.:ehp2. to update the
  295. :TEXTLINK id='IDPNL_USAGE_WPSOBJ'..
  296. .*----------------
  297. :eul.
  298. .br
  299.  
  300. .*============================================================================================
  301. :HEADLINE level='2' id='IDPNL_INSTALL_DEINSTALL' view='RIGHT'.
  302. .*============================================================================================
  303. :p.
  304. To remove all :TEXTLINK id='IDPNL_USAGE_WPSOBJ'.,
  305. :ul.
  306. :li.execute the icon :TEXTLINK id='IDPNL_USAGE_WPSOBJ_WPSDEINSTALL'.
  307. :li.or execute the following steps&colon.
  308. :ol compact.
  309. .*----------------
  310. :li.open an :hp2.OS/2 Window:ehp2.
  311. .*----------------
  312. :li.change into the directory, where the files of the
  313. :TEXTLINKTEXT id='IDPNL_PACKAGE' text='&__APPNAME__. package'. reside
  314. .*----------------
  315. :li.change into the subdirectory :hp2.INSTALL:ehp2.
  316. .*----------------
  317. :li.run the command
  318. :sl compact.
  319. :li.:hp2.remove:ehp2.
  320. :esl.
  321. .*----------------
  322. :eol.
  323. :p.
  324. :eul.
  325. :note.
  326. :ul compact.
  327. :li.The :hp2.&IDH_IDPNL_USAGE_WPSOBJ_WPSDEINSTALL.:ehp2. does not remove any files
  328. from your harddisk.
  329. To completely deinstall :hp2.&__APPNAME__.:ehp2. you must also remove the files of the
  330. :hp2.&__APPNAME__. package:ehp2..
  331. :eul.
  332. .br
  333.  
  334. .***
  335. .*** ending conditional compile section
  336. .config IPFTYPE off
  337.  
  338. .***
  339. .*** the following section is compiled for both INF and HLP
  340.  
  341. .*********************************************************************************************
  342. :HEADLINE level='1' id='IDPNL_USAGE' view='LEFT' options='clear'.
  343. :AUTOLINK id='IDPNL_USAGE_ACTIONPRF'.
  344. .*********************************************************************************************
  345. :p.
  346. .***
  347. .*** the following section is only compiled for HLP
  348. .config IPFTYPE on
  349. .when 'HLP' insert
  350. Select between the following sections&colon.
  351. :p.
  352. .***
  353. .*** ending conditional compile section
  354. .config IPFTYPE off
  355. :TEXTLINK id='IDPNL_USAGE_ACTIONPRF'.
  356. .br
  357. :TEXTLINK id='IDPNL_USAGE_PREDEF_ACTIONPRF'.
  358. .br
  359. :TEXTLINK id='IDPNL_USAGE_GUI'.
  360. .br
  361. :TEXTLINK id='IDPNL_USAGE_WPSOBJ'.
  362. .br
  363. :TEXTLINK id='IDPNL_USAGE_PARM'.
  364. .br
  365.  
  366. .*============================================================================================
  367. :HEADLINE level='2' id='IDPNL_USAGE_ACTIONPRF' view='RIGHT'.
  368. .*============================================================================================
  369. :p.
  370. The :hp2.&__APPNAME__.:ehp2. graphical user interface allows the user to
  371. create, copy, edit and delete action profiles. Action profiles consist of the following
  372. data&colon.
  373.  
  374. :ul.
  375. :li.
  376. the message text of the message box which is to be intercepted
  377.  
  378. :li.
  379. the pushbutton to act on. All possible pushbuttons for standard message boxes can
  380. be selected and it is the users responsibility to select a pushbutton which is
  381. really part of the message box to be processed automatically.
  382.  
  383. :li.
  384. the action to take. This can be&colon.
  385. :ul compact.
  386. :li.pressing the button
  387. :li.setting the button as the default button and set the focus on it
  388. :note.This action is perfomed only once when the message box comes up for the first time
  389. .br
  390. :li.disabling the button
  391. :eul.
  392.  
  393. :note.
  394. :ul compact.
  395. :li.
  396. The message text of an action profile must be unique among all action profiles so that
  397. only one action profile exists for every message box that can come up.
  398. :li.
  399. the message text of :TEXTLINK id='IDPNL_USAGE_PREDEF_ACTIONPRF'. cannot be edited.
  400. However the pushhbutton to act on and the action to take can be changed.
  401. :li.
  402. The action you select is performed on the button you select every time the
  403. message box receives the focus (except for setting the pushbutton as the default 
  404. pushbutton, that is done only once).
  405. .br
  406. So it is not very useful to select pressing the help button, although it is possible.
  407. If you use an action profile set up like this, it will activate the help every time you
  408. click onto the message box, because then the message box receives the focus and the 
  409. selected action is performed.
  410. .br
  411. In that case close the message box first and then the help window.
  412. :eul.
  413.  
  414. :eul.
  415. .br
  416.  
  417. .*============================================================================================
  418. :HEADLINE level='2' id='IDPNL_USAGE_PREDEF_ACTIONPRF' view='RIGHT'.
  419. .*============================================================================================
  420. :p.
  421. Predefined action profiles are different from user defined action profiles&colon.
  422. :ul.
  423.  
  424. :li.:hp2.&__APPNAME__.:ehp2. creates and displays them automatically the first time it is started 
  425.  
  426. :li.they cannot be deleted 
  427.  
  428. :li.their message text is read out of PM resources and cannot be edited
  429. :eul.
  430. :p.
  431. However the pushhbutton to act on and the action
  432. to take can be changed for predefined action profiles.
  433. :p.
  434. As the message texts for these predefined action profiles are read out of PM resources,
  435. they will work under every OS/2 WARP version, no matter what language specific
  436. version you use. Also the INI file that :hp2.&__APPNAME__.:ehp2. creates to store
  437. it's action profiles will not contain these message texts, so this file
  438. can be exchanged between users of OS/2 versions of different language.
  439. :p.
  440. The predefined action profiles are first of all for to support
  441. the functionality of previous versions of :hp2.&__APPNAME__.:ehp2.
  442. without enforcing the user to set up action profiles for that himself.
  443. :p.
  444. To enable the user to distinct between predefined and user defined action profiles,
  445. every predefined action profile entry is
  446. displayed with a preceeding label.
  447. :p.
  448. In the current version :hp2.&__APPNAME__.:ehp2. comes with the following predefined action profiles
  449. for to process confirmation message boxes for&colon.
  450. .*------------
  451. :ul.
  452. :li.closing an OS/2 windowed text session. With this action profile activated also
  453. confirmation message boxes for closing both DOS windowed and fullscreen text sessions are processed.
  454. .br
  455. This action profile is labeled :hp2.&IDT_IDSTR_PREDEFACTIONPRF_CONFIRMWIN.:ehp2.
  456. :li.closing an OS/2 fullscreen text session.
  457. .br
  458. This action profile is labeled :hp2.&IDT_IDSTR_PREDEFACTIONPRF_CONFIRMFS.:ehp2.
  459. :li.shutdown.
  460. .br
  461. This action profile is labeled :hp2.&IDT_IDSTR_PREDEFACTIONPRF_SHUTDOWN.:ehp2.
  462. :eul.
  463. .*------------
  464. :p.
  465. To find out wether the predefined action profiles of :hp2.&__APPNAME__.:ehp2. are working
  466. on your OS/2 for closing a DOS or OS/2 Windowed or Fullscreen Text session without
  467. confirmation message boxes, refer to section
  468. :sl compact.
  469. :li.:TEXTLINK head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_TEST_PAP'.
  470. :esl.
  471. :p.
  472. If all text sessions close well without confirmation boxes, everything is fine.
  473. .br
  474. If not, please email and tell me so...
  475. .br
  476. Meanwhile you can define an action profile which will close these textsessions
  477. without confirmation boxes on YOUR system.
  478. .br
  479.  
  480. .*============================================================================================
  481. :HEADLINE level='2' id='IDPNL_USAGE_GUI' view='RIGHTTOPHALF'.
  482. :AUTOLINK id='IDPNL_USAGE_GUI_SESSIONPAGE'.
  483. .*============================================================================================
  484. :p.
  485. The :hp2.&__APPNAME__.:ehp2. GUI consists of a notebook control, which can nearly be used like
  486. a settings notebook of a WPS object. This notebook comes up if you start :hp2.&__APPNAME__.:ehp2.
  487. without any parameters or execute the icon :TEXTLINK id='IDPNL_USAGE_WPSOBJ_SETTINGS'..
  488. :note.
  489. Only one instance of the :hp2.&__APPNAME__.:ehp2. GUI can be active at a time.
  490. :p.
  491. The notebook contains two notebook pages and a common dialog is used for to create, 
  492. copy or edit action profiles&colon.
  493.  
  494. :ul compact.
  495. :li.:TEXTLINK id='IDPNL_USAGE_GUI_SESSIONPAGE'.
  496. :li.:TEXTLINK id='IDPNL_USAGE_GUI_ACTIONSPAGE'.
  497. :li.:TEXTLINK id='IDPNL_USAGE_GUI_NEWDIALOG'.
  498. :eul.
  499. .br
  500.  
  501. .*--------------------------------------------------------------------------------------------
  502. :HEADLINE_N level='3' id='IDPNL_USAGE_GUI_SESSIONPAGE' view='RIGHTBOTTOMHALF'.
  503. .*--------------------------------------------------------------------------------------------
  504. :p.
  505. On this page you can
  506. .*------------
  507. :ul.
  508.  
  509. :li.start the :hp2.&__APPNAME__.:ehp2. hook executable and thus activate the
  510. :hp2.&__APPNAME__.:ehp2. functionality.
  511. :p.
  512. Use the checkbox :hp2.&IDH_IDDLG_NBSESSION_CB_ACTIVE.:ehp2. to activate or deactivate
  513. :hp2.&__APPNAME__.:ehp2.
  514.  
  515. :li.define wether the :hp2.&__APPNAME__.:ehp2. hook executable is loaded by a separate process
  516. or by the PMSHELL process
  517.  
  518. :note.
  519. In the current version of :hp2.&__APPNAME__.:ehp2. the hook executable is always loaded by a
  520. separate process, so this setting cannot be changed
  521.  
  522. :li.define wether the :hp2.&__APPNAME__.:ehp2. hook executable is unloaded on deactivation or not
  523.  
  524. :note.
  525. In the current version of :hp2.&__APPNAME__.:ehp2. the hook executable is always unloaded on
  526. deactivation, so this setting cannot be changed
  527.  
  528. :eul.
  529. .*------------
  530. .br
  531.  
  532. .*--------------------------------------------------------------------------------------------
  533. :HEADLINE_N level='3' id='IDPNL_USAGE_GUI_ACTIONSPAGE' view='RIGHTBOTTOMHALF'.
  534. .*--------------------------------------------------------------------------------------------
  535. :p.
  536. On this page you can define action profiles, and activate or deactivate self defined and
  537. predefined action profiles. All profiles are placed in two lists&colon.
  538.  
  539. .*------------
  540. :ul.
  541.  
  542. :li.
  543. the list labeled :hp2.&IDT_IDDLG_NBACTIONS_ST_DEFINED.:ehp2. contains defined
  544. action profiles, which are not active. 
  545. :p.
  546. Profiles located in this list can be activated,
  547. edited, copied or deleted and new action profiles can be created.
  548.  
  549. :note. Predefined action profiles cannot be deleted and their message text cannot be edited.
  550.  
  551. :li.
  552. the list labeled :hp2.&IDT_IDDLG_NBACTIONS_ST_ACTIVATED.:ehp2. contains activated
  553. action profiles. If the :hp2.&__APPNAME__.:ehp2. hook executable is activated on the
  554. :hp2.&IDH_IDDLG_NBSESSION.:ehp2., the action profiles are executed when the apropriate
  555. message boxes come up.
  556. :p.
  557. Action profiles in this list can only be edited, deleted or
  558. deactivated. Creating new action profiles or copying existing profiles is possible only within
  559. the list labeled :hp2.&IDT_IDDLG_NBACTIONS_ST_DEFINED.:ehp2..
  560. .br
  561. Also the predefined action profiles for closing text sessions (and only those) can be tested&colon.
  562. .br
  563. :hp2.&__APPNAME__.:ehp2. then creates the appropriate text sessions which you can close 
  564. easily via the window list.
  565.  
  566. :note. Predefined action profiles cannot be deleted and their message text cannot be edited.
  567.  
  568. :eul.
  569. .*------------
  570.  
  571. :p.
  572. Although you can manipulate action profiles either with the keyboard or with the mouse,
  573. the usage of the mouse is far easier.
  574. The new :TEXTLINK id='IDPNL_DETAILS_LISTBOX'., which incorporate the
  575. functionality of the :TEXTLINK id='IDPNL_DETAILS_LISTBOX_DMLB'. control and
  576. the :TEXTLINK id='IDPNL_DETAILS_LISTBOX_MCLB'. control,
  577. allow to use the mouse as follows&colon.
  578. .*------------
  579. :ul.
  580. :li. use the :TEXTLINK id='IDPNL_HIDDEN_RIGHT_MOUSE_BUTTON'. within the lists to bring up
  581. context menus for to perform the actions on action profiles as described above.
  582. :li. as an alternative for some actions within the context menus use drag&.drop&colon.
  583. .*- - - - - -
  584. :ul compact.
  585. :li.between both lists for to activate or deactivate action profiles.
  586. :li.within the list labeled :hp2.&IDT_IDDLG_NBACTIONS_ST_DEFINED.:ehp2.
  587. for to copy an existing action profile.
  588. :eul.
  589. .*- - - - - -
  590. :eul.
  591. .*------------
  592. :p.
  593. For more information on how to manipulate action profiles
  594. refer to section
  595. :sl compact.
  596. :li.:TEXTLINK id='IDPNL_HOW'.
  597. :esl.
  598.  
  599. :p.
  600. :hp2.&__APPNAME__.:ehp2. comes with predefined action profiles for being able to
  601. process some standard system message boxes. You can test some of them for to make
  602. sure that they work properly.
  603. :p.
  604. Refer to section
  605. :sl compact.
  606. :li.:TEXTLINK id='IDPNL_USAGE_PREDEF_ACTIONPRF'.
  607. :li.:TEXTLINK head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_TEST_PAP'.
  608. :esl.
  609. .br
  610.  
  611. .*--------------------------------------------------------------------------------------------
  612. :HEADLINE_N level='3' id='IDPNL_USAGE_GUI_NEWDIALOG' view='RIGHTBOTTOMHALF'.
  613. .*--------------------------------------------------------------------------------------------
  614. :p.
  615. Within this dialog you can create a new or copy or edit existing
  616. :TEXTLINK id='IDPNL_USAGE_ACTIONPRF'..
  617. .br
  618.  
  619. .*============================================================================================
  620. :HEADLINE_N level='2' id='IDPNL_USAGE_WPSOBJ' view='RIGHTTOPHALF'.
  621. :AUTOLINK id='IDPNL_USAGE_WPSOBJ_INITIALIZE'.
  622. .*============================================================================================
  623. :p.
  624. The :hp2.&IDH_IDPNL_USAGE_WPSOBJ_WPSINSTALL.:ehp2. creates the following objects&colon.
  625. :ul.
  626. .*- - - - - - -
  627.  
  628. :li.a :hp2.&__APPNAME__.:ehp2. folder on the desktop,
  629. which contains the following program reference objects&colon.
  630. :ul compact.
  631. :li.:TEXTLINK id='IDPNL_USAGE_WPSOBJ_INITIALIZE'.
  632. :li.:TEXTLINK id='IDPNL_USAGE_WPSOBJ_SETTINGS'.
  633. :li.:TEXTLINK id='IDPNL_USAGE_WPSOBJ_HELP'.
  634. :li.:TEXTLINK id='IDPNL_USAGE_WPSOBJ_WPSINSTALL'.
  635. :li.:TEXTLINK id='IDPNL_USAGE_WPSOBJ_WPSDEINSTALL'.
  636. :eul.
  637. .*- - - - - - -
  638.  
  639. :li.a shadow of :TEXTLINK id='IDPNL_USAGE_WPSOBJ_INITIALIZE'., which is placed into the
  640. folder :hp2.Startup:ehp2., so that :hp2.&__APPNAME__.:ehp2. is initialized on every startup
  641. of OS/2. 
  642. For more information on intitializing :hp2.&__APPNAME__.:ehp2. on system startup refer to
  643. :sl compact.
  644. :li.:TEXTLINK head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_INITIALIZE'.
  645. :esl.
  646.  
  647. :li.a shadow of the folder :hp2.Startup:ehp2., which is placed into the :hp2.&__APPNAME__.:ehp2.
  648. folder, so that you can easily access this folder in order to delete the shadow of
  649. :TEXTLINK id='IDPNL_USAGE_WPSOBJ_INITIALIZE'. or place it into the startup folder again.
  650.  
  651. :li.a shadow of :TEXTLINK id='IDPNL_USAGE_WPSOBJ_SETTINGS'., which is placed into
  652. the folder :hp2.System Setup:ehp2..
  653.  
  654. :eul.
  655. .br
  656.  
  657. .*--------------------------------------------------------------------------------------------
  658. :HEADLINE_N level='3' id='IDPNL_USAGE_WPSOBJ_INITIALIZE' view='RIGHTBOTTOMHALF'.
  659. .*--------------------------------------------------------------------------------------------
  660. :p.
  661. This icon loads the :hp2.&__APPNAME__.:ehp2. hook executable,
  662. if the current settings state that :hp2.&__APPNAME__.:ehp2. is active.
  663. A shadow of this icon is placed into the :hp2.Startup:ehp2. folder by the 
  664. installation program so that :hp2.&__APPNAME__.:ehp2. is initialized on every system startup.
  665. .br
  666. For more information on intitializing :hp2.&__APPNAME__.:ehp2. refer to
  667. :sl compact.
  668. :li.:TEXTLINK head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_INITIALIZE'.
  669. :esl.
  670.  
  671. :note.
  672. :ul compact.
  673. :li.If the environment variable :hp2.RESTARTOBJECTS:ehp2. is set to the value of 
  674. :hp2.NO:ehp2. within CONFIG.SYS, objects residing in the :hp2.Startup:ehp2.
  675. folder are not processed automatically on System Startup. Then :hp2.&__APPNAME__.:ehp2.
  676. must be initialised via a call in STARTUP.CMD or manually initialised.
  677. .br
  678. For more information on intitializing :hp2.&__APPNAME__.:ehp2. on system startup refer to
  679. :sl compact.
  680. :li.:TEXTLINK head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_INITIALIZE'.
  681. :esl.
  682. :li.You can load the :hp2.&__APPNAME__.:ehp2. hook executable also via the
  683. :TEXTLINK id='IDPNL_USAGE_GUI'. by performing the following steps&colon.
  684. .*--------
  685. :ol compact.
  686. :li.open the :hp2.&IDH_IDPNL_USAGE_GUI.:ehp2.
  687. :li.select the :TEXTLINK id='IDPNL_USAGE_GUI_SESSIONPAGE'.
  688. :li.check the checkbox labeled :hp2.&IDH_IDDLG_NBSESSION_CB_ACTIVE.:ehp2.
  689. :li.the status field above the pushbuttons displays the new status of :hp2.&__APPNAME__.:ehp2.,
  690. if :hp2.&__APPNAME__.:ehp2. was able to load the hook executable.
  691. :eol.
  692. .*--------
  693. :li.No notification message box is displayed. Only in case of errors an error message box
  694. is displayed.
  695. :li.This icon is equivalent to executing
  696. .*--------
  697. :sl compact.
  698. :li.[start] :hp2.&__PROGRAM__.:ehp2. :TEXTLINK id='IDPNL_USAGE_PARM_INITIALIZE'.
  699. :esl.
  700. .*--------
  701. .br
  702. on the commandline in the :hp2.&__APPNAME__.:ehp2. directory.
  703. :eul.
  704. .br
  705.  
  706. .*--------------------------------------------------------------------------------------------
  707. :HEADLINE_N level='3' id='IDPNL_USAGE_WPSOBJ_SETTINGS' view='RIGHTBOTTOMHALF'.
  708. .*--------------------------------------------------------------------------------------------
  709. :p.
  710. This icon starts the :TEXTLINK id='IDPNL_USAGE_GUI'., where you can
  711. modify the current settings of the program.
  712.  
  713. :note.
  714. :ul compact.
  715. :li.This icon is equivalent to executing
  716. .*--------
  717. :sl compact.
  718. :li.[start] :hp2.&__PROGRAM__.:ehp2.
  719. :esl.
  720. .*--------
  721. .br
  722. on the commandline in the :hp2.&__APPNAME__.:ehp2. directory.
  723. :eul.
  724. .br
  725.  
  726. .*--------------------------------------------------------------------------------------------
  727. :HEADLINE_N level='3' id='IDPNL_USAGE_WPSOBJ_HELP' view='RIGHTBOTTOMHALF'.
  728. .*--------------------------------------------------------------------------------------------
  729. :p.
  730. This icon brings up this INF file.
  731.  
  732. :note.
  733. :ul compact.
  734. :li.This icon is equivalent to executing
  735. .*--------
  736. :sl compact.
  737. :li.:hp2.README:ehp2.
  738. :esl.
  739. .*--------
  740. .br
  741. on the commandline in the :hp2.&__APPNAME__.:ehp2. directory.
  742. This will display the INF file for the currently selected language.
  743.  
  744. .***
  745. .*** the following section is only compiled for INF
  746. .config IPFTYPE on
  747. .when 'INF' insert
  748.  
  749. :li.You can also display a language specific INF file directly by executing
  750. .*--------
  751. :sl compact.
  752. :li.:hp2.README ???:ehp2. or
  753. :li.:hp2.[start] view sndys???:ehp2.
  754. :esl.
  755. .*--------
  756. .br
  757. on the commandline in the :hp2.&__APPNAME__.:ehp2. directory,
  758. where ??? is an english three letter abbreviation of the desired language.
  759. For more information about available INF files refer to section
  760. :sl compact.
  761. :li.:TEXTLINK id='IDPNL_PACKAGE'.
  762. :esl.
  763.  
  764. .***
  765. .*** ending conditional compile section
  766. .config IPFTYPE off
  767.  
  768. :eul.
  769. .br
  770.  
  771. .*--------------------------------------------------------------------------------------------
  772. :HEADLINE_N level='3' id='IDPNL_USAGE_WPSOBJ_WPSINSTALL' view='RIGHTBOTTOMHALF'.
  773. .*--------------------------------------------------------------------------------------------
  774. :p.
  775. This icon executes the installation program for the
  776. :TEXTLINK id='IDPNL_USAGE_WPSOBJ'..
  777. :p.
  778. Within this program you can select the language used by :hp2.&__APPNAME__.:ehp2.
  779. and recreate the :hp2.&IDH_IDPNL_USAGE_WPSOBJ.:ehp2., so that newly selected 
  780. language is used for the object titles.
  781. .br
  782.  
  783. .*--------------------------------------------------------------------------------------------
  784. :HEADLINE_N level='3' id='IDPNL_USAGE_WPSOBJ_WPSDEINSTALL' view='RIGHTBOTTOMHALF'.
  785. .*--------------------------------------------------------------------------------------------
  786. :p.
  787. This icon executes the deinstallation program for the
  788. :TEXTLINK id='IDPNL_USAGE_WPSOBJ'..
  789. :p.
  790. With this program you can remove the :hp2.&IDH_IDPNL_USAGE_WPSOBJ.:ehp2..
  791. :p.
  792. :note.
  793. :ul compact.
  794. :li.The :hp2.&IDH_IDPNL_USAGE_WPSOBJ_WPSDEINSTALL.:ehp2. does not remove any files
  795. from your harddisk.
  796. To completely deinstall :hp2.&__APPNAME__.:ehp2. you must also remove the files of the
  797. :hp2.&__APPNAME__. package:ehp2..
  798. :eul.
  799. .br
  800.  
  801. .*============================================================================================
  802. :HEADLINE level='2' id='IDPNL_USAGE_PARM' view='RIGHTTOPHALF'.
  803. :AUTOLINK id='IDPNL_USAGE_PARM_INITIALIZE'.
  804. .*============================================================================================
  805. :p.
  806. The following parameters can be used to interact with
  807. :hp2.&__APPNAME__.:ehp2. from the commandline&colon.
  808.  
  809. :parml compact tsize=25 break=none.
  810.  
  811. :pt.:TEXTLINK id='IDPNL_USAGE_PARM_INITIALIZE'.
  812. :pd.
  813.  
  814. :pt.:TEXTLINK id='IDPNL_USAGE_PARM_LOAD'.
  815. :pd.:TEXTLINK id='IDPNL_USAGE_PARM_STATUS'.
  816.  
  817. :pt.:TEXTLINK id='IDPNL_USAGE_PARM_UNLOAD'.
  818. :pd.:TEXTLINK id='IDPNL_USAGE_PARM_BATCH'.
  819.  
  820. :pt.:TEXTLINK id='IDPNL_USAGE_PARM_ACTIVATE'.
  821. :pd.:TEXTLINK id='IDPNL_USAGE_PARM_QUIET'.
  822.  
  823. :pt.:TEXTLINK id='IDPNL_USAGE_PARM_DEACTIVATE'.
  824. :pd.:TEXTLINK id='IDPNL_USAGE_PARM_HELP'.
  825.  
  826. :eparml.
  827. .br
  828. :hp2.General notes on switch parameters&colon.:ehp2.
  829. :ul compact.
  830. :li.the parameter names are used case insensitive
  831. :li.Instead of slashes you can also use the minus sign - that means that for example
  832. specifying :hp2./load:ehp2. and :hp2.-load:ehp2. is equivalent
  833. :li.it is sufficient to specify only the first character of the parameter name - that means
  834. that :hp2./b:ehp2. and :hp2./batch:ehp2. (or :hp2.-b:ehp2. and :hp2.-batch:ehp2.) are also equivalent.
  835. :eul.
  836. .br
  837.  
  838. .*--------------------------------------------------------------------------------------------
  839. :HEADLINE level='3' id='IDPNL_USAGE_PARM_INITIALIZE' view='RIGHTBOTTOMHALF'.
  840. .*--------------------------------------------------------------------------------------------
  841. :p.
  842. This parameter is for to initialize :hp2.&__APPNAME__.:ehp2. on system startup.
  843. :p.
  844. If the current :hp2.&__APPNAME__.:ehp2. settings state that the hook executable should be active,
  845. :hp2.&__APPNAME__.:ehp2. acts as if the parameter :TEXTLINK id='IDPNL_USAGE_PARM_LOAD'. was
  846. specified.
  847.  
  848. :note.
  849. :ul compact.
  850. :li.No notification message box is displayed. Only in case of errors an error message box
  851. is displayed.
  852. :eul.
  853. .br
  854.  
  855. .*--------------------------------------------------------------------------------------------
  856. :HEADLINE level='3' id='IDPNL_USAGE_PARM_LOAD' view='RIGHTBOTTOMHALF'.
  857. .*--------------------------------------------------------------------------------------------
  858. :p.
  859. This parameter loads the :hp2.&__APPNAME__.:ehp2. hook executable, if it is not already loaded.
  860. If the hook executable can be loaded successfully, 
  861. the :hp2.&__APPNAME__.:ehp2. functionality is available and message boxes, 
  862. which apply to activated action profiles, are processed automatically.
  863.  
  864. :note.
  865. :ul compact.
  866. :li.If the hook executable can be loaded successfully, a notification message box is displayed.
  867. :li.If the hook executable is already loaded or cannot be loaded, an error message box is displayed.
  868. :li.Both the notification and the error message box can be surpressed by also specifiying
  869. the parameter :TEXTLINK id='IDPNL_USAGE_PARM_BATCH'..
  870. Instead a notification or an error beep is generated.
  871. :p.
  872. In addition the notification and error beeps can be supressed with the parameter
  873. :TEXTLINK id='IDPNL_USAGE_PARM_QUIET'..
  874. :eul.
  875. .br
  876.  
  877. .*--------------------------------------------------------------------------------------------
  878. :HEADLINE level='3' id='IDPNL_USAGE_PARM_UNLOAD' view='RIGHTBOTTOMHALF'.
  879. .*--------------------------------------------------------------------------------------------
  880. :p.
  881. This parameter unloads the :hp2.&__APPNAME__.:ehp2. hook executable, if it is active.
  882. When the hook executable is unloaded, the :hp2.&__APPNAME__.:ehp2. functionality is not longer
  883. available and message boxes are no more processed automatically.
  884. :note.
  885. :ul compact.
  886. :li.If the hook executable can be unloaded successfully, a notification message box is displayed.
  887. :li.If the hook executable is not loaded or cannot be unloaded, an error message box is displayed.
  888. :li.Both the notification and the error message box can be surpressed by also specifiying
  889. the parameter :TEXTLINK id='IDPNL_USAGE_PARM_BATCH'..
  890. Instead a notification or an error beep is generated.
  891. :p.
  892. In addition the notification and error beeps can be supressed with the parameter
  893. :TEXTLINK id='IDPNL_USAGE_PARM_QUIET'..
  894. :eul.
  895. .br
  896.  
  897. .*--------------------------------------------------------------------------------------------
  898. :HEADLINE level='3' id='IDPNL_USAGE_PARM_ACTIVATE' view='RIGHTBOTTOMHALF'.
  899. .*--------------------------------------------------------------------------------------------
  900. :p.
  901. This parameter works exactly like :TEXTLINK id='IDPNL_USAGE_PARM_LOAD'..
  902. :p.
  903. It is implemented just as a counterpart to :TEXTLINK id='IDPNL_USAGE_PARM_DEACTIVATE'..
  904. .br
  905.  
  906. .*--------------------------------------------------------------------------------------------
  907. :HEADLINE level='3' id='IDPNL_USAGE_PARM_DEACTIVATE' view='RIGHTBOTTOMHALF'.
  908. .*--------------------------------------------------------------------------------------------
  909. :p.
  910. In the current version of :hp2.&__APPNAME__.:ehp2. this parameter works exactly like
  911. :TEXTLINK id='IDPNL_USAGE_PARM_UNLOAD'..
  912. :p.
  913. This will change when :hp2.&__APPNAME__.:ehp2. supports deactivating the hook
  914. executable without unloading it. Then :hp2.&IDH_IDPNL_USAGE_PARM_DEACTIVATE.:ehp2.
  915. is used for this deactivation.
  916. .br
  917.  
  918. .*--------------------------------------------------------------------------------------------
  919. :HEADLINE level='3' id='IDPNL_USAGE_PARM_STATUS' view='RIGHTBOTTOMHALF'.
  920. .*--------------------------------------------------------------------------------------------
  921. :p.
  922. This parameter queries wether the :hp2.&__APPNAME__.:ehp2. hook executable is active or not.
  923. :p.
  924. A status message box is displayed and the following ERRORLEVEL is returned&colon.
  925. :parml compact tsize=4 break=none.
  926. :pt.:hp2.1:ehp2.
  927. :pd.:hp2.&__APPNAME__.:ehp2. is active
  928. :pt.:hp2.0:ehp2.
  929. :pd.:hp2.&__APPNAME__.:ehp2. is not active
  930. :eparml.
  931. :note.
  932. :ul compact.
  933. :li.When you specify :hp2./&PARM_STATUS.:ehp2., all other parameters but
  934. :hp2./&PARM_HELP1.:ehp2. are ignored.
  935. :li.The status message box can be surpressed by also specifiying
  936. the parameter :TEXTLINK id='IDPNL_USAGE_PARM_BATCH'..
  937. Unlike specifying :hp2.&IDH_IDPNL_USAGE_PARM_BATCH.:ehp2. together with other parameters 
  938. no notification or error beep is generated here.
  939. :eul.
  940. .br
  941.  
  942. .*--------------------------------------------------------------------------------------------
  943. :HEADLINE level='3' id='IDPNL_USAGE_PARM_BATCH' view='RIGHTBOTTOMHALF'.
  944. .*--------------------------------------------------------------------------------------------
  945. :p.
  946. This parameter surpresses message boxes when processing the parameters
  947. :TEXTLINK id='IDPNL_USAGE_PARM_LOAD'., :TEXTLINK id='IDPNL_USAGE_PARM_UNLOAD'.,
  948. :TEXTLINK id='IDPNL_USAGE_PARM_ACTIVATE'., :TEXTLINK id='IDPNL_USAGE_PARM_DEACTIVATE'. or
  949. :TEXTLINK id='IDPNL_USAGE_PARM_STATUS'..
  950. :p.
  951. Instead of displaying a message box, a notification or an error beep is generated.
  952. This beep can be surpressed by also specifiying :TEXTLINK id='IDPNL_USAGE_PARM_QUIET'..
  953. :p.
  954. When using :hp2./&PARM_BATCH.:ehp2. together with :hp2./&PARM_STATUS.:ehp2.,
  955. no notification or error beep is generated by default.
  956. .br
  957.  
  958. .*--------------------------------------------------------------------------------------------
  959. :HEADLINE level='3' id='IDPNL_USAGE_PARM_QUIET' view='RIGHTBOTTOMHALF'.
  960. .*--------------------------------------------------------------------------------------------
  961. :p.
  962. This parameter surpresses notification and error beeps when using the parameter
  963. :TEXTLINK id='IDPNL_USAGE_PARM_BATCH'..
  964. .br
  965.  
  966. .*--------------------------------------------------------------------------------------------
  967. :HEADLINE level='3' id='IDPNL_USAGE_PARM_HELP' view='RIGHTBOTTOMHALF'.
  968. .*--------------------------------------------------------------------------------------------
  969. :p.
  970. This parameter gives a brief help text about the parameters.
  971. :p.
  972. When you specify :hp2./&PARM_HELP1.:ehp2., all other parameters are ignored.
  973. :p.
  974. Instead of :hp2./&PARM_HELP1.:ehp2. also specifying :hp2./&PARM_HELP2.:ehp2. is valid.
  975. .br
  976.  
  977. .*********************************************************************************************
  978. :HEADLINE level='1' id='IDPNL_HOW' view='LEFT'.
  979. :AUTOLINK id='IDPNL_HOW_LOAD'.
  980. .*********************************************************************************************
  981. :p.
  982. .***
  983. .*** the following section is only compiled for HLP
  984. .config IPFTYPE on
  985. .when 'HLP' insert
  986. Select between the following sections&colon.
  987. :p.
  988. &IDH_IDPNL_HOW__BASETEXT....
  989. :p.
  990. .***
  991. .*** ending conditional compile section
  992. .config IPFTYPE off
  993. :TEXTLINK head='&IDH_IDPNL_HOW__BASEDOT.' id='IDPNL_HOW_LOAD'.
  994. .br
  995. :TEXTLINK head='&IDH_IDPNL_HOW__BASEDOT.' id='IDPNL_HOW_UNLOAD'.
  996. .br
  997. :TEXTLINK head='&IDH_IDPNL_HOW__BASEDOT.' id='IDPNL_HOW_ACTIVATE'.
  998. .br
  999. :TEXTLINK head='&IDH_IDPNL_HOW__BASEDOT.' id='IDPNL_HOW_DEACTIVATE'.
  1000. .br
  1001. :TEXTLINK head='&IDH_IDPNL_HOW__BASEDOT.' id='IDPNL_HOW_STATUS'.
  1002. .br
  1003. :TEXTLINK head='&IDH_IDPNL_HOW__BASEDOT.' id='IDPNL_HOW_BATCH'.
  1004. .br
  1005. :TEXTLINK head='&IDH_IDPNL_HOW__BASEDOT.' id='IDPNL_HOW_INITIALIZE'.
  1006. .br
  1007. .br
  1008. :TEXTLINK head='&IDH_IDPNL_HOW__BASEDOT.' id='IDPNL_HOW_STARTGUI'.
  1009. .br
  1010. :TEXTLINK head='&IDH_IDPNL_HOW__BASEDOT.' id='IDPNL_HOW_SELECT'.
  1011. .br
  1012. :TEXTLINK head='&IDH_IDPNL_HOW__BASEDOT.' id='IDPNL_HOW_CREATE_AP'.
  1013. .br
  1014. :TEXTLINK head='&IDH_IDPNL_HOW__BASEDOT.' id='IDPNL_HOW_COPY_AP'.
  1015. .br
  1016. :TEXTLINK head='&IDH_IDPNL_HOW__BASEDOT.' id='IDPNL_HOW_ACTIVATE_AP'.
  1017. .br
  1018. :TEXTLINK head='&IDH_IDPNL_HOW__BASEDOT.' id='IDPNL_HOW_DEACTIVATE_AP'.
  1019. .br
  1020. :TEXTLINK head='&IDH_IDPNL_HOW__BASEDOT.' id='IDPNL_HOW_EDIT_AP'.
  1021. .br
  1022. :TEXTLINK head='&IDH_IDPNL_HOW__BASEDOT.' id='IDPNL_HOW_TEST_PAP'.
  1023. .br
  1024. .br
  1025. :TEXTLINK head='&IDH_IDPNL_HOW__BASEDOT.' id='IDPNL_HOW_CHANGELANG'.
  1026. .br
  1027. .***
  1028. .*** the following section is only compiled for INF
  1029. .config IPFTYPE on
  1030. .when 'INF' insert
  1031. :TEXTLINK head='&IDH_IDPNL_HOW__BASEDOT.' id='IDPNL_HOW_DEINSTALL'.
  1032. .br
  1033. .***
  1034. .*** ending conditional compile section
  1035. .config IPFTYPE off
  1036.  
  1037. .*============================================================================================
  1038. :HEADLINE level='2' head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_LOAD' view='RIGHT'.
  1039. .*============================================================================================
  1040. :p.
  1041. To load the :hp2.&__APPNAME__.:ehp2. hook executable
  1042. :ul.
  1043.  
  1044. :li. perform the following steps within the :TEXTLINK id='IDPNL_USAGE_GUI'.&colon.
  1045. .*--------
  1046. :ol compact.
  1047. :li.open the :hp2.&IDH_IDPNL_USAGE_GUI.:ehp2.
  1048. :li.select the :TEXTLINK id='IDPNL_USAGE_GUI_SESSIONPAGE'.
  1049. :li.check the checkbox labeled :hp2.&IDH_IDDLG_NBSESSION_CB_ACTIVE.:ehp2.
  1050. :li.the status field above the pushbuttons displays the new status of :hp2.&__APPNAME__.:ehp2.,
  1051. if :hp2.&__APPNAME__.:ehp2. was able to load the hook executable.
  1052. :eol.
  1053. .*--------
  1054.  
  1055. :li.or execute the following command on the commandline
  1056. in the :hp2.&__APPNAME__.:ehp2. directory&colon.
  1057. :sl compact.
  1058. :li.[start] :hp2.&__PROGRAM__.:ehp2.
  1059. :TEXTLINK id='IDPNL_USAGE_PARM_LOAD'.
  1060. [:TEXTLINK id='IDPNL_USAGE_PARM_BATCH'.]
  1061. [:TEXTLINK id='IDPNL_USAGE_PARM_QUIET'.]
  1062. :esl.
  1063.  
  1064. :eul.
  1065. .br
  1066.  
  1067. .*============================================================================================
  1068. :HEADLINE level='2' head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_UNLOAD' view='RIGHT'.
  1069. .*============================================================================================
  1070. :p.
  1071. To unload the :hp2.&__APPNAME__.:ehp2. hook executable
  1072. :ul.
  1073.  
  1074. :li. perform the following steps within the :TEXTLINK id='IDPNL_USAGE_GUI'.&colon.
  1075. .*--------
  1076. :ol compact.
  1077. :li.open the :hp2.&IDH_IDPNL_USAGE_GUI.:ehp2.
  1078. :li.select the :TEXTLINK id='IDPNL_USAGE_GUI_SESSIONPAGE'.
  1079. :li.uncheck the checkbox labeled :hp2.&IDH_IDDLG_NBSESSION_CB_ACTIVE.:ehp2.
  1080. :li.the status field above the pushbuttons displays the new status of :hp2.&__APPNAME__.:ehp2.,
  1081. if :hp2.&__APPNAME__.:ehp2. was able to unload the hook executable.
  1082. :eol.
  1083. .*--------
  1084.  
  1085. :li.or execute the following command on the commandline
  1086. in the :hp2.&__APPNAME__.:ehp2. directory&colon.
  1087. :sl compact.
  1088. :li.[start] :hp2.&__PROGRAM__.:ehp2.
  1089. :TEXTLINK id='IDPNL_USAGE_PARM_UNLOAD'.
  1090. [:TEXTLINK id='IDPNL_USAGE_PARM_BATCH'.]
  1091. [:TEXTLINK id='IDPNL_USAGE_PARM_QUIET'.]
  1092. :esl.
  1093.  
  1094. :eul.
  1095. .br
  1096.  
  1097. .*============================================================================================
  1098. :HEADLINE level='2' head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_ACTIVATE' view='RIGHT'.
  1099. .*============================================================================================
  1100. :p.
  1101. In the current version of :hp2.&__APPNAME__.:ehp2. activating the
  1102. :hp2.&__APPNAME__.:ehp2. hook executable is in fact the same as loading it.
  1103. .br
  1104. To activate the :hp2.&__APPNAME__.:ehp2. hook executable
  1105. :ul.
  1106.  
  1107. :li. perform the following steps within the :TEXTLINK id='IDPNL_USAGE_GUI'.&colon.
  1108. .*--------
  1109. :ol compact.
  1110. :li.open the :hp2.&IDH_IDPNL_USAGE_GUI.:ehp2.
  1111. :li.select the :TEXTLINK id='IDPNL_USAGE_GUI_SESSIONPAGE'.
  1112. :li.check the checkbox labeled :hp2.&IDH_IDDLG_NBSESSION_CB_ACTIVE.:ehp2.
  1113. :li.the status field above the pushbuttons displays the new status of :hp2.&__APPNAME__.:ehp2.,
  1114. if :hp2.&__APPNAME__.:ehp2. was able to load the hook executable.
  1115. :eol.
  1116. .*--------
  1117.  
  1118. :li.or execute the following command on the commandline
  1119. in the :hp2.&__APPNAME__.:ehp2. directory&colon.
  1120. :sl compact.
  1121. :li.[start] :hp2.&__PROGRAM__.:ehp2.
  1122. :TEXTLINK id='IDPNL_USAGE_PARM_ACTIVATE'.
  1123. [:TEXTLINK id='IDPNL_USAGE_PARM_BATCH'.]
  1124. [:TEXTLINK id='IDPNL_USAGE_PARM_QUIET'.]
  1125. :esl.
  1126.  
  1127. :eul.
  1128. .br
  1129.  
  1130. .*============================================================================================
  1131. :HEADLINE level='2' head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_DEACTIVATE' view='RIGHT'.
  1132. .*============================================================================================
  1133. :p.
  1134. In the current version of :hp2.&__APPNAME__.:ehp2. deactivating the
  1135. :hp2.&__APPNAME__.:ehp2. hook executable is in fact the same as unloading it.
  1136. .br
  1137. To deactivate the :hp2.&__APPNAME__.:ehp2. hook executable
  1138. :ul.
  1139.  
  1140. .*--------
  1141. :ol compact.
  1142. :li.open the :hp2.&IDH_IDPNL_USAGE_GUI.:ehp2.
  1143. :li.select the :TEXTLINK id='IDPNL_USAGE_GUI_SESSIONPAGE'.
  1144. :li.uncheck the checkbox labeled :hp2.&IDH_IDDLG_NBSESSION_CB_ACTIVE.:ehp2.
  1145. :li.the status field above the pushbuttons displays the new status of :hp2.&__APPNAME__.:ehp2.,
  1146. if :hp2.&__APPNAME__.:ehp2. was able to unload the hook executable.
  1147. :eol.
  1148. .*--------
  1149.  
  1150. :li.or execute the following command on the commandline
  1151. in the :hp2.&__APPNAME__.:ehp2. directory&colon.
  1152. :sl compact.
  1153. :li.[start] :hp2.&__PROGRAM__.:ehp2.
  1154. :TEXTLINK id='IDPNL_USAGE_PARM_DEACTIVATE'.
  1155. [:TEXTLINK id='IDPNL_USAGE_PARM_BATCH'.]
  1156. [:TEXTLINK id='IDPNL_USAGE_PARM_QUIET'.]
  1157. :esl.
  1158.  
  1159. :eul.
  1160. .br
  1161.  
  1162. .*============================================================================================
  1163. :HEADLINE level='2' head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_STATUS' view='RIGHT'.
  1164. .*============================================================================================
  1165. :p.
  1166. To query the status of the :hp2.&__APPNAME__.:ehp2. hook executable
  1167. :ul.
  1168. :li. perform the following steps within the :TEXTLINK id='IDPNL_USAGE_GUI'.&colon.
  1169. .*--------
  1170. :ol compact.
  1171. :li.open the :hp2.&IDH_IDPNL_USAGE_GUI.:ehp2.
  1172. :li.select the :TEXTLINK id='IDPNL_USAGE_GUI_SESSIONPAGE'.
  1173. :li.the status field above the pushbuttons displays the status of :hp2.&__APPNAME__.:ehp2.
  1174. :eol.
  1175. .*--------
  1176.  
  1177. :li.or execute the following command on the commandline
  1178. in the :hp2.&__APPNAME__.:ehp2. directory&colon.
  1179. :sl compact.
  1180. :li.[start] :hp2.&__PROGRAM__.:ehp2.
  1181. :TEXTLINK id='IDPNL_USAGE_PARM_STATUS'.
  1182. [:TEXTLINK id='IDPNL_USAGE_PARM_BATCH'.]
  1183. :esl.
  1184.  
  1185. :eul.
  1186. .br
  1187.  
  1188. .*============================================================================================
  1189. :HEADLINE level='2' head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_BATCH' view='RIGHT'.
  1190. .*============================================================================================
  1191. :p.
  1192. To use &__PROGRAM__..EXE within batch files, use the parameter
  1193. :TEXTLINK id='IDPNL_USAGE_PARM_BATCH'.. This way all notification and error message
  1194. boxes are surpressed. You can always check the result via the OS/2 :hp2.ERRORLEVEL:ehp2.
  1195. batch variable within normal batch files or the variable :hp2.rc:ehp2. within REXX batch files&colon.
  1196. Except when querying the status of the :hp2.&__APPNAME__.:ehp2. hook executable, the
  1197. :hp2.ERRORLEVEL:ehp2. is always zero when &__PROGRAM__..EXE was executed successfully.
  1198. Otherwise an OS/2 errorcode is returned.
  1199. :note.
  1200. :ul compact.
  1201. :li.
  1202. if you use :hp2.&IDH_IDPNL_USAGE_PARM_BATCH.:ehp2. for to surpress notification and error
  1203. message boxes, error and notification beeps are generated instead to give an audio feedback 
  1204. to the user. If you want to surpress those beeps, use :TEXTLINK id='IDPNL_USAGE_PARM_QUIET'..
  1205. :eul.
  1206. .br
  1207.  
  1208. .*============================================================================================
  1209. :HEADLINE level='2' head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_INITIALIZE' view='RIGHT'.
  1210. .*============================================================================================
  1211. :p.
  1212. The :hp2.&__APPNAME__.:ehp2. :hp2.&IDH_IDPNL_INSTALL_INSTALL.:ehp2. puts a a shadow of 
  1213. :TEXTLINK id='IDPNL_USAGE_WPSOBJ_INITIALIZE'. into the folder :hp2.Startup:ehp2., 
  1214. so that :hp2.&__APPNAME__.:ehp2. is initialized on every startup of OS/2. 
  1215. :p.
  1216. This only works if the environment variable :hp2.RESTARTOBJECTS:ehp2. in CONFIG.SYS is set to 
  1217. a value that lets the WPS automatically process all objects residing 
  1218. in the :hp2.Startup:ehp2. folder.
  1219. :p.
  1220. The environment variable may be set to the following values within CONFIG.SYS&colon.
  1221.  
  1222. :parml tsize=10.
  1223.  
  1224. :pt.:hp2.<no value>:ehp2.
  1225. :pd.All programs that were active on shutdown are restartet automatically on system startup.
  1226. Also all objects that reside in the :hp2.Startup:ehp2. folder are opened on startup.
  1227. :p.
  1228. :hp2.&__APPNAME__.:ehp2. can be initialized via the shadow of 
  1229. :TEXTLINK id='IDPNL_USAGE_WPSOBJ_INITIALIZE'. in the :hp2.Startup:ehp2. folder.
  1230.  
  1231. :pt.:hp2.STARTUPFOLDERSONLY:ehp2.
  1232. :pd.Programs, that were active on shutdown, are not restartet automatically on startup. All
  1233. objects that reside in the :hp2.Startup:ehp2. folder are opened on startup.
  1234. (BWT, yes, there can be more that one startup folder, although OS/2 creates only one).
  1235. :p.
  1236. :hp2.&__APPNAME__.:ehp2. can be initialized via the shadow of 
  1237. :hp2.&IDH_IDPNL_USAGE_WPSOBJ_INITIALIZE.:ehp2. in the :hp2.Startup:ehp2. folder.
  1238.  
  1239. :pt.:hp2.NO:ehp2.
  1240. :pd.No programs are started automatically by the WPS.
  1241. :p.
  1242. :hp2.&__APPNAME__.:ehp2. CANNOT be initialized via the shadow of 
  1243. :hp2.&IDH_IDPNL_USAGE_WPSOBJ_INITIALIZE.:ehp2. in the :hp2.Startup:ehp2. folder.
  1244. :p.
  1245. Instead put the command the following command into your STARTUP.CMD
  1246. :sl compact.
  1247. :li.[start] d&colon.\path\:hp2.&__PROGRAM__.:ehp2. :TEXTLINK id='IDPNL_USAGE_PARM_INITIALIZE'.
  1248. :esl.
  1249. :p.
  1250. where d&colon.\path is the full qualified pathname of the :hp2.&__APPNAME__.:ehp2. directory,
  1251. or execute :hp2.&IDH_IDPNL_USAGE_WPSOBJ_INITIALIZE.:ehp2. manually.
  1252. :eparml.
  1253. .br
  1254.  
  1255. .*============================================================================================
  1256. :HEADLINE level='2' head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_STARTGUI' view='RIGHT'.
  1257. .*============================================================================================
  1258. :p.
  1259. To start the :hp2.&__APPNAME__.:ehp2. GUI, execute the icon
  1260. :sl compact.
  1261. :li.:TEXTLINK id='IDPNL_USAGE_WPSOBJ_SETTINGS'.
  1262. :esl.
  1263. :p.
  1264. or execute the following command on the commandline
  1265. in the :hp2.&__APPNAME__.:ehp2. directory&colon.
  1266. :sl compact.
  1267. :li.[start] :hp2.&__PROGRAM__.:ehp2.
  1268. :esl.
  1269. .br
  1270.  
  1271. .*============================================================================================
  1272. :HEADLINE level='2' head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_SELECT' view='RIGHT'.
  1273. .*============================================================================================
  1274. :p.
  1275. To select an action profile, perform the following steps&colon.
  1276. :ul.
  1277.  
  1278. .*-------------
  1279. :li.
  1280. open the :TEXTLINK id='IDPNL_USAGE_GUI'..
  1281. .br
  1282. Refer to
  1283. :sl compact.
  1284. :li.:TEXTLINK head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_STARTGUI'.
  1285. :esl.
  1286.  
  1287. .*-------------
  1288. :li.
  1289. Select the :TEXTLINK id='IDPNL_USAGE_GUI_ACTIONSPAGE'..
  1290.  
  1291. .*-------------
  1292. :li.
  1293. To select an action profile with the keyboard, use the TAB key
  1294. to set the focus onto the list where the profiles is listed.
  1295. Then use the arrow keys to select the appropriate profile.
  1296. .br
  1297. You can bring up the context menu for that profile by pressing Enter.
  1298. .br
  1299. This applies also if a list is empty. After setting the focus onto a list, pressing
  1300. Enter also brings up the popup menu.
  1301.  
  1302. .*-------------
  1303. :li.
  1304. To select an action profile with the mouse, click on it.
  1305. .br
  1306. You can bring up the context menu for that profile by
  1307. clicking with the :TEXTLINK id='IDPNL_HIDDEN_RIGHT_MOUSE_BUTTON'. on it.
  1308. .br
  1309. This applies also if a list is empty. Clicking with the
  1310. :hp2.&IDH_IDPNL_HIDDEN_RIGHT_MOUSE_BUTTON.:ehp2.
  1311. onto the list also brings up the popup menu.
  1312.  
  1313. :eul.
  1314. .br
  1315.  
  1316. .*============================================================================================
  1317. :HEADLINE level='2' head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_CREATE_AP' view='RIGHT'.
  1318. .*============================================================================================
  1319. :p.
  1320. To create an action profile, perform the following steps
  1321. on the :TEXTLINK id='IDPNL_USAGE_GUI_ACTIONSPAGE'.&colon.
  1322.  
  1323. :ul.
  1324.  
  1325. .*-------------
  1326. :li.
  1327. Bring up the context menu of the list
  1328. :hp2.&IDT_IDDLG_NBACTIONS_ST_DEFINED.:ehp2..
  1329. .br
  1330. Refer to
  1331. :sl compact.
  1332. :li.:TEXTLINK head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_SELECT'.
  1333. :esl.
  1334.  
  1335. .*-------------
  1336. :li.
  1337. Select the menu item :hp2.&IDH_IDT_IDMEN_ACTION_DEFINED_NEW.:ehp2.
  1338.  
  1339. .*-------------
  1340. :li.
  1341. :hp2.&__APPNAME__.:ehp2. brings up a dialog where you can fill in
  1342. the settings for the new profile.
  1343. .br
  1344. Refer to
  1345. :sl compact.
  1346. :li.:TEXTLINK id='IDPNL_USAGE_ACTIONPRF'.
  1347. :li.:TEXTLINK id='IDPNL_USAGE_GUI_NEWDIALOG'.
  1348. :esl.
  1349.  
  1350. :eul.
  1351. .br
  1352.  
  1353. .*============================================================================================
  1354. :HEADLINE level='2' head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_COPY_AP' view='RIGHT'.
  1355. .*============================================================================================
  1356. :p.
  1357. To copy an existing action profile, perform the following steps
  1358. on the :TEXTLINK id='IDPNL_USAGE_GUI_ACTIONSPAGE'.&colon.
  1359.  
  1360. :ul.
  1361.  
  1362. .*-------------
  1363. :li.
  1364. Select an action profile within the list labeled
  1365. :hp2.&IDT_IDDLG_NBACTIONS_ST_DEFINED.:ehp2..
  1366. To copy an action profile wich is activated and thus located in the list labeled
  1367. :hp2.&IDT_IDDLG_NBACTIONS_ST_ACTIVATED.:ehp2., deactivate it temporarily so that it is
  1368. available for a copy operation.
  1369. .br
  1370. Refer to
  1371. :sl compact.
  1372. :li.:TEXTLINK head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_SELECT'.
  1373. :li.:TEXTLINK head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_DEACTIVATE_AP'.
  1374. :esl.
  1375.  
  1376. .*-------------
  1377. :li.
  1378. Select the menu item :hp2.&IDH_IDT_IDMEN_ACTION_DEFINED_COPY.:ehp2.
  1379.  
  1380. .*-------------
  1381. :li.
  1382. :hp2.&__APPNAME__.:ehp2. brings up a dialog where you can change
  1383. the settings for the new profile. You must at least change the message
  1384. text because this must be unique among all action profiles.
  1385. .br
  1386. Refer to
  1387. :sl compact.
  1388. :li.:TEXTLINK id='IDPNL_USAGE_ACTIONPRF'.
  1389. :li.:TEXTLINK id='IDPNL_USAGE_GUI_NEWDIALOG'.
  1390. :esl.
  1391.  
  1392. :eul.
  1393. .br
  1394.  
  1395. .*============================================================================================
  1396. :HEADLINE level='2' head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_ACTIVATE_AP' view='RIGHT'.
  1397. .*============================================================================================
  1398. :p.
  1399. To activate an action profile, perform the following steps on the
  1400. :TEXTLINK id='IDPNL_USAGE_GUI_ACTIONSPAGE'.&colon.
  1401.  
  1402. :ul.
  1403.  
  1404. .*-------------
  1405. :li.
  1406. If you want to use the keyboard&colon.
  1407.  
  1408. :ul compact.
  1409. :li.Select the action profile you want to activate in the list labeled
  1410. :hp2.&IDT_IDDLG_NBACTIONS_ST_DEFINED.:ehp2. and bring up the context menu.
  1411. .br
  1412. Refer to
  1413. :sl compact.
  1414. :li.:TEXTLINK head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_SELECT'.
  1415. :esl.
  1416. :li.Select the menu item :hp2.&IDH_IDT_IDMEN_ACTION_DEFINED_ACTIVATE.:ehp2.
  1417. :eul.
  1418. :p.
  1419. If you want to use the mouse&colon.
  1420. :ul compact.
  1421. :li.Drag the action profile you want to activate from the list labeled
  1422. :hp2.&IDT_IDDLG_NBACTIONS_ST_DEFINED.:ehp2. to the list labeled
  1423. :hp2.&IDT_IDDLG_NBACTIONS_ST_ACTIVATED.:ehp2..
  1424. :eul.
  1425.  
  1426. :eul.
  1427. .br
  1428.  
  1429. .*============================================================================================
  1430. :HEADLINE level='2' head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_DEACTIVATE_AP' view='RIGHT'.
  1431. .*============================================================================================
  1432. :p.
  1433. To deactivate an action profile, perform the following steps on the
  1434. :TEXTLINK id='IDPNL_USAGE_GUI_ACTIONSPAGE'.&colon.
  1435.  
  1436. :ul.
  1437.  
  1438. .*-------------
  1439. :li.
  1440. If you want to use the keyboard&colon.
  1441.  
  1442. :ul compact.
  1443. :li.Select the action profile you want to activate in the list labeled
  1444. :hp2.&IDT_IDDLG_NBACTIONS_ST_ACTIVATED.:ehp2. and bring up the context menu.
  1445. .br
  1446. Refer to
  1447. :sl compact.
  1448. :li.:TEXTLINK head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_SELECT'.
  1449. :esl.
  1450. :li.Select the menu item :hp2.&IDH_IDT_IDMEN_ACTION_ACTIVATED_DEACTIVATE.:ehp2.
  1451. :eul.
  1452. :p.
  1453. If you want to use the mouse&colon.
  1454. :ul compact.
  1455. :li.Drag the action profile you want to activate from the list labeled
  1456. :hp2.&IDT_IDDLG_NBACTIONS_ST_ACTIVATED..:ehp2. to the list labeled
  1457. :hp2.&IDT_IDDLG_NBACTIONS_ST_DEFINED.:ehp2..
  1458. :eul.
  1459.  
  1460. :eul.
  1461. .br
  1462.  
  1463. .*============================================================================================
  1464. :HEADLINE level='2' head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_EDIT_AP' view='RIGHT'.
  1465. .*============================================================================================
  1466. :p.
  1467. To edit an action profile, perform the following steps
  1468. on the :TEXTLINK id='IDPNL_USAGE_GUI_ACTIONSPAGE'.&colon.
  1469.  
  1470. :ul.
  1471.  
  1472. .*-------------
  1473. :li.
  1474. Select the action profile you want to edit and bring up the context menu.
  1475. .br
  1476. The action profile might both be activated or not.
  1477. .br
  1478. Refer to
  1479. :sl compact.
  1480. :li.:TEXTLINK head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_SELECT'.
  1481. :esl.
  1482.  
  1483. .*-------------
  1484. :li.
  1485. Select the menu item :hp2.&IDH_IDT_IDMEN_ACTION_ACTIVATED_EDIT.:ehp2.
  1486.  
  1487. .*-------------
  1488. :li.
  1489. :hp2.&__APPNAME__.:ehp2. brings up a dialog where you can change
  1490. the settings for the profile.
  1491.  
  1492. :eul.
  1493. .br
  1494.  
  1495. .*============================================================================================
  1496. :HEADLINE level='2' head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_TEST_PAP' view='RIGHT'.
  1497. .*============================================================================================
  1498. :p.
  1499. To test predefined action profiles for closing text sessions, :hp2.&__APPNAME__.:ehp2.
  1500. creates the appropriate text sessions automatically for you so that testing the profiles
  1501. is much easier. When the sessions are created, bring up the Window List and close them all&colon.
  1502. .br
  1503. The confirmation message boxes should not appear.
  1504. :p.
  1505. Of course these profiles work also with every other text session.
  1506.  
  1507. :p.
  1508. To let :hp2.&__APPNAME__.:ehp2. create the text sessions for you,
  1509. perform the following steps
  1510. on the :TEXTLINK id='IDPNL_USAGE_GUI_ACTIONSPAGE'.&colon.
  1511.  
  1512. :ul.
  1513.  
  1514. .*-------------
  1515. :li.
  1516. If not yet done, activate one or better both predefined action profiles
  1517. for closing text sessions. They are labeled
  1518. :ul compact.
  1519. :li.:hp2.&IDT_IDSTR_PREDEFACTIONPRF_CONFIRMWIN.:ehp2. and
  1520. :li.:hp2.&IDT_IDSTR_PREDEFACTIONPRF_CONFIRMFS.:ehp2..
  1521. :eul.
  1522. :p.
  1523. Refer to
  1524. :sl compact.
  1525. :li.:TEXTLINK head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_ACTIVATE_AP'.
  1526. :esl.
  1527.  
  1528. .*-------------
  1529. :li.
  1530. Select one of these action profiles (only when activated) and bring up the context menu.
  1531. .br
  1532. Refer to
  1533. :sl compact.
  1534. :li.:TEXTLINK head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_SELECT'.
  1535. :esl.
  1536.  
  1537. .*-------------
  1538. :li.
  1539. Select the menu item :hp2.&IDH_IDT_IDMEN_ACTION_ACTIVATED_TEST.:ehp2.
  1540.  
  1541. :eul.
  1542. .br
  1543.  
  1544. .*============================================================================================
  1545. :HEADLINE level='2' head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_CHANGELANG' view='RIGHT'.
  1546. .*============================================================================================
  1547. :p.
  1548. To change the language used by :hp2.&__APPNAME__.:ehp2.,
  1549. simply run the installation program again by executing the icon
  1550. :TEXTLINK id='IDPNL_USAGE_WPSOBJ_WPSINSTALL'.
  1551. or run the program from the commandline.
  1552. :p.
  1553. In the installation program
  1554. :ol compact.
  1555. .*----------------
  1556. :li.select the new language to use and
  1557. :li.reinstall the :TEXTLINK id='IDPNL_USAGE_WPSOBJ'.
  1558. .*----------------
  1559. :eol.
  1560. :p.
  1561. That will also change the language used by the
  1562. :TEXTLINK id='IDPNL_USAGE_GUI'..
  1563. :note.
  1564. :ul compact.
  1565. :li.The new selection of language becomes permanent only if you reinstall the
  1566. :hp2.&IDH_IDPNL_USAGE_WPSOBJ.:ehp2.. If you exit the installation program before doing that,
  1567. a change of language is ignored.
  1568. :eul.
  1569. .br
  1570.  
  1571. .***
  1572. .*** the following section is only compiled for INF
  1573. .config IPFTYPE on
  1574. .when 'INF' insert
  1575.  
  1576. .*============================================================================================
  1577. :HEADLINE level='2' head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_DEINSTALL' view='RIGHT'.
  1578. .*============================================================================================
  1579. :p.
  1580. To deinstall :hp2.&__APPNAME__.:ehp2., execute
  1581. run the deinstallation program by executing the icon
  1582. :TEXTLINK id='IDPNL_USAGE_WPSOBJ_WPSDEINSTALL'.
  1583. or run the :TEXTLINK id='IDPNL_INSTALL_DEINSTALL'. from the commandline.
  1584. :p.
  1585. This will remove the :TEXTLINK id='IDPNL_USAGE_WPSOBJ'. from your desktop.
  1586. Then delete the files of the :TEXTLINKTEXT id='IDPNL_PACKAGE' text='&__APPNAME__. package'..
  1587. .br
  1588.  
  1589. .*********************************************************************************************
  1590. :HEADLINE level='1' id='IDPNL_LIMITATIONS' options='clear'.
  1591. .*********************************************************************************************
  1592. :p.
  1593. :ul.
  1594.  
  1595. .*         ------------
  1596. :li.
  1597. :hp2.&__APPNAME__.:ehp2. normally is able to process only standard message boxes created
  1598. with the :hp2.WinMessageBox:ehp2. API. The IDs for the pushbuttons used within these
  1599. standard message box are defined by the programmers toolkit.
  1600. :p.
  1601. The second API :hp2.WinMessageBox2:ehp2. gives the programmer also the ability to bring up
  1602. a message box, but to use pushbuttons with self defined pushbutton texts and pushbutton IDs.
  1603. :hp2.&__APPNAME__.:ehp2. will only be able to process these message boxes if at least the
  1604. standard pushbutton IDs are used, because it cannot know other IDs than these.
  1605. .br
  1606. More it will help you a lot if also the pushbutton texts apply somehow to the standard pushbutton texts,
  1607. otherwise you will have difficulties to figure out which button text you have to select within
  1608. the :hp2.&__APPNAME__.:ehp2. action profile.
  1609. .br
  1610. An example where all might work ok is, if an application shall bring up all message boxes
  1611. with pushbuttons labeled in one specific language no matter what language specific OS/2 it 
  1612. is running under.
  1613. Then the programmer of that application could use the :hp2.WinMessageBox2:ehp2. API and define
  1614. the pushbuttons to use within the message box with the standard pushbutton IDs and button texts.
  1615. That way a :hp2.&__APPNAME__.:ehp2. action profile could be set up for this message box as usual.
  1616. :p.
  1617. If you are not sure wether a message box is using the default pushbutton IDs, use the utility
  1618. :hp2.PM Tree:ehp2. and check the pushbutton IDs&colon. they should be in the range from 1 to 8.
  1619. :note.
  1620. :ul compact.
  1621. :li.:hp2.PM Tree:ehp2. displays ID 1 as :hp2.DID_OK:ehp2. and ID 2 as :hp2.DID_CANCEL:ehp2.
  1622. :li.If the message box that you examine uses less than four pushbuttons,
  1623. there will also be one or more unused buttons with IDs from 0x65 to 0x67, 
  1624. because always four buttons are created and only the IDs of pushbuttons that are visible and
  1625. used are redefined.
  1626. :eul.
  1627.  
  1628. :eul.
  1629. .br
  1630.  
  1631. .*********************************************************************************************
  1632. :HEADLINE level='1' id='IDPNL_THINGS_TO_COME' options='clear'.
  1633. .*********************************************************************************************
  1634. :ul.
  1635.  
  1636. .*         ------------
  1637. :li.
  1638. In a forthcoming version &__PROGRAM__..EXE will be replaced by a
  1639. real WPS object and the actual notebook pages will be added
  1640. to the WPS object settings notbook. All the commandline
  1641. parameters will be replaced by setup strings, so that a
  1642. batch interface is still possible. For those who still
  1643. want to play around with the commandline and not use WPS objects,
  1644. I think of providing a REXX Batch supporting the &__PROGRAM__..EXE
  1645. commandline parms of V2.00.
  1646.  
  1647. .*         ------------
  1648. :li.
  1649. In future versions the hook will be loadable by the PMSHELL process so that the
  1650. overhead of an extra process is eliminated. The memory used by :hp2.&__APPNAME__.:ehp2.
  1651. will not decrease though, the only difference will be that the hook loader will
  1652. also reside in a DLL which is loaded automatically by PMSHELL. The drawback is
  1653. that to get :hp2.&__APPNAME__.:ehp2. out of memory a reboot is needed. This is why
  1654. loading by a separate process will stay available, the user then will be able to choose
  1655. wether the :hp2.&__APPNAME__.:ehp2. hook executable should be loaded by PMSHELL or
  1656. by a separate process.
  1657. .br
  1658. Note that the checkbox :hp2.&IDH_IDDLG_NBSESSION_CB_ACTIVE.:ehp2. on the
  1659. :hp2.&IDH_IDDLG_NBACTIONS.:ehp2. is disabled because in the current version of
  1660. :hp2.&__APPNAME__.:ehp2. the hook executable is always loaded by a separate process.
  1661.  
  1662. .*         ------------
  1663. :li.
  1664. In the current version of :hp2.&__APPNAME__.:ehp2. the hook executable is always unloaded
  1665. when it is deactivated. In future versions it will be also possible to deactivate
  1666. it but to leave it in memory. This will be the only option available for loading
  1667. the :hp2.&__APPNAME__.:ehp2. hook executable by PMSHELL, but when loading it by a
  1668. separate process the user can define wether it should be unloaded when deactvating it.
  1669. .br
  1670. Note that the checkbox :hp2.&IDH_IDDLG_NBSESSION_CB_UNLOAD.:ehp2. on the
  1671. :hp2.&IDH_IDDLG_NBACTIONS.:ehp2. is disabled because in the current version of
  1672. :hp2.&__APPNAME__.:ehp2. the hook executable is always unloaded on deactivation.
  1673.  
  1674. .*         ------------
  1675. :li.
  1676. :hp2.&__APPNAME__.:ehp2. will be enhanced by a kind of snapshot function or learning mode
  1677. where it collects all messages being popped up while the learning mode
  1678. is active. This will relief the user from (mis)-typing message texts
  1679. when creating new action profiles.
  1680. .br
  1681. Note that the menuitem :hp2.&IDH_IDT_IDMEN_ACTION_DEFINED_SNIFFER.:ehp2.
  1682. in the context popup menu of the list
  1683. labeled :hp2.&IDT_IDDLG_NBACTIONS_ST_DEFINED.:ehp2. on the
  1684. :hp2.&IDH_IDDLG_NBACTIONS.:ehp2. is disabled in the current version of
  1685. :hp2.&__APPNAME__.:ehp2. and reserved for future implementation of that functionality.
  1686.  
  1687. .*         ------------
  1688. :li.
  1689. In the current version of :hp2.&__APPNAME__.:ehp2. the message text must be entered just as
  1690. it appears in the message box that is to be processed.
  1691. It might make sense to allow regular expressions instead, but then I have also to be able
  1692. to compare regular expressions with each other, since message texts and so the regular
  1693. expressions stored in them have to be unique among all stored profiles. Right now
  1694. a simple case sensitive string compare is used to ensure that a new or changed
  1695. message text is unique ...
  1696. :p.
  1697. On the other hand if the :hp2.&IDH_IDT_IDMEN_ACTION_DEFINED_SNIFFER.:ehp2. is implemented
  1698. regular expressions might not be needed.
  1699.  
  1700. .*         ------------
  1701. :li.
  1702. An export and import functionality for action profiles might be nice. Right now I'm not shure
  1703. if that is really needed. Please comment on that via email if you think that is useful.
  1704.  
  1705. .*         ------------
  1706. :li.
  1707. The lists on the :hp2.&IDH_IDPNL_USAGE_GUI_ACTIONSPAGE.:ehp2. are only single select lists.
  1708. It would be nice to be able to select more than one action profile at a time and to move them
  1709. around together. This sounds easy but is really complicated and a lot of work to do
  1710. under the covers...
  1711.  
  1712. :eul.
  1713. .br
  1714.  
  1715. .***
  1716. .*** ending conditional compile section
  1717. .config IPFTYPE off
  1718.  
  1719. .*********************************************************************************************
  1720. :HEADLINE level='1' id='IDPNL_DETAILS' view='LEFT' options='clear'.
  1721. :AUTOLINK id='IDPNL_DETAILS_HOOK'.
  1722. .*********************************************************************************************
  1723. :p.
  1724. .***
  1725. .*** the following section is only compiled for HLP
  1726. .config IPFTYPE on
  1727. .when 'HLP' insert
  1728. Select between the following sections&colon.
  1729. :p.
  1730. .***
  1731. .*** ending conditional compile section
  1732. .config IPFTYPE off
  1733. .***
  1734. .*** the following section is only compiled for INF
  1735. .config IPFTYPE on
  1736. .when 'INF' insert
  1737. :TEXTLINK id='IDPNL_DETAILS_HOOK'.
  1738. .br
  1739. .***
  1740. .*** ending conditional compile section
  1741. .config IPFTYPE off
  1742. .***
  1743. .*** the following section is compiled for both INF and HLP
  1744. :TEXTLINK id='IDPNL_DETAILS_LISTBOX'.
  1745. .br
  1746. .***
  1747. .*** the following section is only compiled for INF
  1748. .config IPFTYPE on
  1749. .when 'INF' insert
  1750. :TEXTLINK id='IDPNL_DETAILS_LANGUAGE'.
  1751. .br
  1752. :TEXTLINK id='IDPNL_DETAILS_IPFCPREP'.
  1753. .br
  1754. :TEXTLINK id='IDPNL_DETAILS_SYSLEVEL_MGR'.
  1755. .br
  1756.  
  1757. .*============================================================================================
  1758. :HEADLINE level='2' id='IDPNL_DETAILS_HOOK' view='RIGHT'.
  1759. .*============================================================================================
  1760. :p.
  1761. :p.
  1762. :hp7.PM Hooks in general:ehp7.
  1763. .br
  1764. There are different categories of hooks and the system sends every message to the 
  1765. hook of the appropriate category. After the installation of the hook all messages are send 
  1766. first of all to that hook. The hook normally reacts only on certain messages, while the most
  1767. of them are passed through to the receiver of the message
  1768. werden.
  1769. .br
  1770. The two most important hooks are the SendMessage hook and the Inoput hook.
  1771. The first receives all messages, which are sent synchronously to a PM window with
  1772. the API :hp2.WinSendMsg:ehp2.. The SendMessage hook must pass the message to the receiver,
  1773. but before doing that he can perform any necessary action.
  1774. .br
  1775. The Input hook receives all messages, that are posted asynchronously to a PM window
  1776. with tha API :hp2.WinPostMsg:ehp2. and are put into the message queue of that window until
  1777. the message can be processed. The Input hook can not only react on the message, but can also
  1778. prevent the message from being put into the receivers message queue. That way the receiver
  1779. will never get this message.
  1780.  
  1781. :p.
  1782. :hp7.The &__APPNAME__. PM hooks:ehp7.
  1783. .br
  1784. :hp2.&__APPNAME__.:ehp2. installs both a SendMessage hook and an Input hook.
  1785. The :hp2.&__APPNAME__.:ehp2. SendMessage hook waits for a focus change message.
  1786. .br
  1787. These messages are sent from the PM to every dialog window, which subcontrol 
  1788. receives or losses the input focus. :hp2.&__APPNAME__.:ehp2. can determine wether
  1789. the dialog is a message box. If this is the case, the message text of the message 
  1790. box is compared to the active action profiles. Is the message text of the message box
  1791. equal to the message text of an active action profile, the action defined in the
  1792. action profile is performed indirectly.
  1793. :p.
  1794. The action cannot be performed directly, because on the first reception of a focus
  1795. change message a message box is not yet completely initialized. Only the default pushbutton 
  1796. is initialized and available for an action at this time, all others are not.
  1797. :p.
  1798. In order to be able to perform actions on all pushbuttons, :hp2.&__APPNAME__.:ehp2.
  1799. must make sure that it receives control again at a later point of time. It uses 
  1800. :hp2.WinPostMsg:ehp2. to post a special message to the message box. Since every PM window
  1801. cannot receive messages stored in it's message queue until the initialization of the 
  1802. window is finished, the message box receives this special message when it is completely
  1803. initialized.
  1804. .br
  1805. At this time the :hp2.&__APPNAME__.:ehp2. Input hook catches this message and 
  1806. can perform the desired action on all of the pushbuttons, which are now available.
  1807. :p.
  1808. A special case is, when the desired action is to set a pushbutton as the default pushbutton
  1809. (and this setting the focus on it)&colon. then :hp2.&__APPNAME__.:ehp2. must ensure that
  1810. this action is performed only once, when the message box is activated for the first time
  1811. and one of its subcontrols is receiving the focus.
  1812. .br
  1813. Otherwise each focus change within the message box, so for example moving the input focus with
  1814. the arrow keys, would cause the same action again and the focus would be set back again
  1815. to the same pushbutton by :hp2.&__APPNAME__.:ehp2..
  1816. The result would be that the focus within the message box could not be changed via the keyboard 
  1817. and with the keyboard only that one pushbutton could be reached.
  1818.  
  1819.  
  1820. :p.
  1821. :hp7.Technical details about PM hooks:ehp7.
  1822. .br
  1823. A PM hook is a function which has to reside in a DLL. The process which sets up the hook
  1824. has to reside in memory until the hook is released again.
  1825. .br
  1826. So as a minimum for setting up a hook an executable and a DLL is needed.
  1827. In order to minimze the amount of memory that is used by the hook
  1828. since V2.00 of :hp2.&__APPNAME__.:ehp2. the executable that is loading the hook
  1829. is separated from &__PROGRAM__..EXE. 
  1830. .br
  1831. This way it was possible to enhance the user interface within &__PROGRAM__..EXE 
  1832. a lot while the the hook still needs only the same amount of memory like before.
  1833. Since &__PROGRAM__..EXE is needed only for configuration or initialization,
  1834. the only memory needed when :hp2.&__APPNAME__.:ehp2. runs in the background is the
  1835. little amount of memory that is used by the hook.
  1836. :p.
  1837. The two following modules for the hook loader and the hook DLL do the most of the work
  1838. and so are the most interesting (and though the smallest) of all :hp2.&__APPNAME__.:ehp2. 
  1839. source files&colon.
  1840. :ul compact.
  1841. :li.:TEXTLINKTEXT id='IDPNL_DETAILS_HOOK_LOADER_SRC' text='hook loader executable'.
  1842. :li.:TEXTLINKTEXT id='IDPNL_DETAILS_HOOK_HOOK_SRC' text='hook dll'.
  1843. :eul.
  1844. :p.
  1845. See also the programmers toolkit documentation for further information on
  1846. sending and posting PM messages and the PM hooks.
  1847. .br
  1848.  
  1849. .*--------------------------------------------------------------------------------------------
  1850. :HEADLINE level='3' id='IDPNL_DETAILS_HOOK_LOADER_SRC'.
  1851. .*--------------------------------------------------------------------------------------------
  1852. :p.
  1853. :hp2.SNDYSHK.C:ehp2.
  1854. :xmp.
  1855. .im sndyshk.imc
  1856. :exmp.
  1857. .br
  1858.  
  1859. .*--------------------------------------------------------------------------------------------
  1860. :HEADLINE level='3' id='IDPNL_DETAILS_HOOK_HOOK_SRC'.
  1861. .*--------------------------------------------------------------------------------------------
  1862. :p.
  1863. :hp2.SNDYSDLL.H:ehp2.
  1864. :xmp.
  1865. .im sndysdll.imh
  1866. :exmp.
  1867. :p.
  1868. :hp2.SNDYSDLL.C:ehp2.
  1869. :xmp.
  1870. .im sndysdll.imc
  1871. :exmp.
  1872. .br
  1873.  
  1874. .***
  1875. .*** ending conditional compile section
  1876. .config IPFTYPE off
  1877.  
  1878. .***
  1879. .*** the following section is compiled for both INF and HLP
  1880.  
  1881. .*============================================================================================
  1882. :HEADLINE level='2' id='IDPNL_DETAILS_LISTBOX' view='RIGHTTOPHALF'.
  1883. :AUTOLINK id='IDPNL_DETAILS_LISTBOX_DMLB'.
  1884. .*============================================================================================
  1885. :p.
  1886. In order to provide a user fiendly interface
  1887. :hp2.&__APPNAME__.:ehp2.  takes advantage of the easy to program and easy to use
  1888. :TEXTLINK id='IDPNL_DETAILS_LISTBOX_DMLB'. control and the
  1889. :TEXTLINK id='IDPNL_DETAILS_LISTBOX_MCLB'. PM control functionality.
  1890. :p.
  1891. This enhanced functionality allows to have a multi column listbox
  1892. and to support drag and drop within and between listboxes.
  1893. This way it provides some of the container functionality,
  1894. but is much easier to program and faster when using it.
  1895. :hp2.&__APPNAME__.:ehp2. uses a slightly modified version of the 
  1896. :TEXTLINK id='IDPNL_DETAILS_LISTBOX_DMLB'. control.
  1897. :p.
  1898. Look out for LB.ZIP on IBM ftp sites, which contains the complete source code and
  1899. INF reference files.
  1900. :p.
  1901. For more information on programming with these controls
  1902. control, see :hp2.OS/2 Developer Magazine:ehp2., Nov/Dec 1995.
  1903. .br
  1904.  
  1905. .*--------------------------------------------------------------------------------------------
  1906. :HEADLINE level='3' id='IDPNL_DETAILS_LISTBOX_DMLB' view='RIGHTBOTTOMHALF'.
  1907. .*--------------------------------------------------------------------------------------------
  1908. :p.
  1909. Excerpt from DMLB.INF&colon.
  1910. :p.
  1911. :hp7.Acknowledgments:ehp7.
  1912. .br
  1913. This control was originally conceived at IBM Yorktown Research by
  1914. Alan Warren. The control was rewritten
  1915. and enhanced by Mark McMillan of IBM, Research Triangle Park, USA.
  1916. :p.
  1917. :hp7.Description:ehp7.
  1918. .br
  1919. The :hp3.Direct Manipulation ListBox:ehp3. is a very useful
  1920. enhancement for the standard PM listbox control.  It supplies the
  1921. capability to support drag/drop reordering of items in a listbox,
  1922. and drag/drop of items from one listbox to another.
  1923. .br
  1924.  
  1925. .*--------------------------------------------------------------------------------------------
  1926. :HEADLINE level='3' id='IDPNL_DETAILS_LISTBOX_MCLB' view='RIGHTBOTTOMHALF'.
  1927. .*--------------------------------------------------------------------------------------------
  1928. :p.
  1929. Excerpt from MCLB.INF&colon.
  1930. :p.
  1931. :hp7.Acknowledgments:ehp7.
  1932. .br
  1933. This control was originally conceived at the IBM United Kingdom Warwick
  1934. Development group by Charles Cooper.  The control was rewritten
  1935. and enhanced by Mark McMillan of IBM, Research Triangle Park, USA.
  1936. :p.
  1937. :hp7.Description:ehp7.
  1938. .br
  1939. The :hp3.MultiColumn ListBox:ehp3. is a very useful PM custom control
  1940. designed to overcome some of the limitations of the standard
  1941. PM listbox and container controls.  It is simpler and in many cases
  1942. faster than a container, but provides multicolumn (tabular) support
  1943. for display of column-oriented data.
  1944. :p.
  1945. The MCLB supports individually sizable columns, optional horizontal
  1946. scroll bars at the base of each column, seperate font and color support
  1947. for the titles and column data, owner-drawn lists,
  1948. and a simple listbox-style programming
  1949. model.
  1950. :p.
  1951. The MCLB can be subclassed with the DMLB (Direct Manipulation ListBox)
  1952. function also supplied in this toolkit to provide drag/drop reordering
  1953. capability to the MCLB.
  1954. .br
  1955.  
  1956. .***
  1957. .*** the following section is only compiled for INF
  1958. .config IPFTYPE on
  1959. .when 'INF' insert
  1960.  
  1961. .*============================================================================================
  1962. :HEADLINE level='2' id='IDPNL_DETAILS_LANGUAGE' view='RIGHT'.
  1963. .*============================================================================================
  1964. :p.
  1965. :hp2.&__APPNAME__.:ehp2. currently provides english and german national language support.
  1966. :p.
  1967. The :TEXTLINKTEXT id='IDPNL_PACKAGE' text='&__APPNAME__. package'. contains a zip file
  1968. with the language specific files for :hp2.&__APPNAME__.:ehp2. in the english version.
  1969. You are welcome to translate them to your language and email them to me
  1970. if your language is not yet supported by :hp2.&__APPNAME__.:ehp2..
  1971. Your name will show up in the :TEXTLINK id='IDPNL_CREDITS_TRANSLATORS'. section
  1972. in the :hp2.&__APPNAME__.:ehp2. version to follow.
  1973. :p.
  1974. The language specific files are&colon.
  1975. :parml tsize=20 break=none.
  1976.  
  1977. :pt.
  1978. :hp2.SNDYSENG.RCH:ehp2.
  1979. :pd.
  1980. this file contains the strings used within the :hp2.&__APPNAME__.:ehp2. GUI
  1981.  
  1982. :pt.
  1983. :hp2.SNDYSENG.H:ehp2.
  1984. :pd.
  1985. this file contains the panel titles used within the :hp2.&__APPNAME__.:ehp2.
  1986. HLP and INF file
  1987.  
  1988. :pt.
  1989. :hp2.SNDYSENG.SRC:ehp2.
  1990. :pd.
  1991. this file contains the source for the :hp2.&__APPNAME__.:ehp2.
  1992. HLP and INF file
  1993.  
  1994. :pt.
  1995. :hp2.SNDYSENG.TXT:ehp2.
  1996. :pd.
  1997. this file contains the messages for the :hp2.&__APPNAME__.:ehp2.
  1998. :TEXTLINK id='IDPNL_INSTALL_INSTALL'. and
  1999. :li.:TEXTLINK id='IDPNL_INSTALL_DEINSTALL'..
  2000.  
  2001. :pt.
  2002. :hp2.MACROS.IPH:ehp2. and
  2003. .br
  2004. :hp2.SENDYES.H:ehp2.
  2005. :pd.
  2006. these files contain the macros used within :hp2.SNDYSENG.SRC:ehp2..
  2007. Translators should not modify these file, as they are not language specific.
  2008. They are only supplied for to understand all the macros used within the IPF source file.
  2009.  
  2010. :eparml.
  2011. :p.
  2012. Refer also to section
  2013. :sl compact.
  2014. :li.:TEXTLINK id='IDPNL_PACKAGE'.
  2015. :esl.
  2016. .br
  2017.  
  2018. .*============================================================================================
  2019. :HEADLINE level='2' id='IDPNL_DETAILS_IPFCPREP' view='RIGHT'.
  2020. .*============================================================================================
  2021. :p.
  2022. For developing both :hp2.&__APPNAME__.:ehp2. HLP and INF files,
  2023. the :hp2.IPFC Preprocessor:ehp2. Version 1.0 by Doug Haigh is used.
  2024. :p.
  2025. This preprocessor allows the use of
  2026. :ul.
  2027. .*---------
  2028. :li.
  2029. simple BookMaster macros with keyword and positional parameters
  2030. which greatly simplify the use of IPF links, autolinks and window positioning.
  2031.  
  2032. .*---------
  2033. :li.
  2034. C header files can be imbedded via a special imbed tag (.imd).
  2035. The C-defines are resolved as BookMaster symbols and then can be
  2036. used within BookMaster macros.
  2037.  
  2038. .*---------
  2039. :li.
  2040. imbedded files, which do not reside in the current directory. 
  2041. They are also searched in the path given by the INCLUDE
  2042. environment variable.
  2043.  
  2044. :li.
  2045. Bookmaster 1.0 Vanilla conditional compile variables. This allows to conditional compile
  2046. parts of the ipf source file for the HLP file and other parts for the INF
  2047. file, while the rest is compiled for both online help files. This way it
  2048. ias possible to have a single source file for to compile both the HLP and
  2049. the INF file.
  2050. .*---------
  2051. :eul.
  2052.  
  2053. :p.
  2054. For more information about the language specific files and the
  2055. source for the english version of the HLP and INF file,
  2056. refer to section
  2057. :sl compact.
  2058. :li.:TEXTLINK id='IDPNL_DETAILS_LANGUAGE'.
  2059. :esl.
  2060. .br
  2061.  
  2062.  
  2063. .*============================================================================================
  2064. :HEADLINE level='2' id='IDPNL_DETAILS_SYSLEVEL_MGR' view='RIGHT'.
  2065. .*============================================================================================
  2066. :p.
  2067. For creating the syslevel file for :hp2.&__APPNAME__.:ehp2. the syslevel manager
  2068. :hp2.SLVMGR:ehp2. of Duane S. Wood is used.
  2069. :p.
  2070. This program is out of a package that contains this manager as a command line utlility,
  2071. a textfile, which describes the syslevel file format and a simple PM application for to
  2072. create and / or edit syslevel files.
  2073. :p.
  2074. The package was last updated in 1993, but the syslevel file format seems not to have changed
  2075. meanwhile.
  2076.  
  2077. .*********************************************************************************************
  2078. :HEADLINE level='1' id='IDPNL_REVISION_HISTORY' view='LEFT' options='clear'.
  2079. :AUTOLINK id='IDPNL_REVISION_HISTORY_200'.
  2080. .*********************************************************************************************
  2081. :p.
  2082. :TEXTLINKTEXT id='IDPNL_REVISION_HISTORY_200' text='Version 2.00'.
  2083. .br
  2084. :TEXTLINKTEXT id='IDPNL_REVISION_HISTORY_110' text='Version 1.10'.
  2085. .br
  2086. :TEXTLINKTEXT id='IDPNL_REVISION_HISTORY_100' text='Version 1.00'.
  2087. .br
  2088. :TEXTLINKTEXT id='IDPNL_REVISION_HISTORY_070' text='Version 0.70'.
  2089. .br
  2090. :TEXTLINKTEXT id='IDPNL_REVISION_HISTORY_060' text='Version 0.60'.
  2091. .br
  2092. :TEXTLINK     id='IDPNL_FILE_ID_DIZ'.
  2093. .br
  2094.  
  2095. .*============================================================================================
  2096. :HEADLINE level='2' id='IDPNL_REVISION_HISTORY_200' view='RIGHT'.
  2097. .*============================================================================================
  2098. :ul.
  2099.  
  2100. .*         ------------
  2101. :li.
  2102. :TEXTLINK id='IDPNL_DETAILS_LANGUAGE'. added.
  2103. Messages, dialogs and help texts are currently available in
  2104. english and german.
  2105.  
  2106. .*         ------------
  2107. :li.
  2108. The hook is now loaded by a separate executable rather than by
  2109. &__PROGRAM__..EXE. This way the amount of memory used by the active hook is
  2110. reduced to an absolute minimum while the user interface within
  2111. &__PROGRAM__..EXE can be enhanced in functionality. The hook executable is
  2112. only to be controlled by &__PROGRAM__..EXE.
  2113. :p.
  2114. For technical details about the :hp2.&__APPNAME__.:ehp2. hook refer to section
  2115. :sl compact.
  2116. :li.:hp2.&IDH_IDPNL_DETAILS_HOOK.:ehp2. in :TEXTLINK id='IDPNL_DETAILS'.
  2117. :esl.
  2118.  
  2119. .*         ------------
  2120. :li.
  2121. The executable loading the :hp2.&__APPNAME__.:ehp2. hook dll is
  2122. now excluded from the shutdown processing. That way it remains
  2123. in memory until all text sessions have closed.
  2124.  
  2125. .*         ------------
  2126. :li.
  2127. Calling &__PROGRAM__..EXE without any command line parameters brings up
  2128. the new :TEXTLINK id='IDPNL_USAGE_GUI'.. It consists of a
  2129. notebook control, which you can nearly use like a settings notebook of a
  2130. WPS object. It allows the user to define :TEXTLINK id='IDPNL_USAGE_ACTIONPRF'.
  2131. in order to specify any message boxes wich are to be intercepted
  2132. and processed automatically.
  2133. :p.
  2134. The GUI is using the functionality of the :TEXTLINK id='IDPNL_DETAILS_LISTBOX_DMLB'.
  2135. control and the :TEXTLINK id='IDPNL_DETAILS_LISTBOX_MCLB'. PM control to provide
  2136. a user friendly and though very fast GUI.
  2137. :p.
  2138. For more technical details refer to section
  2139. :sl compact.
  2140. :li.:hp2.&IDH_IDPNL_DETAILS_LISTBOX.:ehp2. in :TEXTLINK id='IDPNL_DETAILS'.
  2141. :esl.
  2142.  
  2143. .*         ------------
  2144. :li.
  2145. :hp2.&__APPNAME__.:ehp2. comes with three
  2146. :TEXTLINK id='IDPNL_USAGE_PREDEF_ACTIONPRF'.
  2147. for the confirmation message boxes which come up when you want to close
  2148. OS/2 and DOS VIO and fullscreen text sessions or when you invoke a shutdown.
  2149. .br
  2150. This way the functionality of previous versions of :hp2.&__APPNAME__.:ehp2.
  2151. is still available without any need of customization by the user.
  2152.  
  2153. .*         ------------
  2154. :li.
  2155. TESTALL.CMD has been removed.
  2156. Testing for closing textsessions is now done on the
  2157. :TEXTLINK id='IDPNL_USAGE_GUI_ACTIONSPAGE'. within the :TEXTLINK id='IDPNL_USAGE_GUI'..
  2158. This way :hp2.&__APPNAME__.:ehp2. can take care of that the predefined action profiles
  2159. are really active when you test them.
  2160. .br
  2161. Refer also to
  2162. :sl compact.
  2163. :li.:TEXTLINK head='&IDH_IDPNL_HOW__BASETEXT.' id='IDPNL_HOW_TEST_PAP'.
  2164. :esl.
  2165.  
  2166. .*         ------------
  2167. :li.
  2168. :hp2.&__APPNAME__.:ehp2. now comes with a
  2169. :TEXTLINK id='IDPNL_INSTALL_INSTALL'., which creates a :hp2.&__APPNAME__.:ehp2.
  2170. folder on the desktop with several :TEXTLINK id='IDPNL_USAGE_WPSOBJ'. in it, and with a
  2171. :TEXTLINK id='IDPNL_INSTALL_DEINSTALL'., which removes these objects again.
  2172. :p.
  2173. When you move the selection cursor within the :hp2.&__APPNAME__.:ehp2.
  2174. folder and select one of the objects and press the F1 key, the appropriate
  2175. help panel for that object will pop up.
  2176.  
  2177. .*         ------------
  2178. :li.
  2179. new command line parameters&colon.
  2180. :ul compact.
  2181. :li.:TEXTLINK id='IDPNL_USAGE_PARM_LOAD'.
  2182. :li.:TEXTLINK id='IDPNL_USAGE_PARM_UNLOAD'.
  2183. :li.:TEXTLINK id='IDPNL_USAGE_PARM_ACTIVATE'.
  2184. :li.:TEXTLINK id='IDPNL_USAGE_PARM_DEACTIVATE'.
  2185. :li.:TEXTLINK id='IDPNL_USAGE_PARM_STATUS'.
  2186. :li.:TEXTLINK id='IDPNL_USAGE_PARM_BATCH'.
  2187. :li.:TEXTLINK id='IDPNL_USAGE_PARM_QUIET'.
  2188. :eul.
  2189.  
  2190. .*         ------------
  2191. :li.
  2192. removed command line parameters&colon.
  2193. :ul compact.
  2194. :li.parameter :hp2./SWITCHENTRY:ehp2. is not longer supported. The hook executable
  2195. is to be controlled ONLY by the :hp2.&__APPNAME__.:ehp2. GUI or via the parameters
  2196. :hp2./UNLOAD:ehp2. and :hp2./LOAD:ehp2. or :hp2./ACTIVATE:ehp2. and :hp2./DEACTIVATE:ehp2.
  2197. for &__PROGRAM__..EXE.
  2198. :li.parameter :hp2./CLOSE:ehp2. is replaced by the parameter
  2199. :TEXTLINK id='IDPNL_USAGE_PARM_UNLOAD'.. The new parameter does not close an active
  2200. instance of SENDYES.EXE anymore, but rather an active instance of the now separated
  2201. hook executable.
  2202. :eul.
  2203.  
  2204. .*         ------------
  2205. :li.
  2206. Online help book added (you are just reading it). Note that the HLP file for the
  2207. :hp2.&__APPNAME__.:ehp2. GUI is an excerpt from the INF file.
  2208.  
  2209. .*         ------------
  2210. :li.
  2211. :hp2.&__APPNAME__.:ehp2. now comes with a syslevel file that will show the version of
  2212. :hp2.&__APPNAME__.:ehp2. when you execute the OS/2 :hp2.syslevel:ehp2. command.
  2213. .br
  2214. For more information on the :hp2.&__APPNAME__.:ehp2. syslevel file refer also to
  2215. :sl compact.
  2216. :li.:TEXTLINK id='IDPNL_DETAILS_SYSLEVEL_MGR'.
  2217. :esl.
  2218.  
  2219. .*         ------------
  2220. :li.
  2221. most of the source is not distributed any longer. The :hp2.&__APPNAME__.:ehp2. source now has
  2222. grown so big that I decided that from now on I distribute only
  2223. :ul.
  2224. :li.
  2225. the source for the hook and the hook loading executable within this INF file,
  2226. because I think this is the source of most interest.
  2227. :li.
  2228. the source files for both the HLP and INF file.
  2229. They contain some technical hints for developing online help books with
  2230. the :hp2.&IDH_IDPNL_DETAILS_IPFCPREP.:ehp2. features like bookmaster macros
  2231. and conditional compile variables.
  2232. :eul.
  2233. :p.
  2234. Refer to
  2235. :sl compact.
  2236. :li.:TEXTLINK id='IDPNL_DETAILS_HOOK'.
  2237. :li.:TEXTLINK id='IDPNL_DETAILS_IPFCPREP'.
  2238. :li.:TEXTLINK id='IDPNL_DETAILS_LANGUAGE'.
  2239. :esl.
  2240. :p.
  2241. The other source files contain normal GUI stuff for which details can
  2242. be taken out of the programmers toolkit (from where also I got all the Information).
  2243. .br
  2244. If you have specific questions, don't hesitate to drop me a line
  2245. and I will do my best to answer you.
  2246.  
  2247. :eul.
  2248. .br
  2249.  
  2250. .*============================================================================================
  2251. :HEADLINE level='2' id='IDPNL_REVISION_HISTORY_110' view='RIGHT'.
  2252. .*============================================================================================
  2253. :ul.
  2254.  
  2255. .*         ------------
  2256. .*:li.
  2257. .*source not shipped anylonger, but I email source on request.
  2258.  
  2259. .*         ------------
  2260. :li.
  2261. :hp2.&__APPNAME__.:ehp2. is now compiled with IBM C Set++ V2.
  2262. .br
  2263. No need for the emx runtime anylonger.
  2264.  
  2265. .*         ------------
  2266. :li.
  2267. New command line parameters&colon.
  2268. :ul compact.
  2269. :li.parameter /? or /Help pops up a brief help
  2270. :li.parameter /Close closes active :hp2.&__APPNAME__.:ehp2. session.
  2271. If :hp2.&__APPNAME__.:ehp2. is not active, you will receive an error msg box.
  2272. :li.parameter /Batch surpesses msg boxes and generates
  2273. notification/alarm sounds instead
  2274. :li.parameter /Switchentry creates a switch list
  2275. equivalent to /S in :hp2.&__APPNAME__.:ehp2. V1.00
  2276. :li.specifying the first letter of the parameters is
  2277. sufficient, so /C and /Close is equivalent
  2278. :li.the parameters are case insensitive,
  2279. so parameters /CLOSE, /Close and /close are equivalent
  2280. :li.the switch character preceding the parameters can be '/' or '-',
  2281. so parameters /Close and -Close are equivalent
  2282. :eul.
  2283.  
  2284. .*         ------------
  2285. :li.
  2286. An error msg box popup or error alarm is brought up, when
  2287. :ul compact.
  2288. :li.:hp2.&__APPNAME__.:ehp2. is already active
  2289. :li.:hp2.&__APPNAME__.:ehp2. cannot be properly initialized
  2290. :li.:hp2.&__APPNAME__.:ehp2. is not active when to be closed with parameter /C
  2291. :li.an invalid parameter was specified
  2292. :eul.
  2293.  
  2294. .*         ------------
  2295. :li.
  2296. An info msg box popup is brought up, when
  2297. :ul compact.
  2298. :li.:hp2.&__APPNAME__.:ehp2. is closed successfully with parameter /C
  2299. :eul.
  2300.  
  2301. .*         ------------
  2302. :li.
  2303. Only message boxes with messages beginning with "This message
  2304. may contain an active program." are now closed. This prevents
  2305. SendYes! from closing ANY message box with MBID_YES, like it did
  2306. before!  :hp2.&__APPNAME__.:ehp2. reads the apropriate message out of the PM
  2307. resources, so it is language neutral. Unfortunately the message
  2308. used for closing OS/2 Fullscreen sessions is slightly different
  2309. in the second sentence, so the message is only compared up to
  2310. the end of the first sentence.
  2311. .br
  2312. I hope that this will stay compatible with future versions
  2313. of OS/2 and is really compatible with all different language versions
  2314. of OS/2. To test it out&colon.
  2315. .br
  2316. Use TESTALL.CMD to bring up all four kind of sessions and close them
  2317. with SendYes! active&colon.
  2318. .br
  2319. if they close well without confirmation boxes, everything is fine.
  2320. .br
  2321. If not, please email and tell me so...
  2322.  
  2323. :eul.
  2324. .br
  2325.  
  2326. .*============================================================================================
  2327. :HEADLINE level='2' id='IDPNL_REVISION_HISTORY_100' view='RIGHT'.
  2328. .*============================================================================================
  2329. :ul.
  2330.  
  2331. .*         ------------
  2332. :li.
  2333. Now using emx0.9a, fix 6 (emxfix06.zip).  Be sure to get the
  2334. updated emxrt.zip runtime DLL's (see README.TXT)
  2335.  
  2336. .*         ------------
  2337. :li.
  2338. '/S' parameter now tells SendYes! to put an entry in the switch list
  2339.  
  2340. .*         ------------
  2341. :li.
  2342. SendYes! icon now bound to executable file
  2343.  
  2344. :eul.
  2345. .br
  2346.  
  2347. .*============================================================================================
  2348. :HEADLINE level='2' id='IDPNL_REVISION_HISTORY_070' view='RIGHT'.
  2349. .*============================================================================================
  2350. :ul.
  2351.  
  2352. .*         ------------
  2353. :li.
  2354. Now using emx0.9a, fix 5 (emxfix05.zip).  Be sure to get the
  2355. updated emxrt.zip runtime DLL's.
  2356.  
  2357. .*         ------------
  2358. :li.
  2359. Wouldn't close full-screen sessions.  Fixed.
  2360.  
  2361. :eul.
  2362. .br
  2363.  
  2364. .*============================================================================================
  2365. :HEADLINE level='2' id='IDPNL_REVISION_HISTORY_060' view='RIGHT'.
  2366. .*============================================================================================
  2367. :ul.
  2368.  
  2369. .*         ------------
  2370. :li.
  2371. Initial release
  2372. :eul.
  2373. .br
  2374.  
  2375. .*============================================================================================
  2376. :HEADLINE level='2' id='IDPNL_FILE_ID_DIZ' view='RIGHT'.
  2377. .*============================================================================================
  2378. :xmp.
  2379. .im file_id.diz
  2380. :exmp.
  2381. .br
  2382.  
  2383. .*********************************************************************************************
  2384. :HEADLINE level='1' id='IDPNL_CREDITS' view='LEFT' options='clear'.
  2385. :AUTOLINK id='IDPNL_CREDITS_IDEA'.
  2386. .*********************************************************************************************
  2387. :p.
  2388. :TEXTLINK id='IDPNL_CREDITS_IDEA'.
  2389. .br
  2390. :TEXTLINK id='IDPNL_CREDITS_LISTBOX'.
  2391. .br
  2392. :TEXTLINK id='IDPNL_CREDITS_IPFCPREP'.
  2393. .br
  2394. :TEXTLINK id='IDPNL_CREDITS_SYSLEVEL_MGR'.
  2395. .br
  2396. :TEXTLINK id='IDPNL_CREDITS_TRANSLATORS'.
  2397. .br
  2398.  
  2399. .*============================================================================================
  2400. :HEADLINE level='2' id='IDPNL_CREDITS_IDEA' view='RIGHT'.
  2401. .*============================================================================================
  2402. :p.
  2403. All credits for the idea and the creating of the first version of
  2404. :hp2.&__APPNAME__.:ehp2. belong to Wes Santee.
  2405. .br
  2406.  
  2407. .*============================================================================================
  2408. :HEADLINE level='2' id='IDPNL_CREDITS_LISTBOX' view='RIGHT'.
  2409. .*============================================================================================
  2410. :p.
  2411. The :hp2.&__APPNAME__.:ehp2. GUI makes use of new listbox controls,
  2412. which very much enhance the functionality of a listbox.
  2413. :p.
  2414. All credits for giving me that easy programming and you that flexible
  2415. GUI handling belong to
  2416.  
  2417. :ul compact.
  2418. :li.
  2419. Alan Warren of IBM, Yorktown Research and
  2420. .br
  2421. Mark McMillan of IBM, Research Triangle Park, USA
  2422. .br
  2423. for the :hp2.&IDH_IDPNL_DETAILS_LISTBOX_DMLB.:ehp2. control and
  2424. :li.
  2425. Charles Cooper of IBM, United Kingdom Warwick Development group and
  2426. .br
  2427. Mark McMillan of IBM, Research Triangle Park, USA.
  2428. .br
  2429. for the :hp2.&IDH_IDPNL_DETAILS_LISTBOX_MCLB.:ehp2. control.
  2430. :eul.
  2431.  
  2432. :p.
  2433. For technical details refer to section
  2434. :sl compact.
  2435. :li.:hp2.&IDH_IDPNL_DETAILS_LISTBOX.:ehp2. in :TEXTLINK id='IDPNL_DETAILS'.
  2436. :esl.
  2437. .br
  2438.  
  2439. .*============================================================================================
  2440. :HEADLINE level='2' id='IDPNL_CREDITS_IPFCPREP' view='RIGHT'.
  2441. .*============================================================================================
  2442. :p.
  2443. For precompilation of the source for both :hp2.&__APPNAME__.:ehp2. HLP and INF files,
  2444. the :hp2.IPFC Preprocessor:ehp2. Version 1.0 by Doug Haigh is used.
  2445.  
  2446. :p.
  2447. For technical details refer to section
  2448. :sl compact.
  2449. :li.:hp2.&IDH_IDPNL_DETAILS_IPFCPREP.:ehp2. in :TEXTLINK id='IDPNL_DETAILS'.
  2450. :esl.
  2451. .br
  2452.  
  2453. .*============================================================================================
  2454. :HEADLINE level='2' id='IDPNL_CREDITS_SYSLEVEL_MGR' view='RIGHT'.
  2455. .*============================================================================================
  2456. :p.
  2457. For creating the syslevel file for :hp2.&__APPNAME__.:ehp2. the syslevel manager
  2458. :hp2.SLVMGR:ehp2. is used.
  2459.  
  2460. This program is from Duane S. Wood of OS/2 Development Boca Raton, Florida.
  2461.  
  2462. :p.
  2463. For technical details refer to section
  2464. :sl compact.
  2465. :li.:hp2.&IDH_IDPNL_DETAILS_SYSLEVEL_MGR.:ehp2. in :TEXTLINK id='IDPNL_DETAILS'.
  2466. :esl.
  2467. .br
  2468.  
  2469. .*============================================================================================
  2470. :HEADLINE level='2' id='IDPNL_CREDITS_TRANSLATORS' view='RIGHT'.
  2471. .*============================================================================================
  2472. :p.
  2473. Sorry, no translators yet ...
  2474. :p.
  2475. If your language is not yet supported by :hp2.&__APPNAME__.:ehp2. and you would like
  2476. to help me supporting your language, refer to section :TEXTLINK id='IDPNL_DETAILS_LANGUAGE'..
  2477. .br
  2478.  
  2479.  
  2480. .***
  2481. .*** ending conditional compile section
  2482. .config IPFTYPE off
  2483.  
  2484. .*============================================================================================
  2485. :HEADLINE level='1' id='IDPNL_HIDDEN_RIGHT_MOUSE_BUTTON' options='hide' view='RIGHT'.
  2486. .*============================================================================================
  2487. :p.
  2488. Using the right mouse button as stated in this online help file applies to you only
  2489. if you did not change the settings of the :hp2.Mouse:ehp2. object in the folder
  2490. :hp2.System Setup:ehp2..
  2491. :p.
  2492. The following settings of the following settings notebook pages impact the way
  2493. :hp2.&__APPNAME__.:ehp2. works concerning the usage of the right mouse button.
  2494. If you change them, use the mouse the way you configured it.
  2495. .br
  2496. Note that the right mouse button is normally referred to as mouse button 2.
  2497.  
  2498. :parml tsize=8 break=none.
  2499.  
  2500. :pt.:hp2.Setup:ehp2.
  2501. :pd.
  2502. :ul.
  2503. :li.:hp2.Left-handed:ehp2. mouse usage (switches mouse button 1 and 2)
  2504. :eul.
  2505.  
  2506. :pt.:hp2.Mappings:ehp2.
  2507. :pd.
  2508. :ul.
  2509. :li.selecting mouse button 1 for :hp2.drag and drop:ehp2.
  2510. :note.
  2511. If you drag action profiles with mouse button 1 the drag cursor is not visible,
  2512. but dragging still works.
  2513. :li.selecting different settings for :hp2.pop-up menus:ehp2. than :hp2.single click:ehp2.
  2514. of :hp2.button 2:ehp2. without any control keys
  2515. :eul.
  2516.  
  2517. :eparml.
  2518.  
  2519.  
  2520. :euserdoc.
  2521.