glimmer-cs-gladiator 0.4.1 → 0.5.0
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.
- checksums.yaml +4 -4
- data/README.md +10 -11
- data/VERSION +1 -1
- data/bin/gladiator_runner.rb +2 -1
- data/lib/models/glimmer/gladiator/dir.rb +51 -51
- data/lib/models/glimmer/gladiator/file.rb +106 -76
- data/lib/views/glimmer/gladiator.rb +358 -278
- data/lib/views/glimmer/gladiator/text_editor.rb +21 -16
- metadata +4 -4
@@ -3,12 +3,12 @@ module Glimmer
|
|
3
3
|
class TextEditor
|
4
4
|
include Glimmer::UI::CustomWidget
|
5
5
|
|
6
|
-
options :file
|
6
|
+
options :file, :project_dir
|
7
7
|
|
8
8
|
attr_reader :text_proxy, :text_widget
|
9
9
|
|
10
10
|
before_body {
|
11
|
-
@is_code_file = file.path.end_with?('.rb')
|
11
|
+
@is_code_file = file.scratchpad? || file.path.end_with?('.rb')
|
12
12
|
@text_widget = @is_code_file ? 'code_text' : 'styled_text'
|
13
13
|
}
|
14
14
|
|
@@ -21,13 +21,17 @@ module Glimmer
|
|
21
21
|
composite {
|
22
22
|
layout_data :fill, :fill, true, true
|
23
23
|
grid_layout 2, false
|
24
|
-
@line_numbers_text =
|
24
|
+
@line_numbers_text = styled_text(:multi, :border) {
|
25
25
|
layout_data(:right, :fill, false, true)
|
26
26
|
font name: 'Consolas', height: OS.mac? ? 15 : 12
|
27
27
|
background color(:widget_background)
|
28
|
-
foreground rgb(
|
28
|
+
foreground rgb(0, 0, 250)
|
29
29
|
text bind(file, 'line_numbers_content')
|
30
30
|
top_pixel bind(file, 'top_pixel', read_only: true)
|
31
|
+
top_margin 5
|
32
|
+
right_margin 5
|
33
|
+
bottom_margin 5
|
34
|
+
left_margin 5
|
31
35
|
on_focus_gained {
|
32
36
|
@text&.swt_widget.setFocus
|
33
37
|
}
|
@@ -54,29 +58,30 @@ module Glimmer
|
|
54
58
|
}
|
55
59
|
on_drop { |event|
|
56
60
|
Gladiator.drag_and_drop = true
|
57
|
-
|
58
|
-
|
61
|
+
project_dir.selected_child = nil
|
62
|
+
project_dir.selected_child_path = event.data
|
59
63
|
Gladiator.drag = false
|
60
64
|
}
|
61
|
-
}
|
65
|
+
}
|
62
66
|
|
63
67
|
on_focus_lost {
|
64
68
|
file&.write_dirty_content
|
65
|
-
}
|
69
|
+
}
|
66
70
|
on_verify_key { |key_event|
|
67
|
-
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')
|
71
|
+
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')
|
68
72
|
key_event.doit = !Command.redo(file)
|
69
73
|
elsif Glimmer::SWT::SWTProxy.include?(key_event.stateMask, COMMAND_KEY, :shift) && extract_char(key_event) == 'r'
|
70
|
-
|
71
|
-
begin
|
72
|
-
load Dir.local_dir.selected_child.path
|
73
|
-
rescue => e
|
74
|
-
puts e.full_message
|
75
|
-
end
|
74
|
+
project_dir.selected_child.run
|
76
75
|
elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'z'
|
77
76
|
key_event.doit = !Command.undo(file)
|
78
77
|
elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'a'
|
79
78
|
key_event.widget.selectAll
|
79
|
+
elsif !OS.windows? && key_event.stateMask == swt(:ctrl) && extract_char(key_event) == 'a'
|
80
|
+
Command.do(file, :start_of_line)
|
81
|
+
key_event.doit = false
|
82
|
+
elsif !OS.windows? && key_event.stateMask == swt(:ctrl) && extract_char(key_event) == 'e'
|
83
|
+
Command.do(file, :end_of_line)
|
84
|
+
key_event.doit = false
|
80
85
|
elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == '/'
|
81
86
|
Command.do(file, :comment_line!)
|
82
87
|
key_event.doit = false
|
@@ -119,7 +124,7 @@ module Glimmer
|
|
119
124
|
end
|
120
125
|
}
|
121
126
|
on_verify_text { |verify_event|
|
122
|
-
# TODO convert these into File commands to support Undo/Redo
|
127
|
+
# TODO convert these into File commands to support Undo/Redo
|
123
128
|
case verify_event.text
|
124
129
|
when "\n"
|
125
130
|
if file.selection_count.to_i == 0
|
metadata
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glimmer-cs-gladiator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
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
|
+
date: 2020-11-01 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.
|
18
|
+
version: 4.17.7.1
|
19
19
|
- - "<"
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: 5.0.0.0
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 4.17.
|
29
|
+
version: 4.17.7.1
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 5.0.0.0
|