b-browser_ze.w 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. framework PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS bTableWin
  8. /*------------------------------------------------------------------------
  9. File: adm2\src\browser.w
  10. Description: SmartDataBrowser Object
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress AppBuilder. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. /* *************************** Definitions ************************** */
  25. /* Parameters Definitions --- */
  26. /* Local Variable Definitions --- */
  27. { incl/tmpbrowser.i }
  28. {src/adm2/widgetprto.i}
  29. /* _UIB-CODE-BLOCK-END */
  30. &ANALYZE-RESUME
  31. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  32. /* ******************** Preprocessor Definitions ******************** */
  33. &Scoped-define PROCEDURE-TYPE SmartDataBrowser
  34. &Scoped-define DB-AWARE no
  35. &Scoped-define ADM-SUPPORTED-LINKS TableIO-Target,Data-Target,Update-Source
  36. /* Include file with RowObject temp-table definition */
  37. &Scoped-define DATA-FIELD-DEFS "administration/d-browser_ze.i"
  38. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  39. &Scoped-define FRAME-NAME F-Main
  40. &Scoped-define BROWSE-NAME br_browser_ze
  41. /* Internal Tables (found by Frame, Query & Browse Queries) */
  42. &Scoped-define INTERNAL-TABLES rowObject
  43. /* Definitions for BROWSE br_browser_ze */
  44. &Scoped-define FIELDS-IN-QUERY-br_browser_ze rowObject.benutzer ~
  45. rowObject.program rowObject.feld rowObject.prior
  46. &Scoped-define ENABLED-FIELDS-IN-QUERY-br_browser_ze
  47. &Scoped-define QUERY-STRING-br_browser_ze FOR EACH rowObject NO-LOCK INDEXED-REPOSITION
  48. &Scoped-define OPEN-QUERY-br_browser_ze OPEN QUERY br_browser_ze FOR EACH rowObject NO-LOCK INDEXED-REPOSITION.
  49. &Scoped-define TABLES-IN-QUERY-br_browser_ze rowObject
  50. &Scoped-define FIRST-TABLE-IN-QUERY-br_browser_ze rowObject
  51. /* Definitions for FRAME F-Main */
  52. /* Standard List Definitions */
  53. &Scoped-Define ENABLED-OBJECTS RECT-1 br_browser_ze
  54. /* Custom List Definitions */
  55. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  56. /* _UIB-PREPROCESSOR-BLOCK-END */
  57. &ANALYZE-RESUME
  58. /* ************************ Function Prototypes ********************** */
  59. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setZeilenfarbe bTableWin
  60. FUNCTION setZeilenfarbe RETURNS LOGICAL
  61. ( ipFarbe AS INTEGER ) FORWARD.
  62. /* _UIB-CODE-BLOCK-END */
  63. &ANALYZE-RESUME
  64. /* *********************** Control Definitions ********************** */
  65. /* Definitions of the field level widgets */
  66. DEFINE RECTANGLE RECT-1
  67. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  68. SIZE 96 BY 7.62.
  69. /* Query definitions */
  70. &ANALYZE-SUSPEND
  71. DEFINE TEMP-TABLE RowObject NO-UNDO
  72. {{&DATA-FIELD-DEFS}}
  73. {src/adm2/robjflds.i}.
  74. DEFINE QUERY br_browser_ze FOR
  75. rowObject SCROLLING.
  76. &ANALYZE-RESUME
  77. /* Browse definitions */
  78. DEFINE BROWSE br_browser_ze
  79. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_browser_ze bTableWin _STRUCTURED
  80. QUERY br_browser_ze NO-LOCK DISPLAY
  81. rowObject.benutzer FORMAT "x(30)":U
  82. rowObject.program FORMAT "x(20)":U
  83. rowObject.feld FORMAT "x(20)":U
  84. rowObject.prior FORMAT "99":U
  85. /* _UIB-CODE-BLOCK-END */
  86. &ANALYZE-RESUME
  87. WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS SIZE 94 BY 7.14.
  88. /* ************************ Frame Definitions *********************** */
  89. DEFINE FRAME F-Main
  90. br_browser_ze AT ROW 1.48 COL 3 WIDGET-ID 200
  91. RECT-1 AT ROW 1.24 COL 2 WIDGET-ID 2
  92. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  93. SIDE-LABELS NO-UNDERLINE THREE-D
  94. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  95. /* *********************** Procedure Settings ************************ */
  96. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  97. /* Settings for THIS-PROCEDURE
  98. Type: SmartDataBrowser
  99. Data Source: "administration\d-browser_ze.w"
  100. Allow: Basic,Browse
  101. Frames: 1
  102. Add Fields to: Neither
  103. Other Settings: PERSISTENT-ONLY COMPILE
  104. */
  105. /* This procedure should always be RUN PERSISTENT. Report the error, */
  106. /* then cleanup and return. */
  107. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  108. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  109. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  110. RETURN.
  111. END.
  112. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  113. /* ************************* Create Window ************************** */
  114. &ANALYZE-SUSPEND _CREATE-WINDOW
  115. /* DESIGN Window definition (used by the UIB)
  116. CREATE WINDOW bTableWin ASSIGN
  117. HEIGHT = 8.1
  118. WIDTH = 98.
  119. /* END WINDOW DEFINITION */
  120. */
  121. &ANALYZE-RESUME
  122. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB bTableWin
  123. /* ************************* Included-Libraries *********************** */
  124. {src/adm2/browser.i}
  125. /* _UIB-CODE-BLOCK-END */
  126. &ANALYZE-RESUME
  127. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  128. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  129. /* SETTINGS FOR WINDOW bTableWin
  130. NOT-VISIBLE,,RUN-PERSISTENT */
  131. /* SETTINGS FOR FRAME F-Main
  132. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  133. /* BROWSE-TAB br_browser_ze RECT-1 F-Main */
  134. ASSIGN
  135. FRAME F-Main:SCROLLABLE = FALSE
  136. FRAME F-Main:HIDDEN = TRUE.
  137. /* _RUN-TIME-ATTRIBUTES-END */
  138. &ANALYZE-RESUME
  139. /* Setting information for Queries and Browse Widgets fields */
  140. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_browser_ze
  141. /* Query rebuild information for BROWSE br_browser_ze
  142. _TblList = "rowObject"
  143. _Options = "NO-LOCK INDEXED-REPOSITION"
  144. _FldNameList[1] = _<SDO>.rowObject.benutzer
  145. _FldNameList[2] = _<SDO>.rowObject.program
  146. _FldNameList[3] = _<SDO>.rowObject.feld
  147. _FldNameList[4] = _<SDO>.rowObject.prior
  148. _Query is NOT OPENED
  149. */ /* BROWSE br_browser_ze */
  150. &ANALYZE-RESUME
  151. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  152. /* Query rebuild information for FRAME F-Main
  153. _Options = "NO-LOCK"
  154. _Query is NOT OPENED
  155. */ /* FRAME F-Main */
  156. &ANALYZE-RESUME
  157. /* ************************ Control Triggers ************************ */
  158. &Scoped-define BROWSE-NAME br_browser_ze
  159. &Scoped-define SELF-NAME br_browser_ze
  160. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_browser_ze bTableWin
  161. ON CTRL-END OF br_browser_ze IN FRAME F-Main
  162. DO:
  163. APPLY "END":U TO BROWSE {&BROWSE-NAME}.
  164. END.
  165. /* _UIB-CODE-BLOCK-END */
  166. &ANALYZE-RESUME
  167. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_browser_ze bTableWin
  168. ON CTRL-HOME OF br_browser_ze IN FRAME F-Main
  169. DO:
  170. APPLY "HOME":U TO BROWSE {&BROWSE-NAME}.
  171. END.
  172. /* _UIB-CODE-BLOCK-END */
  173. &ANALYZE-RESUME
  174. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_browser_ze bTableWin
  175. ON DEFAULT-ACTION OF br_browser_ze IN FRAME F-Main
  176. DO:
  177. {src/adm2/brsdefault.i}
  178. END.
  179. /* _UIB-CODE-BLOCK-END */
  180. &ANALYZE-RESUME
  181. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_browser_ze bTableWin
  182. ON END OF br_browser_ze IN FRAME F-Main
  183. DO:
  184. {src/adm2/brsend.i}
  185. END.
  186. /* _UIB-CODE-BLOCK-END */
  187. &ANALYZE-RESUME
  188. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_browser_ze bTableWin
  189. ON ENTRY OF br_browser_ze IN FRAME F-Main
  190. DO:
  191. IF NOT VALID-HANDLE(hFenster) THEN hFenster = DYNAMIC-FUNCTION('getContainerSource':U) NO-ERROR.
  192. IF VALID-HANDLE(hFenster) THEN RUN SET_TABLEIO IN hFenster ( 'Browserzeile' ).
  193. END.
  194. /* _UIB-CODE-BLOCK-END */
  195. &ANALYZE-RESUME
  196. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_browser_ze bTableWin
  197. ON HOME OF br_browser_ze IN FRAME F-Main
  198. DO:
  199. {src/adm2/brshome.i}
  200. END.
  201. /* _UIB-CODE-BLOCK-END */
  202. &ANALYZE-RESUME
  203. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_browser_ze bTableWin
  204. ON LEFT-MOUSE-CLICK OF br_browser_ze IN FRAME F-Main
  205. DO:
  206. APPLY 'ENTRY' TO {&BROWSE-NAME}.
  207. END.
  208. /* _UIB-CODE-BLOCK-END */
  209. &ANALYZE-RESUME
  210. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_browser_ze bTableWin
  211. ON LEFT-MOUSE-DBLCLICK OF br_browser_ze IN FRAME F-Main
  212. DO:
  213. IF NOT VALID-HANDLE( hFenster ) THEN RETURN NO-APPLY.
  214. RUN TOOLBAR IN hFenster ( INPUT 'UPDATE' ).
  215. RETURN NO-APPLY.
  216. END.
  217. /* _UIB-CODE-BLOCK-END */
  218. &ANALYZE-RESUME
  219. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_browser_ze bTableWin
  220. ON OFF-END OF br_browser_ze IN FRAME F-Main
  221. DO:
  222. {src/adm2/brsoffnd.i}
  223. END.
  224. /* _UIB-CODE-BLOCK-END */
  225. &ANALYZE-RESUME
  226. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_browser_ze bTableWin
  227. ON OFF-HOME OF br_browser_ze IN FRAME F-Main
  228. DO:
  229. {src/adm2/brsoffhm.i}
  230. END.
  231. /* _UIB-CODE-BLOCK-END */
  232. &ANALYZE-RESUME
  233. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_browser_ze bTableWin
  234. ON ROW-ENTRY OF br_browser_ze IN FRAME F-Main
  235. DO:
  236. {src/adm2/brsentry.i}
  237. END.
  238. /* _UIB-CODE-BLOCK-END */
  239. &ANALYZE-RESUME
  240. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_browser_ze bTableWin
  241. ON ROW-LEAVE OF br_browser_ze IN FRAME F-Main
  242. DO:
  243. {src/adm2/brsleave.i}
  244. END.
  245. /* _UIB-CODE-BLOCK-END */
  246. &ANALYZE-RESUME
  247. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_browser_ze bTableWin
  248. ON SCROLL-NOTIFY OF br_browser_ze IN FRAME F-Main
  249. DO:
  250. {src/adm2/brsscrol.i}
  251. END.
  252. /* _UIB-CODE-BLOCK-END */
  253. &ANALYZE-RESUME
  254. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_browser_ze bTableWin
  255. ON START-SEARCH OF br_browser_ze IN FRAME F-Main
  256. DO:
  257. { incl/brwstartsearch.i }
  258. END.
  259. /* _UIB-CODE-BLOCK-END */
  260. &ANALYZE-RESUME
  261. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_browser_ze bTableWin
  262. ON VALUE-CHANGED OF br_browser_ze IN FRAME F-Main
  263. DO:
  264. {src/adm2/brschnge.i}
  265. DEFINE VARIABLE rRecid AS RECID NO-UNDO.
  266. DEFINE BUFFER bbrowser FOR browser_ze.
  267. IF BROWSE {&BROWSE-NAME}:NUM-SELECTED-ROWS = 0 THEN BROWSE {&BROWSE-NAME}:SELECT-FOCUSED-ROW ().
  268. BROWSE {&BROWSE-NAME}:FETCH-SELECTED-ROW (1).
  269. IF ERROR-STATUS:ERROR THEN RETURN.
  270. rRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten) NO-ERROR.
  271. IF rRecid = ? THEN RETURN.
  272. FIND bbrowser NO-LOCK WHERE RECID(bbrowser) = rRecid.
  273. PUBLISH 'ANZEIGE_FELDER' ( bbrowser.benutzer, bbrowser.program, bbrowser.tabelle ).
  274. END.
  275. /* _UIB-CODE-BLOCK-END */
  276. &ANALYZE-RESUME
  277. &UNDEFINE SELF-NAME
  278. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK bTableWin
  279. /* *************************** Main Block *************************** */
  280. { incl/brwmainblock.i }
  281. { incl/brwinternproc.i }
  282. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  283. RUN initializeObject.
  284. &ENDIF
  285. /* _UIB-CODE-BLOCK-END */
  286. &ANALYZE-RESUME
  287. /* ********************** Internal Procedures *********************** */
  288. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE destroyObject bTableWin
  289. PROCEDURE destroyObject :
  290. /*------------------------------------------------------------------------------
  291. Purpose: Super Override
  292. Parameters:
  293. Notes:
  294. ------------------------------------------------------------------------------*/
  295. DEFINE VARIABLE hBrowser AS HANDLE NO-UNDO.
  296. hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
  297. DYNAMIC-FUNCTION('setBrowserDaten':U, INPUT hBrowser,
  298. INPUT Sektion ) NO-ERROR.
  299. RUN SUPER.
  300. /* Code placed here will execute AFTER standard behavior. */
  301. END PROCEDURE.
  302. /* _UIB-CODE-BLOCK-END */
  303. &ANALYZE-RESUME
  304. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI bTableWin _DEFAULT-DISABLE
  305. PROCEDURE disable_UI :
  306. /*------------------------------------------------------------------------------
  307. Purpose: DISABLE the User Interface
  308. Parameters: <none>
  309. Notes: Here we clean-up the user-interface by deleting
  310. dynamic widgets we have created and/or hide
  311. frames. This procedure is usually called when
  312. we are ready to "clean-up" after running.
  313. ------------------------------------------------------------------------------*/
  314. /* Hide all frames. */
  315. HIDE FRAME F-Main.
  316. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  317. END PROCEDURE.
  318. /* _UIB-CODE-BLOCK-END */
  319. &ANALYZE-RESUME
  320. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_BROWSE bTableWin
  321. PROCEDURE ENTRY_BROWSE :
  322. /*------------------------------------------------------------------------------
  323. Purpose:
  324. Parameters: <none>
  325. Notes:
  326. ------------------------------------------------------------------------------*/
  327. APPLY 'ENTRY' TO {&BROWSE-NAME} IN FRAME {&FRAME-NAME}.
  328. RETURN NO-APPLY.
  329. END PROCEDURE.
  330. /* _UIB-CODE-BLOCK-END */
  331. &ANALYZE-RESUME
  332. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject bTableWin
  333. PROCEDURE initializeObject :
  334. /*------------------------------------------------------------------------------
  335. Purpose: Super Override
  336. Parameters:
  337. Notes:
  338. ------------------------------------------------------------------------------*/
  339. { incl/brwinitialize.i }
  340. END PROCEDURE.
  341. /* _UIB-CODE-BLOCK-END */
  342. &ANALYZE-RESUME
  343. /* ************************ Function Implementations ***************** */
  344. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setZeilenfarbe bTableWin
  345. FUNCTION setZeilenfarbe RETURNS LOGICAL
  346. ( ipFarbe AS INTEGER ) :
  347. /*------------------------------------------------------------------------------
  348. Purpose:
  349. Notes:
  350. ------------------------------------------------------------------------------*/
  351. { incl/brwsetzeilenfarbe.i }
  352. END FUNCTION.
  353. /* _UIB-CODE-BLOCK-END */
  354. &ANALYZE-RESUME