THE WELCH COMPANY
440 Davis Court #1602
San Francisco, CA 94111-2496
415 781 5700


S U M M A R Y


DIARY: June 11, 1992 00:35 AM Thursday; Rod Welch

Integrate new mouse code into SDS program code.

1...Summary/Objective
.......Solution - Cursor Color
2...OS2
.....Posmouse Not Executing
3...Windows
4...Cursor & Pointer
....Solution
5...Menu Problem
6...Menus Executed by the Mouse


..............
Click here to comment!

CONTACTS 

SUBJECTS
SDS Improvements to Medit
Menu and User Interface; Mouse
Menu Functions, 920612
Mouse Code Macro 230

0906 -    ..
0907 - Summary/Objective
0908 -
090801 - Follow up ref SDS 3 0001, ref SDS 2 0001.
090802 -
090803 - Modified most of the SDS macro code to apply new pointer capability
090804 - that Morris created yesterday. ref SDS 3 0001
090805 -
090806 - Pending:  need a few improvements set out below.
090807 -
090808 -
090809 -
090810 -
090811 -
0909 -
0910 -
0911 - Evaluation of Mouse Function
0912 -
091201 - Beginning to develop GUI capability using the mouse with menus that
091202 - may address usability issue Morris raised on 911121. ref SDS 1 Z14J
091203 -
091204 - The character for the mouse pointer needs to be different from the
091205 - regular cursor, so we can distinguish them in regular DOS mode.  Under
091206 - OS2, the pointer character looks like a pointer, so this is not a
091207 - problem.
091208 -
091209 -       Maybe Morris can CREATE a character for the mouse.
091210 -
091211 -       The color of the cursor is a distraction in non-OS2 mode,
091212 -       because the cursor is hidden.  Maybe this is resolved by
091213 -       assigning the cursor to a different color.
091214 -
091215 -       Solution - Cursor Color
091216 -
091217 -       Actually, it appears we can accomplish the objective of having
091218 -       a distinct pointer in standard text mode, by giving the cursor
091219 -       a different color.  The pointer color is assigned differently,
091220 -       so we can tell them apart, and when one jumps to the other, the
091221 -       combination still shows up on the screen.
091222 -
091223 -       Setcolor 6 78, seems to give a good color distinction.
091224 -
091225 -
091226 -
091227 -
091228 - OS2
091229 - ---
091230 - Pointer works fine, except it seems to move the cursor to the ponter
091231 - position slower after a click, than occurs under DOS 5.0.
091232 -
091233 -     Posmouse Not Executing
091234 -
091235 -     It is not positioning the pointer when called under OS2, as it
091236 -     does when running under DOS.
091237 -
091238 -     Evidently OS2 is intercepting the commands and suppressing them
091239 -     in some way.
091240 -
091241 -     Actually, it seems that in OS2 at least and I suspect in other
091242 -     programs as well, the pointer is not moved when a menu is opened.
091243 -     So at least it is functioning the same as with other programs.
091244 -     Most programs place the menu at the top of the screen, rather
091245 -     than use a method to open the menu.
091246 -
091247 -
091248 -
091249 - Windows
091250 -
091251 - Pointer does not work under Windows, at least with my current set-
091252 - tings.  Not sure if we can modify the code to work in Windows.  The
091253 - pointer does not work in Bitcom under Windows either, but does in OS2,
091254 - so OS2 may have some additional capability that enables it to handle
091255 - another program's mouse operation better than Windows 3.1.
091256 -
091257 -
091258 - Cursor & Pointer
091259 -
091260 - So far it appears we need to change the code to prevent the primary
091261 - cursor from moving, such that the pointer is strickly a command tool.
091262 -
091263 -    This means it cannot simply move the cursor and execute the Enter
091264 -    function.  Enter should be independent of the pointer.  It should
091265 -    be able to execute if <Enter> is pressed.  The Pointer should be
091266 -    able execute at its separate location, when a button is pressed.
091267 -    We might create a click routine that would move the main cursor to
091268 -    the pointer
091269 -
091270 -    When we open a menu, the functionality of the cursor position
091271 -    should be suspended relative to the Enter key, so that Enter will
091272 -    execute only the pointer position.
091273 -
091274 -    Could be we need a cursor1 and cursor2, where cursor2 is only able
091275 -    to execute commands based on its position, but is not able to move
091276 -    the main cursor, unless we do a double click or something like
091277 -    that.
091278 -
091279 -    Solution
091280 -
091281 -    Perhaps we can accomplish all of the above, by Morris giving me the
091282 -    initial cursor position, before he moves it to the pointer.
091283 -
091284 -         He could put the relative x y position in some counters.
091285 -
091286 -         ...make a second pushc popc (e.g. pushx popy), so if we are
091287 -         already using the existing values for something, we can just
091288 -         use the second set without changing a lot of code.
091289 -
091290 -             I considered getting the pointer position, but this may
091291 -             complicate things.  The concept of the pointer is to
091292 -             temporarily move the cursor to the pointer
091293 -
091294 -         Another possibility would be to call a macro like we do with
091295 -         wordwrap.  This allows me to do different things with each
091296 -         element throughout a sequence of steps.
091297 -
091298 -         All of these entail creating identities like cursor and
091299 -         pointer.
091300 -
091301 -
091302 - Menu Problem
091303 -
091304 - We actually have two problems.
091305 -
091306 -    1.  The primary cursor is moved and this prevents us from returning
091307 -        to the original screen condition for the cursor.
091308 -
091309 -    2.  The cut file is being left open so we constantly get the error
091310 -        message in menu macro 050403.
091311 -
091312 -        This error may be related to the first problem.
091313 -
091314 -
091315 -
091316 -  ..
091317 - Menus Executed by the Mouse
091318 -
091319 -
0914 -
0915 -
0916 - 000003
0917 -
091701 - Line 275 - made pfb1 execute menu choices.
091702 -
091703 - Line 840 - made subcall close the menu if the cursor starts outside
091704 - the menu, by calling macro 804.  This is a start on closing menu by
091705 - calling mouse when cursor is outside the menu screen.
091706 -
091707 -     There is still some work to do on this by capturing the params of
091708 -     the menu screen and getting the cursor position to see if it is
091709 -     within the menu.  Will do this later.
091710 -
091711 -     I think we can capture the ul and lr corners of the box and put
091712 -     them in counters to evaluate when the pointer is outside the
091713 -     menu.
091714 -
091715 -
0918 -
0919 -
0920 - 000008
0921 -
092101 - Line 373 - trying to set pfb1 to standard functions after calling the
092102 - menu with it.
092103 -
092104 - Line 428 - set pfb2 to call the menu, macro 80.
092105 -
092106 -
092107 - Line 455 - set pfb1 to execute menu choices.
092108 -
092109 - Line 476 - set pfb1 to macro 46 for UL in C&P, and pfb2 to lr.  They
092110 - are reset when main profile is called.
092111 -
092112 -
092113 - Line 1290 - pfb1 is set to SDS <Enter.>
092114 -
092115 -     Need to modify this so the cursor is drawn to the mouse position,
092116 -     rather than bumped to the default left margin.
092117 -
092118 -
092119 - Line 1545 - pfb1 is set to open files in File List screen.
092120 -
092121 -
092122 - Line 900 - added new macro entry 1360 to distinguish between standard
092123 - Enter and pointer left button, pfb1.  Cursor will now just jump to
092124 - the cursor position position, if executed
092125 -
092126 -
092127 -
092128 -
0922 -
0923 -
0924 - 000005
0925 -
092501 - Line 1905 - set pfb1 to open records in Diary Summary.
092502 -
092503 - Line 2130 - set pfb1 to open records in Schedule Summary.
092504 -
092505 -
0926 -
0927 -
0928 - Menus
0929 -
092901 - I modified all menus to position the mouse on the first menu line
092902 - with the cursor itself, and call the mouse along with the Enter key.
092903 -
092904 - However, the posmouse command is not executing in OS2.  So this is a
092905 - serious lack of funcitonality, since we cannot execute menu choices
092906 - very well.
092907 -
092908 - Actually, it seems that the OS2 mouse does not go to the menu
092909 - selection after it is executed.
092910 -
092911 -
092912 -
092913 -
092914 -
092915 -
092916 -
0930 -
0931 -