mrdialog 1.0.3 → 1.0.5
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 +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
|