ruber 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. data/CHANGES +42 -1
  2. data/lib/ruber/application/application.rb +25 -5
  3. data/lib/ruber/application/plugin.yaml +2 -10
  4. data/lib/ruber/component_manager.rb +2 -2
  5. data/lib/ruber/document_project.rb +5 -3
  6. data/lib/ruber/editor/document.rb +5 -4
  7. data/lib/ruber/editor/ktexteditor_wrapper.rb +1 -1
  8. data/lib/ruber/exception_widgets.rb +1 -1
  9. data/lib/ruber/main_window/main_window.rb +4 -3
  10. data/lib/ruber/main_window/main_window_actions.rb +2 -2
  11. data/lib/ruber/main_window/main_window_internal.rb +1 -1
  12. data/lib/ruber/output_widget.rb +17 -5
  13. data/lib/ruber/project.rb +34 -3
  14. data/lib/ruber/project_dir_scanner.rb +171 -0
  15. data/lib/ruber/settings_container.rb +7 -7
  16. data/lib/ruber/settings_dialog.rb +24 -24
  17. data/lib/ruber/version.rb +1 -1
  18. data/lib/ruber/world/environment.rb +1 -0
  19. data/lib/ruber/world/plugin.yaml +7 -2
  20. data/lib/ruber/{application → world}/project_files_widget.rb +0 -0
  21. data/lib/ruber/{application → world}/ui/project_files_rule_chooser_widget.rb +2 -2
  22. data/lib/ruber/{application → world}/ui/project_files_rule_chooser_widget.ui +0 -0
  23. data/lib/ruber/{application → world}/ui/project_files_widget.rb +2 -2
  24. data/lib/ruber/{application → world}/ui/project_files_widget.ui +0 -0
  25. data/plugins/auto_end/auto_end.rb +21 -18
  26. data/plugins/autosave/autosave.rb +1 -1
  27. data/plugins/find_in_files/find_in_files.rb +1 -1
  28. data/plugins/irb/irb.png +0 -0
  29. data/plugins/irb/irb.rb +142 -0
  30. data/plugins/irb/irb.svg +240 -0
  31. data/plugins/irb/irb_controller.rb +541 -0
  32. data/plugins/irb/irbrc.rb +21 -0
  33. data/plugins/irb/plugin.yaml +19 -0
  34. data/plugins/irb/ui/irb_config_widget.rb +151 -0
  35. data/plugins/irb/ui/irb_config_widget.ui +123 -0
  36. data/plugins/irb/ui/irb_tool_widget.rb +97 -0
  37. data/plugins/irb/ui/irb_tool_widget.ui +86 -0
  38. data/plugins/project_browser/project_browser.rb +1 -1
  39. data/plugins/rspec/plugin.yaml +6 -3
  40. data/plugins/rspec/rspec.rb +172 -473
  41. data/plugins/rspec/tool_widget.rb +462 -0
  42. data/plugins/rspec/ui/rspec_project_widget.rb +58 -38
  43. data/plugins/rspec/ui/rspec_project_widget.ui +68 -64
  44. data/plugins/ruberri/class_formatter.rb +126 -0
  45. data/plugins/ruberri/method_formatter.rb +90 -0
  46. data/plugins/ruberri/plugin.yaml +13 -0
  47. data/plugins/ruberri/ruberri.rb +226 -0
  48. data/plugins/ruberri/search.rb +111 -0
  49. data/plugins/ruberri/ui/tool_widget.rb +73 -0
  50. data/plugins/ruberri/ui/tool_widget.ui +49 -0
  51. data/plugins/ruby_runner/ruby_runner.rb +2 -2
  52. data/plugins/ruby_syntax_checker/plugin.yaml +11 -0
  53. data/plugins/ruby_syntax_checker/ruby_syntax_checker.rb +147 -0
  54. data/plugins/syntax_checker/plugin.yaml +10 -6
  55. data/plugins/syntax_checker/syntax_checker.rb +216 -520
  56. data/plugins/syntax_checker/ui/config_widget.rb +61 -0
  57. data/plugins/syntax_checker/ui/config_widget.ui +44 -0
  58. data/plugins/yaml_syntax_checker/plugin.yaml +11 -0
  59. data/plugins/yaml_syntax_checker/yaml_syntax_checker.rb +62 -0
  60. data/ruber.desktop +0 -0
  61. data/spec/auto_end_spec.rb +224 -186
  62. data/spec/document_project_spec.rb +9 -1
  63. data/spec/document_spec.rb +9 -0
  64. data/spec/environment_spec.rb +12 -0
  65. data/spec/output_widget_spec.rb +69 -2
  66. data/spec/project_dir_scanner_spec.rb +195 -0
  67. data/spec/project_spec.rb +43 -73
  68. data/spec/ruby_syntax_checker_spec.rb +361 -0
  69. data/spec/syntax_checker_spec.rb +1132 -0
  70. data/spec/yaml_syntax_checker_spec.rb +130 -0
  71. metadata +232 -225
  72. data/lib/ruber/application/project_files_list.rb +0 -320
  73. data/spec/project_files_list_spec.rb +0 -411
