glimmer-cs-gladiator 0.6.1 → 0.7.1

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,60 +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 {
22
- grid_layout(2, false)
23
- # TODO troubleshoot why adding margin height 0 causes gladiator to start resizing window smaller than necessary upon launch of Gladiator
24
- # {
25
- # margin_height 0
26
- # }
27
-
16
+ grid_layout(2, false)
28
17
  layout_data :fill, :fill, true, true
29
18
  @line_numbers_text = styled_text(:multi, :border) {
30
19
  layout_data(:right, :fill, false, true)
31
-
20
+ text ' '*4
32
21
  font name: 'Consolas', height: OS.mac? ? 15 : 12
33
22
  background color(:widget_background)
34
23
  foreground :dark_blue
35
- text bind(self, 'file.line_numbers_content')
36
- top_pixel bind(self, 'file.top_pixel', read_only: true)
37
24
  top_margin 5
38
25
  right_margin 5
39
26
  bottom_margin 5
40
27
  left_margin 5
41
28
  editable false
42
29
  on_focus_gained {
43
- @text&.swt_widget.setFocus
30
+ @text_proxy&.swt_widget.setFocus
44
31
  }
45
32
  on_key_pressed {
46
- @text&.swt_widget.setFocus
33
+ @text_proxy&.swt_widget.setFocus
47
34
  }
48
35
  on_mouse_up {
49
- @text&.swt_widget.setFocus
36
+ @text_proxy&.swt_widget.setFocus
50
37
  }
51
38
  }
52
39
 
53
- @text = send(@text_widget) {
40
+ @text_proxy = send(text_widget_keyword) { |the_text|
54
41
  layout_data :fill, :fill, true, true
55
42
  font name: 'Consolas', height: OS.mac? ? 15 : 12
56
43
  foreground rgb(75, 75, 75)
57
- text bind(self, 'file.content')
58
44
  focus true
59
- selection_count bind(self, 'file.selection_count')
60
- caret_position bind(self, 'file.caret_position')
61
- top_pixel bind(self, 'file.top_pixel')
62
45
  top_margin 5
63
46
  right_margin 5
64
47
  bottom_margin 5
@@ -76,76 +59,8 @@ module Glimmer
76
59
  }
77
60
  }
78
61
 
79
- on_focus_lost {
80
- file&.write_dirty_content
81
- }
82
- on_verify_key { |key_event|
83
- 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')
84
- key_event.doit = !Command.redo(file)
85
- elsif Glimmer::SWT::SWTProxy.include?(key_event.stateMask, COMMAND_KEY, :shift) && extract_char(key_event) == 'r'
86
- project_dir.selected_child.run
87
- elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'z'
88
- key_event.doit = !Command.undo(file)
89
- elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'a'
90
- key_event.widget.selectAll
91
- elsif !OS.windows? && key_event.stateMask == swt(:ctrl) && extract_char(key_event) == 'a'
92
- Command.do(file, :start_of_line)
93
- key_event.doit = false
94
- elsif !OS.windows? && key_event.stateMask == swt(:ctrl) && extract_char(key_event) == 'e'
95
- Command.do(file, :end_of_line)
96
- key_event.doit = false
97
- elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == '/'
98
- Command.do(file, :comment_line!)
99
- key_event.doit = false
100
- elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'k'
101
- Command.do(file, :kill_line!)
102
- key_event.doit = false
103
- elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'd'
104
- Command.do(file, :duplicate_line!)
105
- key_event.doit = false
106
- elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == '['
107
- Command.do(file, :outdent!)
108
- key_event.doit = false
109
- elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == ']'
110
- Command.do(file, :indent!)
111
- key_event.doit = false
112
- elsif Glimmer::SWT::SWTProxy.include?(key_event.stateMask, COMMAND_KEY, :shift) && key_event.keyCode == swt(:cr)
113
- Command.do(file, :prefix_new_line!)
114
- key_event.doit = false
115
- elsif key_event.stateMask == swt(COMMAND_KEY) && key_event.keyCode == swt(:cr)
116
- Command.do(file, :insert_new_line!)
117
- key_event.doit = false
118
- elsif key_event.keyCode == swt(:page_up)
119
- file.page_up
120
- key_event.doit = false
121
- elsif key_event.keyCode == swt(:page_down)
122
- file.page_down
123
- key_event.doit = false
124
- elsif key_event.keyCode == swt(:home)
125
- file.home
126
- key_event.doit = false
127
- elsif key_event.keyCode == swt(:end)
128
- file.end
129
- key_event.doit = false
130
- elsif key_event.stateMask == swt(COMMAND_KEY) && key_event.keyCode == swt(:arrow_up)
131
- Command.do(file, :move_up!)
132
- key_event.doit = false
133
- elsif key_event.stateMask == swt(COMMAND_KEY) && key_event.keyCode == swt(:arrow_down)
134
- Command.do(file, :move_down!)
135
- key_event.doit = false
136
- end
137
- }
138
- on_verify_text { |verify_event|
139
- # TODO convert these into File commands to support Undo/Redo
140
- case verify_event.text
141
- when "\n"
142
- if file.selection_count.to_i == 0
143
- verify_event.text += file.current_line_indentation
144
- end
145
- when "\t"
146
- Command.do(file, :indent!)
147
- verify_event.doit = false
148
- end
62
+ on_focus_gained {
63
+ load_content
149
64
  }
150
65
  }
151
66
  }
