glimmer-cs-gladiator 0.5.4 → 0.6.4

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.
@@ -5,54 +5,43 @@ module Glimmer
5
5
 
6
6
  options :file, :project_dir
7
7
 
8
- attr_reader :text_proxy, :text_widget
8
+ attr_reader :text_proxy
9
9
 
10
- before_body {
11
- @is_code_file = file.scratchpad? || file.path.end_with?('.rb')
12
- @text_widget = @is_code_file ? 'code_text' : 'styled_text'
13
- }
14
-
15
10
  after_body {
16
- @text_widget = @text.swt_widget
17
- @text_proxy = @text
11
+ load_content
18
12
  }
19
13
 
20
14
  body {
21
15
  composite {
16
+ grid_layout(2, false)
22
17
  layout_data :fill, :fill, true, true
23
- grid_layout 2, false
24
- @line_numbers_text = styled_text(:multi, :wrap, :border) {
18
+ @line_numbers_text = styled_text(:multi, :border) {
25
19
  layout_data(:right, :fill, false, true)
20
+ text ' '*4
26
21
  font name: 'Consolas', height: OS.mac? ? 15 : 12
27
22
  background color(:widget_background)
28
- foreground rgb(0, 0, 250)
29
- text bind(self, 'file.line_numbers_content')
30
- top_pixel bind(self, 'file.top_pixel', read_only: true)
23
+ foreground :dark_blue
31
24
  top_margin 5
32
25
  right_margin 5
33
26
  bottom_margin 5
34
27
  left_margin 5
35
28
  editable false
36
- alignment swt(:right)
37
29
  on_focus_gained {
38
- @text&.swt_widget.setFocus
30
+ @text_proxy&.swt_widget.setFocus
39
31
  }
40
32
  on_key_pressed {
41
- @text&.swt_widget.setFocus
33
+ @text_proxy&.swt_widget.setFocus
42
34
  }
43
35
  on_mouse_up {
44
- @text&.swt_widget.setFocus
36
+ @text_proxy&.swt_widget.setFocus
45
37
  }
46
38
  }
47
39
 
48
- @text = send(@text_widget) {
40
+ @text_proxy = send(text_widget_keyword) { |the_text|
49
41
  layout_data :fill, :fill, true, true
50
42
  font name: 'Consolas', height: OS.mac? ? 15 : 12
51
43
  foreground rgb(75, 75, 75)
52
- text bind(self, 'file.content')
53
44
  focus true
54
- selection bind(self, 'file.selection')
55
- top_pixel bind(self, 'file.top_pixel')
56
45
  top_margin 5
57
46
  right_margin 5
58
47
  bottom_margin 5
@@ -70,88 +59,126 @@ module Glimmer
70
59
  }
71
60
  }
72
61
 
73
- on_focus_lost {
74
- file&.write_dirty_content
75
- }
76
- on_verify_key { |key_event|
77
- if (Glimmer::SWT::SWTProxy.include?(key_event.stateMask, COMMAND_KEY, :shift) && extract_char(key_event) == 'z') || (key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'y')
78
- key_event.doit = !Command.redo(file)
79
- elsif Glimmer::SWT::SWTProxy.include?(key_event.stateMask, COMMAND_KEY, :shift) && extract_char(key_event) == 'r'
80
- project_dir.selected_child.run
81
- elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'z'
82
- key_event.doit = !Command.undo(file)
83
- elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'a'
84
- key_event.widget.selectAll
85
- elsif !OS.windows? && key_event.stateMask == swt(:ctrl) && extract_char(key_event) == 'a'
86
- Command.do(file, :start_of_line)
87
- key_event.doit = false
88
- elsif !OS.windows? && key_event.stateMask == swt(:ctrl) && extract_char(key_event) == 'e'
89
- Command.do(file, :end_of_line)
90
- key_event.doit = false
91
- elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == '/'
92
- Command.do(file, :comment_line!)
93
- key_event.doit = false
94
- elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'k'
95
- Command.do(file, :kill_line!)
96
- key_event.doit = false
97
- elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'd'
98
- Command.do(file, :duplicate_line!)
99
- key_event.doit = false
100
- elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == '['
101
- Command.do(file, :outdent!)
102
- key_event.doit = false
103
- elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == ']'
104
- Command.do(file, :indent!)
105
- key_event.doit = false
106
- elsif Glimmer::SWT::SWTProxy.include?(key_event.stateMask, COMMAND_KEY, :shift) && key_event.keyCode == swt(:cr)
107
- Command.do(file, :prefix_new_line!)
108
- key_event.doit = false
109
- elsif key_event.stateMask == swt(COMMAND_KEY) && key_event.keyCode == swt(:cr)
110
- Command.do(file, :insert_new_line!)
111
- key_event.doit = false
112
- elsif key_event.keyCode == swt(:page_up)
113
- file.page_up
114
- key_event.doit = false
115
- elsif key_event.keyCode == swt(:page_down)
116
- file.page_down
117
- key_event.doit = false
118
- elsif key_event.keyCode == swt(:home)
119
- file.home
120
- key_event.doit = false
121
- elsif key_event.keyCode == swt(:end)
122
- file.end
123
- key_event.doit = false
124
- elsif key_event.stateMask == swt(COMMAND_KEY) && key_event.keyCode == swt(:arrow_up)
125
- Command.do(file, :move_up!)
126
- key_event.doit = false
127
- elsif key_event.stateMask == swt(COMMAND_KEY) && key_event.keyCode == swt(:arrow_down)
128
- Command.do(file, :move_down!)
129
- key_event.doit = false
130
- end
131
- }
132
- on_verify_text { |verify_event|
133
- # TODO convert these into File commands to support Undo/Redo
134
- case verify_event.text
135
- when "\n"
136
- if file.selection_count.to_i == 0
137
- verify_event.text += file.current_line_indentation
138
- end
139
- when "\t"
140
- Command.do(file, :indent!)
141
- verify_event.doit = false
142
- end
62
+ on_focus_gained {
63
+ load_content
143
64
  }
144
65
  }
145
66
  }
146
67
  }
147
-
68
+
148
69
  def extract_char(event)
149
70
  event.keyCode.chr
150
71
  rescue => e
151
72
  nil
152
73
  end
153
-
74
+
75
+ def text_widget_keyword
76
+ is_code_file = file.scratchpad? || file.path.end_with?('.rb')
77
+ is_code_file ? 'code_text' : 'styled_text'
78
+ end
79
+
80
+ def text_widget
81
+ @text_proxy.swt_widget
82
+ end
83
+
84
+ def load_content
85
+ if !@initialized && !Gladiator.startup
86
+ load_line_numbers_text_content
87
+ load_text_content
88
+ @initialized = true
89
+ end
90
+ end
91
+
92
+ def load_line_numbers_text_content
93
+ @line_numbers_text.content {
94
+ text bind(self, 'file.line_numbers_content')
95
+ top_pixel bind(self, 'file.top_pixel', read_only: true)
96
+ }
97
+ end
98
+
99
+ def load_text_content
100
+ @text_proxy.content {
101
+ text bind(self, 'file.content')
102
+ selection_count bind(self, 'file.selection_count')
103
+ caret_position bind(self, 'file.caret_position')
104
+ top_pixel bind(self, 'file.top_pixel')
105
+ on_focus_lost {
106
+ file&.write_dirty_content
107
+ }
108
+ on_verify_key { |key_event|
109
+ if (Glimmer::SWT::SWTProxy.include?(key_event.stateMask, COMMAND_KEY, :shift) && extract_char(key_event) == 'z') || (key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'y')
110
+ key_event.doit = !Command.redo(file)
111
+ elsif Glimmer::SWT::SWTProxy.include?(key_event.stateMask, COMMAND_KEY, :shift) && extract_char(key_event) == 'r'
112
+ project_dir.selected_child.run
113
+ elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'z'
114
+ key_event.doit = !Command.undo(file)
115
+ elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'a'
116
+ key_event.widget.selectAll
117
+ elsif !OS.windows? && key_event.stateMask == swt(:ctrl) && extract_char(key_event) == 'a'
118
+ Command.do(file, :start_of_line)
119
+ key_event.doit = false
120
+ elsif !OS.windows? && key_event.stateMask == swt(:ctrl) && extract_char(key_event) == 'e'
121
+ Command.do(file, :end_of_line)
122
+ key_event.doit = false
123
+ elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == '/'
124
+ Command.do(file, :comment_line!)
125
+ key_event.doit = false
126
+ elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'k'
127
+ Command.do(file, :kill_line!)
128
+ key_event.doit = false
129
+ elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'd'
130
+ Command.do(file, :duplicate_line!)
131
+ key_event.doit = false
132
+ elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == '['
133
+ Command.do(file, :outdent!)
134
+ key_event.doit = false
135
+ elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == ']'
136
+ Command.do(file, :indent!)
137
+ key_event.doit = false
138
+ elsif Glimmer::SWT::SWTProxy.include?(key_event.stateMask, COMMAND_KEY, :shift) && key_event.keyCode == swt(:cr)
139
+ Command.do(file, :prefix_new_line!)
140
+ key_event.doit = false
141
+ elsif key_event.stateMask == swt(COMMAND_KEY) && key_event.keyCode == swt(:cr)
142
+ Command.do(file, :insert_new_line!)
143
+ key_event.doit = false
144
+ elsif key_event.keyCode == swt(:page_up)
145
+ file.page_up
146
+ key_event.doit = false
147
+ elsif key_event.keyCode == swt(:page_down)
148
+ file.page_down
149
+ key_event.doit = false
150
+ elsif key_event.keyCode == swt(:home)
151
+ file.home
152
+ key_event.doit = false
153
+ elsif key_event.keyCode == swt(:end)
154
+ file.end
155
+ key_event.doit = false
156
+ elsif key_event.stateMask == swt(COMMAND_KEY) && key_event.keyCode == swt(:arrow_up)
157
+ Command.do(file, :move_up!)
158
+ key_event.doit = false
159
+ elsif key_event.stateMask == swt(COMMAND_KEY) && key_event.keyCode == swt(:arrow_down)
160
+ Command.do(file, :move_down!)
161
+ key_event.doit = false
162
+ end
163
+ }
164
+ on_verify_text { |verify_event|
165
+ # TODO convert these into File commands to support Undo/Redo
166
+ case verify_event.text
167
+ when "\n"
168
+ if file.selection_count.to_i == 0
169
+ verify_event.text += file.current_line_indentation
170
+ end
171
+ when "\t"
172
+ Command.do(file, :indent!)
173
+ verify_event.doit = false
174
+ end
175
+ }
176
+ }
177
+ end
178
+
154
179
  end
180
+
155
181
  end
182
+
156
183
  end
157
184
 
metadata CHANGED
@@ -1,32 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glimmer-cs-gladiator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.4
4
+ version: 0.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Maleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-20 00:00:00.000000000 Z
11
+ date: 2020-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: 4.17.10.0
18
+ version: 4.17.10.3
19
19
  - - "<"
20
20
  - !ruby/object:Gem::Version
21
21
  version: 5.0.0.0
22
22
  name: glimmer-dsl-swt
23
- prerelease: false
24
23
  type: :runtime
24
+ prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 4.17.10.0
29
+ version: 4.17.10.3
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 5.0.0.0
@@ -37,8 +37,8 @@ dependencies:
37
37
  - !ruby/object:Gem::Version
38
38
  version: 1.1.1
39
39
  name: filewatcher
40
- prerelease: false
41
40
  type: :runtime
41
+ prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
@@ -51,8 +51,8 @@ dependencies:
51
51
  - !ruby/object:Gem::Version
52
52
  version: 1.3.5
53
53
  name: clipboard
54
- prerelease: false
55
54
  type: :runtime
55
+ prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
@@ -65,8 +65,8 @@ dependencies:
65
65
  - !ruby/object:Gem::Version
66
66
  version: 3.5.0
67
67
  name: rspec
68
- prerelease: false
69
68
  type: :development
69
+ prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
@@ -79,8 +79,8 @@ dependencies:
79
79
  - !ruby/object:Gem::Version
80
80
  version: 2.3.9
81
81
  name: jeweler
82
- prerelease: false
83
82
  type: :development
83
+ prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - '='
@@ -93,8 +93,8 @@ dependencies:
93
93
  - !ruby/object:Gem::Version
94
94
  version: '0'
95
95
  name: simplecov
96
- prerelease: false
97
96
  type: :development
97
+ prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - ">="
@@ -114,11 +114,14 @@ extra_rdoc_files:
114
114
  - LICENSE.txt
115
115
  - README.md
116
116
  files:
117
+ - CHANGELOG.md
117
118
  - LICENSE.txt
118
119
  - README.md
119
120
  - VERSION
120
121
  - bin/gladiator
121
122
  - bin/gladiator_runner.rb
123
+ - glimmer-cs-gladiator.gemspec
124
+ - images/glimmer-cs-gladiator-logo.png
122
125
  - lib/glimmer-cs-gladiator.rb
123
126
  - lib/models/glimmer/gladiator/command.rb
124
127
  - lib/models/glimmer/gladiator/dir.rb
@@ -144,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
147
  - !ruby/object:Gem::Version
145
148
  version: '0'
146
149
  requirements: []
147
- rubygems_version: 3.1.4
150
+ rubygems_version: 3.0.6
148
151
  signing_key:
149
152
  specification_version: 4
150
153
  summary: Gladiator (Glimmer Editor) - Glimmer Custom Shell