dynbrwinitialize.i 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. DEF VAR hBrowser AS HANDLE NO-UNDO.
  2. DEF VAR htBrowser AS HANDLE NO-UNDO.
  3. DEF VAR hMenu AS HANDLE NO-UNDO.
  4. DEF VAR hMenuItem AS HANDLE NO-UNDO.
  5. DEF VAR hItem_Filter AS HANDLE NO-UNDO.
  6. DEF VAR hItem_Excel AS HANDLE NO-UNDO.
  7. DEF VAR hItem_zurueck AS HANDLE NO-UNDO.
  8. DEF VAR hItem_sort AS HANDLE NO-UNDO.
  9. DEF VAR hItem_move AS HANDLE NO-UNDO.
  10. DEF VAR hItem_Rule AS HANDLE NO-UNDO.
  11. DEF VAR cMenu AS CHAR NO-UNDO.
  12. DEF VAR hxMenu AS HANDLE NO-UNDO.
  13. DEF VAR hxMenuItem AS HANDLE EXTENT 10 NO-UNDO.
  14. DEF VAR ii AS INT NO-UNDO.
  15. hDaten = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR.
  16. hFenster = DYNAMIC-FUNCTION('getContainerSource':U) NO-ERROR.
  17. IF NOT VALID-HANDLE ( hDaten ) THEN hDaten = THIS-PROCEDURE:HANDLE.
  18. /*
  19. IF VALID-HANDLE(hFenster)
  20. THEN Progname = DYNAMIC-FUNCTION('getProgname':U, INPUT hFenster ) NO-ERROR.
  21. */
  22. EMPTY TEMP-TABLE tBrowser .
  23. EMPTY TEMP-TABLE tMenuItems .
  24. hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
  25. hBrowser:COLUMN-MOVABLE = TRUE.
  26. htBrowser = TEMP-TABLE tBrowser:DEFAULT-BUFFER-HANDLE.
  27. hMenu = hBrowser:POPUP-MENU NO-ERROR.
  28. hMenuItem = hMenu :FIRST-CHILD NO-ERROR.
  29. DO WHILE VALID-HANDLE (hMenuItem):
  30. IF hMenuItem:NAME = ? OR
  31. NOT hMenuItem:NAME BEGINS 'x_' THEN DO:
  32. hMenuItem = hMenuItem:NEXT-SIBLING.
  33. NEXT.
  34. END.
  35. CREATE tMenuItems.
  36. ASSIGN tMenuItems.hMenuItem = hMenuItem.
  37. hMenuItem = hMenuItem:NEXT-SIBLING.
  38. END.
  39. CREATE MENU hMenu
  40. ASSIGN POPUP-ONLY = TRUE
  41. TITLE = 'Browser Menu'.
  42. CREATE MENU-ITEM hItem_Excel
  43. ASSIGN LABEL = 'Export in Excel'
  44. NAME = 'm_excel'
  45. PARENT = hMenu.
  46. CREATE MENU-ITEM hItem_Filter
  47. ASSIGN LABEL = 'Filter setzen'
  48. NAME = 'm_filter'
  49. PARENT = hMenu.
  50. CREATE MENU-ITEM hItem_Rule
  51. ASSIGN SUBTYPE = 'RULE':U
  52. PARENT = hMenu.
  53. CREATE MENU-ITEM hItem_zurueck
  54. ASSIGN LABEL = 'Spalten und Breite zurücksetzen'
  55. NAME = 'm_zurueck'
  56. PARENT = hMenu.
  57. CREATE MENU-ITEM hItem_Rule
  58. ASSIGN SUBTYPE = 'RULE':U
  59. PARENT = hMenu.
  60. CREATE MENU-ITEM hItem_sort
  61. ASSIGN LABEL = 'Spalten sortierbar'
  62. NAME = 'm_sort'
  63. TOGGLE-BOX = TRUE
  64. CHECKED = TRUE
  65. PARENT = hMenu.
  66. CREATE MENU-ITEM hItem_move
  67. ASSIGN LABEL = 'Spalten verschiebbar'
  68. NAME = 'm_move'
  69. TOGGLE-BOX = TRUE
  70. CHECKED = FALSE
  71. PARENT = hMenu.
  72. CREATE MENU-ITEM hItem_Rule
  73. ASSIGN SUBTYPE = 'RULE':U
  74. PARENT = hMenu.
  75. FOR EACH tMenuItems ii = 1 TO 10:
  76. CREATE MENU-ITEM hxMenuItem[ii]
  77. ASSIGN LABEL = tMenuItems.hMenuItem:LABEL
  78. NAME = SUBSTRING(tMenuItems.hMenuItem:NAME,03)
  79. TOGGLE-BOX = tMenuItems.hMenuItem:TOGGLE-BOX
  80. PARENT = hMenu.
  81. IF hxMenuItem[ii]:TOGGLE-BOX = TRUE THEN hxMenuItem[ii]:CHECKED = FALSE.
  82. ON CHOOSE OF hxMenuItem[ii] PERSISTENT RUN VALUE(hxMenuItem[ii]:NAME) IN TARGET-PROCEDURE.
  83. ON VALUE-CHANGED OF hxMenuItem[ii] PERSISTENT RUN VALUE(hxMenuItem[ii]:NAME) IN TARGET-PROCEDURE.
  84. END.
  85. hBrowser:POPUP-MENU = hMenu NO-ERROR.
  86. ON CHOOSE OF hItem_Filter PERSISTENT RUN FILTER_SETZEN IN TARGET-PROCEDURE.
  87. ON CHOOSE OF hItem_Excel PERSISTENT RUN EXPORT_EXCEL IN TARGET-PROCEDURE.
  88. ON CHOOSE OF hItem_zurueck PERSISTENT RUN ZURUECKSETZEN IN TARGET-PROCEDURE.
  89. ON VALUE-CHANGED OF hItem_sort
  90. PERSISTENT RUN SORTIERBAR IN TARGET-PROCEDURE ( hItem_sort, hItem_move ).
  91. ON VALUE-CHANGED OF hItem_move
  92. PERSISTENT RUN VERSCHIEBBAR IN TARGET-PROCEDURE ( hItem_move, hItem_sort ).
  93. DYNAMIC-FUNCTION('getBrowserDaten':U, INPUT htBrowser,
  94. INPUT hBrowser,
  95. INPUT Sektion ) NO-ERROR.
  96. APPLY 'VALUE-CHANGED' TO hItem_sort.
  97. hMenu = hBrowser:POPUP-MENU NO-ERROR.
  98. hMenu = hMenu:FIRST-CHILD NO-ERROR.
  99. DO WHILE VALID-HANDLE (hMenu):
  100. cName = hMenu:NAME NO-ERROR.
  101. IF cName <> ? AND
  102. INDEX(cName, 'inakt') > 0 THEN DO:
  103. hInaktiv = hMenu.
  104. LEAVE.
  105. END.
  106. hMenu = hMenu:NEXT-SIBLING.
  107. END.