@@ -156,8 +71,112 @@ module Glimmer
156
71
  rescue => e
157
72
  nil
158
73
  end
159
-
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 key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'z'
112
+ key_event.doit = !Command.undo(file)
113
+ elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'a'
114
+ key_event.widget.selectAll
115
+ elsif !OS.windows? && key_event.stateMask == swt(:ctrl) && extract_char(key_event) == 'a'
116
+ Command.do(file, :start_of_line)
117
+ key_event.doit = false
118
+ elsif !OS.windows? && key_event.stateMask == swt(:ctrl) && extract_char(key_event) == 'e'
119
+ Command.do(file, :end_of_line)
120
+ key_event.doit = false
121
+ elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == '/'
122
+ Command.do(file, :comment_line!)
123
+ key_event.doit = false
124
+ elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'k'
125
+ Command.do(file, :kill_line!)
126
+ key_event.doit = false
127
+ elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'd'
128
+ Command.do(file, :duplicate_line!)
129
+ key_event.doit = false
130
+ elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == '['
131
+ Command.do(file, :outdent!)
132
+ key_event.doit = false
133
+ elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == ']'
134
+ Command.do(file, :indent!)
135
+ key_event.doit = false
136
+ elsif Glimmer::SWT::SWTProxy.include?(key_event.stateMask, COMMAND_KEY, :shift) && key_event.keyCode == swt(:cr)
137
+ Command.do(file, :prefix_new_line!)
138
+ key_event.doit = false
139
+ elsif key_event.stateMask == swt(COMMAND_KEY) && key_event.keyCode == swt(:cr)
140
+ Command.do(file, :insert_new_line!)
141
+ key_event.doit = false
142
+ elsif key_event.keyCode == swt(:page_up)
143
+ file.page_up
144
+ key_event.doit = false
145
+ elsif key_event.keyCode == swt(:page_down)
146
+ file.page_down
147
+ key_event.doit = false
148
+ elsif key_event.keyCode == swt(:home)
149
+ file.home
150
+ key_event.doit = false
151
+ elsif key_event.keyCode == swt(:end)
152
+ file.end
153
+ key_event.doit = false
154
+ elsif key_event.stateMask == swt(COMMAND_KEY) && key_event.keyCode == swt(:arrow_up)
155
+ Command.do(file, :move_up!)
156
+ key_event.doit = false
157
+ elsif key_event.stateMask == swt(COMMAND_KEY) && key_event.keyCode == swt(:arrow_down)
158
+ Command.do(file, :move_down!)
159
+ key_event.doit = false
160
+ end
161
+ }
162
+ on_verify_text { |verify_event|
163
+ # TODO convert these into File commands to support Undo/Redo
164
+ case verify_event.text
165
+ when "\n"
166
+ if file.selection_count.to_i == 0
167
+ verify_event.text += file.current_line_indentation
168
+ end
169
+ when "\t"
170
+ Command.do(file, :indent!)
171
+ verify_event.doit = false
172
+ end
173
+ }
174
+ }
175
+ end
176
+
160
177
  end
178
+
161
179
  end
180
+
162
181
  end
163
182
 
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.6.1
4
+ version: 0.7.1
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-24 00:00:00.000000000 Z
11
+ date: 2021-01-15 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.3
18
+ version: 4.18.0.0
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.3
29
+ version: 4.18.0.0
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,8 +147,9 @@ 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
- summary: Gladiator (Glimmer Editor) - Glimmer Custom Shell
153
+ summary: Gladiator (Glimmer Editor) - Glimmer Custom Shell - Text Editor Built in
154
+ Ruby
151
155
  test_files: []