home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / devtools / dataflex / focbrows.pkg < prev    next >
Encoding:
Text File  |  1993-05-19  |  3.3 KB  |  108 lines

  1.  
  2.  
  3. // **********************************************************************
  4. // * System: DataFlex 3.0 System Utilities                              *
  5. // *Program: FOCBROWS.PKG                                               *
  6. // * Author: James Ricci 8/1/90                                         *
  7. // *Purpose: To allow browsing of the focus tree in a program.          *
  8. // **********************************************************************
  9.  
  10.  
  11.  
  12. USE UI
  13.  
  14. #CHKSUB 1 1 // Verify the UI subsystem.
  15.  
  16. /Null_Img
  17. /Focus_List_Img
  18. ╔═════════════════════════════════════════════════════════════════════════════╗
  19. ║                               Prior Level                                   ║
  20. ║                  _____________________________________                      ║
  21. ║                              Current Object                                 ║
  22. ║                  _____________________________________                      ║
  23. ║               Prior Focus                          Next Focus               ║
  24. ║ _____________________________________ _____________________________________ ║
  25. ║                               Next Level                                    ║
  26. ║                  _____________________________________                      ║
  27. ╚═════════════════════════════════════════════════════════════════════════════╝
  28. /*
  29.  
  30.  
  31.  
  32. // Popup that will display objects for creation of context records.
  33. OBJECT Focus_Client IS A CLIENT Null_Img RING  
  34.   
  35.   SET SCOPE_STATE       TO TRUE
  36.   SET BLOCK_MOUSE_STATE TO TRUE
  37.   
  38.   ON_KEY KCANCEL SEND Exit_Object    
  39.   ON_KEY KEY_CTRL+KEY_F10 SEND MSG_NONE
  40.   ON_KEY KEY_ALT+KEY_F10  SEND MSG_NONE
  41.     
  42.   OBJECT Focus_List IS A Button Focus_List_Img
  43.     
  44.     SET LOCATION          TO 15 0 ABSOLUTE
  45.     
  46.     ITEM_LIST
  47.       ON_ITEM "" SEND Select_Focus
  48.       ON_ITEM "" SEND MSG_NONE
  49.       ON_ITEM "" SEND Select_Focus
  50.       ON_ITEM "" SEND Select_Focus
  51.       ON_ITEM "" SEND Select_Focus
  52.     END_ITEM_LIST
  53.     
  54.     SET CENTER_STATE ITEM 0 TO TRUE
  55.     SET CENTER_STATE ITEM 1 TO TRUE
  56.     SET CENTER_STATE ITEM 2 TO TRUE
  57.     SET CENTER_STATE ITEM 3 TO TRUE
  58.     SET CENTER_STATE ITEM 4 TO TRUE
  59.     
  60.     PROCEDURE Display_Focus_Nodes INTEGER @ID
  61.       IF @ID NE 0 BEGIN
  62.         SEND Store_ID (Prior_Level(@ID)) 0
  63.         SEND Store_ID @ID                1
  64.         SEND Store_ID (Prior_Focus(@ID)) 2
  65.         SEND Store_ID (Next_Focus(@ID))  3
  66.         SEND Store_ID (Next_Level(@ID))  4
  67.       END  
  68.     END_PROCEDURE
  69.     
  70.     
  71.     PROCEDURE Store_ID INTEGER @ID INTEGER @Item#
  72.       IF @ID NE 0 BEGIN
  73.         SET VALUE ITEM @Item# TO (NAME(@ID))
  74.         SET AUX_VALUE ITEM @Item#  TO @ID
  75.       END
  76.       ELSE BEGIN
  77.         SET VALUE ITEM  @Item#     TO "NULL"
  78.         SET AUX_VALUE ITEM  @Item# TO 0
  79.       END
  80.     END_PROCEDURE
  81.     
  82.     
  83.     PROCEDURE Select_Focus
  84.       SEND Display_Focus_Nodes (AUX_VALUE(CURRENT_OBJECT,CURRENT))
  85.       SET CURRENT_ITEM TO 1
  86.     END_PROCEDURE
  87.     
  88.     
  89.     
  90.   END_OBJECT
  91.  
  92.   
  93.   PROCEDURE Exit_Object
  94.     SET CURRENT_SCOPE TO (PRIOR_SCOPE(DESKTOP))
  95.     SEND DEACTIVATE 
  96.   END_PROCEDURE
  97.   
  98.   
  99. END_OBJECT  
  100.   
  101.  
  102. PROCEDURE Browse_Focus
  103.   SEND DISPLAY_FOCUS_NODES TO (Focus_List(Focus_Client(DESKTOP))) CURRENT_OBJECT
  104.   SEND ACTIVATE TO Focus_Client
  105. END_PROCEDURE
  106.  
  107. ON_KEY KEY_ALT+KEY_F10 SEND Browse_Focus
  108.