rudebug 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/COPYING ADDED
@@ -0,0 +1,56 @@
1
+ rudebug is copyrighted free software by Florian Gross <flgr@ccan.de>.
2
+ You can redistribute it and/or modify it under either the terms of the GPL
3
+ (see http://www.gnu.org/licenses/gpl.html), or the conditions below:
4
+
5
+ 1. You may make and give away verbatim copies of the source form of the
6
+ software without restriction, provided that you duplicate all of the
7
+ original copyright notices and associated disclaimers.
8
+
9
+ 2. You may modify your copy of the software in any way, provided that
10
+ you do at least ONE of the following:
11
+
12
+ a) place your modifications in the Public Domain or otherwise
13
+ make them Freely Available, such as by posting said
14
+ modifications to Usenet or an equivalent medium, or by allowing
15
+ the author to include your modifications in the software.
16
+
17
+ b) use the modified software only within your corporation or
18
+ organization.
19
+
20
+ c) give non-standard binaries non-standard names, with
21
+ instructions on where to get the original software distribution.
22
+
23
+ d) make other distribution arrangements with the author.
24
+
25
+ 3. You may distribute the software in object code or binary form,
26
+ provided that you do at least ONE of the following:
27
+
28
+ a) distribute the binaries and library files of the software,
29
+ together with instructions (in the manual page or equivalent)
30
+ on where to get the original distribution.
31
+
32
+ b) accompany the distribution with the machine-readable source of
33
+ the software.
34
+
35
+ c) give non-standard binaries non-standard names, with
36
+ instructions on where to get the original software distribution.
37
+
38
+ d) make other distribution arrangements with the author.
39
+
40
+ 4. You may modify and include the part of the software into any other
41
+ software (possibly commercial). But some files in the distribution
42
+ are not written by the author, so that they are not under these terms.
43
+
44
+ For the list of those files and their copying conditions, see the
45
+ file LEGAL.
46
+
47
+ 5. The scripts and library files supplied as input to or produced as
48
+ output from the software do not automatically fall under the
49
+ copyright of the software, but belong to whomever generated them,
50
+ and may be sold commercially, and may be aggregated with this
51
+ software.
52
+
53
+ 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
54
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
55
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
56
+ PURPOSE.
data/NEWS ADDED
@@ -0,0 +1,6 @@
1
+ = NEWS
2
+
3
+ This file sums up important changes that happened between releases.
4
+
5
+ == rudebug 0.3.0
6
+ * Initial release
data/README ADDED
@@ -0,0 +1,31 @@
1
+ = README for rudebug -- A graphical debugger for Ruby
2
+
3
+ rudebug is written using Ruby-GNOME2 and Glade. It has support for local and remote debugging with ruby-debug and ruby-breakpoint. It should work fine on Windows and Linux.
4
+
5
+ It has stepping stepping, a source code display, a powerful object browser and an interactive shell as well as additional integration and polish to make those components work together well.
6
+
7
+ It is in an early stage and will likely remain so until I have a way of using it on Mac OS X. I don't want this to molder on my hard disk however without ever having seen a public release.
8
+
9
+ With ~900 lines of actual code (excluding the glade file) it is fairly light-weight. Code quality fluctuates. Some of the code needs to be unusual because it is executed on the server and can't touch its environment, other bits could probably need some refactoring.
10
+
11
+ It was developed as part of a Summer of Code 2006 project for RubyCentral Inc.
12
+
13
+
14
+ * Dependencies: Ruby-GNOME2, rsyntax*, ruby-debug* (* = automatically installed by RubyGems)
15
+ * Dual-licensed under GPL and Ruby's license.
16
+ * Homepage: http://code.google.com/p/rudebug/
17
+ * Author: Florian Gross <flgr@ccan.de>
18
+
19
+ See the NEWS file for the changes that were done in this release.
20
+
21
+
22
+ == Installation
23
+
24
+ De-compress archive and enter its top directory. Then type:
25
+
26
+ ($ su)
27
+ # ruby setup.rb
28
+
29
+ This simple step installs this program under the default location of Ruby
30
+ libraries. You can also install files into your favorite directory by supplying
31
+ setup.rb with some options. Try "ruby setup.rb --help".
data/Rakefile ADDED
@@ -0,0 +1,112 @@
1
+ require 'rake'
2
+ require 'rake/packagetask'
3
+ require 'rake/rdoctask'
4
+ require 'find'
5
+
6
+ readme = File.read("README").gsub("\r\n", "\n")
7
+ author_line = readme[/^\*\s*Author:.+$/].split(/\s+/, 2)[1] rescue nil
8
+
9
+ # Manual globals
10
+
11
+ PKG_AUTOREQUIRE = nil
12
+ PKG_RUBY_VERSION = '>= 1.8.4'
13
+ PKG_GEM_DEPENDENCIES = {
14
+ "syntax", ">= 1.0.0",
15
+ "ruby-debug", ">= 0.5.2"
16
+ }
17
+ PKG_RDOC_FILES = ['README', 'NEWS']
18
+ PKG_RDOC_OPTIONS = %w(--all --main README --title #{PKG_NAME})
19
+ PKG_FILES = PKG_RDOC_FILES + ['COPYING', 'setup.rb', 'Rakefile']
20
+
21
+ # Automatic globals
22
+
23
+ PKG_NAME, PKG_VERSION = *File.read("NEWS")[/^==.+$/].split(/\s+/)[1..2]
24
+ PKG_SUMMARY = readme[/^=.+$/].split(/--/)[1].strip rescue nil
25
+ PKG_DESCRIPTION = readme.split(/\n{3,}/)[0].sub(/^=.+$\s*/, "") rescue nil
26
+ PKG_HOMEPAGE = readme[/^\*\s*Homepage:.+$/].split(/\s+/, 2)[1] rescue nil
27
+ PKG_EMAIL = author_line[/<(.+)>/, 1] rescue nil
28
+ PKG_AUTHOR = author_line.sub(PKG_EMAIL, "").sub("<>", "").strip rescue nil
29
+
30
+ Find.find('lib/', 'test/', 'bin/') do |file|
31
+ if FileTest.directory?(file) and file[/\.svn/i] then
32
+ Find.prune
33
+ elsif !file[/\.DS_Store/i] then
34
+ PKG_FILES << file
35
+ end
36
+ end
37
+
38
+ PKG_FILES.reject! { |file| !File.file?(file) }
39
+
40
+ PKG_EXE_FILES, PKG_LIB_FILES = *%w(bin/ lib/).map do |dir|
41
+ PKG_FILES.grep(/#{dir}/i).reject { |f| File.directory?(f) }
42
+ end
43
+
44
+ PKG_EXE_FILES.map! { |exe| exe.sub(%r(^bin/), "") }
45
+
46
+ # Tasks
47
+
48
+ task :default => :test
49
+
50
+ # Test task
51
+ if File.exist?("test/") then
52
+ require 'rake/testtask'
53
+
54
+ Rake::TestTask.new do |test|
55
+ test.test_files = ['test/tc_all.rb']
56
+ end
57
+ else
58
+ task :test do
59
+ puts "No tests to run"
60
+ end
61
+ end
62
+
63
+ # Doc task
64
+ Rake::RDocTask.new do |rd|
65
+ rd.rdoc_files.include(PKG_LIB_FILES, PKG_RDOC_FILES)
66
+ rd.options += PKG_RDOC_OPTIONS
67
+ end
68
+
69
+ # Tar task
70
+ Rake::PackageTask.new(PKG_NAME, PKG_VERSION) do |pkg|
71
+ pkg.need_tar = true
72
+ pkg.package_files = PKG_FILES
73
+ end
74
+
75
+ # Gem task
76
+ begin
77
+ require 'rake/gempackagetask'
78
+
79
+ spec = Gem::Specification.new do |spec|
80
+ spec.name = PKG_NAME
81
+ spec.version = PKG_VERSION
82
+ spec.summary = PKG_SUMMARY
83
+ spec.description = PKG_DESCRIPTION
84
+
85
+ spec.homepage = PKG_HOMEPAGE
86
+ spec.email = PKG_EMAIL
87
+ spec.author = PKG_AUTHOR
88
+
89
+ spec.has_rdoc = true
90
+ spec.extra_rdoc_files = PKG_RDOC_FILES
91
+ spec.rdoc_options += PKG_RDOC_OPTIONS
92
+
93
+ if File.exist?("test/") then
94
+ spec.test_files = ['test/tc_all.rb']
95
+ end
96
+
97
+ spec.required_ruby_version = PKG_RUBY_VERSION
98
+ (PKG_GEM_DEPENDENCIES || {}).each do |name, version|
99
+ spec.add_dependency(name, version)
100
+ end
101
+
102
+ spec.files = PKG_FILES
103
+ spec.executables = PKG_EXE_FILES
104
+ spec.autorequire = PKG_AUTOREQUIRE
105
+ end
106
+
107
+ Rake::GemPackageTask.new(spec) do |pkg|
108
+ pkg.need_zip = true
109
+ pkg.need_tar = true
110
+ end
111
+ rescue LoadError
112
+ end
data/bin/rudebug ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $LOAD_PATH.unshift("../lib")
4
+ require 'rudebug'
data/lib/rudebug.glade ADDED
@@ -0,0 +1,894 @@
1
+ <?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
2
+ <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
3
+
4
+ <glade-interface>
5
+
6
+ <widget class="GtkWindow" id="main-window">
7
+ <property name="title" translatable="yes">rudebug</property>
8
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
9
+ <property name="window_position">GTK_WIN_POS_NONE</property>
10
+ <property name="modal">False</property>
11
+ <property name="default_width">800</property>
12
+ <property name="default_height">600</property>
13
+ <property name="resizable">True</property>
14
+ <property name="destroy_with_parent">False</property>
15
+ <property name="icon_name">gtk-help</property>
16
+ <property name="decorated">True</property>
17
+ <property name="skip_taskbar_hint">False</property>
18
+ <property name="skip_pager_hint">False</property>
19
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
20
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
21
+ <property name="focus_on_map">True</property>
22
+ <property name="urgency_hint">False</property>
23
+ <signal name="destroy" handler="on_main_window_destroy" last_modification_time="Wed, 16 Aug 2006 21:57:26 GMT"/>
24
+
25
+ <child>
26
+ <widget class="GtkVBox" id="main-vbox">
27
+ <property name="visible">True</property>
28
+ <property name="homogeneous">False</property>
29
+ <property name="spacing">0</property>
30
+
31
+ <child>
32
+ <widget class="GtkHBox" id="main-menu-hbox">
33
+ <property name="visible">True</property>
34
+ <property name="homogeneous">False</property>
35
+ <property name="spacing">0</property>
36
+
37
+ <child>
38
+ <widget class="GtkMenuBar" id="main-menubar">
39
+ <property name="visible">True</property>
40
+ <property name="pack_direction">GTK_PACK_DIRECTION_LTR</property>
41
+ <property name="child_pack_direction">GTK_PACK_DIRECTION_LTR</property>
42
+
43
+ <child>
44
+ <widget class="GtkMenuItem" id="rudebug-menuitem">
45
+ <property name="visible">True</property>
46
+ <property name="label" translatable="yes">ru_debug</property>
47
+ <property name="use_underline">True</property>
48
+
49
+ <child>
50
+ <widget class="GtkMenu" id="rudebug-menuitem_menu">
51
+
52
+ <child>
53
+ <widget class="GtkImageMenuItem" id="connect-menuitem">
54
+ <property name="visible">True</property>
55
+ <property name="label">gtk-connect</property>
56
+ <property name="use_stock">True</property>
57
+ <signal name="activate" handler="on_connect_activate" last_modification_time="Wed, 16 Aug 2006 21:43:47 GMT"/>
58
+ <accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/>
59
+ </widget>
60
+ </child>
61
+
62
+ <child>
63
+ <widget class="GtkImageMenuItem" id="disconnect-menuitem">
64
+ <property name="visible">True</property>
65
+ <property name="sensitive">False</property>
66
+ <property name="label">gtk-disconnect</property>
67
+ <property name="use_stock">True</property>
68
+ <signal name="activate" handler="on_disconnect_activate" last_modification_time="Thu, 17 Aug 2006 16:23:12 GMT"/>
69
+ <accelerator key="D" modifiers="GDK_CONTROL_MASK" signal="activate"/>
70
+ </widget>
71
+ </child>
72
+
73
+ <child>
74
+ <widget class="GtkSeparatorMenuItem" id="rudebug-menuseparator">
75
+ <property name="visible">True</property>
76
+ </widget>
77
+ </child>
78
+
79
+ <child>
80
+ <widget class="GtkImageMenuItem" id="quit-menuitem">
81
+ <property name="visible">True</property>
82
+ <property name="label">gtk-quit</property>
83
+ <property name="use_stock">True</property>
84
+ <signal name="activate" handler="on_quit_activate" last_modification_time="Wed, 16 Aug 2006 21:44:14 GMT"/>
85
+ <signal name="activate_item" handler="on_quit_activate" last_modification_time="Sun, 20 Aug 2006 16:58:37 GMT"/>
86
+ </widget>
87
+ </child>
88
+ </widget>
89
+ </child>
90
+ </widget>
91
+ </child>
92
+ </widget>
93
+ <packing>
94
+ <property name="padding">0</property>
95
+ <property name="expand">False</property>
96
+ <property name="fill">False</property>
97
+ </packing>
98
+ </child>
99
+
100
+ <child>
101
+ <widget class="GtkVSeparator" id="main-menu-vsep">
102
+ <property name="visible">True</property>
103
+ </widget>
104
+ <packing>
105
+ <property name="padding">0</property>
106
+ <property name="expand">False</property>
107
+ <property name="fill">True</property>
108
+ </packing>
109
+ </child>
110
+
111
+ <child>
112
+ <widget class="GtkToolbar" id="main-toolbar">
113
+ <property name="visible">True</property>
114
+ <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
115
+ <property name="toolbar_style">GTK_TOOLBAR_ICONS</property>
116
+ <property name="tooltips">True</property>
117
+ <property name="show_arrow">True</property>
118
+
119
+ <child>
120
+ <widget class="GtkToolButton" id="connect-button">
121
+ <property name="visible">True</property>
122
+ <property name="stock_id">gtk-connect</property>
123
+ <property name="visible_horizontal">True</property>
124
+ <property name="visible_vertical">True</property>
125
+ <property name="is_important">False</property>
126
+ <signal name="clicked" handler="on_connect_button_clicked" last_modification_time="Wed, 16 Aug 2006 22:30:25 GMT"/>
127
+ </widget>
128
+ <packing>
129
+ <property name="expand">False</property>
130
+ <property name="homogeneous">True</property>
131
+ </packing>
132
+ </child>
133
+
134
+ <child>
135
+ <widget class="GtkToolButton" id="disconnect-button">
136
+ <property name="visible">True</property>
137
+ <property name="sensitive">False</property>
138
+ <property name="stock_id">gtk-disconnect</property>
139
+ <property name="visible_horizontal">True</property>
140
+ <property name="visible_vertical">True</property>
141
+ <property name="is_important">False</property>
142
+ <signal name="clicked" handler="on_disconnect_button_clicked" last_modification_time="Thu, 17 Aug 2006 15:59:46 GMT"/>
143
+ </widget>
144
+ <packing>
145
+ <property name="expand">False</property>
146
+ <property name="homogeneous">True</property>
147
+ </packing>
148
+ </child>
149
+
150
+ <child>
151
+ <widget class="GtkSeparatorToolItem" id="toolbar-separator1">
152
+ <property name="visible">True</property>
153
+ <property name="draw">True</property>
154
+ <property name="visible_horizontal">True</property>
155
+ <property name="visible_vertical">True</property>
156
+ </widget>
157
+ <packing>
158
+ <property name="expand">False</property>
159
+ <property name="homogeneous">False</property>
160
+ </packing>
161
+ </child>
162
+
163
+ <child>
164
+ <widget class="GtkToolButton" id="continue-button">
165
+ <property name="visible">True</property>
166
+ <property name="sensitive">False</property>
167
+ <property name="label" translatable="yes"></property>
168
+ <property name="use_underline">True</property>
169
+ <property name="stock_id">gtk-media-play</property>
170
+ <property name="visible_horizontal">True</property>
171
+ <property name="visible_vertical">True</property>
172
+ <property name="is_important">False</property>
173
+ <signal name="clicked" handler="on_continue_button_clicked" last_modification_time="Sun, 20 Aug 2006 15:12:36 GMT"/>
174
+ </widget>
175
+ <packing>
176
+ <property name="expand">False</property>
177
+ <property name="homogeneous">True</property>
178
+ </packing>
179
+ </child>
180
+
181
+ <child>
182
+ <widget class="GtkSeparatorToolItem" id="toolbar-separator2">
183
+ <property name="visible">True</property>
184
+ <property name="draw">True</property>
185
+ <property name="visible_horizontal">True</property>
186
+ <property name="visible_vertical">True</property>
187
+ </widget>
188
+ <packing>
189
+ <property name="expand">False</property>
190
+ <property name="homogeneous">False</property>
191
+ </packing>
192
+ </child>
193
+
194
+ <child>
195
+ <widget class="GtkToolButton" id="step-into-button">
196
+ <property name="visible">True</property>
197
+ <property name="sensitive">False</property>
198
+ <property name="stock_id">gtk-media-next</property>
199
+ <property name="visible_horizontal">True</property>
200
+ <property name="visible_vertical">True</property>
201
+ <property name="is_important">False</property>
202
+ <signal name="clicked" handler="on_step_into_button_clicked" last_modification_time="Mon, 21 Aug 2006 00:32:29 GMT"/>
203
+ </widget>
204
+ <packing>
205
+ <property name="expand">False</property>
206
+ <property name="homogeneous">True</property>
207
+ </packing>
208
+ </child>
209
+
210
+ <child>
211
+ <widget class="GtkToolButton" id="step-over-button">
212
+ <property name="visible">True</property>
213
+ <property name="sensitive">False</property>
214
+ <property name="stock_id">gtk-media-forward</property>
215
+ <property name="visible_horizontal">True</property>
216
+ <property name="visible_vertical">True</property>
217
+ <property name="is_important">False</property>
218
+ <signal name="clicked" handler="on_step_over_button_clicked" after="yes" last_modification_time="Mon, 21 Aug 2006 00:32:20 GMT"/>
219
+ </widget>
220
+ <packing>
221
+ <property name="expand">False</property>
222
+ <property name="homogeneous">True</property>
223
+ </packing>
224
+ </child>
225
+ </widget>
226
+ <packing>
227
+ <property name="padding">0</property>
228
+ <property name="expand">True</property>
229
+ <property name="fill">True</property>
230
+ </packing>
231
+ </child>
232
+ </widget>
233
+ <packing>
234
+ <property name="padding">0</property>
235
+ <property name="expand">False</property>
236
+ <property name="fill">False</property>
237
+ </packing>
238
+ </child>
239
+
240
+ <child>
241
+ <widget class="GtkHSeparator" id="main-menu-hsep">
242
+ <property name="visible">True</property>
243
+ </widget>
244
+ <packing>
245
+ <property name="padding">0</property>
246
+ <property name="expand">False</property>
247
+ <property name="fill">True</property>
248
+ </packing>
249
+ </child>
250
+
251
+ <child>
252
+ <widget class="GtkNotebook" id="session-notebook">
253
+ <property name="border_width">5</property>
254
+ <property name="visible">True</property>
255
+ <property name="can_focus">True</property>
256
+ <property name="show_tabs">True</property>
257
+ <property name="show_border">False</property>
258
+ <property name="tab_pos">GTK_POS_TOP</property>
259
+ <property name="scrollable">True</property>
260
+ <property name="enable_popup">True</property>
261
+
262
+ <child>
263
+ <widget class="GtkHPaned" id="session-hpaned">
264
+ <property name="border_width">7</property>
265
+ <property name="visible">True</property>
266
+ <property name="can_focus">True</property>
267
+ <property name="position">187</property>
268
+
269
+ <child>
270
+ <widget class="GtkVPaned" id="browser-vpaned">
271
+ <property name="visible">True</property>
272
+ <property name="can_focus">True</property>
273
+ <property name="position">350</property>
274
+
275
+ <child>
276
+ <widget class="GtkScrolledWindow" id="browser-container">
277
+ <property name="visible">True</property>
278
+ <property name="can_focus">True</property>
279
+ <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
280
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
281
+ <property name="shadow_type">GTK_SHADOW_IN</property>
282
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
283
+
284
+ <child>
285
+ <widget class="GtkTreeView" id="browser-treeview">
286
+ <property name="visible">True</property>
287
+ <property name="can_focus">True</property>
288
+ <property name="headers_visible">True</property>
289
+ <property name="rules_hint">False</property>
290
+ <property name="reorderable">False</property>
291
+ <property name="enable_search">True</property>
292
+ <property name="fixed_height_mode">True</property>
293
+ <property name="hover_selection">False</property>
294
+ <property name="hover_expand">False</property>
295
+ <signal name="row_expanded" handler="on_browser_treeview_row_expanded" last_modification_time="Thu, 17 Aug 2006 16:32:29 GMT"/>
296
+ <signal name="cursor_changed" handler="on_browser_treeview_cursor_changed" last_modification_time="Thu, 17 Aug 2006 20:30:14 GMT"/>
297
+ </widget>
298
+ </child>
299
+ </widget>
300
+ <packing>
301
+ <property name="shrink">True</property>
302
+ <property name="resize">False</property>
303
+ </packing>
304
+ </child>
305
+
306
+ <child>
307
+ <widget class="GtkVBox" id="browser-view-vbox">
308
+ <property name="visible">True</property>
309
+ <property name="homogeneous">False</property>
310
+ <property name="spacing">0</property>
311
+
312
+ <child>
313
+ <widget class="GtkScrolledWindow" id="object-container">
314
+ <property name="visible">True</property>
315
+ <property name="can_focus">True</property>
316
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
317
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
318
+ <property name="shadow_type">GTK_SHADOW_IN</property>
319
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
320
+
321
+ <child>
322
+ <widget class="GtkTextView" id="object-view">
323
+ <property name="visible">True</property>
324
+ <property name="can_focus">True</property>
325
+ <property name="editable">False</property>
326
+ <property name="overwrite">False</property>
327
+ <property name="accepts_tab">True</property>
328
+ <property name="justification">GTK_JUSTIFY_LEFT</property>
329
+ <property name="wrap_mode">GTK_WRAP_WORD</property>
330
+ <property name="cursor_visible">False</property>
331
+ <property name="pixels_above_lines">0</property>
332
+ <property name="pixels_below_lines">0</property>
333
+ <property name="pixels_inside_wrap">0</property>
334
+ <property name="left_margin">3</property>
335
+ <property name="right_margin">3</property>
336
+ <property name="indent">0</property>
337
+ <property name="text" translatable="yes"></property>
338
+ </widget>
339
+ </child>
340
+ </widget>
341
+ <packing>
342
+ <property name="padding">0</property>
343
+ <property name="expand">True</property>
344
+ <property name="fill">True</property>
345
+ </packing>
346
+ </child>
347
+
348
+ <child>
349
+ <widget class="GtkButton" id="view-to-shell-btn">
350
+ <property name="visible">True</property>
351
+ <property name="sensitive">False</property>
352
+ <property name="can_focus">True</property>
353
+ <property name="label" translatable="yes">&gt;&gt;</property>
354
+ <property name="use_underline">True</property>
355
+ <property name="relief">GTK_RELIEF_NORMAL</property>
356
+ <property name="focus_on_click">True</property>
357
+ <signal name="clicked" handler="on_view_to_shell_btn_clicked" last_modification_time="Fri, 18 Aug 2006 21:46:16 GMT"/>
358
+ </widget>
359
+ <packing>
360
+ <property name="padding">0</property>
361
+ <property name="expand">False</property>
362
+ <property name="fill">False</property>
363
+ </packing>
364
+ </child>
365
+ </widget>
366
+ <packing>
367
+ <property name="shrink">True</property>
368
+ <property name="resize">True</property>
369
+ </packing>
370
+ </child>
371
+ </widget>
372
+ <packing>
373
+ <property name="shrink">True</property>
374
+ <property name="resize">False</property>
375
+ </packing>
376
+ </child>
377
+
378
+ <child>
379
+ <widget class="GtkVPaned" id="code-vpaned">
380
+ <property name="visible">True</property>
381
+ <property name="can_focus">True</property>
382
+ <property name="position">350</property>
383
+
384
+ <child>
385
+ <widget class="GtkVBox" id="code-vbox">
386
+ <property name="visible">True</property>
387
+ <property name="homogeneous">False</property>
388
+ <property name="spacing">2</property>
389
+
390
+ <child>
391
+ <widget class="GtkComboBox" id="code-combobox">
392
+ <property name="height_request">26</property>
393
+ <property name="visible">True</property>
394
+ <property name="sensitive">False</property>
395
+ <property name="items" translatable="yes"></property>
396
+ <property name="add_tearoffs">False</property>
397
+ <property name="focus_on_click">True</property>
398
+ <signal name="changed" handler="on_code_combobox_changed" last_modification_time="Sun, 20 Aug 2006 15:04:22 GMT"/>
399
+ </widget>
400
+ <packing>
401
+ <property name="padding">0</property>
402
+ <property name="expand">False</property>
403
+ <property name="fill">True</property>
404
+ </packing>
405
+ </child>
406
+
407
+ <child>
408
+ <widget class="GtkNotebook" id="code-notebook">
409
+ <property name="visible">True</property>
410
+ <property name="show_tabs">False</property>
411
+ <property name="show_border">False</property>
412
+ <property name="tab_pos">GTK_POS_TOP</property>
413
+ <property name="scrollable">False</property>
414
+ <property name="enable_popup">False</property>
415
+
416
+ <child>
417
+ <widget class="GtkScrolledWindow" id="code-container">
418
+ <property name="visible">True</property>
419
+ <property name="can_focus">True</property>
420
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
421
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
422
+ <property name="shadow_type">GTK_SHADOW_IN</property>
423
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
424
+
425
+ <child>
426
+ <widget class="GtkViewport" id="code-viewport">
427
+ <property name="visible">True</property>
428
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
429
+
430
+ <child>
431
+ <widget class="GtkHBox" id="code-hbox">
432
+ <property name="visible">True</property>
433
+ <property name="homogeneous">False</property>
434
+ <property name="spacing">0</property>
435
+
436
+ <child>
437
+ <widget class="GtkTextView" id="line-view">
438
+ <property name="visible">True</property>
439
+ <property name="sensitive">False</property>
440
+ <property name="can_focus">True</property>
441
+ <property name="editable">False</property>
442
+ <property name="overwrite">False</property>
443
+ <property name="accepts_tab">True</property>
444
+ <property name="justification">GTK_JUSTIFY_RIGHT</property>
445
+ <property name="wrap_mode">GTK_WRAP_NONE</property>
446
+ <property name="cursor_visible">False</property>
447
+ <property name="pixels_above_lines">0</property>
448
+ <property name="pixels_below_lines">0</property>
449
+ <property name="pixels_inside_wrap">0</property>
450
+ <property name="left_margin">3</property>
451
+ <property name="right_margin">3</property>
452
+ <property name="indent">0</property>
453
+ <property name="text" translatable="yes"></property>
454
+ </widget>
455
+ <packing>
456
+ <property name="padding">0</property>
457
+ <property name="expand">False</property>
458
+ <property name="fill">True</property>
459
+ </packing>
460
+ </child>
461
+
462
+ <child>
463
+ <widget class="GtkTextView" id="code-view">
464
+ <property name="visible">True</property>
465
+ <property name="editable">False</property>
466
+ <property name="overwrite">False</property>
467
+ <property name="accepts_tab">True</property>
468
+ <property name="justification">GTK_JUSTIFY_LEFT</property>
469
+ <property name="wrap_mode">GTK_WRAP_WORD</property>
470
+ <property name="cursor_visible">False</property>
471
+ <property name="pixels_above_lines">0</property>
472
+ <property name="pixels_below_lines">0</property>
473
+ <property name="pixels_inside_wrap">0</property>
474
+ <property name="left_margin">3</property>
475
+ <property name="right_margin">3</property>
476
+ <property name="indent">0</property>
477
+ <property name="text" translatable="yes"></property>
478
+ </widget>
479
+ <packing>
480
+ <property name="padding">0</property>
481
+ <property name="expand">True</property>
482
+ <property name="fill">True</property>
483
+ </packing>
484
+ </child>
485
+ </widget>
486
+ </child>
487
+ </widget>
488
+ </child>
489
+ </widget>
490
+ <packing>
491
+ <property name="tab_expand">False</property>
492
+ <property name="tab_fill">True</property>
493
+ </packing>
494
+ </child>
495
+
496
+ <child>
497
+ <widget class="GtkLabel" id="code-label">
498
+ <property name="visible">True</property>
499
+ <property name="label" translatable="yes">File</property>
500
+ <property name="use_underline">False</property>
501
+ <property name="use_markup">False</property>
502
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
503
+ <property name="wrap">False</property>
504
+ <property name="selectable">False</property>
505
+ <property name="xalign">0.5</property>
506
+ <property name="yalign">0.5</property>
507
+ <property name="xpad">0</property>
508
+ <property name="ypad">0</property>
509
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
510
+ <property name="width_chars">-1</property>
511
+ <property name="single_line_mode">False</property>
512
+ <property name="angle">0</property>
513
+ </widget>
514
+ <packing>
515
+ <property name="type">tab</property>
516
+ </packing>
517
+ </child>
518
+ </widget>
519
+ <packing>
520
+ <property name="padding">0</property>
521
+ <property name="expand">True</property>
522
+ <property name="fill">True</property>
523
+ </packing>
524
+ </child>
525
+ </widget>
526
+ <packing>
527
+ <property name="shrink">True</property>
528
+ <property name="resize">False</property>
529
+ </packing>
530
+ </child>
531
+
532
+ <child>
533
+ <widget class="GtkVBox" id="shell-vbox">
534
+ <property name="visible">True</property>
535
+ <property name="homogeneous">False</property>
536
+ <property name="spacing">3</property>
537
+
538
+ <child>
539
+ <widget class="GtkScrolledWindow" id="shell-out-container">
540
+ <property name="visible">True</property>
541
+ <property name="can_focus">True</property>
542
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
543
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
544
+ <property name="shadow_type">GTK_SHADOW_IN</property>
545
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
546
+
547
+ <child>
548
+ <widget class="GtkTextView" id="shell-out-view">
549
+ <property name="visible">True</property>
550
+ <property name="editable">False</property>
551
+ <property name="overwrite">False</property>
552
+ <property name="accepts_tab">False</property>
553
+ <property name="justification">GTK_JUSTIFY_LEFT</property>
554
+ <property name="wrap_mode">GTK_WRAP_WORD</property>
555
+ <property name="cursor_visible">False</property>
556
+ <property name="pixels_above_lines">0</property>
557
+ <property name="pixels_below_lines">0</property>
558
+ <property name="pixels_inside_wrap">0</property>
559
+ <property name="left_margin">3</property>
560
+ <property name="right_margin">3</property>
561
+ <property name="indent">0</property>
562
+ <property name="text" translatable="yes"></property>
563
+ </widget>
564
+ </child>
565
+ </widget>
566
+ <packing>
567
+ <property name="padding">0</property>
568
+ <property name="expand">True</property>
569
+ <property name="fill">True</property>
570
+ </packing>
571
+ </child>
572
+
573
+ <child>
574
+ <widget class="GtkHBox" id="shell-in-hbox">
575
+ <property name="visible">True</property>
576
+ <property name="homogeneous">False</property>
577
+ <property name="spacing">5</property>
578
+
579
+ <child>
580
+ <widget class="GtkEntry" id="shell-in-entry">
581
+ <property name="visible">True</property>
582
+ <property name="can_focus">True</property>
583
+ <property name="has_focus">True</property>
584
+ <property name="editable">True</property>
585
+ <property name="visibility">True</property>
586
+ <property name="max_length">0</property>
587
+ <property name="text" translatable="yes"></property>
588
+ <property name="has_frame">True</property>
589
+ <property name="invisible_char">*</property>
590
+ <property name="activates_default">False</property>
591
+ <signal name="activate" handler="on_shell_in_entry_activate" last_modification_time="Thu, 17 Aug 2006 11:02:23 GMT"/>
592
+ <signal name="key_press_event" handler="on_shell_in_entry_key_press_event" last_modification_time="Fri, 18 Aug 2006 15:35:13 GMT"/>
593
+ <signal name="changed" handler="on_shell_in_entry_changed" last_modification_time="Fri, 18 Aug 2006 16:00:02 GMT"/>
594
+ </widget>
595
+ <packing>
596
+ <property name="padding">0</property>
597
+ <property name="expand">True</property>
598
+ <property name="fill">True</property>
599
+ </packing>
600
+ </child>
601
+
602
+ <child>
603
+ <widget class="GtkButton" id="shell-in-button">
604
+ <property name="visible">True</property>
605
+ <property name="can_default">True</property>
606
+ <property name="has_default">True</property>
607
+ <property name="can_focus">True</property>
608
+ <property name="label">gtk-ok</property>
609
+ <property name="use_stock">True</property>
610
+ <property name="relief">GTK_RELIEF_HALF</property>
611
+ <property name="focus_on_click">True</property>
612
+ <signal name="clicked" handler="on_shell_in_button_pressed" last_modification_time="Wed, 16 Aug 2006 19:05:17 GMT"/>
613
+ </widget>
614
+ <packing>
615
+ <property name="padding">0</property>
616
+ <property name="expand">False</property>
617
+ <property name="fill">False</property>
618
+ </packing>
619
+ </child>
620
+ </widget>
621
+ <packing>
622
+ <property name="padding">0</property>
623
+ <property name="expand">False</property>
624
+ <property name="fill">False</property>
625
+ </packing>
626
+ </child>
627
+ </widget>
628
+ <packing>
629
+ <property name="shrink">True</property>
630
+ <property name="resize">True</property>
631
+ </packing>
632
+ </child>
633
+ </widget>
634
+ <packing>
635
+ <property name="shrink">True</property>
636
+ <property name="resize">True</property>
637
+ </packing>
638
+ </child>
639
+ </widget>
640
+ <packing>
641
+ <property name="tab_expand">False</property>
642
+ <property name="tab_fill">True</property>
643
+ </packing>
644
+ </child>
645
+
646
+ <child>
647
+ <widget class="GtkLabel" id="session-label">
648
+ <property name="visible">True</property>
649
+ <property name="label" translatable="yes">main</property>
650
+ <property name="use_underline">False</property>
651
+ <property name="use_markup">False</property>
652
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
653
+ <property name="wrap">False</property>
654
+ <property name="selectable">False</property>
655
+ <property name="xalign">0.5</property>
656
+ <property name="yalign">0.5</property>
657
+ <property name="xpad">0</property>
658
+ <property name="ypad">0</property>
659
+ <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
660
+ <property name="width_chars">10</property>
661
+ <property name="single_line_mode">True</property>
662
+ <property name="angle">0</property>
663
+ </widget>
664
+ <packing>
665
+ <property name="type">tab</property>
666
+ </packing>
667
+ </child>
668
+
669
+ <child>
670
+ <widget class="GtkLabel" id="status-label">
671
+ <property name="visible">True</property>
672
+ <property name="label" translatable="yes">Not connected to server.</property>
673
+ <property name="use_underline">False</property>
674
+ <property name="use_markup">False</property>
675
+ <property name="justify">GTK_JUSTIFY_FILL</property>
676
+ <property name="wrap">True</property>
677
+ <property name="selectable">False</property>
678
+ <property name="xalign">0.5</property>
679
+ <property name="yalign">0.5</property>
680
+ <property name="xpad">0</property>
681
+ <property name="ypad">0</property>
682
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
683
+ <property name="width_chars">-1</property>
684
+ <property name="single_line_mode">False</property>
685
+ <property name="angle">0</property>
686
+ </widget>
687
+ <packing>
688
+ <property name="tab_expand">False</property>
689
+ <property name="tab_fill">True</property>
690
+ </packing>
691
+ </child>
692
+
693
+ <child>
694
+ <widget class="GtkLabel" id="connecting-label">
695
+ <property name="visible">True</property>
696
+ <property name="label" translatable="yes">Connecting</property>
697
+ <property name="use_underline">False</property>
698
+ <property name="use_markup">False</property>
699
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
700
+ <property name="wrap">False</property>
701
+ <property name="selectable">False</property>
702
+ <property name="xalign">0.5</property>
703
+ <property name="yalign">0.5</property>
704
+ <property name="xpad">0</property>
705
+ <property name="ypad">0</property>
706
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
707
+ <property name="width_chars">-1</property>
708
+ <property name="single_line_mode">False</property>
709
+ <property name="angle">0</property>
710
+ </widget>
711
+ <packing>
712
+ <property name="type">tab</property>
713
+ </packing>
714
+ </child>
715
+ </widget>
716
+ <packing>
717
+ <property name="padding">0</property>
718
+ <property name="expand">True</property>
719
+ <property name="fill">True</property>
720
+ </packing>
721
+ </child>
722
+ </widget>
723
+ </child>
724
+ </widget>
725
+
726
+ <widget class="GtkDialog" id="connect-dialog">
727
+ <property name="title" translatable="yes">Connect to server</property>
728
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
729
+ <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
730
+ <property name="modal">True</property>
731
+ <property name="default_width">400</property>
732
+ <property name="resizable">True</property>
733
+ <property name="destroy_with_parent">True</property>
734
+ <property name="decorated">True</property>
735
+ <property name="skip_taskbar_hint">False</property>
736
+ <property name="skip_pager_hint">False</property>
737
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
738
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
739
+ <property name="focus_on_map">True</property>
740
+ <property name="urgency_hint">False</property>
741
+ <property name="has_separator">True</property>
742
+ <signal name="delete_event" handler="on_connect_dialog_delete_event" last_modification_time="Thu, 17 Aug 2006 19:30:53 GMT"/>
743
+
744
+ <child internal-child="vbox">
745
+ <widget class="GtkVBox" id="connectdlg-vbox">
746
+ <property name="visible">True</property>
747
+ <property name="homogeneous">False</property>
748
+ <property name="spacing">0</property>
749
+
750
+ <child internal-child="action_area">
751
+ <widget class="GtkHButtonBox" id="connectdlg-actionarea">
752
+ <property name="visible">True</property>
753
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
754
+
755
+ <child>
756
+ <widget class="GtkButton" id="connectdlg-button">
757
+ <property name="visible">True</property>
758
+ <property name="sensitive">False</property>
759
+ <property name="can_default">True</property>
760
+ <property name="has_default">True</property>
761
+ <property name="can_focus">True</property>
762
+ <property name="has_focus">True</property>
763
+ <property name="label">gtk-connect</property>
764
+ <property name="use_stock">True</property>
765
+ <property name="relief">GTK_RELIEF_NORMAL</property>
766
+ <property name="focus_on_click">True</property>
767
+ <property name="response_id">-5</property>
768
+ <signal name="clicked" handler="on_connectdlg_button_clicked" last_modification_time="Wed, 16 Aug 2006 23:11:39 GMT"/>
769
+ </widget>
770
+ </child>
771
+ </widget>
772
+ <packing>
773
+ <property name="padding">0</property>
774
+ <property name="expand">False</property>
775
+ <property name="fill">True</property>
776
+ <property name="pack_type">GTK_PACK_END</property>
777
+ </packing>
778
+ </child>
779
+
780
+ <child>
781
+ <widget class="GtkHBox" id="connectdlg-server-hbox">
782
+ <property name="border_width">5</property>
783
+ <property name="visible">True</property>
784
+ <property name="homogeneous">False</property>
785
+ <property name="spacing">0</property>
786
+
787
+ <child>
788
+ <widget class="GtkLabel" id="connectdlg-server-label">
789
+ <property name="visible">True</property>
790
+ <property name="label" translatable="yes">Server: </property>
791
+ <property name="use_underline">False</property>
792
+ <property name="use_markup">False</property>
793
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
794
+ <property name="wrap">False</property>
795
+ <property name="selectable">False</property>
796
+ <property name="xalign">0.5</property>
797
+ <property name="yalign">0.5</property>
798
+ <property name="xpad">0</property>
799
+ <property name="ypad">0</property>
800
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
801
+ <property name="width_chars">-1</property>
802
+ <property name="single_line_mode">False</property>
803
+ <property name="angle">0</property>
804
+ </widget>
805
+ <packing>
806
+ <property name="padding">0</property>
807
+ <property name="expand">False</property>
808
+ <property name="fill">False</property>
809
+ </packing>
810
+ </child>
811
+
812
+ <child>
813
+ <widget class="GtkComboBoxEntry" id="connectdlg-server-entry">
814
+ <property name="visible">True</property>
815
+ <property name="items" translatable="yes"></property>
816
+ <property name="add_tearoffs">False</property>
817
+ <property name="has_frame">True</property>
818
+ <property name="focus_on_click">True</property>
819
+ <signal name="changed" handler="on_connectdlg_server_entry_changed" last_modification_time="Sun, 20 Aug 2006 23:43:17 GMT"/>
820
+ <signal name="key_press_event" handler="on_connectdlg_server_entry_key_press_event" after="yes" last_modification_time="Sun, 20 Aug 2006 23:48:26 GMT"/>
821
+ </widget>
822
+ <packing>
823
+ <property name="padding">0</property>
824
+ <property name="expand">True</property>
825
+ <property name="fill">True</property>
826
+ </packing>
827
+ </child>
828
+ </widget>
829
+ <packing>
830
+ <property name="padding">0</property>
831
+ <property name="expand">True</property>
832
+ <property name="fill">True</property>
833
+ </packing>
834
+ </child>
835
+
836
+ <child>
837
+ <widget class="GtkHBox" id="connectdlg-type-hbox">
838
+ <property name="border_width">5</property>
839
+ <property name="visible">True</property>
840
+ <property name="homogeneous">False</property>
841
+ <property name="spacing">0</property>
842
+
843
+ <child>
844
+ <widget class="GtkLabel" id="connectdlg-type-label">
845
+ <property name="visible">True</property>
846
+ <property name="label" translatable="yes">Type: </property>
847
+ <property name="use_underline">False</property>
848
+ <property name="use_markup">False</property>
849
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
850
+ <property name="wrap">False</property>
851
+ <property name="selectable">False</property>
852
+ <property name="xalign">0.5</property>
853
+ <property name="yalign">0.5</property>
854
+ <property name="xpad">0</property>
855
+ <property name="ypad">0</property>
856
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
857
+ <property name="width_chars">-1</property>
858
+ <property name="single_line_mode">False</property>
859
+ <property name="angle">0</property>
860
+ </widget>
861
+ <packing>
862
+ <property name="padding">0</property>
863
+ <property name="expand">False</property>
864
+ <property name="fill">False</property>
865
+ </packing>
866
+ </child>
867
+
868
+ <child>
869
+ <widget class="GtkComboBox" id="connectdlg-type-combobox">
870
+ <property name="visible">True</property>
871
+ <property name="sensitive">False</property>
872
+ <property name="items" translatable="yes">ruby-breakpoint
873
+ ruby-debug</property>
874
+ <property name="add_tearoffs">False</property>
875
+ <property name="focus_on_click">True</property>
876
+ </widget>
877
+ <packing>
878
+ <property name="padding">0</property>
879
+ <property name="expand">True</property>
880
+ <property name="fill">True</property>
881
+ </packing>
882
+ </child>
883
+ </widget>
884
+ <packing>
885
+ <property name="padding">0</property>
886
+ <property name="expand">True</property>
887
+ <property name="fill">True</property>
888
+ </packing>
889
+ </child>
890
+ </widget>
891
+ </child>
892
+ </widget>
893
+
894
+ </glade-interface>