@@ -0,0 +1,21 @@
1
+ #! /usr/bin/ruby
2
+ names = [File.join(ENV['HOME'], '.irbrc'), '.irbrc', 'irb.rc', '_irbrc', '$irbrc', '/etc/irbrc'].map do |f|
3
+ File.expand_path(f)
4
+ end
5
+ irbrc = names.find{|f| File.file? f}
6
+ load irbrc if irbrc
7
+ names = [File.join(ENV['HOME'], '.quirbrc'), '.quirbrc', 'quirb.rc', '_quirbrc', '$quirbrc', '/etc/quirbrc'].map do |f|
8
+ File.expand_path(f)
9
+ end
10
+ quirbrc = names.find{|f| File.file? f}
11
+ load quirbrc if quirbrc
12
+ class IRB::Context
13
+
14
+ alias_method :initialize_before_quirb, :initialize
15
+
16
+ def initialize *args, &blk
17
+ initialize_before_quirb *args, &blk
18
+ self.prompt_mode = :QUIRB if IRB.conf[:PROMPT][:QUIRB]
19
+ end
20
+
21
+ end
@@ -0,0 +1,19 @@
1
+ :name: :irb
2
+ version: 0.0.1
3
+ about:
4
+ authors: [Stefano Crocco, stefano.crocco@alice.it]
5
+ license: :gpl
6
+ description: Use IRB from within Ruber
7
+ bug_address: http://github.com/stcrocco/ruber/issues
8
+ icon: irb.png
9
+ class: Ruber::IRB::Plugin
10
+ deps: ruby_development
11
+ require: irb
12
+ tool_widgets:
13
+ - {class: Ruber::IRB::IRBWidget, :caption: IRB, :position: :bottom, :name: irb_widget}
14
+ :config_widgets:
15
+ - {:caption: IRB, class: Ruber::IRB::ConfigWidget}
16
+ :config_options:
17
+ irb:
18
+ irb: {default: `which irb`.strip}
19
+ prompts: {default: Ruber::IRB::IRBWidget::PROMPTS}
@@ -0,0 +1,151 @@
1
+ =begin
2
+ ** Form generated from reading ui file 'irb_config_widget.ui'
3
+ **
4
+ ** Created: dom ott 16 18:06:46 2011
5
+ ** by: Qt User Interface Compiler version 4.7.3
6
+ **
7
+ ** WARNING! All changes made in this file will be lost when recompiling ui file!
8
+ =end
9
+
10
+
11
+ class Ui_ConfigWidget
12
+ attr_reader :verticalLayout
13
+ attr_reader :formLayout_2
14
+ attr_reader :label_6
15
+ attr_reader :_irb__irb
16
+ attr_reader :groupBox
17
+ attr_reader :formLayout
18
+ attr_reader :label
19
+ attr_reader :prompt_i
20
+ attr_reader :label_2
21
+ attr_reader :prompt_n
22
+ attr_reader :label_3
23
+ attr_reader :prompt_s
24
+ attr_reader :label_4
25
+ attr_reader :prompt_c
26
+ attr_reader :label_5
27
+ attr_reader :prompt_return
28
+
29
+ def setupUi(ruber__IRB__ConfigWidget)
30
+ if ruber__IRB__ConfigWidget.objectName.nil?
31
+ ruber__IRB__ConfigWidget.objectName = "ruber__IRB__ConfigWidget"
32
+ end
33
+ ruber__IRB__ConfigWidget.resize(400, 217)
34
+ @verticalLayout = Qt::VBoxLayout.new(ruber__IRB__ConfigWidget)
35
+ @verticalLayout.objectName = "verticalLayout"
36
+ @formLayout_2 = Qt::FormLayout.new()
37
+ @formLayout_2.objectName = "formLayout_2"
38
+ @label_6 = Qt::Label.new(ruber__IRB__ConfigWidget)
39
+ @label_6.objectName = "label_6"
40
+
41
+ @formLayout_2.setWidget(0, Qt::FormLayout::LabelRole, @label_6)
42
+
43
+ @_irb__irb = KDE::UrlRequester.new(ruber__IRB__ConfigWidget)
44
+ @_irb__irb.objectName = "_irb__irb"
45
+
46
+ @formLayout_2.setWidget(0, Qt::FormLayout::FieldRole, @_irb__irb)
47
+
48
+
49
+ @verticalLayout.addLayout(@formLayout_2)
50
+
51
+ @groupBox = Qt::GroupBox.new(ruber__IRB__ConfigWidget)
52
+ @groupBox.objectName = "groupBox"
53
+ @formLayout = Qt::FormLayout.new(@groupBox)
54
+ @formLayout.objectName = "formLayout"
55
+ @label = Qt::Label.new(@groupBox)
56
+ @label.objectName = "label"
57
+
58
+ @formLayout.setWidget(0, Qt::FormLayout::LabelRole, @label)
59
+
60
+ @prompt_i = KDE::LineEdit.new(@groupBox)
61
+ @prompt_i.objectName = "prompt_i"
62
+
63
+ @formLayout.setWidget(0, Qt::FormLayout::FieldRole, @prompt_i)
64
+
65
+ @label_2 = Qt::Label.new(@groupBox)
66
+ @label_2.objectName = "label_2"
67
+
68
+ @formLayout.setWidget(1, Qt::FormLayout::LabelRole, @label_2)
69
+
70
+ @prompt_n = KDE::LineEdit.new(@groupBox)
71
+ @prompt_n.objectName = "prompt_n"
72
+
73
+ @formLayout.setWidget(1, Qt::FormLayout::FieldRole, @prompt_n)
74
+
75
+ @label_3 = Qt::Label.new(@groupBox)
76
+ @label_3.objectName = "label_3"
77
+
78
+ @formLayout.setWidget(2, Qt::FormLayout::LabelRole, @label_3)
79
+
80
+ @prompt_s = KDE::LineEdit.new(@groupBox)
81
+ @prompt_s.objectName = "prompt_s"
82
+
83
+ @formLayout.setWidget(2, Qt::FormLayout::FieldRole, @prompt_s)
84
+
85
+ @label_4 = Qt::Label.new(@groupBox)
86
+ @label_4.objectName = "label_4"
87
+
88
+ @formLayout.setWidget(3, Qt::FormLayout::LabelRole, @label_4)
89
+
90
+ @prompt_c = KDE::LineEdit.new(@groupBox)
91
+ @prompt_c.objectName = "prompt_c"
92
+
93
+ @formLayout.setWidget(3, Qt::FormLayout::FieldRole, @prompt_c)
94
+
95
+ @label_5 = Qt::Label.new(@groupBox)
96
+ @label_5.objectName = "label_5"
97
+
98
+ @formLayout.setWidget(4, Qt::FormLayout::LabelRole, @label_5)
99
+
100
+ @prompt_return = KDE::LineEdit.new(@groupBox)
101
+ @prompt_return.objectName = "prompt_return"
102
+
103
+ @formLayout.setWidget(4, Qt::FormLayout::FieldRole, @prompt_return)
104
+
105
+
106
+ @verticalLayout.addWidget(@groupBox)
107
+
108
+ @label_6.buddy = @_irb__irb
109
+ @label.buddy = @prompt_i
110
+ @label_2.buddy = @prompt_n
111
+ @label_3.buddy = @prompt_s
112
+ @label_4.buddy = @prompt_c
113
+ @label_5.buddy = @prompt_return
114
+
115
+ retranslateUi(ruber__IRB__ConfigWidget)
116
+
117
+ Qt::MetaObject.connectSlotsByName(ruber__IRB__ConfigWidget)
118
+ end # setupUi
119
+
120
+ def setup_ui(ruber__IRB__ConfigWidget)
121
+ setupUi(ruber__IRB__ConfigWidget)
122
+ end
123
+
124
+ def retranslateUi(ruber__IRB__ConfigWidget)
125
+ ruber__IRB__ConfigWidget.windowTitle = Qt::Application.translate("Ruber::IRB::ConfigWidget", "Form", nil, Qt::Application::UnicodeUTF8)
126
+ @label_6.text = Qt::Application.translate("Ruber::IRB::ConfigWidget", "&IRB path", nil, Qt::Application::UnicodeUTF8)
127
+ @groupBox.title = Qt::Application.translate("Ruber::IRB::ConfigWidget", "IRB Prompt", nil, Qt::Application::UnicodeUTF8)
128
+ @label.text = Qt::Application.translate("Ruber::IRB::ConfigWidget", "&Normal prompt", nil, Qt::Application::UnicodeUTF8)
129
+ @label_2.text = Qt::Application.translate("Ruber::IRB::ConfigWidget", "&Indent prompt", nil, Qt::Application::UnicodeUTF8)
130
+ @label_3.text = Qt::Application.translate("Ruber::IRB::ConfigWidget", "&String prompt", nil, Qt::Application::UnicodeUTF8)
131
+ @label_4.text = Qt::Application.translate("Ruber::IRB::ConfigWidget", "&Continue prompt", nil, Qt::Application::UnicodeUTF8)
132
+ @label_5.text = Qt::Application.translate("Ruber::IRB::ConfigWidget", "&Return prompt", nil, Qt::Application::UnicodeUTF8)
133
+ @prompt_return.text = ''
134
+ end # retranslateUi
135
+
136
+ def retranslate_ui(ruber__IRB__ConfigWidget)
137
+ retranslateUi(ruber__IRB__ConfigWidget)
138
+ end
139
+
140
+ end
141
+
142
+
143
+ module Ruber
144
+ module IRB
145
+ module Ui
146
+ class ConfigWidget < Ui_ConfigWidget
147
+ end
148
+ end # module Ui
149
+ end # module IRB
150
+ end # module Ruber
151
+
@@ -0,0 +1,123 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ui version="4.0">
3
+ <class>Ruber::IRB::ConfigWidget</class>
4
+ <widget class="QWidget" name="Ruber::IRB::ConfigWidget">
5
+ <property name="geometry">
6
+ <rect>
7
+ <x>0</x>
8
+ <y>0</y>
9
+ <width>400</width>
10
+ <height>217</height>
11
+ </rect>
12
+ </property>
13
+ <property name="windowTitle">
14
+ <string>Form</string>
15
+ </property>
16
+ <layout class="QVBoxLayout" name="verticalLayout">
17
+ <item>
18
+ <layout class="QFormLayout" name="formLayout_2">
19
+ <item row="0" column="0">
20
+ <widget class="QLabel" name="label_6">
21
+ <property name="text">
22
+ <string>&amp;IRB path</string>
23
+ </property>
24
+ <property name="buddy">
25
+ <cstring>_irb__irb</cstring>
26
+ </property>
27
+ </widget>
28
+ </item>
29
+ <item row="0" column="1">
30
+ <widget class="KUrlRequester" name="_irb__irb"/>
31
+ </item>
32
+ </layout>
33
+ </item>
34
+ <item>
35
+ <widget class="QGroupBox" name="groupBox">
36
+ <property name="title">
37
+ <string>IRB Prompt</string>
38
+ </property>
39
+ <layout class="QFormLayout" name="formLayout">
40
+ <item row="0" column="0">
41
+ <widget class="QLabel" name="label">
42
+ <property name="text">
43
+ <string>&amp;Normal prompt</string>
44
+ </property>
45
+ <property name="buddy">
46
+ <cstring>prompt_i</cstring>
47
+ </property>
48
+ </widget>
49
+ </item>
50
+ <item row="0" column="1">
51
+ <widget class="KLineEdit" name="prompt_i"/>
52
+ </item>
53
+ <item row="1" column="0">
54
+ <widget class="QLabel" name="label_2">
55
+ <property name="text">
56
+ <string>&amp;Indent prompt</string>
57
+ </property>
58
+ <property name="buddy">
59
+ <cstring>prompt_n</cstring>
60
+ </property>
61
+ </widget>
62
+ </item>
63
+ <item row="1" column="1">
64
+ <widget class="KLineEdit" name="prompt_n"/>
65
+ </item>
66
+ <item row="2" column="0">
67
+ <widget class="QLabel" name="label_3">
68
+ <property name="text">
69
+ <string>&amp;String prompt</string>
70
+ </property>
71
+ <property name="buddy">
72
+ <cstring>prompt_s</cstring>
73
+ </property>
74
+ </widget>
75
+ </item>
76
+ <item row="2" column="1">
77
+ <widget class="KLineEdit" name="prompt_s"/>
78
+ </item>
79
+ <item row="3" column="0">
80
+ <widget class="QLabel" name="label_4">
81
+ <property name="text">
82
+ <string>&amp;Continue prompt</string>
83
+ </property>
84
+ <property name="buddy">
85
+ <cstring>prompt_c</cstring>
86
+ </property>
87
+ </widget>
88
+ </item>
89
+ <item row="3" column="1">
90
+ <widget class="KLineEdit" name="prompt_c"/>
91
+ </item>
92
+ <item row="4" column="0">
93
+ <widget class="QLabel" name="label_5">
94
+ <property name="text">
95
+ <string>&amp;Return prompt</string>
96
+ </property>
97
+ <property name="buddy">
98
+ <cstring>prompt_return</cstring>
99
+ </property>
100
+ </widget>
101
+ </item>
102
+ <item row="4" column="1">
103
+ <widget class="KLineEdit" name="prompt_return">
104
+ <property name="text">
105
+ <string/>
106
+ </property>
107
+ </widget>
108
+ </item>
109
+ </layout>
110
+ </widget>
111
+ </item>
112
+ </layout>
113
+ </widget>
114
+ <customwidgets>
115
+ <customwidget>
116
+ <class>KUrlRequester</class>
117
+ <extends>QFrame</extends>
118
+ <header>kurlrequester.h</header>
119
+ </customwidget>
120
+ </customwidgets>
121
+ <resources/>
122
+ <connections/>
123
+ </ui>
@@ -0,0 +1,97 @@
1
+ =begin
2
+ ** Form generated from reading ui file 'irb_tool_widget.ui'
3
+ **
4
+ ** Created: dom ott 16 13:56:40 2011
5
+ ** by: Qt User Interface Compiler version 4.7.3
6
+ **
7
+ ** WARNING! All changes made in this file will be lost when recompiling ui file!
8
+ =end
9
+
10
+
11
+ class Ui_ToolWidget
12
+ attr_reader :verticalLayout
13
+ attr_reader :view
14
+ attr_reader :horizontalLayout
15
+ attr_reader :input
16
+ attr_reader :restart_irb
17
+ attr_reader :send_abort
18
+
19
+ def setupUi(ruber__IRB__ToolWidget)
20
+ if ruber__IRB__ToolWidget.objectName.nil?
21
+ ruber__IRB__ToolWidget.objectName = "ruber__IRB__ToolWidget"
22
+ end
23
+ ruber__IRB__ToolWidget.resize(696, 363)
24
+ @verticalLayout = Qt::VBoxLayout.new(ruber__IRB__ToolWidget)
25
+ @verticalLayout.objectName = "verticalLayout"
26
+ @view = KDE::TextEdit.new(ruber__IRB__ToolWidget)
27
+ @view.objectName = "view"
28
+ @view.readOnly = true
29
+
30
+ @verticalLayout.addWidget(@view)
31
+
32
+ @horizontalLayout = Qt::HBoxLayout.new()
33
+ @horizontalLayout.objectName = "horizontalLayout"
34
+ @input = KDE::ComboBox.new(ruber__IRB__ToolWidget)
35
+ @input.objectName = "input"
36
+ @input.enabled = false
37
+ @sizePolicy = Qt::SizePolicy.new(Qt::SizePolicy::MinimumExpanding, Qt::SizePolicy::Fixed)
38
+ @sizePolicy.setHorizontalStretch(0)
39
+ @sizePolicy.setVerticalStretch(0)
40
+ @sizePolicy.heightForWidth = @input.sizePolicy.hasHeightForWidth
41
+ @input.sizePolicy = @sizePolicy
42
+ @input.editable = true
43
+
44
+ @horizontalLayout.addWidget(@input)
45
+
46
+ @restart_irb = Qt::PushButton.new(ruber__IRB__ToolWidget)
47
+ @restart_irb.objectName = "restart_irb"
48
+ @sizePolicy1 = Qt::SizePolicy.new(Qt::SizePolicy::Preferred, Qt::SizePolicy::Fixed)
49
+ @sizePolicy1.setHorizontalStretch(0)
50
+ @sizePolicy1.setVerticalStretch(0)
51
+ @sizePolicy1.heightForWidth = @restart_irb.sizePolicy.hasHeightForWidth
52
+ @restart_irb.sizePolicy = @sizePolicy1
53
+
54
+ @horizontalLayout.addWidget(@restart_irb)
55
+
56
+ @send_abort = Qt::PushButton.new(ruber__IRB__ToolWidget)
57
+ @send_abort.objectName = "send_abort"
58
+ @sizePolicy1.heightForWidth = @send_abort.sizePolicy.hasHeightForWidth
59
+ @send_abort.sizePolicy = @sizePolicy1
60
+
61
+ @horizontalLayout.addWidget(@send_abort)
62
+
63
+
64
+ @verticalLayout.addLayout(@horizontalLayout)
65
+
66
+
67
+ retranslateUi(ruber__IRB__ToolWidget)
68
+
69
+ Qt::MetaObject.connectSlotsByName(ruber__IRB__ToolWidget)
70
+ end # setupUi
71
+
72
+ def setup_ui(ruber__IRB__ToolWidget)
73
+ setupUi(ruber__IRB__ToolWidget)
74
+ end
75
+
76
+ def retranslateUi(ruber__IRB__ToolWidget)
77
+ ruber__IRB__ToolWidget.windowTitle = Qt::Application.translate("Ruber::IRB::ToolWidget", "Form", nil, Qt::Application::UnicodeUTF8)
78
+ @restart_irb.text = Qt::Application.translate("Ruber::IRB::ToolWidget", "&Restart IRB", nil, Qt::Application::UnicodeUTF8)
79
+ @send_abort.text = Qt::Application.translate("Ruber::IRB::ToolWidget", "&Interrupt Evaluation", nil, Qt::Application::UnicodeUTF8)
80
+ end # retranslateUi
81
+
82
+ def retranslate_ui(ruber__IRB__ToolWidget)
83
+ retranslateUi(ruber__IRB__ToolWidget)
84
+ end
85
+
86
+ end
87
+
88
+
89
+ module Ruber
90
+ module IRB
91
+ module Ui
92
+ class ToolWidget < Ui_ToolWidget
93
+ end
94
+ end # module Ui
95
+ end # module IRB
96
+ end # module Ruber
97
+
@@ -0,0 +1,86 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ui version="4.0">
3
+ <class>Ruber::IRB::ToolWidget</class>
4
+ <widget class="QWidget" name="Ruber::IRB::ToolWidget">
5
+ <property name="geometry">
6
+ <rect>
7
+ <x>0</x>
8
+ <y>0</y>
9
+ <width>696</width>
10
+ <height>363</height>
11
+ </rect>
12
+ </property>
13
+ <property name="windowTitle">
14
+ <string>Form</string>
15
+ </property>
16
+ <layout class="QVBoxLayout" name="verticalLayout">
17
+ <item>
18
+ <widget class="KTextEdit" name="view">
19
+ <property name="readOnly">
20
+ <bool>true</bool>
21
+ </property>
22
+ </widget>
23
+ </item>
24
+ <item>
25
+ <layout class="QHBoxLayout" name="horizontalLayout">
26
+ <item>
27
+ <widget class="KComboBox" name="input">
28
+ <property name="enabled">
29
+ <bool>false</bool>
30
+ </property>
31
+ <property name="sizePolicy">
32
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
33
+ <horstretch>0</horstretch>
34
+ <verstretch>0</verstretch>
35
+ </sizepolicy>
36
+ </property>
37
+ <property name="editable">
38
+ <bool>true</bool>
39
+ </property>
40
+ </widget>
41
+ </item>
42
+ <item>
43
+ <widget class="QPushButton" name="restart_irb">
44
+ <property name="sizePolicy">
45
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
46
+ <horstretch>0</horstretch>
47
+ <verstretch>0</verstretch>
48
+ </sizepolicy>
49
+ </property>
50
+ <property name="text">
51
+ <string>&amp;Restart IRB</string>
52
+ </property>
53
+ </widget>
54
+ </item>
55
+ <item>
56
+ <widget class="QPushButton" name="send_abort">
57
+ <property name="sizePolicy">
58
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
59
+ <horstretch>0</horstretch>
60
+ <verstretch>0</verstretch>
61
+ </sizepolicy>
62
+ </property>
63
+ <property name="text">
64
+ <string>&amp;Interrupt Evaluation</string>
65
+ </property>
66
+ </widget>
67
+ </item>
68
+ </layout>
69
+ </item>
70
+ </layout>
71
+ </widget>
72
+ <customwidgets>
73
+ <customwidget>
74
+ <class>KComboBox</class>
75
+ <extends>QComboBox</extends>
76
+ <header>kcombobox.h</header>
77
+ </customwidget>
78
+ <customwidget>
79
+ <class>KTextEdit</class>
80
+ <extends>QTextEdit</extends>
81
+ <header>ktextedit.h</header>
82
+ </customwidget>
83
+ </customwidgets>
84
+ <resources/>
85
+ <connections/>
86
+ </ui>