atome 0.5.3.2 → 0.5.3.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.
- checksums.yaml +4 -4
- data/exe/atome +6 -0
- data/lib/atome/extensions/matrix.rb +62 -59
- data/lib/atome/version.rb +1 -1
- data/vendor/assets/src/medias/rubies/examples/_table2.rb +38 -0
- data/vendor/assets/src/medias/rubies/examples/code.rb +1 -1
- data/vendor/assets/src/medias/rubies/examples/schedule.rb +5 -2
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2ca60550f747734b730b5f7bcc9e71f25bb116c0d084f2e8cb5f0bf601d33940
|
|
4
|
+
data.tar.gz: 175f194889b09b9969e7720bc10b9b100804685bad61fe7739bcd0ecba5e556f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2e7f1a2204f2551e05bdced2ffcc52d060af88156d7c43d824537abdfe00f75a7d574e52d18002835cf047d54176fdbe3dd80b0eecb9abf1c3ffe7c3dcbc3fce
|
|
7
|
+
data.tar.gz: 5ce1039aae51524cfbf2a91ca03d19f41e745640932eddd1362ae4fded9f1a5ee601ab8170c569d1d8f94a2927689be88716e8e4fcd8600f5630e213460815f5
|
data/exe/atome
CHANGED
|
@@ -127,6 +127,10 @@ def browser_case(location)
|
|
|
127
127
|
guard_check
|
|
128
128
|
end
|
|
129
129
|
|
|
130
|
+
def osx_case(location)
|
|
131
|
+
`cd #{location};cargo tauri dev `
|
|
132
|
+
end
|
|
133
|
+
|
|
130
134
|
def compile_case(location)
|
|
131
135
|
`cd #{location}/src`
|
|
132
136
|
guard_check
|
|
@@ -161,6 +165,8 @@ def run_case(build_target, location, port)
|
|
|
161
165
|
server_case(port, location)
|
|
162
166
|
when :browser
|
|
163
167
|
browser_case(location)
|
|
168
|
+
when :osx
|
|
169
|
+
osx_case(location)
|
|
164
170
|
when :compile
|
|
165
171
|
compile_case(location)
|
|
166
172
|
when :native
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
class Atome
|
|
4
4
|
def content(items = nil)
|
|
5
|
-
if
|
|
5
|
+
if items.instance_of?(Array)
|
|
6
6
|
items.each do |item|
|
|
7
7
|
content(item)
|
|
8
8
|
end
|
|
@@ -19,18 +19,17 @@ class Atome
|
|
|
19
19
|
@cell_content ||= {}
|
|
20
20
|
@cell_content[i_found] = { width_ratio: 1, height_ratio: 1, top_ratio: 1, left_ratio: 1 }
|
|
21
21
|
# alert @cell_content
|
|
22
|
-
items.parents([
|
|
22
|
+
items.parents([id])
|
|
23
23
|
else
|
|
24
24
|
@cell_content
|
|
25
25
|
end
|
|
26
|
-
|
|
27
26
|
end
|
|
28
27
|
|
|
29
28
|
def cells(cell_nb)
|
|
30
29
|
collector_object = collector({})
|
|
31
30
|
collected_atomes = []
|
|
32
31
|
cell_nb.each do |cell_found|
|
|
33
|
-
atome_found = grab
|
|
32
|
+
atome_found = grab("#{id}_#{cell_found}")
|
|
34
33
|
collected_atomes << atome_found
|
|
35
34
|
end
|
|
36
35
|
collector_object.data(collected_atomes)
|
|
@@ -38,8 +37,7 @@ class Atome
|
|
|
38
37
|
end
|
|
39
38
|
|
|
40
39
|
def cell(cell_nb)
|
|
41
|
-
|
|
42
|
-
cell_found
|
|
40
|
+
grab("#{id}_#{cell_nb}")
|
|
43
41
|
end
|
|
44
42
|
|
|
45
43
|
def columns(column_requested, &proc)
|
|
@@ -81,7 +79,7 @@ class Atome
|
|
|
81
79
|
cells_to_alter = cells_in_column[value[0]..value[1]]
|
|
82
80
|
cells_to_alter.each_with_index do |cell_nb, index|
|
|
83
81
|
current_cell = grab("#{id.value}_#{cell_nb}")
|
|
84
|
-
if index
|
|
82
|
+
if index.zero?
|
|
85
83
|
current_cell.height(cell_height * cells_to_alter.length + @margin * (cells_to_alter.length - 1))
|
|
86
84
|
else
|
|
87
85
|
current_cell.hide(true)
|
|
@@ -97,7 +95,7 @@ class Atome
|
|
|
97
95
|
|
|
98
96
|
cells_to_alter.each_with_index do |cell_nb, index|
|
|
99
97
|
current_cell = grab("#{id.value}_#{cell_nb}")
|
|
100
|
-
if index
|
|
98
|
+
if index.zero?
|
|
101
99
|
current_cell.width(cell_width * cells_to_alter.length + @margin * (cells_to_alter.length - 1))
|
|
102
100
|
else
|
|
103
101
|
current_cell.hide(true)
|
|
@@ -105,7 +103,6 @@ class Atome
|
|
|
105
103
|
end
|
|
106
104
|
end
|
|
107
105
|
end
|
|
108
|
-
|
|
109
106
|
end
|
|
110
107
|
|
|
111
108
|
def divide(params)
|
|
@@ -141,7 +138,6 @@ class Atome
|
|
|
141
138
|
end
|
|
142
139
|
end
|
|
143
140
|
end
|
|
144
|
-
|
|
145
141
|
end
|
|
146
142
|
|
|
147
143
|
# def override(params)
|
|
@@ -168,7 +164,7 @@ class Atome
|
|
|
168
164
|
def format_matrix(matrix_id, matrix_width, matrix_height, nb_of_rows, nb_of_cols, margin, exceptions = {})
|
|
169
165
|
cell_width = (matrix_width - margin * (nb_of_cols + 1)) / nb_of_cols
|
|
170
166
|
cell_height = (matrix_height - margin * (nb_of_rows + 1)) / nb_of_rows
|
|
171
|
-
ratio=cell_height/cell_width
|
|
167
|
+
ratio = cell_height / cell_width
|
|
172
168
|
i = 0
|
|
173
169
|
nb_of_rows.times do |row_index|
|
|
174
170
|
nb_of_cols.times do |col_index|
|
|
@@ -182,8 +178,8 @@ class Atome
|
|
|
182
178
|
grab(child).width(cell_width)
|
|
183
179
|
grab(child).height(cell_width)
|
|
184
180
|
end
|
|
185
|
-
current_cell.width= cell_width
|
|
186
|
-
current_cell.height= cell_height
|
|
181
|
+
current_cell.width = cell_width
|
|
182
|
+
current_cell.height = cell_height
|
|
187
183
|
current_cell.left(x)
|
|
188
184
|
current_cell.top(y)
|
|
189
185
|
i += 1
|
|
@@ -194,43 +190,52 @@ class Atome
|
|
|
194
190
|
|
|
195
191
|
number_of_cells = nb_of_rows * nb_of_cols
|
|
196
192
|
# columns exceptions
|
|
197
|
-
|
|
198
|
-
fusion({ columns: exceptions[:columns_fusion] }) if exceptions[:columns_fusion]
|
|
199
|
-
fusion({ rows: exceptions[:rows_fusion] }) if exceptions[:rows_fusion]
|
|
200
|
-
divide({ columns: exceptions[:columns_divided] }) if exceptions[:columns_divided]
|
|
201
|
-
divide({ rows: exceptions[:rows_divided] }) if exceptions[:rows_divided]
|
|
202
|
-
end
|
|
193
|
+
return unless exceptions
|
|
203
194
|
|
|
195
|
+
fusion({ columns: exceptions[:columns_fusion] }) if exceptions[:columns_fusion]
|
|
196
|
+
fusion({ rows: exceptions[:rows_fusion] }) if exceptions[:rows_fusion]
|
|
197
|
+
divide({ columns: exceptions[:columns_divided] }) if exceptions[:columns_divided]
|
|
198
|
+
divide({ rows: exceptions[:rows_divided] }) if exceptions[:rows_divided]
|
|
204
199
|
end
|
|
205
200
|
|
|
206
201
|
def apply_style(current_cell, style)
|
|
207
202
|
current_cell.set(style)
|
|
208
203
|
end
|
|
204
|
+
def matrix_sanitizer(params)
|
|
205
|
+
default_params = {
|
|
209
206
|
|
|
207
|
+
id: :my_table, left: 33, top: 33, width: 369, height: 369, smooth: 8, color: :gray,
|
|
208
|
+
columns: { count: 4 },
|
|
209
|
+
rows: { count: 4 },
|
|
210
|
+
cells: { particles: { margin: 9, color: :lightgray, smooth: 9, shadow: { blur: 9, left: 3, top: 3 } }
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
default_params.merge(params)
|
|
214
|
+
end
|
|
210
215
|
def matrix(params = {}, &bloc)
|
|
211
|
-
|
|
212
|
-
if
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
if
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
if
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
cells_color=cells_data[:particles].delete(:color)
|
|
230
|
-
cells_color_id= color(cells_color).id.value
|
|
231
|
-
|
|
232
|
-
cells_shadow=cells_data[:particles].delete(:shadow)
|
|
233
|
-
cells_shadow_id= shadow(cells_shadow).id.value
|
|
216
|
+
params= matrix_sanitizer(params)
|
|
217
|
+
columns_data = if params[:columns]
|
|
218
|
+
params.delete(:columns)
|
|
219
|
+
else
|
|
220
|
+
{ count: 4 }
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
rows_data = if params[:rows]
|
|
224
|
+
params.delete(:rows)
|
|
225
|
+
else
|
|
226
|
+
{ count: 4 }
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
cells_data = if params[:cells]
|
|
230
|
+
params.delete(:cells)
|
|
231
|
+
else
|
|
232
|
+
{ particles: { margin: 9, color: :lightgray } }
|
|
233
|
+
end
|
|
234
|
+
cells_color = cells_data[:particles].delete(:color)
|
|
235
|
+
cells_color_id = color(cells_color).id.value
|
|
236
|
+
|
|
237
|
+
cells_shadow = cells_data[:particles].delete(:shadow)
|
|
238
|
+
cells_shadow_id = shadow(cells_shadow).id.value
|
|
234
239
|
|
|
235
240
|
exceptions_data = params.delete(:exceptions)
|
|
236
241
|
default_renderer = Essentials.default_params[:render_engines]
|
|
@@ -251,12 +256,12 @@ class Atome
|
|
|
251
256
|
columns = columns_data[:count]
|
|
252
257
|
rows = rows_data[:count]
|
|
253
258
|
margin = cells_data[:particles].delete(:margin)
|
|
254
|
-
the_matrix.instance_variable_set(
|
|
255
|
-
the_matrix.instance_variable_set(
|
|
256
|
-
the_matrix.instance_variable_set(
|
|
257
|
-
the_matrix.instance_variable_set(
|
|
258
|
-
the_matrix.instance_variable_set(
|
|
259
|
-
the_matrix.instance_variable_set(
|
|
259
|
+
the_matrix.instance_variable_set('@columns', columns)
|
|
260
|
+
the_matrix.instance_variable_set('@rows', rows)
|
|
261
|
+
the_matrix.instance_variable_set('@margin', margin)
|
|
262
|
+
the_matrix.instance_variable_set('@cell_style', cells_data[:particles])
|
|
263
|
+
the_matrix.instance_variable_set('@matrix_width', matrix_width)
|
|
264
|
+
the_matrix.instance_variable_set('@matrix_height', matrix_height)
|
|
260
265
|
|
|
261
266
|
rows = rows_data[:count]
|
|
262
267
|
columns = columns_data[:count]
|
|
@@ -279,7 +284,6 @@ class Atome
|
|
|
279
284
|
columns_divided: columns_divided_exceptions,
|
|
280
285
|
rows_fusion: rows_fusion_exceptions,
|
|
281
286
|
rows_divided: rows_divided_exceptions }
|
|
282
|
-
the_matrix.instance_variable_set("@exceptions", exceptions)
|
|
283
287
|
# @exceptions = {
|
|
284
288
|
# columns_fusion: columns_fusion_exceptions,
|
|
285
289
|
# columns_divided: columns_divided_exceptions,
|
|
@@ -291,9 +295,8 @@ class Atome
|
|
|
291
295
|
columns_fusion: {},
|
|
292
296
|
columns_divided: {},
|
|
293
297
|
rows_fusion: {},
|
|
294
|
-
rows_divided: {}
|
|
298
|
+
rows_divided: {}
|
|
295
299
|
}
|
|
296
|
-
the_matrix.instance_variable_set("@exceptions", exceptions)
|
|
297
300
|
# @exceptions = {
|
|
298
301
|
# columns_fusion: {},
|
|
299
302
|
# columns_divided: {},
|
|
@@ -301,6 +304,7 @@ class Atome
|
|
|
301
304
|
# rows_divided: {},
|
|
302
305
|
# }
|
|
303
306
|
end
|
|
307
|
+
the_matrix.instance_variable_set('@exceptions', exceptions)
|
|
304
308
|
|
|
305
309
|
# let's create the matrix background
|
|
306
310
|
# current_matrix = grab(:view).box({ id: matrix_id })
|
|
@@ -310,7 +314,7 @@ class Atome
|
|
|
310
314
|
number_of_cells = rows * columns
|
|
311
315
|
number_of_cells.times do |index|
|
|
312
316
|
current_cell = grab(matrix_id).box({ id: "#{matrix_id}_#{index}" })
|
|
313
|
-
the_matrix.instance_variable_set(
|
|
317
|
+
the_matrix.instance_variable_set('@cell_style', cells_data[:particles])
|
|
314
318
|
current_cell.attached([cells_shadow_id])
|
|
315
319
|
current_cell.attached([cells_color_id])
|
|
316
320
|
apply_style(current_cell, cells_data[:particles])
|
|
@@ -330,10 +334,10 @@ class Atome
|
|
|
330
334
|
# puts index
|
|
331
335
|
#
|
|
332
336
|
end
|
|
333
|
-
current_cell =
|
|
337
|
+
current_cell = box({ id: "#{id}_#{index}" })
|
|
334
338
|
apply_style(current_cell, @cell_style)
|
|
335
339
|
end
|
|
336
|
-
@columns
|
|
340
|
+
@columns += nb
|
|
337
341
|
########## old algo
|
|
338
342
|
# nb_of_cells_to_adds = nb * @rows
|
|
339
343
|
# prev_nb_of_cells = @columns * @rows
|
|
@@ -355,10 +359,10 @@ class Atome
|
|
|
355
359
|
# puts index
|
|
356
360
|
#
|
|
357
361
|
end
|
|
358
|
-
current_cell =
|
|
362
|
+
current_cell = box({ id: "#{id}_#{index}" })
|
|
359
363
|
apply_style(current_cell, @cell_style)
|
|
360
364
|
end
|
|
361
|
-
@rows
|
|
365
|
+
@rows += nb
|
|
362
366
|
########## old algo
|
|
363
367
|
# nb_of_cells_to_adds = nb * @columns
|
|
364
368
|
# prev_nb_of_cells = @columns * @rows
|
|
@@ -387,12 +391,11 @@ class Atome
|
|
|
387
391
|
(0...num_rows).each do |row|
|
|
388
392
|
result << (index + row * num_columns)
|
|
389
393
|
end
|
|
390
|
-
|
|
394
|
+
result
|
|
391
395
|
else
|
|
392
396
|
start_index = index * num_columns
|
|
393
397
|
end_index = start_index + num_columns - 1
|
|
394
|
-
|
|
398
|
+
(start_index..end_index).to_a
|
|
395
399
|
end
|
|
396
400
|
end
|
|
397
|
-
|
|
398
401
|
end
|
data/lib/atome/version.rb
CHANGED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
params = {
|
|
4
|
+
|
|
5
|
+
id: :my_table, left: 0, top: 0, width: 500, height: 399, smooth: 8, color: :yellowgreen,
|
|
6
|
+
columns: { count: 8,
|
|
7
|
+
titles: { 1 => :col1, 3 => :mycol },
|
|
8
|
+
data: { 3 => :col_content },
|
|
9
|
+
actions: { 2 => { touch: :the_action } },
|
|
10
|
+
particles: { color: :blue }
|
|
11
|
+
},
|
|
12
|
+
rows: { count: 6,
|
|
13
|
+
titles: { 1 => :my_first_row, 5 => :other_row },
|
|
14
|
+
data: { 0 => :col_content },
|
|
15
|
+
actions: {},
|
|
16
|
+
particles: { shadows: :black }
|
|
17
|
+
},
|
|
18
|
+
cells: {
|
|
19
|
+
# data: { 0 => :here, 2 => "hello", 4 => :hi, 5 => :good, 7 => :super },
|
|
20
|
+
# actions: { 2 => { touch: :my_lambda } },
|
|
21
|
+
particles: { margin: 9, color: :blue, smooth: 9, shadow: { blur: 9, left: 3, top: 3 } }
|
|
22
|
+
},
|
|
23
|
+
exceptions: {
|
|
24
|
+
columns: {
|
|
25
|
+
# divided: { 2 => 3 },
|
|
26
|
+
fusion: { 1 => [3, 5], 7 => [2, 5] }
|
|
27
|
+
},
|
|
28
|
+
rows: {
|
|
29
|
+
divided: { 1 => 3 },
|
|
30
|
+
fusion: { 2 => [0, 3], 5 => [2, 5] }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
matrix(params)
|
|
37
|
+
# matrix({ id: :totot,columns: { count: 24 } })
|
|
38
|
+
# matrix
|
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
_alarm_format = '2022,11,27,12,06,0'
|
|
4
4
|
time_to_run = Time.now + 3
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
t=text ({ data: "an event schedule will create a box" })
|
|
6
|
+
t.width(555)
|
|
7
|
+
a = element({})
|
|
7
8
|
|
|
8
9
|
a.schedule(time_to_run) do
|
|
9
10
|
puts 'event executed'
|
|
11
|
+
t.delete(true)
|
|
12
|
+
grab(:view).box #FIXME: box doesnt work we must use a grab , plaese fix
|
|
10
13
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: atome
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.3.
|
|
4
|
+
version: 0.5.3.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jean-Eric Godard
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-01-
|
|
11
|
+
date: 2023-01-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: arduino_firmata
|
|
@@ -649,6 +649,7 @@ files:
|
|
|
649
649
|
- vendor/assets/src/medias/rubies/examples/_audio.rb
|
|
650
650
|
- vendor/assets/src/medias/rubies/examples/_dataset.rb
|
|
651
651
|
- vendor/assets/src/medias/rubies/examples/_os.rb
|
|
652
|
+
- vendor/assets/src/medias/rubies/examples/_table2.rb
|
|
652
653
|
- vendor/assets/src/medias/rubies/examples/_test.rb
|
|
653
654
|
- vendor/assets/src/medias/rubies/examples/_vie.rb
|
|
654
655
|
- vendor/assets/src/medias/rubies/examples/add.rb
|