dyntoolbar.w 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. /* Procedure Description
  3. "This SmartPanel sends navigation messages
  4. to its NAVIGATION-TARGET. Its buttons have
  5. icons and are arranged horizontally."
  6. */
  7. &ANALYZE-RESUME
  8. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  9. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS P-Win
  10. /*********************************************************************
  11. * Copyright (C) 2000 by Progress Software Corporation ("PSC"), *
  12. * 14 Oak Park, Bedford, MA 01730, and other contributors as listed *
  13. * below. All Rights Reserved. *
  14. * *
  15. * The Initial Developer of the Original Code is PSC. The Original *
  16. * Code is Progress IDE code released to open source December 1, 2000.*
  17. * *
  18. * The contents of this file are subject to the Possenet Public *
  19. * License Version 1.0 (the "License"); you may not use this file *
  20. * except in compliance with the License. A copy of the License is *
  21. * available as of the date of this notice at *
  22. * http://www.possenet.org/license.html *
  23. * *
  24. * Software distributed under the License is distributed on an "AS IS"*
  25. * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. You*
  26. * should refer to the License for the specific language governing *
  27. * rights and limitations under the License. *
  28. * *
  29. * Contributors: *
  30. * *
  31. *********************************************************************/
  32. /*------------------------------------------------------------------------
  33. File: adm2/dyntoolbar.w
  34. Description: SmartToolbar object
  35. Input Parameters:
  36. <none>
  37. Output Parameters:
  38. <none>
  39. Created: April 1999 -- Progress Version 9.1A
  40. ------------------------------------------------------------------------*/
  41. /* This .W file was created with the Progress AppBuilder. */
  42. /*----------------------------------------------------------------------*/
  43. /* Create an unnamed pool to store all the widgets created
  44. by this procedure. This is a good default which assures
  45. that this procedure's triggers and internal procedures
  46. will execute in this procedure's storage, and that proper
  47. cleanup will occur on deletion of the procedure. */
  48. CREATE WIDGET-POOL.
  49. /* *************************** Definitions ************************** */
  50. /* Parameters Definitions --- */
  51. &GLOB ADM-Panel-Type Toolbar
  52. /* tell smart.i that we can use the default destroyObject */
  53. &SCOPED-DEFINE include-destroyobject
  54. /* Local Variable Definitions --- */
  55. DEFINE VARIABLE ghMenu AS HANDLE NO-UNDO.
  56. DEFINE VARIABLE glResetRecord AS LOG NO-UNDO INIT FALSE.
  57. DEFINE VARIABLE FMutFlag AS LOG NO-UNDO INIT FALSE.
  58. DEFINE VARIABLE ProgName AS CHARACTER NO-UNDO.
  59. DEFINE VARIABLE Firma AS CHARACTER NO-UNDO.
  60. DEFINE TEMP-TABLE TView
  61. FIELD cView AS CHARACTER
  62. FIELD Aktiv AS LOG
  63. FIELD fA AS LOG
  64. FIELD fM AS LOG
  65. FIELD fE AS LOG
  66. FIELD fL AS LOG
  67. FIELD fS AS LOG
  68. INDEX TView-k1 AS PRIMARY
  69. cView.
  70. /* _UIB-CODE-BLOCK-END */
  71. &ANALYZE-RESUME
  72. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  73. /* ******************** Preprocessor Definitions ******************** */
  74. &Scoped-define PROCEDURE-TYPE toolbar
  75. &Scoped-define DB-AWARE no
  76. &Scoped-define ADM-SUPPORTED-LINKS Navigation-Source,TableIo-Source
  77. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  78. &Scoped-define FRAME-NAME Panel-Frame
  79. /* Custom List Definitions */
  80. /* Box-Rectangle,List-2,List-3,List-4,List-5,List-6 */
  81. /* _UIB-PREPROCESSOR-BLOCK-END */
  82. &ANALYZE-RESUME
  83. /* ************************ Function Prototypes ********************** */
  84. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD AssignBezeichnung P-Win
  85. FUNCTION AssignBezeichnung RETURNS LOGICAL
  86. ( ipFunkt AS CHARACTER, ipText AS CHARACTER ) FORWARD.
  87. /* _UIB-CODE-BLOCK-END */
  88. &ANALYZE-RESUME
  89. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD initializeMenu P-Win
  90. FUNCTION initializeMenu RETURNS LOGICAL
  91. ( ) FORWARD.
  92. /* _UIB-CODE-BLOCK-END */
  93. &ANALYZE-RESUME
  94. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD initializeToolBar P-Win
  95. FUNCTION initializeToolBar RETURNS LOGICAL
  96. ( /* parameter-definitions */ ) FORWARD.
  97. /* _UIB-CODE-BLOCK-END */
  98. &ANALYZE-RESUME
  99. /* *********************** Control Definitions ********************** */
  100. /* ************************ Frame Definitions *********************** */
  101. DEFINE FRAME Panel-Frame
  102. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  103. SIDE-LABELS NO-UNDERLINE THREE-D
  104. AT COL 1 ROW 1
  105. SIZE 67.2 BY 1.57.
  106. /* *********************** Procedure Settings ************************ */
  107. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  108. /* Settings for THIS-PROCEDURE
  109. Type: toolbar
  110. Allow: Basic
  111. Frames: 1
  112. Add Fields to: Neither
  113. Other Settings: PERSISTENT-ONLY COMPILE
  114. */
  115. /* This procedure should always be RUN PERSISTENT. Report the error, */
  116. /* then cleanup and return. */
  117. IF NOT THIS-PROCEDURE:PERSISTENT THEN
  118. DO:
  119. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  120. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  121. RETURN.
  122. END.
  123. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  124. /* ************************* Create Window ************************** */
  125. &ANALYZE-SUSPEND _CREATE-WINDOW
  126. /* DESIGN Window definition (used by the UIB)
  127. CREATE WINDOW P-Win ASSIGN
  128. HEIGHT = 1.57
  129. WIDTH = 67.2.
  130. /* END WINDOW DEFINITION */
  131. */
  132. &ANALYZE-RESUME
  133. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB P-Win
  134. /* ************************* Included-Libraries *********************** */
  135. {src/adm2/toolbar.i}
  136. /* _UIB-CODE-BLOCK-END */
  137. &ANALYZE-RESUME
  138. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  139. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  140. /* SETTINGS FOR WINDOW P-Win
  141. NOT-VISIBLE,,RUN-PERSISTENT */
  142. /* SETTINGS FOR FRAME Panel-Frame
  143. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  144. ASSIGN
  145. FRAME Panel-Frame:SCROLLABLE = FALSE
  146. FRAME Panel-Frame:HIDDEN = TRUE.
  147. /* _RUN-TIME-ATTRIBUTES-END */
  148. &ANALYZE-RESUME
  149. /* Setting information for Queries and Browse Widgets fields */
  150. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME Panel-Frame
  151. /* Query rebuild information for FRAME Panel-Frame
  152. _Options = "NO-LOCK"
  153. _Query is NOT OPENED
  154. */ /* FRAME Panel-Frame */
  155. &ANALYZE-RESUME
  156. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK P-Win
  157. /* *************************** Main Block *************************** */
  158. EMPTY TEMP-TABLE TView.
  159. Progname = DYNAMIC-FUNCTION('makeProgname':U, THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  160. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  161. RUN initializeObject.
  162. &ENDIF
  163. /* _UIB-CODE-BLOCK-END */
  164. &ANALYZE-RESUME
  165. /* ********************** Internal Procedures *********************** */
  166. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI P-Win _DEFAULT-DISABLE
  167. PROCEDURE disable_UI :
  168. /*------------------------------------------------------------------------------
  169. Purpose: DISABLE the User Interface
  170. Parameters: <none>
  171. Notes: Here we clean-up the user-interface by deleting
  172. dynamic widgets we have created and/or hide
  173. frames. This procedure is usually called when
  174. we are ready to "clean-up" after running.
  175. ------------------------------------------------------------------------------*/
  176. /* Hide all frames. */
  177. HIDE FRAME Panel-Frame.
  178. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  179. END PROCEDURE.
  180. /* _UIB-CODE-BLOCK-END */
  181. &ANALYZE-RESUME
  182. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE getWindowName P-Win
  183. PROCEDURE getWindowName :
  184. /**
  185. * @desc Procedure to retrieve the filename of the window (wxxxxx.w)
  186. * @returns <code> file-name</code> Filename of windowprocedure
  187. */
  188. DEFINE VARIABLE hWin AS HANDLE NO-UNDO.
  189. ASSIGN
  190. hwin = DYNAMIC-FUNCTION('getContainerSource':U).
  191. RETURN hWin:FILE-NAME.
  192. END PROCEDURE.
  193. /* _UIB-CODE-BLOCK-END */
  194. &ANALYZE-RESUME
  195. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE onChoose P-Win
  196. PROCEDURE onChoose :
  197. /*------------------------------------------------------------------------------
  198. Purpose: Super Override
  199. Parameters:
  200. Notes:
  201. ------------------------------------------------------------------------------*/
  202. DEFINE INPUT PARAMETER pcAction AS CHARACTER NO-UNDO.
  203. DEFINE VARIABLE wHandle AS HANDLE NO-UNDO.
  204. DEFINE VARIABLE cTableIO AS CHARACTER NO-UNDO.
  205. DEFINE VARIABLE hTableIO AS HANDLE NO-UNDO.
  206. DEFINE VARIABLE hSource AS HANDLE NO-UNDO.
  207. DEFINE VARIABLE cFields AS CHARACTER NO-UNDO.
  208. DEFINE VARIABLE cValues AS CHARACTER NO-UNDO.
  209. DEFINE VARIABLE cQueryPos AS CHARACTER NO-UNDO.
  210. DEFINE VARIABLE iAktiv AS INTEGER NO-UNDO.
  211. DEFINE VARIABLE iFehler AS INTEGER NO-UNDO.
  212. DEFINE VARIABLE fAktiv AS LOG NO-UNDO.
  213. DEFINE VARIABLE FAbbruch AS LOG NO-UNDO.
  214. DEFINE VARIABLE Ja AS LOG NO-UNDO.
  215. DEFINE VARIABLE cTabelle AS CHARACTER NO-UNDO.
  216. DEFINE VARIABLE hFocus AS HANDLE NO-UNDO.
  217. DEFINE VARIABLE cView AS CHARACTER NO-UNDO.
  218. DEFINE VARIABLE cBerecht AS CHARACTER NO-UNDO.
  219. DEFINE VARIABLE fNavi AS LOG NO-UNDO.
  220. DEFINE VARIABLE cAction AS CHARACTER NO-UNDO.
  221. wHandle = FOCUS:PARENT NO-ERROR.
  222. DO WHILE VALID-HANDLE( wHandle ):
  223. IF wHandle:TYPE = 'WINDOW' THEN LEAVE.
  224. wHandle = wHandle:PARENT.
  225. END.
  226. fNavi = FALSE.
  227. IF pcAction = 'Next' THEN fNavi = TRUE.
  228. IF pcAction = 'Prev' THEN fNavi = TRUE.
  229. IF pcAction = 'First' THEN fNavi = TRUE.
  230. IF pcAction = 'Last' THEN fNavi = TRUE.
  231. IF fNavi THEN
  232. DO:
  233. cAction = SUBSTITUTE('ACTION-&1', pcAction).
  234. END.
  235. DO WHILE TRUE:
  236. IF fNavi THEN LEAVE.
  237. cTableIO = DYNAMIC-FUNCTION('getTableIOTarget':U) NO-ERROR.
  238. IF cTableIO = ? OR
  239. cTableIO = '' THEN
  240. DO:
  241. RUN MELDUNG ( 8014 ).
  242. RETURN.
  243. END.
  244. hTableIO = WIDGET-HANDLE(cTableIO) NO-ERROR.
  245. IF NOT VALID-HANDLE(hTableIO) THEN RETURN.
  246. LEAVE.
  247. END.
  248. FMutFlag = DYNAMIC-FUNCTION('getMutflag':U, INPUT Progname ) NO-ERROR.
  249. DO WHILE FMutFlag:
  250. IF fNavi THEN RETURN NO-APPLY.
  251. IF pcAction = 'ADD' THEN RETURN NO-APPLY.
  252. IF pcAction = 'COPY' THEN RETURN NO-APPLY.
  253. IF pcAction = 'DELETE' THEN RETURN NO-APPLY.
  254. LEAVE.
  255. END.
  256. DO WHILE NOT FMutFlag:
  257. IF pcAction = 'SAVE' THEN RETURN NO-APPLY.
  258. IF pcAction = 'UNDO' THEN RETURN NO-APPLY.
  259. IF pcAction = 'CANCEL' THEN RETURN NO-APPLY.
  260. LEAVE.
  261. END.
  262. IF NOT fNavi THEN
  263. DO:
  264. cView = ENTRY(1, hTableIO:FILE-NAME, '.').
  265. FIND FIRST TView USE-INDEX TView-k1
  266. WHERE TView.cView = cView NO-LOCK NO-ERROR.
  267. IF NOT AVAILABLE TView THEN
  268. DO:
  269. RUN PRUEFEN_BERECHTIGUNG ( INPUT cView, OUTPUT cBerecht ) NO-ERROR.
  270. CREATE TView.
  271. TView.cView = cView.
  272. IF ENTRY(1, cBerecht, CHR(01)) BEGINS 'j' THEN TView.fA = TRUE .
  273. ELSE TView.fA = FALSE.
  274. IF ENTRY(2, cBerecht, CHR(01)) BEGINS 'j' THEN TView.fM = TRUE .
  275. ELSE TView.fM = FALSE.
  276. IF ENTRY(3, cBerecht, CHR(01)) BEGINS 'j' THEN TView.fE = TRUE .
  277. ELSE TView.fE = FALSE.
  278. IF ENTRY(4, cBerecht, CHR(01)) BEGINS 'j' THEN TView.fL = TRUE .
  279. ELSE TView.fL = FALSE.
  280. IF ENTRY(5, cBerecht, CHR(01)) BEGINS 'j' THEN TView.fS = TRUE .
  281. ELSE TView.fS = FALSE.
  282. IF TView.fA = FALSE AND
  283. TView.fM = FALSE AND
  284. TView.fE = FALSE AND
  285. TView.fL = FALSE AND
  286. TView.fS = FALSE THEN TView.Aktiv = FALSE.
  287. ELSE TView.Aktiv = TRUE .
  288. END.
  289. IF NOT TView.Aktiv THEN RETURN NO-APPLY.
  290. END.
  291. DO WHILE NOT FMutFlag:
  292. CASE pcAction:
  293. WHEN 'ADD' THEN
  294. DO:
  295. IF TView.fE = FALSE THEN RETURN NO-APPLY.
  296. END.
  297. WHEN 'COPY' THEN
  298. DO:
  299. IF TView.fE = FALSE THEN RETURN NO-APPLY.
  300. END.
  301. WHEN 'DELETE' THEN
  302. DO:
  303. IF TView.fL = FALSE THEN RETURN NO-APPLY.
  304. END.
  305. WHEN 'UPDATE' THEN
  306. DO:
  307. IF TView.fM = FALSE THEN RETURN NO-APPLY.
  308. END.
  309. END.
  310. LEAVE.
  311. END.
  312. DO WHILE TRUE:
  313. IF FMutFlag THEN LEAVE.
  314. IF pcAction = 'Next' THEN LEAVE.
  315. IF pcAction = 'Prev' THEN LEAVE.
  316. IF pcAction = 'First' THEN LEAVE.
  317. IF pcAction = 'Last' THEN LEAVE.
  318. IF pcAction = 'ADD' THEN LEAVE.
  319. IF pcAction = 'CANCEL' THEN LEAVE.
  320. hSource = DYNAMIC-FUNCTION('getTableIOTarget':U) NO-ERROR.
  321. IF NOT VALID-HANDLE(hSource) THEN LEAVE.
  322. hSource = DYNAMIC-FUNCTION('getDataSource':U IN hSource) NO-ERROR.
  323. IF NOT VALID-HANDLE(hSource) THEN LEAVE.
  324. cQueryPos = DYNAMIC-FUNCTION('getQueryPosition':U IN hSource) NO-ERROR.
  325. IF cQueryPos = 'NoRecordAvailable' THEN
  326. DO:
  327. RUN MELDUNG (8009) NO-ERROR.
  328. IF VALID-HANDLE(wHandle) THEN APPLY 'U1' TO wHandle.
  329. RETURN NO-APPLY.
  330. END.
  331. cFields = DYNAMIC-FUNCTION('getDataColumns':U IN hSource ) NO-ERROR.
  332. iAktiv = LOOKUP('Aktiv', cFields, ',').
  333. IF iAktiv = 0 THEN LEAVE.
  334. IF hSource:NAME BEGINS 'd-benutzer' THEN LEAVE.
  335. cValues = DYNAMIC-FUNCTION('colValues':U IN hSource, 'Aktiv') NO-ERROR.
  336. IF NOT ENTRY(2, cValues, CHR(01)) BEGINS 'n' THEN fAktiv = TRUE.
  337. ELSE fAktiv = FALSE.
  338. IF fAktiv AND
  339. pcAction <> 'DELETE' THEN LEAVE.
  340. IF NOT fAktiv AND
  341. pcAction = 'DELETE' THEN RETURN NO-APPLY.
  342. IF fAktiv THEN iFehler = 8010.
  343. ELSE iFehler = 8011.
  344. ja = DYNAMIC-FUNCTION('ANTWORT_NEIN':U, INPUT iFehler ) NO-ERROR.
  345. IF NOT Ja THEN RETURN NO-APPLY.
  346. cTabelle = DYNAMIC-FUNCTION('getTables':U IN hSource) NO-ERROR.
  347. IF cTabelle = ? THEN RETURN NO-APPLY.
  348. IF cTabelle = '' THEN RETURN NO-APPLY.
  349. IF INDEX(cTabelle, 'Adresse') > 0 THEN LEAVE.
  350. IF TView.fE = FALSE THEN RETURN NO-APPLY.
  351. IF fAktiv THEN RUN INAKTIVIEREN IN hSource NO-ERROR.
  352. ELSE RUN REAKTIVIEREN IN hSource NO-ERROR.
  353. IF RETURN-VALUE = 'LOESCHEN' THEN LEAVE.
  354. RETURN NO-APPLY.
  355. END.
  356. CASE pcAction:
  357. WHEN 'SAVE' THEN
  358. DO:
  359. hFocus = FOCUS.
  360. DO WHILE VALID-HANDLE(hFocus):
  361. IF hFocus:TYPE <> 'FILL-IN' AND
  362. hFocus:TYPE <> 'COMBO-BOX' THEN LEAVE.
  363. APPLY 'LEAVE' TO hFocus.
  364. LEAVE.
  365. END.
  366. IF VALID-HANDLE(hTableIO) THEN
  367. DO:
  368. ERROR-STATUS:ERROR = FALSE.
  369. RUN TEST_EINGABEN IN hTableIO ( OUTPUT Ja ) NO-ERROR.
  370. IF ERROR-STATUS:ERROR THEN Ja = TRUE.
  371. END.
  372. IF NOT Ja THEN RETURN NO-APPLY.
  373. END.
  374. END CASE.
  375. DYNAMIC-FUNCTION('setFlagabbruch':U, INPUT FALSE, INPUT Progname) NO-ERROR.
  376. RUN SUPER( INPUT pcAction ).
  377. FAbbruch = DYNAMIC-FUNCTION('getFlagabbruch':U, INPUT Progname) NO-ERROR.
  378. IF FAbbruch THEN
  379. DO:
  380. DYNAMIC-FUNCTION('setFlagabbruch':U, INPUT FALSE, INPUT Progname) NO-ERROR.
  381. IF pcAction = 'SAVE' THEN RETURN.
  382. pcAction = 'CANCEL'.
  383. RUN SUPER ( INPUT pcAction ).
  384. END.
  385. CASE pcAction:
  386. WHEN 'ADD' THEN DYNAMIC-FUNCTION('setMutFlag':U, INPUT TRUE , INPUT Progname) NO-ERROR.
  387. WHEN 'COPY' THEN DYNAMIC-FUNCTION('setMutFlag':U, INPUT TRUE , INPUT Progname) NO-ERROR.
  388. WHEN 'UPDATE' THEN DYNAMIC-FUNCTION('setMutFlag':U, INPUT TRUE , INPUT Progname) NO-ERROR.
  389. WHEN 'SAVE' THEN DYNAMIC-FUNCTION('setMutFlag':U, INPUT FALSE, INPUT Progname) NO-ERROR.
  390. WHEN 'UNDO' THEN DYNAMIC-FUNCTION('setMutFlag':U, INPUT TRUE , INPUT Progname) NO-ERROR.
  391. WHEN 'CANCEL' THEN DYNAMIC-FUNCTION('setMutFlag':U, INPUT FALSE, INPUT Progname) NO-ERROR.
  392. END CASE.
  393. CASE pcAction:
  394. WHEN 'ADD' OR
  395. WHEN 'COPY' OR
  396. WHEN 'UPDATE' THEN DYNAMIC-FUNCTION('sensitizeActions':U, 'SAVE,RESET,UndoChange', TRUE) NO-ERROR.
  397. END CASE.
  398. PUBLISH 'NAVIGATION' ( INPUT cAction ).
  399. IF VALID-HANDLE(wHandle) THEN APPLY 'U1' TO wHandle.
  400. END PROCEDURE.
  401. /* _UIB-CODE-BLOCK-END */
  402. &ANALYZE-RESUME
  403. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE setBreite P-Win
  404. PROCEDURE setBreite :
  405. /*------------------------------------------------------------------------------
  406. Purpose:
  407. Parameters: <none>
  408. Notes:
  409. ------------------------------------------------------------------------------*/
  410. DEFINE INPUT PARAMETER ipBreite AS DECIMAL NO-UNDO.
  411. DO WITH FRAME {&FRAME-NAME}:
  412. RUN resizeObject ( INPUT 20, INPUT ipBreite ).
  413. END.
  414. END PROCEDURE.
  415. /* _UIB-CODE-BLOCK-END */
  416. &ANALYZE-RESUME
  417. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE setProgname P-Win
  418. PROCEDURE setProgname :
  419. /*------------------------------------------------------------------------------
  420. Purpose:
  421. Parameters: <none>
  422. Notes:
  423. ------------------------------------------------------------------------------*/
  424. DEFINE INPUT PARAMETER ipProgramm AS CHARACTER NO-UNDO.
  425. DEFINE VARIABLE cProgramm AS CHARACTER NO-UNDO.
  426. cProgramm = ENTRY(1, ipProgramm, '.') NO-ERROR.
  427. IF cProgramm = ? OR
  428. cProgramm = '' THEN cProgramm = ipProgramm.
  429. Progname = cProgramm.
  430. END PROCEDURE.
  431. /* _UIB-CODE-BLOCK-END */
  432. &ANALYZE-RESUME
  433. /* ************************ Function Implementations ***************** */
  434. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION AssignBezeichnung P-Win
  435. FUNCTION AssignBezeichnung RETURNS LOGICAL
  436. ( ipFunkt AS CHARACTER, ipText AS CHARACTER ) :
  437. /*------------------------------------------------------------------------------
  438. Purpose:
  439. Notes:
  440. ------------------------------------------------------------------------------*/
  441. DYNAMIC-FUNCTION('assignActionCaption':U, ipFunkt, ipText) NO-ERROR.
  442. RETURN (IF ERROR-STATUS:ERROR THEN FALSE ELSE TRUE).
  443. END FUNCTION.
  444. /* _UIB-CODE-BLOCK-END */
  445. &ANALYZE-RESUME
  446. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION initializeMenu P-Win
  447. FUNCTION initializeMenu RETURNS LOGICAL
  448. ( ) :
  449. /*------------------------------------------------------------------------------
  450. Purpose: Create the menus for the toolbar
  451. Notes: This function is defined locally, but will skip the default
  452. behavior if there is a super defined AND it returns true.
  453. buildMenu() is always called! so it should not be part of the
  454. super procedure.
  455. ------------------------------------------------------------------------------*/
  456. DEFINE VARIABLE lOverridden AS LOG NO-UNDO.
  457. /* Allow a super-procedure to override the default toolbar */
  458. lOverridden = SUPER() NO-ERROR.
  459. /* not (true) for unknown */
  460. IF NOT (lOverridden = TRUE) THEN
  461. DO:
  462. insertMenu("":U,"File,Navigation":U,NO,?).
  463. insertMenu("File":U,
  464. "Add,Update,Copy,Delete,RULE,":U
  465. + "save,reset,cancel,RULE,Transaction,":U
  466. + "RULE,Function,RULE,Exit":U,
  467. YES, /* expand children */
  468. ?).
  469. END.
  470. /* build the menubar */
  471. buildMenu("").
  472. RETURN TRUE.
  473. END FUNCTION.
  474. /* _UIB-CODE-BLOCK-END */
  475. &ANALYZE-RESUME
  476. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION initializeToolBar P-Win
  477. FUNCTION initializeToolBar RETURNS LOGICAL
  478. ( /* parameter-definitions */ ) :
  479. /*------------------------------------------------------------------------------
  480. Purpose: Creates the toolbar for the toolbar
  481. Notes: This function is defined locally, but will skip the default
  482. behavior if there is a super defined AND it returns true.
  483. ------------------------------------------------------------------------------*/
  484. DEFINE VARIABLE lOverridden AS LOG NO-UNDO.
  485. /* Allow a super-procedure to override the default toolbar */
  486. lOverridden = SUPER() NO-ERROR.
  487. /* not (true) for unknown */
  488. IF NOT (lOverridden = TRUE) THEN
  489. DO:
  490. createToolBar
  491. ("Tableio,RULE,Transaction,RULE,Navigation,RULE,Function,RULE").
  492. END.
  493. RETURN TRUE. /* Function return value. */
  494. END FUNCTION.
  495. /* _UIB-CODE-BLOCK-END */
  496. &ANALYZE-RESUME