Class: SubProcessInspector

Inherits:
ArcadiaExt show all
Defined in:
ext/ae-subprocess-inspector/ae-subprocess-inspector.rb

Instance Attribute Summary collapse

Attributes inherited from ArcadiaExt

#arcadia, #name

Instance Method Summary collapse

Methods inherited from ArcadiaExt

#add_to_conf_property, #array_conf, #conf, #conf_array, #conf_default, #del_from_conf_property, #destroy_frame, #exec, #float_frame, #frame, #frame_def_visible?, #frame_domain, #frame_domain_default, #frame_raised?, #frame_title, #frame_visible?, #hide_frame, #hinner_dialog, #hinner_splitted_dialog, #hinner_splitted_dialog_titled, #initialize, #maximize, #maximized?, #resize, #restore_default_conf

Constructor Details

This class inherits a constructor from ArcadiaExt

Instance Attribute Details

#processsObject (readonly)

Returns the value of attribute processs


9
10
11
# File 'ext/ae-subprocess-inspector/ae-subprocess-inspector.rb', line 9

def processs
  @processs
end

Instance Method Details

#do_delete_process(_process) ⇒ Object


45
46
47
48
49
50
# File 'ext/ae-subprocess-inspector/ae-subprocess-inspector.rb', line 45

def do_delete_process(_process)
  @processs.delete(_process)
  if @processs.length == 0
    #self.frame.free
  end
end

#on_before_build(_event) ⇒ Object


10
11
12
13
# File 'ext/ae-subprocess-inspector/ae-subprocess-inspector.rb', line 10

def on_before_build(_event)
  @processs = [] 
  Arcadia.attach_listener(self, SubProcessEvent)
end

#on_exit_query(_event) ⇒ Object


20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'ext/ae-subprocess-inspector/ae-subprocess-inspector.rb', line 20

def on_exit_query(_event)
  _event.can_exit=true
  @processs.each{|pr|
    if !pr.nil? && pr.event.abort_dialog_yes != false
      message = Arcadia.text("ext.spi.d.exit_query.msg")
      r=Arcadia.hinner_dialog(self,
          'type'=>'yes_no', 
          'level'=>'warning',
          'title'=> Arcadia.text("ext.spi.d.exit_query.title"), 
          'msg'=>message)
      if r=="no"
        _event.can_exit=false
        _event.break
      end
      break   
    end
  }
end

#on_finalize(_event) ⇒ Object


39
40
41
42
43
# File 'ext/ae-subprocess-inspector/ae-subprocess-inspector.rb', line 39

def on_finalize(_event)
  @processs.each{|pr|
    pr.event.abort_action.call if !pr.nil?
  }
end

#on_sub_process(_event) ⇒ Object


15
16
17
18
# File 'ext/ae-subprocess-inspector/ae-subprocess-inspector.rb', line 15

def on_sub_process(_event)
  #self.frame.show_anyway
  @processs << SubProcessWidget.new(self, _event)
end