g-filter.w 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gFilter
  5. {adecomm/appserv.i}
  6. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gFilter
  7. /*------------------------------------------------------------------------
  8. File:
  9. Description: from cntnrdlg.w - ADM2 SmartDialog Template
  10. Input Parameters:
  11. <none>
  12. Output Parameters:
  13. <none>
  14. Author:
  15. Created:
  16. ------------------------------------------------------------------------*/
  17. /* This .W file was created with the Progress AppBuilder. */
  18. /*----------------------------------------------------------------------*/
  19. /* Create an unnamed pool to store all the widgets created
  20. by this procedure. This is a good default which assures
  21. that this procedure's triggers and internal procedures
  22. will execute in this procedure's storage, and that proper
  23. cleanup will occur on deletion of the procedure. */
  24. CREATE WIDGET-POOL.
  25. /* *************************** Definitions ************************** */
  26. /* Parameters Definitions --- */
  27. DEF INPUT PARAMETER ipFelder AS CHAR NO-UNDO.
  28. DEF OUTPUT PARAMETER opFeld AS CHAR NO-UNDO.
  29. DEF OUTPUT PARAMETER opWert AS CHAR NO-UNDO.
  30. /* Local Variable Definitions --- */
  31. { incl/dlgdefinition.i }
  32. { src/adm2/widgetprto.i }
  33. /* _UIB-CODE-BLOCK-END */
  34. &ANALYZE-RESUME
  35. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  36. /* ******************** Preprocessor Definitions ******************** */
  37. &Scoped-define PROCEDURE-TYPE SmartDialog
  38. &Scoped-define DB-AWARE no
  39. &Scoped-define ADM-CONTAINER DIALOG-BOX
  40. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  41. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  42. &Scoped-define FRAME-NAME gFilter
  43. /* Standard List Definitions */
  44. &Scoped-Define ENABLED-OBJECTS RECT-2 Sel_Felder F_Filter Btn_OK Btn_Cancel
  45. &Scoped-Define DISPLAYED-OBJECTS Sel_Felder F_Filter
  46. /* Custom List Definitions */
  47. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  48. /* _UIB-PREPROCESSOR-BLOCK-END */
  49. &ANALYZE-RESUME
  50. /* *********************** Control Definitions ********************** */
  51. /* Define a dialog box */
  52. /* Definitions of the field level widgets */
  53. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  54. LABEL "abbrechen"
  55. SIZE 15 BY 1.
  56. DEFINE BUTTON Btn_OK AUTO-GO
  57. LABEL "OK"
  58. SIZE 15 BY 1.
  59. DEFINE VARIABLE F_Filter AS CHARACTER FORMAT "X(256)":U
  60. LABEL "Feldinhalt"
  61. VIEW-AS FILL-IN NATIVE
  62. SIZE 21.8 BY 1 TOOLTIP "mit ~"~" kann nach ~"Leer~" abgefragt werden"
  63. BGCOLOR 15 NO-UNDO.
  64. DEFINE RECTANGLE RECT-2
  65. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  66. SIZE 60 BY 7.14.
  67. DEFINE VARIABLE Sel_Felder AS CHARACTER
  68. VIEW-AS SELECTION-LIST SINGLE SCROLLBAR-VERTICAL
  69. SIZE 46 BY 4.52
  70. BGCOLOR 15 NO-UNDO.
  71. /* ************************ Frame Definitions *********************** */
  72. DEFINE FRAME gFilter
  73. Sel_Felder AT ROW 2 COL 9.8 NO-LABEL WIDGET-ID 4
  74. F_Filter AT ROW 7.19 COL 18 COLON-ALIGNED WIDGET-ID 6
  75. Btn_OK AT ROW 10 COL 12.2
  76. Btn_Cancel AT ROW 10 COL 33.4
  77. RECT-2 AT ROW 1.48 COL 3 WIDGET-ID 2
  78. SPACE(1.99) SKIP(2.94)
  79. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  80. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  81. TITLE "Filterwert eingeben"
  82. CANCEL-BUTTON Btn_Cancel WIDGET-ID 100.
  83. /* *********************** Procedure Settings ************************ */
  84. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  85. /* Settings for THIS-PROCEDURE
  86. Type: SmartDialog
  87. Allow: Basic,Browse,DB-Fields,Query,Smart
  88. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  89. Design Page: 1
  90. Other Settings: COMPILE APPSERVER
  91. */
  92. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  93. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gFilter
  94. /* ************************* Included-Libraries *********************** */
  95. {src/adm2/containr.i}
  96. /* _UIB-CODE-BLOCK-END */
  97. &ANALYZE-RESUME
  98. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  99. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  100. /* SETTINGS FOR DIALOG-BOX gFilter
  101. FRAME-NAME */
  102. ASSIGN
  103. FRAME gFilter:SCROLLABLE = FALSE
  104. FRAME gFilter:HIDDEN = TRUE.
  105. /* _RUN-TIME-ATTRIBUTES-END */
  106. &ANALYZE-RESUME
  107. /* Setting information for Queries and Browse Widgets fields */
  108. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gFilter
  109. /* Query rebuild information for DIALOG-BOX gFilter
  110. _Options = "SHARE-LOCK"
  111. _Query is NOT OPENED
  112. */ /* DIALOG-BOX gFilter */
  113. &ANALYZE-RESUME
  114. /* ************************ Control Triggers ************************ */
  115. &Scoped-define SELF-NAME gFilter
  116. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gFilter gFilter
  117. ON END-ERROR OF FRAME gFilter /* Filterwert eingeben */
  118. DO:
  119. RUN ENDE.
  120. RETURN NO-APPLY.
  121. END.
  122. /* _UIB-CODE-BLOCK-END */
  123. &ANALYZE-RESUME
  124. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gFilter gFilter
  125. ON WINDOW-CLOSE OF FRAME gFilter /* Filterwert eingeben */
  126. DO:
  127. RUN ENDE.
  128. RETURN NO-APPLY.
  129. END.
  130. /* _UIB-CODE-BLOCK-END */
  131. &ANALYZE-RESUME
  132. &Scoped-define SELF-NAME Btn_Cancel
  133. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gFilter
  134. ON CHOOSE OF Btn_Cancel IN FRAME gFilter /* abbrechen */
  135. DO:
  136. RUN ENDE.
  137. RETURN NO-APPLY.
  138. END.
  139. /* _UIB-CODE-BLOCK-END */
  140. &ANALYZE-RESUME
  141. &Scoped-define SELF-NAME Btn_OK
  142. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gFilter
  143. ON CHOOSE OF Btn_OK IN FRAME gFilter /* OK */
  144. DO:
  145. btnOK = TRUE.
  146. RUN ENDE.
  147. RETURN NO-APPLY.
  148. END.
  149. /* _UIB-CODE-BLOCK-END */
  150. &ANALYZE-RESUME
  151. &UNDEFINE SELF-NAME
  152. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gFilter
  153. /* *************************** Main Block *************************** */
  154. { incl/dlgmainblock.i }
  155. {src/adm2/dialogmn.i}
  156. /* _UIB-CODE-BLOCK-END */
  157. &ANALYZE-RESUME
  158. /* ********************** Internal Procedures *********************** */
  159. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gFilter _ADM-CREATE-OBJECTS
  160. PROCEDURE adm-create-objects :
  161. /*------------------------------------------------------------------------------
  162. Purpose: Create handles for all SmartObjects used in this procedure.
  163. After SmartObjects are initialized, then SmartLinks are added.
  164. Parameters: <none>
  165. ------------------------------------------------------------------------------*/
  166. END PROCEDURE.
  167. /* _UIB-CODE-BLOCK-END */
  168. &ANALYZE-RESUME
  169. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gFilter _DEFAULT-DISABLE
  170. PROCEDURE disable_UI :
  171. /*------------------------------------------------------------------------------
  172. Purpose: DISABLE the User Interface
  173. Parameters: <none>
  174. Notes: Here we clean-up the user-interface by deleting
  175. dynamic widgets we have created and/or hide
  176. frames. This procedure is usually called when
  177. we are ready to "clean-up" after running.
  178. ------------------------------------------------------------------------------*/
  179. /* Hide all frames. */
  180. HIDE FRAME gFilter.
  181. END PROCEDURE.
  182. /* _UIB-CODE-BLOCK-END */
  183. &ANALYZE-RESUME
  184. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gFilter
  185. PROCEDURE enableObject :
  186. /*------------------------------------------------------------------------------
  187. Purpose: Super Override
  188. Parameters:
  189. Notes:
  190. ------------------------------------------------------------------------------*/
  191. { incl/dlgenableobject.i }
  192. DO WITH FRAME {&FRAME-NAME}:
  193. Sel_Felder:DELIMITER = CHR(01).
  194. Sel_Felder:LIST-ITEM-PAIRS = ipFelder.
  195. END.
  196. END PROCEDURE.
  197. /* _UIB-CODE-BLOCK-END */
  198. &ANALYZE-RESUME
  199. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gFilter _DEFAULT-ENABLE
  200. PROCEDURE enable_UI :
  201. /*------------------------------------------------------------------------------
  202. Purpose: ENABLE the User Interface
  203. Parameters: <none>
  204. Notes: Here we display/view/enable the widgets in the
  205. user-interface. In addition, OPEN all queries
  206. associated with each FRAME and BROWSE.
  207. These statements here are based on the "Other
  208. Settings" section of the widget Property Sheets.
  209. ------------------------------------------------------------------------------*/
  210. DISPLAY Sel_Felder F_Filter
  211. WITH FRAME gFilter.
  212. ENABLE RECT-2 Sel_Felder F_Filter Btn_OK Btn_Cancel
  213. WITH FRAME gFilter.
  214. VIEW FRAME gFilter.
  215. {&OPEN-BROWSERS-IN-QUERY-gFilter}
  216. END PROCEDURE.
  217. /* _UIB-CODE-BLOCK-END */
  218. &ANALYZE-RESUME
  219. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gFilter
  220. PROCEDURE ENDE :
  221. /*------------------------------------------------------------------------------
  222. Purpose:
  223. Parameters: <none>
  224. Notes:
  225. ------------------------------------------------------------------------------*/
  226. IF BtnOK THEN DO WITH FRAME {&FRAME-NAME}:
  227. opFeld = Sel_Felder:SCREEN-VALUE.
  228. opWert = F_Filter :SCREEN-VALUE.
  229. IF opWert = '""' THEN ASSIGN opWert = ''.
  230. IF opWert = '' THEN ASSIGN opFeld = '%ENDE%'.
  231. END.
  232. { incl/dlgende.i }
  233. END PROCEDURE.
  234. /* _UIB-CODE-BLOCK-END */
  235. &ANALYZE-RESUME