Difference between revisions of "CMenu pseudo code - OOP344 20113"
(Created page with '<big><pre> LOOP UNTIL editing is done Draw the Menu →-- EDITING THE TITLE OF THE MENU --: IF object is dropdown and it is not dropped THEN Edit The Title Button IF …') |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | {{OOP344 Index | 20113}} | ||
+ | This pseudo code is tested but is NOT the most efficient way to accomplish the task. Optimize it if possible. | ||
<big><pre> | <big><pre> | ||
+ | /* EDITING LOOP */ | ||
LOOP UNTIL editing is done | LOOP UNTIL editing is done | ||
Draw the Menu | Draw the Menu | ||
Line 15: | Line 18: | ||
Set editing loop to end. | Set editing loop to end. | ||
/*-- BROWSING THE MENUITEMS IN MNEU --*/ | /*-- BROWSING THE MENUITEMS IN MNEU --*/ | ||
+ | /* BROWSING LOOP */ | ||
LOOP UNTIL menu browsing is done | LOOP UNTIL menu browsing is done | ||
Edit the current menu item and get the key returned | Edit the current menu item and get the key returned | ||
Line 27: | Line 31: | ||
set the browsing loop to end | set the browsing loop to end | ||
END IF | END IF | ||
− | + | IF the key is DOWN THEN | |
+ | Set current to be the next item in the list | ||
+ | IF this can not be done THEN | ||
+ | IF Menu is a dropdown THEN | ||
+ | set the first and current item on menu to be the first item in the list | ||
+ | draw the Menu | ||
+ | ELSE | ||
+ | set the borwsing loop to end | ||
+ | END IF | ||
+ | END IF | ||
+ | IF current index is passed the last one in the mneu THEN | ||
+ | make the first to point to the next one in the list | ||
+ | draw the menu | ||
+ | END IF | ||
+ | END IF | ||
+ | IF the key is UP THEN | ||
+ | Set current to be the previous item in the list | ||
+ | IF this can not be done THEN | ||
+ | IF Menu is a dropdown THEN | ||
+ | set the current item in menu to be the last the list | ||
+ | set the first item in menu to be NUM items before last in the list, | ||
+ | (where NUM is the number rows in the menu) | ||
+ | draw the Menu | ||
+ | ELSE | ||
+ | set the borwsing loop to end | ||
+ | END IF | ||
+ | END IF | ||
+ | IF current index is passed the first index in the menu THEN | ||
+ | set the first index to point to previous one in the list | ||
+ | draw the menu | ||
+ | END IF | ||
+ | END IF | ||
+ | IF the Key is ESCAPE THEN | ||
+ | set the menu not to drop, | ||
+ | set browsing loop to end | ||
+ | set the edting loop NOT to end | ||
+ | END IF | ||
+ | IF the key is right, left, tab or any of the printable characters THEN | ||
+ | set the browsing loop to end | ||
+ | END IF | ||
End menu browsing loop | End menu browsing loop | ||
End Editing loop | End Editing loop | ||
+ | IF Menu is a dropdown THEN | ||
+ | set the menu not to drop | ||
+ | hide the menu | ||
+ | END IF | ||
+ | return the last key hit | ||
</pre></big> | </pre></big> |
Latest revision as of 23:57, 29 November 2011
OOP344 | Weekly Schedule | Student List | Teams | Project | Student Resources
This pseudo code is tested but is NOT the most efficient way to accomplish the task. Optimize it if possible.
/* EDITING LOOP */ LOOP UNTIL editing is done Draw the Menu /*-- EDITING THE TITLE OF THE MENU --*/ IF object is dropdown and it is not dropped THEN Edit The Title Button IF Button is hit THEN Set the menu to drop down when drawn draw the menu Set Menu browsing Loop to start ELSE Set Menu browsing Loop NOT to start END IF END IF Set editing loop to end. /*-- BROWSING THE MENUITEMS IN MNEU --*/ /* BROWSING LOOP */ LOOP UNTIL menu browsing is done Edit the current menu item and get the key returned IF the key is ENTER IF any of items are selected THEN change the key value o SPACE END IF set the browsing loop to end END IF IF the key is SPACE THEN set the selected index set the browsing loop to end END IF IF the key is DOWN THEN Set current to be the next item in the list IF this can not be done THEN IF Menu is a dropdown THEN set the first and current item on menu to be the first item in the list draw the Menu ELSE set the borwsing loop to end END IF END IF IF current index is passed the last one in the mneu THEN make the first to point to the next one in the list draw the menu END IF END IF IF the key is UP THEN Set current to be the previous item in the list IF this can not be done THEN IF Menu is a dropdown THEN set the current item in menu to be the last the list set the first item in menu to be NUM items before last in the list, (where NUM is the number rows in the menu) draw the Menu ELSE set the borwsing loop to end END IF END IF IF current index is passed the first index in the menu THEN set the first index to point to previous one in the list draw the menu END IF END IF IF the Key is ESCAPE THEN set the menu not to drop, set browsing loop to end set the edting loop NOT to end END IF IF the key is right, left, tab or any of the printable characters THEN set the browsing loop to end END IF End menu browsing loop End Editing loop IF Menu is a dropdown THEN set the menu not to drop hide the menu END IF return the last key hit