glimmer-cs-gladiator 0.7.2 → 0.7.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.
@@ -0,0 +1,181 @@
1
+ # Copyright (c) 2020-2021 Andy Maleh
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining
4
+ # a copy of this software and associated documentation files (the
5
+ # "Software"), to deal in the Software without restriction, including
6
+ # without limitation the rights to use, copy, modify, merge, publish,
7
+ # distribute, sublicense, and/or sell copies of the Software, and to
8
+ # permit persons to whom the Software is furnished to do so, subject to
9
+ # the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be
12
+ # included in all copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
22
+ module Glimmer
23
+ class Gladiator
24
+ class GladiatorMenuBar
25
+ include Glimmer::UI::CustomWidget
26
+
27
+ options :gladiator, :editing
28
+
29
+ body {
30
+ menu_bar {
31
+ menu {
32
+ text '&File'
33
+
34
+ menu_item {
35
+ text 'New &Scratchpad'
36
+ accelerator COMMAND_KEY, :shift, :s
37
+ enabled editing
38
+ on_widget_selected {
39
+ project_dir.selected_child_path = ''
40
+ }
41
+ }
42
+ menu_item {
43
+ text 'Open &Project...'
44
+ accelerator COMMAND_KEY, :o
45
+ on_widget_selected {
46
+ gladiator.open_project
47
+ }
48
+ }
49
+ menu_item(:separator)
50
+ menu_item {
51
+ text '&Quit Project'
52
+ accelerator COMMAND_KEY, :alt, :q
53
+ on_widget_selected {
54
+ gladiator.save_config
55
+ project_dir.selected_child&.write_dirty_content
56
+ gladiator.body_root.close
57
+ }
58
+ }
59
+ }
60
+ if editing
61
+ menu {
62
+ text '&View'
63
+ menu {
64
+ text '&Split Pane'
65
+ menu { |menu_proxy|
66
+ text '&Orientation'
67
+ menu_item(:radio) {
68
+ text '&Horizontal'
69
+ selection bind(gladiator, :split_orientation,
70
+ on_read: ->(o) { gladiator.split_pane? && o == swt(:horizontal) },
71
+ on_write: ->(b) { b.nil? ? nil : (b ? swt(:horizontal) : swt(:vertical)) })
72
+ }
73
+ menu_item(:radio) {
74
+ text '&Vertical'
75
+ selection bind(gladiator, :split_orientation,
76
+ on_read: ->(o) { gladiator.split_pane? && o == swt(:vertical) },
77
+ on_write: ->(b) { b.nil? ? nil : (b ? swt(:vertical) : swt(:horizontal)) })
78
+ }
79
+ }
80
+ menu_item(:check) {
81
+ text '&Maximize Pane'
82
+ enabled bind(gladiator, :tab_folder2)
83
+ accelerator COMMAND_KEY, :shift, :m
84
+ selection bind(gladiator, :maximized_pane)
85
+ }
86
+ menu_item {
87
+ text 'Reset &Panes'
88
+ enabled bind(gladiator, :tab_folder2)
89
+ accelerator COMMAND_KEY, :shift, :p
90
+ on_widget_selected {
91
+ if gladiator.tab_folder2
92
+ gladiator.maximized_pane = false
93
+ gladiator.tab_folder_sash_form.weights = [1, 1]
94
+ end
95
+ }
96
+ }
97
+ menu_item {
98
+ text '&Unsplit'
99
+ enabled bind(gladiator, :tab_folder2)
100
+ accelerator COMMAND_KEY, :shift, :u
101
+ on_widget_selected {
102
+ if gladiator.tab_folder2
103
+ gladiator.maximized_pane = false
104
+ gladiator.navigate_to_next_tab_folder if gladiator.current_tab_folder != gladiator.tab_folder2
105
+ gladiator.close_all_tabs(gladiator.tab_folder2)
106
+ gladiator.split_orientation = nil
107
+ gladiator.body_root.pack_same_size
108
+ end
109
+ }
110
+ }
111
+ }
112
+ menu_item(:check) {
113
+ text '&Maximize Editor'
114
+ accelerator COMMAND_KEY, :ctrl, :m
115
+ selection bind(gladiator, :maximized_editor)
116
+ }
117
+ menu_item {
118
+ text '&Reset All'
119
+ accelerator COMMAND_KEY, :ctrl, :r
120
+ on_widget_selected {
121
+ gladiator.tab_folder_sash_form.maximized_editor = false
122
+ gladiator.tab_folder_sash_form.file_area_and_editor_area_sash_form.weights = [1, 5]
123
+ gladiator.tab_folder_sash_form.side_bar_sash_form.weights = [1, 1]
124
+ }
125
+ }
126
+ }
127
+ menu {
128
+ text '&Run'
129
+ # menu_item {
130
+ # text 'Launch Glimmer &App'
131
+ # on_widget_selected {
132
+ # parent_path = project_dir.path
133
+ ## current_directory_name = ::File.basename(parent_path)
134
+ ## assumed_shell_script = ::File.join(parent_path, 'bin', current_directory_name)
135
+ ## assumed_shell_script = ::Dir.glob(::File.join(parent_path, 'bin', '*')).detect {|f| ::File.file?(f) && !::File.read(f).include?('#!/usr/bin/env')} if !::File.exist?(assumed_shell_script)
136
+ ## load assumed_shell_script
137
+ # FileUtils.cd(parent_path) do
138
+ # system 'glimmer run'
139
+ # end
140
+ # }
141
+ # }
142
+ menu_item {
143
+ text '&Ruby'
144
+ accelerator COMMAND_KEY, :shift, :r
145
+ on_widget_selected {
146
+ begin
147
+ project_dir.selected_child.run
148
+ rescue Exception => e
149
+ dialog {
150
+ text 'Run - Ruby - Error Encountered!'
151
+ label {
152
+ text e.full_message
153
+ }
154
+ }.open
155
+ end
156
+ }
157
+ }
158
+ }
159
+ end
160
+ menu {
161
+ text '&Help'
162
+ menu_item {
163
+ text '&About'
164
+ accelerator COMMAND_KEY, :shift, :a
165
+ on_widget_selected {
166
+ gladiator.display_about_dialog
167
+ }
168
+ }
169
+ }
170
+ }
171
+ }
172
+
173
+ def project_dir
174
+ gladiator.project_dir
175
+ end
176
+
177
+ end
178
+
179
+ end
180
+
181
+ end
@@ -0,0 +1,31 @@
1
+ module Glimmer
2
+ class Gladiator
3
+ class ProgressShell
4
+ include Glimmer::UI::CustomShell
5
+
6
+ option :gladiator
7
+ option :progress_text, default: 'Work In Progress'
8
+
9
+ body {
10
+ shell(gladiator.body_root, :title) {
11
+ fill_layout(:vertical) {
12
+ margin_width 15
13
+ margin_height 15
14
+ spacing 5
15
+ }
16
+
17
+ text 'Gladiator'
18
+
19
+ gladiator_menu_bar(gladiator: gladiator, editing: true)
20
+
21
+ label(:center) {
22
+ text progress_text
23
+ font height: 20
24
+ }
25
+ # @progress_bar = progress_bar(:horizontal, :indeterminate)
26
+ }
27
+ }
28
+
29
+ end
30
+ end
31
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glimmer-cs-gladiator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.7.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: 2021-01-17 00:00:00.000000000 Z
11
+ date: 2021-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -86,6 +86,20 @@ dependencies:
86
86
  - - '='
