MINT-debugger 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gemtest +0 -0
- data/Gemfile +13 -0
- data/Gemfile.lock +54 -0
- data/History.txt +6 -0
- data/MINT-debugger.gemspec +39 -0
- data/Manifest.txt +12 -0
- data/README.rdoc +63 -0
- data/Rakefile +23 -0
- data/bin/mint-debugger +21 -0
- data/lib/MINT-debugger.rb +16 -0
- data/lib/MINT-debugger/MINT-Logo-short-bg.png +0 -0
- data/lib/MINT-debugger/debugger2.rb +238 -0
- data/lib/MINT-debugger/licence-code.txt +31 -0
- metadata +127 -0
data/.gemtest
ADDED
File without changes
|
data/Gemfile
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
source :rubygems
|
2
|
+
gem "MINT-scxml","1.0.0"
|
3
|
+
gem "MINT-statemachine", "1.2.3"
|
4
|
+
gem "MINT-core", "1.0.0"
|
5
|
+
gem "rspec", "1.3.1"
|
6
|
+
gem "dm-core","0.10.2"
|
7
|
+
gem "dm-rinda-adapter" , "0.1.2"
|
8
|
+
gem "rake","0.9.2"
|
9
|
+
gem "dm-types","0.10.2"
|
10
|
+
gem "wxruby","2.0.0"
|
11
|
+
gem "rmagick","2.13.1"
|
12
|
+
gem "eventmachine", "0.12.10"
|
13
|
+
gem "hoe", "2.9.6"
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
GEM
|
2
|
+
remote: http://rubygems.org/
|
3
|
+
specs:
|
4
|
+
MINT-core (1.0.0)
|
5
|
+
MINT-statemachine (~> 1.2.2)
|
6
|
+
cassowary (~> 1.0.0)
|
7
|
+
dm-rinda-adapter (~> 0.1.0)
|
8
|
+
MINT-scxml (1.0.0)
|
9
|
+
MINT-statemachine (~> 1.2.3)
|
10
|
+
MINT-statemachine (1.2.3)
|
11
|
+
addressable (2.2.6)
|
12
|
+
bcrypt-ruby (2.1.4)
|
13
|
+
cassowary (1.0.0)
|
14
|
+
dm-core (0.10.2)
|
15
|
+
addressable (~> 2.1)
|
16
|
+
extlib (~> 0.9.14)
|
17
|
+
dm-rinda-adapter (0.1.2)
|
18
|
+
dm-core (~> 0.10.2)
|
19
|
+
dm-types (0.10.2)
|
20
|
+
bcrypt-ruby (~> 2.1.2)
|
21
|
+
dm-core (~> 0.10.2)
|
22
|
+
fastercsv (~> 1.5.0)
|
23
|
+
json_pure (~> 1.2.0)
|
24
|
+
stringex (~> 1.1.0)
|
25
|
+
uuidtools (~> 2.1.1)
|
26
|
+
eventmachine (0.12.10)
|
27
|
+
extlib (0.9.15)
|
28
|
+
fastercsv (1.5.4)
|
29
|
+
hoe (2.9.6)
|
30
|
+
rake (~> 0.8)
|
31
|
+
json_pure (1.2.4)
|
32
|
+
rake (0.9.2)
|
33
|
+
rmagick (2.13.1)
|
34
|
+
rspec (1.3.1)
|
35
|
+
stringex (1.1.0)
|
36
|
+
uuidtools (2.1.2)
|
37
|
+
wxruby (2.0.0)
|
38
|
+
|
39
|
+
PLATFORMS
|
40
|
+
ruby
|
41
|
+
|
42
|
+
DEPENDENCIES
|
43
|
+
MINT-core (= 1.0.0)
|
44
|
+
MINT-scxml (= 1.0.0)
|
45
|
+
MINT-statemachine (= 1.2.3)
|
46
|
+
dm-core (= 0.10.2)
|
47
|
+
dm-rinda-adapter (= 0.1.2)
|
48
|
+
dm-types (= 0.10.2)
|
49
|
+
eventmachine (= 0.12.10)
|
50
|
+
hoe (= 2.9.6)
|
51
|
+
rake (= 0.9.2)
|
52
|
+
rmagick (= 2.13.1)
|
53
|
+
rspec (= 1.3.1)
|
54
|
+
wxruby (= 2.0.0)
|
data/History.txt
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{MINT-debugger}
|
5
|
+
s.version = "0.0.1"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = [%q{Sebastian Feuerstack}]
|
9
|
+
s.date = %q{2011-11-02}
|
10
|
+
s.description = %q{The Multimodal Interaction Framwork debugger enables model inspection at system runtime.}
|
11
|
+
s.email = [%q{Sebastian@Feuerstack.org}]
|
12
|
+
s.executables = [%q{mint-debugger}]
|
13
|
+
s.extra_rdoc_files = [%q{History.txt}, %q{Manifest.txt}, %q{lib/MINT-debugger/licence-code.txt}]
|
14
|
+
s.files = [%q{Gemfile}, %q{Gemfile.lock}, %q{History.txt}, %q{MINT-debugger.gemspec}, %q{Manifest.txt}, %q{README.rdoc}, %q{Rakefile}, %q{bin/mint-debugger}, %q{lib/MINT-debugger.rb}, %q{lib/MINT-debugger/MINT-Logo-short-bg.png}, %q{lib/MINT-debugger/debugger2.rb}, %q{lib/MINT-debugger/licence-code.txt}, %q{.gemtest}]
|
15
|
+
s.homepage = %q{http://www.multi-access.de}
|
16
|
+
s.rdoc_options = [%q{--main}, %q{README.rdoc}]
|
17
|
+
s.require_paths = [%q{lib}]
|
18
|
+
s.rubyforge_project = %q{MINT-debugger}
|
19
|
+
s.rubygems_version = %q{1.8.5}
|
20
|
+
s.summary = %q{The Multimodal Interaction Framwork debugger enables model inspection at system runtime.}
|
21
|
+
|
22
|
+
if s.respond_to? :specification_version then
|
23
|
+
s.specification_version = 3
|
24
|
+
|
25
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
26
|
+
s.add_runtime_dependency(%q<MINT-core>, ["~> 1.0.0"])
|
27
|
+
s.add_runtime_dependency(%q<wxruby>, ["~> 2.0.0"])
|
28
|
+
s.add_development_dependency(%q<hoe>, ["~> 2.9"])
|
29
|
+
else
|
30
|
+
s.add_dependency(%q<MINT-core>, ["~> 1.0.0"])
|
31
|
+
s.add_dependency(%q<wxruby>, ["~> 2.0.0"])
|
32
|
+
s.add_dependency(%q<hoe>, ["~> 2.9"])
|
33
|
+
end
|
34
|
+
else
|
35
|
+
s.add_dependency(%q<MINT-core>, ["~> 1.0.0"])
|
36
|
+
s.add_dependency(%q<wxruby>, ["~> 2.0.0"])
|
37
|
+
s.add_dependency(%q<hoe>, ["~> 2.9"])
|
38
|
+
end
|
39
|
+
end
|
data/Manifest.txt
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
Gemfile
|
2
|
+
Gemfile.lock
|
3
|
+
History.txt
|
4
|
+
MINT-debugger.gemspec
|
5
|
+
Manifest.txt
|
6
|
+
README.rdoc
|
7
|
+
Rakefile
|
8
|
+
bin/mint-debugger
|
9
|
+
lib/MINT-debugger.rb
|
10
|
+
lib/MINT-debugger/MINT-Logo-short-bg.png
|
11
|
+
lib/MINT-debugger/debugger2.rb
|
12
|
+
lib/MINT-debugger/licence-code.txt
|
data/README.rdoc
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
= MINT-debugger
|
2
|
+
|
3
|
+
* http://www.multi-access.de
|
4
|
+
|
5
|
+
== DESCRIPTION:
|
6
|
+
|
7
|
+
The Multimodal Interaction Framwork debugger enables model inspection at system runtime.
|
8
|
+
|
9
|
+
== FEATURES/PROBLEMS:
|
10
|
+
|
11
|
+
* Still alpha - it just runs on my machine ;-)
|
12
|
+
|
13
|
+
== SYNOPSIS:
|
14
|
+
|
15
|
+
Just run the debugger. Needs a tuplespace to connect to.
|
16
|
+
|
17
|
+
mint-debugger
|
18
|
+
|
19
|
+
== REQUIREMENTS:
|
20
|
+
|
21
|
+
* Requires libsdl and libmagick.
|
22
|
+
|
23
|
+
For a easy installation just install teh following packages on your ubuntu 10.04 LTS machine:
|
24
|
+
|
25
|
+
sudo apt-get install build-essential libsdl-dev libsdl-mixer1.2-dev libmagickcore-dev libmagickwand-dev libwxbase2.8-0 libwxgtk2.8-0
|
26
|
+
|
27
|
+
== INSTALL:
|
28
|
+
|
29
|
+
* sudo gem install MINT-debugger
|
30
|
+
|
31
|
+
== DEVELOPERS:
|
32
|
+
|
33
|
+
After checking out the source, run:
|
34
|
+
|
35
|
+
$ rake newb
|
36
|
+
|
37
|
+
This task will install any missing dependencies, run the tests/specs,
|
38
|
+
and generate the RDoc.
|
39
|
+
|
40
|
+
== LICENSE:
|
41
|
+
|
42
|
+
(The MIT License)
|
43
|
+
|
44
|
+
Copyright (c) 2011 Sebastian Feuerstack
|
45
|
+
|
46
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
47
|
+
a copy of this software and associated documentation files (the
|
48
|
+
'Software'), to deal in the Software without restriction, including
|
49
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
50
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
51
|
+
permit persons to whom the Software is furnished to do so, subject to
|
52
|
+
the following conditions:
|
53
|
+
|
54
|
+
The above copyright notice and this permission notice shall be
|
55
|
+
included in all copies or substantial portions of the Software.
|
56
|
+
|
57
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
58
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
59
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
60
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
61
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
62
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
63
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'hoe'
|
5
|
+
|
6
|
+
# Hoe.plugin :compiler
|
7
|
+
# Hoe.plugin :cucumberfeatures
|
8
|
+
# Hoe.plugin :gem_prelude_sucks
|
9
|
+
# Hoe.plugin :inline
|
10
|
+
# Hoe.plugin :manifest
|
11
|
+
Hoe.plugin :newgem
|
12
|
+
# Hoe.plugin :racc
|
13
|
+
# Hoe.plugin :rubyforge
|
14
|
+
# Hoe.plugin :website
|
15
|
+
|
16
|
+
Hoe.spec 'MINT-debugger' do
|
17
|
+
self.developer 'Sebastian Feuerstack', 'Sebastian@Feuerstack.org'
|
18
|
+
self.rubyforge_name = self.name # TODO this is default value
|
19
|
+
self.extra_deps = [['MINT-core','~> 1.0.0'],
|
20
|
+
['wxruby',"~>2.0.0"]]
|
21
|
+
end
|
22
|
+
|
23
|
+
# vim: syntax=ruby
|
data/bin/mint-debugger
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
4
|
+
require 'MINT-debugger'
|
5
|
+
|
6
|
+
require 'rubygems'
|
7
|
+
require 'bundler/setup'
|
8
|
+
require 'MINT-core'
|
9
|
+
|
10
|
+
include MINT
|
11
|
+
|
12
|
+
# Wx::App is the container class for any wxruby app. To start an
|
13
|
+
# application, either define a subclass of Wx::App, create an instance,
|
14
|
+
# and call its main_loop method, OR, simply call the Wx::App.run class
|
15
|
+
# method, as shown here.
|
16
|
+
Wx::App.run do
|
17
|
+
self.app_name = 'MINT Debugger'
|
18
|
+
|
19
|
+
frame = MinimalFrame.new("MINT Debugger")
|
20
|
+
frame.show
|
21
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
$:.unshift(File.dirname(__FILE__)) unless
|
2
|
+
$:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
|
3
|
+
|
4
|
+
module MINTDebugger
|
5
|
+
VERSION = '1.0.0'
|
6
|
+
end
|
7
|
+
|
8
|
+
require 'rubygems'
|
9
|
+
require "bundler/setup"
|
10
|
+
require 'dm-core'
|
11
|
+
require 'MINT-core'
|
12
|
+
require 'wx'
|
13
|
+
require 'time'
|
14
|
+
|
15
|
+
require "MINT-debugger/debugger2"
|
16
|
+
|
Binary file
|
@@ -0,0 +1,238 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
DataMapper.setup(:default, { :adapter => "rinda", :host =>"localhost",:port=>4000})
|
4
|
+
|
5
|
+
ID_REFRESH = 1235
|
6
|
+
ID_DELETE_ENTRY = 1236
|
7
|
+
|
8
|
+
class NBPanel < Wx::Panel
|
9
|
+
attr_accessor :win
|
10
|
+
def initialize(parent)
|
11
|
+
super(parent, -1)
|
12
|
+
evt_size {|event| on_size(event)}
|
13
|
+
@win
|
14
|
+
end
|
15
|
+
|
16
|
+
def on_size(event)
|
17
|
+
win.set_size(event.get_size())
|
18
|
+
win.notfifyNewSize(event.get_size())
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
class DataModel < Wx::ListCtrl
|
23
|
+
|
24
|
+
def initialize(col_labels,modelname,parent)
|
25
|
+
super(parent, :style => Wx::LC_REPORT | Wx::LC_VIRTUAL)
|
26
|
+
@col_labels = col_labels
|
27
|
+
@modelname = modelname
|
28
|
+
col_labels.each_with_index { |c,i|
|
29
|
+
insert_column(i,c,Wx::LIST_FORMAT_LEFT, -1)
|
30
|
+
set_column_width(i,175)
|
31
|
+
}
|
32
|
+
|
33
|
+
@query = [modelname]
|
34
|
+
col_labels.each {
|
35
|
+
@query << nil
|
36
|
+
}
|
37
|
+
|
38
|
+
read_data(modelname)
|
39
|
+
|
40
|
+
# to fill the data into the list using the on_get_item_text callbacks
|
41
|
+
set_item_count @data.size
|
42
|
+
end
|
43
|
+
|
44
|
+
def read_data (modelname)
|
45
|
+
|
46
|
+
@data = []
|
47
|
+
|
48
|
+
result = modelname.class.all
|
49
|
+
result.each do |entry|
|
50
|
+
row = []
|
51
|
+
@col_labels.each do |col|
|
52
|
+
row << entry.method(col.intern).call
|
53
|
+
end
|
54
|
+
@data << row
|
55
|
+
end
|
56
|
+
|
57
|
+
p @data
|
58
|
+
@data
|
59
|
+
end
|
60
|
+
|
61
|
+
def delete_data(items)
|
62
|
+
items.sort!{|x,y| y <=> x }
|
63
|
+
|
64
|
+
items.each { |i|
|
65
|
+
query = { }
|
66
|
+
@col_labels.each_with_index do |col,j|
|
67
|
+
query[col]=@data[i][j]
|
68
|
+
end
|
69
|
+
p "Delete query #{query.inspect}"
|
70
|
+
result = @modelname.class.first(query)
|
71
|
+
p "Delete result #{result.inspect}"
|
72
|
+
result.destroy!
|
73
|
+
@data.delete_at(i)
|
74
|
+
}
|
75
|
+
refresh_data
|
76
|
+
end
|
77
|
+
|
78
|
+
def refresh_data
|
79
|
+
read_data (@modelname)
|
80
|
+
set_item_count @data.size
|
81
|
+
refresh_items(0,@data.size)
|
82
|
+
p "Refresh to #{@data.size}"
|
83
|
+
end
|
84
|
+
|
85
|
+
# use array like indexing of fields in Struct to
|
86
|
+
# directly retrieve data for display
|
87
|
+
def on_get_item_text(item, column)
|
88
|
+
@data[item][column].to_s
|
89
|
+
|
90
|
+
end
|
91
|
+
|
92
|
+
# used to rearrange columns width's based on window width
|
93
|
+
def notfifyNewSize(size)
|
94
|
+
@col_labels.each_with_index { |c,i|
|
95
|
+
set_column_width(i,size.get_width/@col_labels.size)
|
96
|
+
}
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
# A Wx::Frame is a self-contained, top-level Window that can contain
|
101
|
+
# controls, menubars, and statusbars
|
102
|
+
class MinimalFrame < Wx::Frame
|
103
|
+
def initialize(title)
|
104
|
+
# The main application frame has no parent (nil)
|
105
|
+
super(nil, :title => title, :size => [ 800, 600 ])
|
106
|
+
|
107
|
+
@logo_icon = Wx::Image.new(File.dirname(__FILE__)+"/MINT-Logo-short-bg.png") # load the image from the file
|
108
|
+
@logo_image = Wx::Bitmap.new(@logo_icon)
|
109
|
+
|
110
|
+
|
111
|
+
@licence = File.read(File.dirname(__FILE__)+"/licence-code.txt")
|
112
|
+
|
113
|
+
splash = Wx::SplashScreen.new(@logo_image,
|
114
|
+
Wx::SPLASH_CENTRE_ON_SCREEN|Wx::SPLASH_TIMEOUT,
|
115
|
+
3000, nil, -1)
|
116
|
+
|
117
|
+
@model_panels=[]
|
118
|
+
|
119
|
+
menu_bar = Wx::MenuBar.new
|
120
|
+
# The "file" menu
|
121
|
+
menu_file = Wx::Menu.new
|
122
|
+
# Using Wx::ID_EXIT standard id means the menu item will be given
|
123
|
+
# the right label for the platform and language, and placed in the
|
124
|
+
# correct platform-specific menu - eg on OS X, in the Application's menu
|
125
|
+
menu_file.append(Wx::ID_EXIT, "E&xit\tAlt-X", "Quit this program")
|
126
|
+
menu_file.append(ID_REFRESH, "&Refresh\tAlt-R", "Refresh models")
|
127
|
+
|
128
|
+
menu_bar.append(menu_file, "&File")
|
129
|
+
|
130
|
+
# The Model menu
|
131
|
+
# menu_model= Wx::Menu.new
|
132
|
+
#menu_model.append(ID_DELETE_ENTRY, "&Delete Entry\tAlt-D", "Deletes Selected Entries")
|
133
|
+
#menu_bar.append(menu_model, "&Model")
|
134
|
+
|
135
|
+
# The "help" menu
|
136
|
+
menu_help = Wx::Menu.new
|
137
|
+
menu_help.append(Wx::ID_ABOUT, "&About...\tF1", "Show about dialog")
|
138
|
+
menu_bar.append(menu_help, "&Help")
|
139
|
+
|
140
|
+
# Assign the menubar to this frame
|
141
|
+
self.menu_bar = menu_bar
|
142
|
+
|
143
|
+
# Create a status bar at the bottom of the frame
|
144
|
+
@status_bar = create_status_bar(2)
|
145
|
+
self.status_text = "Happy debugging!"
|
146
|
+
|
147
|
+
# Set it up to handle menu events using the relevant methods.
|
148
|
+
evt_menu Wx::ID_EXIT, :on_quit
|
149
|
+
evt_menu Wx::ID_ABOUT, :on_about
|
150
|
+
evt_menu(ID_REFRESH) { |event| refreshAllModels(event,self)}
|
151
|
+
evt_menu(ID_DELETE_ENTRY) { |event| deleteEntry(event)}
|
152
|
+
|
153
|
+
@m_notebook = Wx::Notebook.new(self, -1,Wx::DEFAULT_POSITION,
|
154
|
+
Wx::DEFAULT_SIZE)
|
155
|
+
|
156
|
+
# Task Model
|
157
|
+
panel = create_list_panel(@m_notebook, MINT::Task.new, ["name","states","abstract_states","new_states","description"])
|
158
|
+
@m_notebook.add_page(panel,"Task-Model",TRUE)
|
159
|
+
|
160
|
+
# AUI Model
|
161
|
+
panel = create_list_panel(@m_notebook, MINT::AIO.new, ["name","class","states","abstract_states","new_states","label","description"])
|
162
|
+
@m_notebook.add_page(panel,"AUI-Model",TRUE)
|
163
|
+
|
164
|
+
# PTS Model
|
165
|
+
panel = create_list_panel(@m_notebook, MINT::PTS.new, ["name","states","abstract_states","new_states"])
|
166
|
+
@m_notebook.add_page(panel,"PTS",TRUE)
|
167
|
+
|
168
|
+
# Domain
|
169
|
+
#panel = create_list_panel(@m_notebook, Domain.new, ["task","description","options"])
|
170
|
+
#@m_notebook.add_page(panel,"Domain-Model",TRUE)
|
171
|
+
|
172
|
+
# CUI
|
173
|
+
# panel = create_list_panel(@m_notebook, MINT::Box.new, ["name","state","x","y","width","height","layer"])
|
174
|
+
# @m_notebook.add_page(panel,"CUI-Model-Box",TRUE)
|
175
|
+
|
176
|
+
# CUI Layout-Calc
|
177
|
+
panel = create_list_panel(@m_notebook, MINT::CIO.new, ["name","class","states","abstract_states","new_states","width","height","x","y","layer","row","col"])
|
178
|
+
#"text","minwidth","minheight","optspace","minspace",
|
179
|
+
@m_notebook.add_page(panel,"CUI-gfx",TRUE)
|
180
|
+
|
181
|
+
# Mouse
|
182
|
+
panel = create_list_panel(@m_notebook, MINT::Pointer3D.new, ["name","states","abstract_states","new_states","x","y","z"])
|
183
|
+
@m_notebook.add_page(panel,"MouseHTML",TRUE)
|
184
|
+
|
185
|
+
# IR
|
186
|
+
panel = create_list_panel(@m_notebook, MINT::OneHand.new, ["class","name","states","abstract_states","new_states","amount"])
|
187
|
+
@m_notebook.add_page(panel,"Gesture",TRUE)
|
188
|
+
# IR
|
189
|
+
panel = create_list_panel(@m_notebook, MINT::Element.new, ["class","name","states","abstract_states","new_states"])
|
190
|
+
@m_notebook.add_page(panel,"Element",TRUE)
|
191
|
+
end
|
192
|
+
|
193
|
+
def refreshAllModels(event,frame)
|
194
|
+
p "Refresh all"
|
195
|
+
@model_panels.each { |p|
|
196
|
+
p.refresh_data
|
197
|
+
}
|
198
|
+
@status_bar.push_status_text "Refreshed at #{Time.now}"
|
199
|
+
end
|
200
|
+
|
201
|
+
def deleteEntry(event)
|
202
|
+
p "Delete Entry"
|
203
|
+
selections = @m_notebook.get_current_page.win.get_selections
|
204
|
+
@m_notebook.get_current_page.win.delete_data(selections)
|
205
|
+
end
|
206
|
+
|
207
|
+
def create_list_panel(notebook, modelname, col_labels)
|
208
|
+
panel = NBPanel.new(notebook)
|
209
|
+
|
210
|
+
list = DataModel.new(col_labels,modelname,panel)
|
211
|
+
@model_panels << list
|
212
|
+
panel.win = list
|
213
|
+
|
214
|
+
|
215
|
+
box = Wx::BoxSizer.new(Wx::HORIZONTAL)
|
216
|
+
box.add(panel, 1, Wx::EXPAND)
|
217
|
+
panel
|
218
|
+
end
|
219
|
+
# End the application; it should finish automatically when the last
|
220
|
+
# window is closed.
|
221
|
+
def on_quit
|
222
|
+
close()
|
223
|
+
end
|
224
|
+
|
225
|
+
# show an 'About' dialog - WxRuby's about_box function will show a
|
226
|
+
# platform-native 'About' dialog, but you could also use an ordinary
|
227
|
+
# Wx::MessageDialog here.
|
228
|
+
def on_about
|
229
|
+
Wx::about_box(:name => self.title,
|
230
|
+
:version => "1.0",
|
231
|
+
:description => "This is the initial version of the MINT Debugger",
|
232
|
+
:developers => ['Dr.-Ing. Sebastian Feuerstack'] ,
|
233
|
+
:copyright => "(C) Sebastian Feuerstack 2010",
|
234
|
+
:web_site => "http://www.multi-access.de",
|
235
|
+
:licence => @licence,
|
236
|
+
:icon => Wx::Icon.from_bitmap(@logo_image))
|
237
|
+
end
|
238
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
The MINT framework is developed by Sebastian Feuerstack Copyright (C)
|
2
|
+
2010 Sebastian Feuerstack
|
3
|
+
|
4
|
+
This program is free software; you can redistribute it and/or modify
|
5
|
+
it under the terms of the GNU Affero General Public License version 3
|
6
|
+
as published by the Free Software Foundation.
|
7
|
+
|
8
|
+
This program is distributed in the hope that it will be useful, but
|
9
|
+
WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
11
|
+
General Public License for more details.
|
12
|
+
|
13
|
+
You should have received a copy of the GNU Affero General Public
|
14
|
+
License along with this program; if not, see
|
15
|
+
http://www.gnu.org/licenses or write to the Free Software Foundation,
|
16
|
+
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
17
|
+
|
18
|
+
You can contact Sebastian Feuerstack using the contact formular on his
|
19
|
+
homepage http://www.feuerstack.org.
|
20
|
+
|
21
|
+
The modified source and object code versions of this program must
|
22
|
+
display Appropriate Legal Notices, as required under Section 5 of the
|
23
|
+
GNU Affero General Public License version 3.
|
24
|
+
|
25
|
+
In accordance with Section 7(b) of the GNU Affero General Public
|
26
|
+
License version 3, these Appropriate Legal Notices must retain the
|
27
|
+
display of the "Powered by MINT Framework" logo. If the display of
|
28
|
+
the logo is not reasonably feasible for technical reasons, the
|
29
|
+
Appropriate Legal Notices must display the words "Powered by MINT
|
30
|
+
Framework".
|
31
|
+
|
metadata
ADDED
@@ -0,0 +1,127 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: MINT-debugger
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 23
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
version: 1.0.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Sebastian Feuerstack
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-11-02 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: MINT-core
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ~>
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 23
|
29
|
+
segments:
|
30
|
+
- 1
|
31
|
+
- 0
|
32
|
+
- 0
|
33
|
+
version: 1.0.0
|
34
|
+
type: :runtime
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: wxruby
|
38
|
+
prerelease: false
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ~>
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 15
|
45
|
+
segments:
|
46
|
+
- 2
|
47
|
+
- 0
|
48
|
+
- 0
|
49
|
+
version: 2.0.0
|
50
|
+
type: :runtime
|
51
|
+
version_requirements: *id002
|
52
|
+
- !ruby/object:Gem::Dependency
|
53
|
+
name: hoe
|
54
|
+
prerelease: false
|
55
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
56
|
+
none: false
|
57
|
+
requirements:
|
58
|
+
- - ~>
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
hash: 17
|
61
|
+
segments:
|
62
|
+
- 2
|
63
|
+
- 9
|
64
|
+
version: "2.9"
|
65
|
+
type: :development
|
66
|
+
version_requirements: *id003
|
67
|
+
description: The Multimodal Interaction Framwork debugger enables model inspection at system runtime.
|
68
|
+
email:
|
69
|
+
- Sebastian@Feuerstack.org
|
70
|
+
executables:
|
71
|
+
- mint-debugger
|
72
|
+
extensions: []
|
73
|
+
|
74
|
+
extra_rdoc_files:
|
75
|
+
- History.txt
|
76
|
+
- Manifest.txt
|
77
|
+
- lib/MINT-debugger/licence-code.txt
|
78
|
+
files:
|
79
|
+
- Gemfile
|
80
|
+
- Gemfile.lock
|
81
|
+
- History.txt
|
82
|
+
- MINT-debugger.gemspec
|
83
|
+
- Manifest.txt
|
84
|
+
- README.rdoc
|
85
|
+
- Rakefile
|
86
|
+
- bin/mint-debugger
|
87
|
+
- lib/MINT-debugger.rb
|
88
|
+
- lib/MINT-debugger/MINT-Logo-short-bg.png
|
89
|
+
- lib/MINT-debugger/debugger2.rb
|
90
|
+
- lib/MINT-debugger/licence-code.txt
|
91
|
+
- .gemtest
|
92
|
+
homepage: http://www.multi-access.de
|
93
|
+
licenses: []
|
94
|
+
|
95
|
+
post_install_message:
|
96
|
+
rdoc_options:
|
97
|
+
- --main
|
98
|
+
- README.rdoc
|
99
|
+
require_paths:
|
100
|
+
- lib
|
101
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
102
|
+
none: false
|
103
|
+
requirements:
|
104
|
+
- - ">="
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
hash: 3
|
107
|
+
segments:
|
108
|
+
- 0
|
109
|
+
version: "0"
|
110
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
|
+
none: false
|
112
|
+
requirements:
|
113
|
+
- - ">="
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
hash: 3
|
116
|
+
segments:
|
117
|
+
- 0
|
118
|
+
version: "0"
|
119
|
+
requirements: []
|
120
|
+
|
121
|
+
rubyforge_project: MINT-debugger
|
122
|
+
rubygems_version: 1.8.5
|
123
|
+
signing_key:
|
124
|
+
specification_version: 3
|
125
|
+
summary: The Multimodal Interaction Framwork debugger enables model inspection at system runtime.
|
126
|
+
test_files: []
|
127
|
+
|