mrdialog 1.0.3 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/ChangeLog.md +21 -1
- data/Gemfile +3 -2
- data/LICENSE.txt +1 -1
- data/README.md +137 -76
- data/Rakefile +3 -3
- data/VERSION +1 -1
- data/lib/mrdialog/mrdialog.rb +89 -78
- data/mrdialog.gemspec +124 -0
- data/pkg/md5.txt +1 -1
- data/pkg/mrdialog-1.0.5.gem +0 -0
- data/samples/extra_button/buildlist.rb +89 -0
- data/samples/extra_button/calendar.rb +45 -0
- data/samples/extra_button/checklist.rb +84 -0
- data/samples/extra_button/form1.rb +101 -0
- data/samples/extra_button/fselect.rb +36 -0
- data/samples/extra_button/inputbox.rb +48 -0
- data/samples/extra_button/menubox.rb +85 -0
- data/samples/extra_button/password.rb +44 -0
- data/samples/extra_button/radiolist.rb +86 -0
- data/samples/extra_button/timebox.rb +43 -0
- data/samples/extra_button/treeview.rb +112 -0
- data/samples/run_all.rb +1 -1
- data/samples/yesno.rb +1 -1
- metadata +40 -16
- data/Gemfile.lock +0 -82
- data/pkg/mrdialog-1.0.3.gem +0 -0
data/lib/mrdialog/mrdialog.rb
CHANGED
@@ -188,6 +188,13 @@ class MRDialog
|
|
188
188
|
# For widgets holding a scrollable set of data, draw a scrollbar
|
189
189
|
# on its right-margin. This does not respond to the mouse.
|
190
190
|
attr_accessor :scrollbar
|
191
|
+
|
192
|
+
# Normally dialog converts tabs to spaces and reduces multiple
|
193
|
+
# spaces to a single space for text which is displayed
|
194
|
+
# # in a message boxes, etc. Use this option to disable that feature.
|
195
|
+
# Note that dialog will still wrap text, subject to the "--cr-wrap"
|
196
|
+
# and "--trim" options. #7
|
197
|
+
attr_accessor :no_collapse
|
191
198
|
# -- muquit@muquit.com mod ends---
|
192
199
|
|
193
200
|
# Returns a new RDialog Object
|
@@ -276,9 +283,9 @@ class MRDialog
|
|
276
283
|
cmd << " "
|
277
284
|
cmd << "--gauge"
|
278
285
|
cmd << " "
|
279
|
-
cmd << '"
|
286
|
+
cmd << "'"
|
280
287
|
cmd << text
|
281
|
-
cmd << '"
|
288
|
+
cmd << "'"
|
282
289
|
cmd << " "
|
283
290
|
cmd << height.to_s
|
284
291
|
cmd << " "
|
@@ -309,9 +316,9 @@ class MRDialog
|
|
309
316
|
cmd << "--progressbox"
|
310
317
|
cmd << " "
|
311
318
|
if description.length > 0
|
312
|
-
cmd << '"
|
319
|
+
cmd << "'"
|
313
320
|
cmd << description
|
314
|
-
cmd << '"
|
321
|
+
cmd << "'"
|
315
322
|
end
|
316
323
|
cmd << " "
|
317
324
|
cmd << height.to_s
|
@@ -330,9 +337,9 @@ class MRDialog
|
|
330
337
|
cmd << "--programbox"
|
331
338
|
cmd << " "
|
332
339
|
if description.length > 0
|
333
|
-
cmd << '"
|
340
|
+
cmd << "'"
|
334
341
|
cmd << description
|
335
|
-
cmd << '"
|
342
|
+
cmd << "'"
|
336
343
|
end
|
337
344
|
cmd << " "
|
338
345
|
cmd << height.to_s
|
@@ -364,14 +371,14 @@ class MRDialog
|
|
364
371
|
cmd << "--prgbox"
|
365
372
|
cmd << " "
|
366
373
|
if text.length > 0
|
367
|
-
cmd << '"
|
374
|
+
cmd << "'"
|
368
375
|
cmd << text
|
369
|
-
cmd << '"
|
376
|
+
cmd << "'"
|
370
377
|
end
|
371
378
|
cmd << " "
|
372
|
-
cmd << '"
|
379
|
+
cmd << "'"
|
373
380
|
cmd << command
|
374
|
-
cmd << '"
|
381
|
+
cmd << "'"
|
375
382
|
cmd << " "
|
376
383
|
cmd << height.to_s
|
377
384
|
cmd << " "
|
@@ -394,22 +401,22 @@ class MRDialog
|
|
394
401
|
tmp = Tempfile.new('dialog')
|
395
402
|
itemlist = ''
|
396
403
|
items.each do |item|
|
397
|
-
itemlist << '"
|
404
|
+
itemlist << "'"
|
398
405
|
itemlist << item[0].to_s
|
399
|
-
itemlist << '"
|
406
|
+
itemlist << "'"
|
400
407
|
itemlist << " "
|
401
|
-
itemlist << '"
|
408
|
+
itemlist << "'"
|
402
409
|
itemlist << item[1].to_s
|
403
|
-
itemlist << '"
|
410
|
+
itemlist << "'"
|
404
411
|
itemlist << " "
|
405
|
-
itemlist << '"
|
412
|
+
itemlist << "'"
|
406
413
|
if item[2]
|
407
414
|
item[2] = "on"
|
408
415
|
else
|
409
416
|
item[2] = "off"
|
410
417
|
end
|
411
418
|
itemlist << item[2]
|
412
|
-
itemlist << '"
|
419
|
+
itemlist << "'"
|
413
420
|
itemlist << " "
|
414
421
|
itemlist << item[3].to_s
|
415
422
|
itemlist << " "
|
@@ -422,10 +429,10 @@ class MRDialog
|
|
422
429
|
cmd << " "
|
423
430
|
cmd << "--treeview"
|
424
431
|
cmd << " "
|
425
|
-
cmd << '"
|
432
|
+
cmd << "'"
|
426
433
|
cmd << " "
|
427
434
|
cmd << text
|
428
|
-
cmd << '"
|
435
|
+
cmd << "'"
|
429
436
|
cmd << " "
|
430
437
|
cmd << height.to_s
|
431
438
|
cmd << " "
|
@@ -442,11 +449,12 @@ class MRDialog
|
|
442
449
|
@exit_code = $?.exitstatus
|
443
450
|
log_debug "Exit code: #{exit_code}"
|
444
451
|
tag = ''
|
445
|
-
if @exit_code
|
452
|
+
if @exit_code != 1
|
446
453
|
tag = tmp.read
|
447
454
|
end
|
448
|
-
tmp.close!
|
449
455
|
return tag
|
456
|
+
ensure
|
457
|
+
tmp.close!
|
450
458
|
end
|
451
459
|
|
452
460
|
#
|
@@ -470,22 +478,22 @@ class MRDialog
|
|
470
478
|
itemlist = ''
|
471
479
|
|
472
480
|
items.each do |item|
|
473
|
-
itemlist << '"
|
481
|
+
itemlist << "'"
|
474
482
|
itemlist << item[0].to_s
|
475
|
-
itemlist << '"
|
483
|
+
itemlist << "'"
|
476
484
|
itemlist << " "
|
477
|
-
itemlist << '"
|
485
|
+
itemlist << "'"
|
478
486
|
itemlist << item[1].to_s
|
479
|
-
itemlist << '"
|
487
|
+
itemlist << "'"
|
480
488
|
itemlist << " "
|
481
|
-
itemlist << '"
|
489
|
+
itemlist << "'"
|
482
490
|
if item[2]
|
483
491
|
item[2] = "on"
|
484
492
|
else
|
485
493
|
item[2] = "off"
|
486
494
|
end
|
487
495
|
itemlist << item[2]
|
488
|
-
itemlist << '"
|
496
|
+
itemlist << "'"
|
489
497
|
itemlist << " "
|
490
498
|
end
|
491
499
|
itemlist << "2>"
|
@@ -499,17 +507,17 @@ class MRDialog
|
|
499
507
|
cmd << " "
|
500
508
|
cmd << "--separator"
|
501
509
|
cmd << " "
|
502
|
-
cmd << '"
|
510
|
+
cmd << "'"
|
503
511
|
cmd << @separator
|
504
|
-
cmd << '"
|
512
|
+
cmd << "'"
|
505
513
|
end
|
506
514
|
cmd << " "
|
507
515
|
cmd << "--buildlist"
|
508
516
|
cmd << " "
|
509
|
-
cmd << '"
|
517
|
+
cmd << "'"
|
510
518
|
cmd << " "
|
511
519
|
cmd << text
|
512
|
-
cmd << '"
|
520
|
+
cmd << "'"
|
513
521
|
cmd << " "
|
514
522
|
cmd << height.to_s
|
515
523
|
cmd << " "
|
@@ -525,7 +533,7 @@ class MRDialog
|
|
525
533
|
system(cmd)
|
526
534
|
@exit_code = $?.exitstatus
|
527
535
|
log_debug "Exit code: #{exit_code}"
|
528
|
-
if @exit_code
|
536
|
+
if @exit_code != 1
|
529
537
|
lines = tmp.read
|
530
538
|
log_debug "lines: #{lines} #{lines.class}"
|
531
539
|
sep = Shellwords.escape(@separator)
|
@@ -535,8 +543,9 @@ class MRDialog
|
|
535
543
|
selected_tags << tag if tag.to_s.length > 0
|
536
544
|
end
|
537
545
|
end
|
538
|
-
tmp.close!
|
539
546
|
return selected_tags
|
547
|
+
ensure
|
548
|
+
tmp.close!
|
540
549
|
end
|
541
550
|
|
542
551
|
# A pause box displays a meter along the bottom of the box. The
|
@@ -550,9 +559,9 @@ class MRDialog
|
|
550
559
|
cmd << " "
|
551
560
|
cmd << "--pause"
|
552
561
|
cmd << " "
|
553
|
-
cmd << '"
|
562
|
+
cmd << "'"
|
554
563
|
cmd << text
|
555
|
-
cmd << '"
|
564
|
+
cmd << "'"
|
556
565
|
cmd << " "
|
557
566
|
cmd << height.to_s
|
558
567
|
cmd << " "
|
@@ -584,9 +593,9 @@ class MRDialog
|
|
584
593
|
cmd << " "
|
585
594
|
cmd << "--editbox"
|
586
595
|
cmd << " "
|
587
|
-
cmd << '"
|
596
|
+
cmd << "'"
|
588
597
|
cmd << filepath
|
589
|
-
cmd << '"
|
598
|
+
cmd << "'"
|
590
599
|
cmd << " "
|
591
600
|
cmd << height.to_s
|
592
601
|
cmd << " "
|
@@ -604,8 +613,9 @@ class MRDialog
|
|
604
613
|
if @exit_code == 0
|
605
614
|
result = tmp.read
|
606
615
|
end
|
607
|
-
tmp.close!
|
608
616
|
return result
|
617
|
+
ensure
|
618
|
+
tmp.close!
|
609
619
|
end
|
610
620
|
|
611
621
|
#
|
@@ -633,17 +643,17 @@ class MRDialog
|
|
633
643
|
mixed_form = true
|
634
644
|
end
|
635
645
|
items.each do |item|
|
636
|
-
itemlist << '"
|
646
|
+
itemlist << "'"
|
637
647
|
itemlist << item[0].to_s
|
638
|
-
itemlist << '"
|
648
|
+
itemlist << "'"
|
639
649
|
itemlist << " "
|
640
650
|
itemlist << item[1].to_s
|
641
651
|
itemlist << " "
|
642
652
|
itemlist << item[2].to_s
|
643
653
|
itemlist << " "
|
644
|
-
itemlist << '"
|
654
|
+
itemlist << "'"
|
645
655
|
itemlist << item[3].to_s
|
646
|
-
itemlist << '"
|
656
|
+
itemlist << "'"
|
647
657
|
itemlist << " "
|
648
658
|
itemlist << item[4].to_s
|
649
659
|
itemlist << " "
|
@@ -675,9 +685,9 @@ class MRDialog
|
|
675
685
|
end
|
676
686
|
end
|
677
687
|
cmd << " "
|
678
|
-
cmd << '"
|
688
|
+
cmd << "'"
|
679
689
|
cmd << text
|
680
|
-
cmd << '"
|
690
|
+
cmd << "'"
|
681
691
|
cmd << " "
|
682
692
|
cmd << height.to_s
|
683
693
|
cmd << " "
|
@@ -693,7 +703,7 @@ class MRDialog
|
|
693
703
|
@exit_code = $?.exitstatus
|
694
704
|
log_debug "Exit code: #{exit_code}"
|
695
705
|
|
696
|
-
if @exit_code
|
706
|
+
if @exit_code != 1
|
697
707
|
lines = tmp.readlines
|
698
708
|
lines.each_with_index do |val, idx|
|
699
709
|
key = items[idx][0]
|
@@ -701,8 +711,9 @@ class MRDialog
|
|
701
711
|
end
|
702
712
|
end
|
703
713
|
|
704
|
-
tmp.close!
|
705
714
|
return res_hash
|
715
|
+
ensure
|
716
|
+
tmp.close!
|
706
717
|
end
|
707
718
|
|
708
719
|
#
|
@@ -754,15 +765,14 @@ class MRDialog
|
|
754
765
|
" 2> " + tmp.path
|
755
766
|
success = system(command)
|
756
767
|
@exit_code = $?.exitstatus
|
757
|
-
if
|
768
|
+
if @exit_code != 1
|
758
769
|
date = Date::civil(*tmp.readline.split('/').collect {|i| i.to_i}.reverse)
|
759
|
-
tmp.close!
|
760
770
|
return date
|
761
771
|
else
|
762
|
-
tmp.close!
|
763
772
|
return success
|
764
773
|
end
|
765
|
-
|
774
|
+
ensure
|
775
|
+
tmp.close!
|
766
776
|
end
|
767
777
|
|
768
778
|
# A checklist box is similar to a menu box; there are multiple
|
@@ -800,9 +810,8 @@ class MRDialog
|
|
800
810
|
success = system(command)
|
801
811
|
@exit_code = $?.exitstatus
|
802
812
|
selected_array = []
|
803
|
-
if
|
813
|
+
if @exit_code != 1
|
804
814
|
selected_string = tmp.readline
|
805
|
-
tmp.close!
|
806
815
|
log_debug "Separator: #{@separator}"
|
807
816
|
|
808
817
|
sep = Shellwords.escape(@separator)
|
@@ -813,10 +822,10 @@ class MRDialog
|
|
813
822
|
end
|
814
823
|
return selected_array
|
815
824
|
else
|
816
|
-
tmp.close!
|
817
825
|
return success
|
818
826
|
end
|
819
|
-
|
827
|
+
ensure
|
828
|
+
tmp.close!
|
820
829
|
end
|
821
830
|
|
822
831
|
# The file-selection dialog displays a text-entry window in which
|
@@ -850,18 +859,18 @@ class MRDialog
|
|
850
859
|
success = system(command)
|
851
860
|
@exit_code = $?.exitstatus
|
852
861
|
|
853
|
-
if
|
862
|
+
if @exit_code != 1
|
854
863
|
begin
|
855
864
|
selected_string = tmp.readline
|
856
865
|
rescue EOFError
|
857
866
|
selected_string = ""
|
858
867
|
end
|
859
|
-
tmp.close!
|
860
868
|
return selected_string
|
861
869
|
else
|
862
|
-
tmp.close!
|
863
870
|
return success
|
864
871
|
end
|
872
|
+
ensure
|
873
|
+
tmp.close!
|
865
874
|
end
|
866
875
|
|
867
876
|
|
@@ -914,15 +923,14 @@ class MRDialog
|
|
914
923
|
success = system(command)
|
915
924
|
@exit_code = $?.exitstatus
|
916
925
|
|
917
|
-
if
|
926
|
+
if @exit_code != 1
|
918
927
|
selected_string = tmp.readline
|
919
|
-
tmp.close!
|
920
928
|
return selected_string
|
921
929
|
else
|
922
|
-
tmp.close!
|
923
930
|
return success
|
924
931
|
end
|
925
|
-
|
932
|
+
ensure
|
933
|
+
tmp.close!
|
926
934
|
end
|
927
935
|
|
928
936
|
# As its name suggests, a menu box is a dialog box that can be
|
@@ -961,15 +969,14 @@ class MRDialog
|
|
961
969
|
success = system(command)
|
962
970
|
@exit_code = $?.exitstatus
|
963
971
|
|
964
|
-
if
|
972
|
+
if @exit_code != 1
|
965
973
|
selected_string = tmp.readline
|
966
|
-
tmp.close!
|
967
974
|
return selected_string
|
968
975
|
else
|
969
|
-
tmp.close!
|
970
976
|
return success
|
971
977
|
end
|
972
|
-
|
978
|
+
ensure
|
979
|
+
tmp.close!
|
973
980
|
end
|
974
981
|
|
975
982
|
# A message box is very similar to a yes/no box. The only dif-
|
@@ -1012,18 +1019,18 @@ class MRDialog
|
|
1012
1019
|
success = system(command)
|
1013
1020
|
@exit_code = $?.exitstatus
|
1014
1021
|
|
1015
|
-
if
|
1022
|
+
if @exit_code != 1
|
1016
1023
|
begin
|
1017
1024
|
selected_string = tmp.readline
|
1018
1025
|
rescue EOFError
|
1019
1026
|
selected_string = ""
|
1020
1027
|
end
|
1021
|
-
tmp.close!
|
1022
1028
|
return selected_string
|
1023
1029
|
else
|
1024
|
-
tmp.close!
|
1025
1030
|
return success
|
1026
1031
|
end
|
1032
|
+
ensure
|
1033
|
+
tmp.close!
|
1027
1034
|
end
|
1028
1035
|
|
1029
1036
|
# The textbox method handles three similar dialog functions, textbox,
|
@@ -1093,15 +1100,14 @@ class MRDialog
|
|
1093
1100
|
log_debug("Command:\n#{command}")
|
1094
1101
|
success = system(command)
|
1095
1102
|
@exit_code = $?.exitstatus
|
1096
|
-
if
|
1103
|
+
if @exit_code != 1
|
1097
1104
|
time = Time.parse(tmp.readline)
|
1098
|
-
tmp.close!
|
1099
1105
|
return time
|
1100
1106
|
else
|
1101
|
-
tmp.close!
|
1102
1107
|
return success
|
1103
1108
|
end
|
1104
|
-
|
1109
|
+
ensure
|
1110
|
+
tmp.close!
|
1105
1111
|
end
|
1106
1112
|
|
1107
1113
|
# An input box is useful when you want to ask questions that
|
@@ -1129,18 +1135,18 @@ class MRDialog
|
|
1129
1135
|
success = system(command)
|
1130
1136
|
@exit_code = $?.exitstatus
|
1131
1137
|
|
1132
|
-
if
|
1138
|
+
if @exit_code != 1
|
1133
1139
|
begin
|
1134
1140
|
selected_string = tmp.readline
|
1135
1141
|
rescue EOFError
|
1136
1142
|
selected_string = ""
|
1137
1143
|
end
|
1138
|
-
tmp.close!
|
1139
1144
|
return selected_string
|
1140
1145
|
else
|
1141
|
-
tmp.close!
|
1142
1146
|
return success
|
1143
1147
|
end
|
1148
|
+
ensure
|
1149
|
+
tmp.close!
|
1144
1150
|
end
|
1145
1151
|
|
1146
1152
|
# A yes/no dialog box of size height rows by width columns will
|
@@ -1163,13 +1169,13 @@ class MRDialog
|
|
1163
1169
|
command = ""
|
1164
1170
|
command << option_string();
|
1165
1171
|
command << " "
|
1166
|
-
command << '"
|
1172
|
+
command << "'"
|
1167
1173
|
command << "--yesno"
|
1168
|
-
command << '"
|
1174
|
+
command << "'"
|
1169
1175
|
command << " "
|
1170
|
-
command << '"
|
1176
|
+
command << "'"
|
1171
1177
|
command << text
|
1172
|
-
command << '"
|
1178
|
+
command << "'"
|
1173
1179
|
command << " "
|
1174
1180
|
command << height.to_s
|
1175
1181
|
command << " "
|
@@ -1320,6 +1326,11 @@ class MRDialog
|
|
1320
1326
|
ostring += "--nocancel "
|
1321
1327
|
end
|
1322
1328
|
|
1329
|
+
# #7
|
1330
|
+
if @no_collapse
|
1331
|
+
ostring += "--no-collapse "
|
1332
|
+
end
|
1333
|
+
|
1323
1334
|
return ostring
|
1324
1335
|
end
|
1325
1336
|
end
|
data/mrdialog.gemspec
ADDED
@@ -0,0 +1,124 @@
|
|
1
|
+
# Generated by juwelier
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: mrdialog 1.0.4 ruby lib
|
6
|
+
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = "mrdialog"
|
9
|
+
s.version = "1.0.4"
|
10
|
+
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
+
s.require_paths = ["lib"]
|
13
|
+
s.authors = ["Aleks Clark", "Muhammad Muquit"]
|
14
|
+
s.date = "2018-04-12"
|
15
|
+
s.description = "A ruby gem for ncurses dialog program.\n This gem is based on rdialog (http://rdialog.rubyforge.org/) by\n Aleks Clark. I added support for missing widgets, fixed \n bugs and wrote the sample apps. I am \n also renaming the class to MRDialog to avoid conflicts.\n Please look at ChangeLog.md for details. "
|
16
|
+
s.email = "muquit@gmail.com"
|
17
|
+
s.extra_rdoc_files = [
|
18
|
+
"ChangeLog.md",
|
19
|
+
"LICENSE.txt",
|
20
|
+
"README.md"
|
21
|
+
]
|
22
|
+
s.files = [
|
23
|
+
".document",
|
24
|
+
"ChangeLog.md",
|
25
|
+
"Gemfile",
|
26
|
+
"Gemfile.lock",
|
27
|
+
"LICENSE.txt",
|
28
|
+
"README.md",
|
29
|
+
"Rakefile",
|
30
|
+
"VERSION",
|
31
|
+
"lib/mrdialog.rb",
|
32
|
+
"lib/mrdialog/mrdialog.rb",
|
33
|
+
"pkg/md5.txt",
|
34
|
+
"pkg/mrdialog-1.0.4.gem",
|
35
|
+
"samples/buildlist.rb",
|
36
|
+
"samples/calendar.rb",
|
37
|
+
"samples/checklist.rb",
|
38
|
+
"samples/editbox.rb",
|
39
|
+
"samples/form1.rb",
|
40
|
+
"samples/form2.rb",
|
41
|
+
"samples/form3.rb",
|
42
|
+
"samples/fselect.rb",
|
43
|
+
"samples/gauge.rb",
|
44
|
+
"samples/infobox.rb",
|
45
|
+
"samples/inputbox.rb",
|
46
|
+
"samples/menubox.rb",
|
47
|
+
"samples/mixedform1.rb",
|
48
|
+
"samples/msgbox.rb",
|
49
|
+
"samples/password.rb",
|
50
|
+
"samples/password2.rb",
|
51
|
+
"samples/passwordform.rb",
|
52
|
+
"samples/pause.rb",
|
53
|
+
"samples/prgbox.rb",
|
54
|
+
"samples/program.rb",
|
55
|
+
"samples/progress.rb",
|
56
|
+
"samples/radiolist.rb",
|
57
|
+
"samples/run_all.rb",
|
58
|
+
"samples/shortlist",
|
59
|
+
"samples/timebox.rb",
|
60
|
+
"samples/treeview.rb",
|
61
|
+
"samples/treeview2.rb",
|
62
|
+
"samples/yesno.rb",
|
63
|
+
"screenshots/README.txt",
|
64
|
+
"screenshots/all.gif",
|
65
|
+
"screenshots/buildlist.png",
|
66
|
+
"screenshots/calendar.png",
|
67
|
+
"screenshots/checklist.png",
|
68
|
+
"screenshots/editbox.png",
|
69
|
+
"screenshots/form1.png",
|
70
|
+
"screenshots/form2.png",
|
71
|
+
"screenshots/form3.png",
|
72
|
+
"screenshots/fselect.png",
|
73
|
+
"screenshots/gauge.png",
|
74
|
+
"screenshots/infobox.png",
|
75
|
+
"screenshots/inputbox.png",
|
76
|
+
"screenshots/menubox.png",
|
77
|
+
"screenshots/mixedform1.png",
|
78
|
+
"screenshots/msgbox.png",
|
79
|
+
"screenshots/password.png",
|
80
|
+
"screenshots/password2.png",
|
81
|
+
"screenshots/passwordform.png",
|
82
|
+
"screenshots/pause.png",
|
83
|
+
"screenshots/prgbox.png",
|
84
|
+
"screenshots/program.png",
|
85
|
+
"screenshots/progress.png",
|
86
|
+
"screenshots/radiolist.png",
|
87
|
+
"screenshots/take_shots.rb",
|
88
|
+
"screenshots/timebox.png",
|
89
|
+
"screenshots/treeview.png",
|
90
|
+
"screenshots/treeview2.png",
|
91
|
+
"screenshots/yesno.png",
|
92
|
+
"test/helper.rb",
|
93
|
+
"test/test_mrdialog.rb"
|
94
|
+
]
|
95
|
+
s.homepage = "http://github.com/muquit/mrdialog"
|
96
|
+
s.licenses = ["MIT"]
|
97
|
+
s.rubygems_version = "2.5.2.1"
|
98
|
+
s.summary = "A ruby gem for ncurses dialog program, based on the gem rdialog"
|
99
|
+
|
100
|
+
if s.respond_to? :specification_version then
|
101
|
+
s.specification_version = 4
|
102
|
+
|
103
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
104
|
+
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
105
|
+
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
106
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0"])
|
107
|
+
s.add_development_dependency(%q<juwelier>, ["~> 2.0.1"])
|
108
|
+
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
109
|
+
else
|
110
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
111
|
+
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
112
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
113
|
+
s.add_dependency(%q<juwelier>, ["~> 2.0.1"])
|
114
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
115
|
+
end
|
116
|
+
else
|
117
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
118
|
+
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
119
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
120
|
+
s.add_dependency(%q<juwelier>, ["~> 2.0.1"])
|
121
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
data/pkg/md5.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
e6497d81db203c5c49dfff90c7870a09 mrdialog-1.0.3.gem
|
Binary file
|
@@ -0,0 +1,89 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require [File.expand_path(File.dirname(__FILE__)), '../..', 'lib', 'mrdialog'].join('/')
|
4
|
+
require 'pp'
|
5
|
+
|
6
|
+
begin
|
7
|
+
ME = File.basename($0)
|
8
|
+
if ENV['CHANGE_TITLE']
|
9
|
+
if ME =~ /(.+)\.rb$/
|
10
|
+
base = $1
|
11
|
+
puts "\033]0;mrdialog - #{base}\007"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
text = <<EOF
|
15
|
+
This example is taken from dialog/samples/menulist
|
16
|
+
shell script.
|
17
|
+
|
18
|
+
Hi, this is a buildlist dialog. The list on the left
|
19
|
+
shows the unselected items. The list on the right shows
|
20
|
+
the selected items. Use SPACE bar to select/unselect
|
21
|
+
items. Shadow is set to false.
|
22
|
+
|
23
|
+
EOF
|
24
|
+
items = []
|
25
|
+
Struct.new("BuildListData", :tag, :item, :status)
|
26
|
+
data = Struct::BuildListData.new
|
27
|
+
|
28
|
+
data.tag = "1"
|
29
|
+
data.item = "Item number 1"
|
30
|
+
data.status = true
|
31
|
+
items.push(data.to_a)
|
32
|
+
|
33
|
+
data = Struct::BuildListData.new
|
34
|
+
data.tag = "2"
|
35
|
+
data.item = "Item number 2"
|
36
|
+
data.status = false
|
37
|
+
items.push(data.to_a)
|
38
|
+
|
39
|
+
data = Struct::BuildListData.new
|
40
|
+
data.tag = "3"
|
41
|
+
data.item = "Item number 3"
|
42
|
+
data.status = false
|
43
|
+
items.push(data.to_a)
|
44
|
+
|
45
|
+
data = Struct::BuildListData.new
|
46
|
+
data.tag = "4"
|
47
|
+
data.item = "Item number 4"
|
48
|
+
data.status = true
|
49
|
+
items.push(data.to_a)
|
50
|
+
|
51
|
+
data = Struct::BuildListData.new
|
52
|
+
data.tag = "5"
|
53
|
+
data.item = "Item number 5"
|
54
|
+
data.status = false
|
55
|
+
items.push(data.to_a)
|
56
|
+
|
57
|
+
data = Struct::BuildListData.new
|
58
|
+
data.tag = "6"
|
59
|
+
data.item = "Item number 6"
|
60
|
+
data.status = true
|
61
|
+
items.push(data.to_a)
|
62
|
+
|
63
|
+
dialog = MRDialog.new
|
64
|
+
dialog.clear = true
|
65
|
+
dialog.shadow = false
|
66
|
+
dialog.title = "BUILDLIST"
|
67
|
+
dialog.logger = Logger.new(ENV["HOME"] + "/dialog_" + ME + ".log")
|
68
|
+
dialog.extra_button = true
|
69
|
+
dialog.ok_label = "Send"
|
70
|
+
dialog.extra_label = "Archive"
|
71
|
+
dialog.cancel_label = "Quit"
|
72
|
+
|
73
|
+
height = 0
|
74
|
+
width = 0
|
75
|
+
listheight = 0
|
76
|
+
|
77
|
+
selected_items = dialog.buildlist(text, items, height, width, listheight)
|
78
|
+
exit_code = dialog.exit_code
|
79
|
+
puts "Exit code: #{exit_code}"
|
80
|
+
puts "Selecetd tags:"
|
81
|
+
selected_items.each do |item|
|
82
|
+
puts " '#{item}'"
|
83
|
+
end
|
84
|
+
|
85
|
+
rescue => e
|
86
|
+
puts "#{$!}"
|
87
|
+
t = e.backtrace.join("\n\t")
|
88
|
+
puts "Error: #{t}"
|
89
|
+
end
|