87
87
  - !ruby/object:Gem::Version
88
88
  version: 2.3.9
89
+ - !ruby/object:Gem::Dependency
90
+ requirement: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - '='
93
+ - !ruby/object:Gem::Version
94
+ version: 2.0.5
95
+ name: warbler
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - '='
101
+ - !ruby/object:Gem::Version
102
+ version: 2.0.5
89
103
  - !ruby/object:Gem::Dependency
90
104
  requirement: !ruby/object:Gem::Requirement
91
105
  requirements:
@@ -108,7 +122,9 @@ description: Gladiator (short for Glimmer Editor) is a Glimmer sample project un
108
122
  use Glimmer one day.
109
123
  email: andy.am@gmail.com
110
124
  executables:
125
+ - glimmer-cs-gladiator
111
126
  - gladiator
127
+ - gladiator-setup
112
128
  extensions: []
113
129
  extra_rdoc_files:
114
130
  - LICENSE.txt
@@ -119,22 +135,29 @@ files:
119
135
  - README.md
120
136
  - VERSION
121
137
  - bin/gladiator
122
- - bin/gladiator_runner.rb
138
+ - bin/gladiator-setup
139
+ - bin/glimmer-cs-gladiator
123
140
  - glimmer-cs-gladiator.gemspec
124
141
  - images/glimmer-cs-gladiator-logo.png
125
142
  - lib/glimmer-cs-gladiator.rb
143
+ - lib/glimmer-cs-gladiator/launch.rb
126
144
  - lib/models/glimmer/gladiator/command.rb
127
145
  - lib/models/glimmer/gladiator/dir.rb
128
146
  - lib/models/glimmer/gladiator/file.rb
129
147
  - lib/views/glimmer/gladiator.rb
130
148
  - lib/views/glimmer/gladiator/file_explorer_tree.rb
131
149
  - lib/views/glimmer/gladiator/file_lookup_list.rb
150
+ - lib/views/glimmer/gladiator/gladiator_menu_bar.rb
151
+ - lib/views/glimmer/gladiator/progress_shell.rb
132
152
  - lib/views/glimmer/gladiator/text_editor.rb
133
153
  homepage: http://github.com/AndyObtiva/glimmer-cs-gladiator
134
154
  licenses:
135
155
  - MIT
136
156
  metadata: {}
137
- post_install_message:
157
+ post_install_message: |2+
158
+
159
+ To make the gladiator command available system-wide (especially with RVM), make sure you run this command with jruby in path: gladiator-setup
160
+
138
161
  rdoc_options: []
139
162
  require_paths:
140
163
  - lib
@@ -1,6 +0,0 @@
1
- require_relative '../lib/glimmer-cs-gladiator'
2
-
3
- include Glimmer
4
-
5
- local_dir = ENV['LOCAL_DIR'] || '.'
6
- gladiator(project_dir_path: local_dir).open