This file is indexed.

/usr/share/gnudatalanguage/lib/xmanager.pro is in libgnudatalanguage0 0.9.7-6.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
;+
; NAME:   XMANAGER
;
; PURPOSE:  Provides event management for GDL widgets.
;
; CATEGORY: GUI, widgets
;
; CALLING SEQUENCE:
;
; XMANAGER, NAME, ID, /NO_BLOCK, GROUP_LEADER=groupLeader, CLEANUP=Cleanup
;
;
; inputs:
;
; OPTIONAL INPUTS:  none
;
; KEYWORD PARAMETERS:
;
; COMMON BLOCKS:    "MANAGED"
;
; SIDE EFFECTS:     ????
;
; RESTRICTIONS:     incomplete, more functionality to be added.
;
;
; MODIFICATION HISTORY:
;  - 05/11/2013: inital version 
;
;-
; LICENCE:
; Copyright (C) 2013 Marc Schellens
; This program is free software; you can redistribute it and/or modify  
; it under the terms of the GNU General Public License as published by  
; the Free Software Foundation; either version 2 of the License, or     
; (at your option) any later version.
;-
;

pro ValidateManagedWidgets

common managed, ids, names, modalList
catch,falseinfo
; if ids contains only unknown widget ids, remove silently the list
; after catching the error:
if falseinfo ne 0 then begin
  ids=0
  names=0
  catch,/cancel
  return
endif

if (n_elements(ids) eq 0) then begin ids=0 & names=0 & endif
if (ids[0] eq 0) then return
keep=where(widget_info(ids,/managed),count)
if ( count gt 0 ) then begin
  ids=(temporary(ids))[keep]
  names=(temporary(names))[keep]
endif else begin
  ids = 0
  names = 0
endelse
return

end

pro UNXREGISTER, id
COMPILE_OPT idl2, HIDDEN  
common managed, ids, names, modalList

if (n_elements(id) eq 0) then return
if (n_elements(ids) eq 0) then return
if (ids[0] eq 0) then return
occurences=where(ids eq id, count, complement=complement, ncomplement=ncomp)
if (count le 0) then return
if ( ncomp gt 0 ) then begin ; there are others
 names=names[complement]
 ids=ids[complement]
 return
endif else begin ; there are no others, clear lists
 names = 0
 ids = 0
endelse
end


pro XMANAGER, name, id, NO_BLOCK = noBlock, GROUP_LEADER=groupLeader, EVENT_HANDLER=eventHandler, $
    CLEANUP=Cleanup, JUST_REG=just_reg, CATCH=catch, MODAL=modal

common managed, ids, names, modalList

ValidateManagedWidgets

if keyword_set(modal) then message,/informational,"The MODAL keyword to the XMANAGER procedure is obsolete."+$
" It is superseded by the MODAL keyword to the WIDGET_BASE function."
if not keyword_set(eventHandler) then begin
  eventHandler = name + '_event'
endif
;if id is not the top base, get the top base:
while (widget_info(id,/parent) ne 0) do id=widget_info(id,/parent)
 
widget_control, id, event_pro=eventHandler
widget_control, id, /managed
; add to common
if (ids[0] ne 0) then begin
 ids = [ids, id]
 names = [names, name]
endif else begin
 ids = id
 names = name
endelse

if keyword_set(groupLeader) then begin
   widget_control, id, GROUP_LEADER=groupLeader
endif
; cleanup is implemented now
if n_elements(cleanup) then begin
   widget_control, id, KILL_NOTIFY=Cleanup
endif

if keyword_set(noBlock) then begin
   widget_control, /XMANAGER_ACTIVE_COMMAND, id
endif else begin
   tmp = widget_event(/XMANAGER_BLOCK) ; will block until TLB widget is closed
endelse

end