brwinitialize.i 3.9 KB

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