glimmer-cs-gladiator 0.4.0 → 0.5.3

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.
@@ -3,9 +3,14 @@ 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
+
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
+ }
9
14
 
10
15
  after_body {
11
16
  @text_widget = @text.swt_widget
@@ -16,13 +21,18 @@ module Glimmer
16
21
  composite {
17
22
  layout_data :fill, :fill, true, true
18
23
  grid_layout 2, false
19
- @line_numbers_text = code_text(:border, :multi) {
24
+ @line_numbers_text = styled_text(:multi, :border) {
20
25
  layout_data(:right, :fill, false, true)
21
26
  font name: 'Consolas', height: OS.mac? ? 15 : 12
22
27
  background color(:widget_background)
23
- foreground rgb(75, 75, 75)
24
- text bind(file, 'line_numbers_content')
25
- top_pixel bind(file, 'top_pixel', read_only: true)
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)
31
+ top_margin 5
32
+ right_margin 5
33
+ bottom_margin 5
34
+ left_margin 5
35
+ editable false
26
36
  on_focus_gained {
27
37
  @text&.swt_widget.setFocus
28
38
  }
@@ -34,14 +44,14 @@ module Glimmer
34
44
  }
35
45
  }
36
46
 
37
- @text = code_text {
47
+ @text = send(@text_widget) {
38
48
  layout_data :fill, :fill, true, true
39
49
  font name: 'Consolas', height: OS.mac? ? 15 : 12
40
50
  foreground rgb(75, 75, 75)
41
- text bind(file, :content)
51
+ text bind(self, 'file.content')
42
52
  focus true
43
- selection bind(file, :selection)
44
- top_pixel bind(file, :top_pixel)
53
+ selection bind(self, 'file.selection')
54
+ top_pixel bind(self, 'file.top_pixel')
45
55
  drop_target(DND::DROP_COPY) {
46
56
  transfer [TextTransfer.getInstance].to_java(Transfer)
47
57
  on_drag_enter { |event|
@@ -49,29 +59,30 @@ module Glimmer
49
59
  }
50
60
  on_drop { |event|
51
61
  Gladiator.drag_and_drop = true
52
- Dir.local_dir.selected_child = nil
53
- Dir.local_dir.selected_child_path = event.data
62
+ project_dir.selected_child = nil
63
+ project_dir.selected_child_path = event.data
54
64
  Gladiator.drag = false
55
65
  }
56
- }
66
+ }
57
67
 
58
68
  on_focus_lost {
59
69
  file&.write_dirty_content
60
- }
70
+ }
61
71
  on_verify_key { |key_event|
62
- 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')
72
+ 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')
63
73
  key_event.doit = !Command.redo(file)
64
74
  elsif Glimmer::SWT::SWTProxy.include?(key_event.stateMask, COMMAND_KEY, :shift) && extract_char(key_event) == 'r'
65
- Dir.local_dir.selected_child.write_dirty_content
66
- begin
67
- load Dir.local_dir.selected_child.path
68
- rescue => e
69
- puts e.full_message
70
- end
75
+ project_dir.selected_child.run
71
76
  elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'z'
72
77
  key_event.doit = !Command.undo(file)
73
78
  elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == 'a'
74
79
  key_event.widget.selectAll
80
+ elsif !OS.windows? && key_event.stateMask == swt(:ctrl) && extract_char(key_event) == 'a'
81
+ Command.do(file, :start_of_line)
82
+ key_event.doit = false
83
+ elsif !OS.windows? && key_event.stateMask == swt(:ctrl) && extract_char(key_event) == 'e'
84
+ Command.do(file, :end_of_line)
85
+ key_event.doit = false
75
86
  elsif key_event.stateMask == swt(COMMAND_KEY) && extract_char(key_event) == '/'
76
87
  Command.do(file, :comment_line!)
77
88
  key_event.doit = false
@@ -114,7 +125,7 @@ module Glimmer
114
125
  end
115
126
  }
116
127
  on_verify_text { |verify_event|
117
- # TODO convert these into File commands to support Undo/Redo
128
+ # TODO convert these into File commands to support Undo/Redo
118
129
  case verify_event.text
119
130
  when "\n"
120
131
  if file.selection_count.to_i == 0
@@ -132,8 +143,7 @@ module Glimmer
132
143
  }
133
144
  }
134
145
  }
135
-
136
-
146
+
137
147
  def extract_char(event)
138
148
  event.keyCode.chr
139
149
  rescue => e
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.0
4
+ version: 0.5.3
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-10-23 00:00:00.000000000 Z
11
+ date: 2020-11-05 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.4.2
18
+ version: 4.17.8.3
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.4.2
29
+ version: 4.17.8.3
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 5.0.0.0