nota_nuc 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +48 -0
- data/README.md +41 -0
- data/Rakefile +5 -0
- data/db/Quarrier.rb +430 -0
- data/db/create_db_Penrhyn.rb +186 -0
- data/features/commands.feature +119 -0
- data/features/cucumber_LICENCE +22 -0
- data/features/offline.feature +65 -0
- data/features/passwords.feature +37 -0
- data/features/step_definitions/command_steps.rb +142 -0
- data/features/step_definitions/offline_steps.rb +211 -0
- data/features/step_definitions/password_steps.rb +45 -0
- data/images/arrowleft_image.png +0 -0
- data/images/arrowright_image.png +0 -0
- data/images/arrowright_imageone.png +0 -0
- data/images/arrowright_imagetwo.png +0 -0
- data/images/blue_light.png +0 -0
- data/images/error_symbol.png +0 -0
- data/images/gift_glow2.png +0 -0
- data/images/gift_nonglow2.png +0 -0
- data/images/gift_nonglow2_bottom.png +0 -0
- data/images/green_light.png +0 -0
- data/images/key_glow.png +0 -0
- data/images/key_nonglow.png +0 -0
- data/images/lock_image.png +0 -0
- data/images/new_slate_icon.png +0 -0
- data/images/pencil_glow image.png +0 -0
- data/images/pencil_glow_image_red.png +0 -0
- data/images/pencil_nonglow.png +0 -0
- data/images/red_light.png +0 -0
- data/images/settings_icon.png +0 -0
- data/images/typing_image.png +0 -0
- data/images/updating_image.png +0 -0
- data/images/yellow_light.png +0 -0
- data/lib/Billboard_module.rb +372 -0
- data/lib/Exercitus_romanorum.rb +572 -0
- data/lib/error_choose_a_slate.rb +20 -0
- data/lib/final_eye.rb +777 -0
- data/lib/nota_nuc.rb +5 -0
- data/lib/nota_nuc/version.rb +3 -0
- data/log/history.log +3 -0
- data/log/slate.log +3 -0
- data/nota_nuc.gemspec +36 -0
- metadata +196 -0
@@ -0,0 +1,211 @@
|
|
1
|
+
require_relative '../../db/Quarrier.rb'
|
2
|
+
include Quarrier
|
3
|
+
require 'sqlite3'
|
4
|
+
require 'test/unit'
|
5
|
+
include Test::Unit::Assertions
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
db = SQLite3::Database.open "db/Penrhyn.db"
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
Given /^A user wants to switch to another slate$/ do
|
14
|
+
#make sure 3 or more slates exist and only one slate is viewed do this with sqlite3 commands
|
15
|
+
sql = db.execute "SELECT COUNT(*) FROM slates"
|
16
|
+
resultstr = sql.join("")
|
17
|
+
resultnum = resultstr.to_i
|
18
|
+
assert_operator( resultnum, :>=, 3, "There should be 3 or more slates but there are only #{resultstr} slates" )
|
19
|
+
sql2 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
|
20
|
+
num_viewed = sql2.length
|
21
|
+
assert_equal( num_viewed, 1, "There should be only one slate with viewed as 1 but there are #{num_viewed} slates being viewed" )
|
22
|
+
end
|
23
|
+
|
24
|
+
Then /^A user clicks the (\w+) arrow$/ do |direction|
|
25
|
+
direc = direction.to_s
|
26
|
+
if direc == "right"
|
27
|
+
sql = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
|
28
|
+
first_view = sql.join("")
|
29
|
+
sql2 = db.execute "SELECT slatename FROM slates"
|
30
|
+
@index_of_view = sql2.index "#{first_view}"
|
31
|
+
if sql2.last == "#{first_view}"
|
32
|
+
nextindex = 0
|
33
|
+
else
|
34
|
+
nextindex = @index_of_view.to_i + 1
|
35
|
+
end
|
36
|
+
next_slatename = sql2[nextindex]
|
37
|
+
switch_maintext_R
|
38
|
+
sql3 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
|
39
|
+
next_view = sql3.join("")
|
40
|
+
assert_equal( next_view, next_slatename, "The next viewed slatename should be #{next_slatename} but was found to be #{next_view}" )
|
41
|
+
elsif direc == "left"
|
42
|
+
sql = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
|
43
|
+
first_view = sql.join("")
|
44
|
+
sql2 = db.execute "SELECT slatename FROM slates"
|
45
|
+
index_of_view = sql2.index"#{first_view}"
|
46
|
+
if sql2.first == "#{first_view}"
|
47
|
+
previousindex = -1
|
48
|
+
else
|
49
|
+
previousindex = index_of_view - 1
|
50
|
+
end
|
51
|
+
previous_slatename = sql2[previousindex]
|
52
|
+
switch_maintext_L
|
53
|
+
sql3 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
|
54
|
+
previous_view = sql3.join("")
|
55
|
+
assert_equal( next_view, previous_slatename, "The next viewed slatename should be #{next_slatename} but was found to be #{next_view}" )
|
56
|
+
else
|
57
|
+
assert_equal( direction, nothing, "The direction left or right was not seen by the code" )
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
And /^A user wants to switch back to the first slate$/ do
|
62
|
+
#make sure 3 or more slates exist and only one slate is viewed do this with sqlite3 commands
|
63
|
+
sql = db.execute "SELECT COUNT(*) FROM slates"
|
64
|
+
resultstr = sql.join("")
|
65
|
+
resultnum = resultstr.to_i
|
66
|
+
assert_operator( resultnum, :>=, 3, "There should be 3 or more slates but there are only #{resultstr} slates" )
|
67
|
+
sql2 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
|
68
|
+
num_viewed = sql2.length
|
69
|
+
assert_equal( num_viewed, 1, "There should be only one slate with viewed as 1 but there are #{num_viewed} slates being viewed" )
|
70
|
+
end
|
71
|
+
|
72
|
+
And /^The program switches to the (\w+) slate$/ do |switch|
|
73
|
+
pending("check on previous or next slate by viewing and get maintext and slatename")
|
74
|
+
end
|
75
|
+
|
76
|
+
When /^A user clicks the (\w+) button$/ do |button|
|
77
|
+
pending("This test is waiting for A user gets a new_slate window test below to be created first")
|
78
|
+
end
|
79
|
+
|
80
|
+
Then /^A user gets a (\w+) window$/ do |window|
|
81
|
+
pending("view the new slate window")
|
82
|
+
#how to check if window popped up? do this one later might have to go into final_eye using some kind of check possibly minitest?
|
83
|
+
end
|
84
|
+
|
85
|
+
And /^A user names the slate pickles$/ do
|
86
|
+
#make sure 3 or more slates exist and only one slate is viewed do this with sqlite3 commands
|
87
|
+
sql = db.execute "SELECT COUNT(*) FROM slates"
|
88
|
+
resultstr = sql.join("")
|
89
|
+
resultnum = resultstr.to_i
|
90
|
+
assert_operator( resultnum, :>=, 3, "There should be 3 or more slates but there are only #{resultstr} slates" )
|
91
|
+
sql2 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
|
92
|
+
num_viewed = sql2.length
|
93
|
+
assert_equal( num_viewed, 1, "There should be only one slate with viewed as 1 but there are #{num_viewed} slates being viewed" )
|
94
|
+
end
|
95
|
+
|
96
|
+
Then /^A user hits the ok button$/ do
|
97
|
+
#pending("run methods that are run when new slate window ok button clicked")
|
98
|
+
#new_slate("pickles")
|
99
|
+
end
|
100
|
+
|
101
|
+
Then /^A slate is created with the name pickles$/ do
|
102
|
+
pending("check new slate created with same name and settings")
|
103
|
+
sql = db.execute "SELECT slatename FROM slates"
|
104
|
+
slate = sql.include? 'pickles'
|
105
|
+
assert slate, "The Penrhyn database was expected to have the slatename pickles in it"
|
106
|
+
end
|
107
|
+
|
108
|
+
Given /^A user inputs (\w+) into schedule (\w+)$/ do |text, slate|
|
109
|
+
pending("user inputs text")
|
110
|
+
#set_viewing("schedule")
|
111
|
+
#scheduletext = set_maintext_viewing
|
112
|
+
#updatedtext = "#{scheduletext}" + "#{text}"
|
113
|
+
#updatetext("#{updatedtext}")
|
114
|
+
#how to check if text is inputted into the slate?
|
115
|
+
#would I just do an update slate here? after getting the text from the db and then adding it and then running update text command from quarrier that final eye uses
|
116
|
+
end
|
117
|
+
|
118
|
+
Then /A user goes back to the first slate and the text is still there$/ do |text|
|
119
|
+
pending("check user didn't lose text when go back to first slate")
|
120
|
+
end
|
121
|
+
|
122
|
+
Then /^A user exits the application by clicking the x in the corner$/ do |exit|
|
123
|
+
pending("exit the application")
|
124
|
+
#I will work on this one later when I know how to test it.
|
125
|
+
end
|
126
|
+
|
127
|
+
When /^A user turns on the application the text is saved in that slate$/ do |start|
|
128
|
+
pending("start the application")
|
129
|
+
#I will work on this later once I know how to test if stuff is saved if program is stopped
|
130
|
+
end
|
131
|
+
|
132
|
+
Given /^A user wants to go to the next slate$/ do
|
133
|
+
#make sure 3 or more slates exist and only one slate is viewed do this with sqlite3 commands
|
134
|
+
sql = db.execute "SELECT COUNT(*) FROM slates"
|
135
|
+
resultstr = sql.join("")
|
136
|
+
resultnum = resultstr.to_i
|
137
|
+
#resultstr = exe.next.join("")
|
138
|
+
#resultnum = resultstr.to_i
|
139
|
+
assert_operator( resultnum, :>=, 3, "There should be 3 or more slates but there are only #{resultstr} slates" )
|
140
|
+
sql2 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
|
141
|
+
num_viewed = sql2.length
|
142
|
+
assert_equal( num_viewed, 1, "There should be only one slate with viewed as 1 but there are #{num_viewed} slates being viewed" )
|
143
|
+
end
|
144
|
+
|
145
|
+
Then /^A user clicks the Ctrl-Right button$/ do
|
146
|
+
pending("run the method which runs when you click Ctrl-Right")
|
147
|
+
sql2 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
|
148
|
+
@first_view = sql2.join("")
|
149
|
+
#switch_maintext_R
|
150
|
+
end
|
151
|
+
|
152
|
+
And /^The program switches to the next slate$/ do |slate|
|
153
|
+
pending("check that the slate is the one that is next")
|
154
|
+
sql = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
|
155
|
+
second_view = sql.join("")
|
156
|
+
sql2 = db.execute "SELECT slatename FROM slates"
|
157
|
+
index_of_view = sql2.index"#{@first_view}"
|
158
|
+
if sql2.last == "#{@first_view}"
|
159
|
+
nextindex = 0
|
160
|
+
else
|
161
|
+
nextindex = index_of_view + 1
|
162
|
+
end
|
163
|
+
next_slatename = sql2[nextindex]
|
164
|
+
sql3 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
|
165
|
+
next_view = sql3.join("")
|
166
|
+
assert_equal( next_view, next_slatename, "The next viewed slatename should be #{next_slatename} but was found to be #{next_view}" )
|
167
|
+
end
|
168
|
+
|
169
|
+
Given /^A user wants to access the (\w+) from the (\w+)$/ do |first, second|
|
170
|
+
pending("tests will be created in final_eye.rb for this")
|
171
|
+
end
|
172
|
+
|
173
|
+
Then /^A user clicks the tab button$/ do |keypress|
|
174
|
+
pending("tests will be created in final_eye.rb for this")
|
175
|
+
end
|
176
|
+
|
177
|
+
And /^The user can type in the slatetext$/ do |keypress|
|
178
|
+
pending("tests will be created in final_eye.rb for this")
|
179
|
+
end
|
180
|
+
|
181
|
+
And /^The commandline is highlighted$/ do |keypress|
|
182
|
+
pending("tests will be created in final_eye.rb for this")
|
183
|
+
end
|
184
|
+
|
185
|
+
Given /^A user has some slates and wants to switch to another slate$/ do |number|
|
186
|
+
pending("make sure the user has 3 slates")
|
187
|
+
sql = db.execute "SELECT COUNT(*) FROM slates"
|
188
|
+
resultstr = sql.join("")
|
189
|
+
resultnum = resultstr.to_i
|
190
|
+
#resultstr = exe.next.join("")
|
191
|
+
#resultnum = resultstr.to_i
|
192
|
+
assert_operator( resultnum, :>=, 3, "There should be 3 or more slates but there are only #{resultstr} slates" )
|
193
|
+
sql2 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
|
194
|
+
num_viewed = sql2.length
|
195
|
+
assert_equal( num_viewed, 1, "There should be only one slate with viewed as 1 but there are #{num_viewed} slates being viewed" )
|
196
|
+
end
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
|
201
|
+
|
202
|
+
|
203
|
+
### cleanup
|
204
|
+
# remove_slate("pickles") !!!!remove pickles slate entry here using mysql code!!!!
|
205
|
+
# !!!!remove family-night from schdeule !!!!
|
206
|
+
# !!!!remove bigL from Music !!!!
|
207
|
+
|
208
|
+
|
209
|
+
#Developer : Mark Focella (m.focella@gmail.com)
|
210
|
+
#Date : February 17, 2014
|
211
|
+
|
@@ -0,0 +1,45 @@
|
|
1
|
+
|
2
|
+
Given /^my password is (\w+)$/ do |password|
|
3
|
+
pending("I need to design the password functionality")
|
4
|
+
end
|
5
|
+
|
6
|
+
And /^I enter (\w+) at login$/ do |password|
|
7
|
+
pending("I need to test if password works")
|
8
|
+
end
|
9
|
+
|
10
|
+
Given /^administrative password is set as Tau5slmper123ASD8809$/ do |pass|
|
11
|
+
pending("something")
|
12
|
+
end
|
13
|
+
|
14
|
+
And /^I enter super in the command line$/ do |cmd|
|
15
|
+
pending("I need to run the super command by inputting super into the command parsing method")
|
16
|
+
end
|
17
|
+
|
18
|
+
And /^I enter Tau5slmper123ASD8809 in the password window$/ do |password|
|
19
|
+
pending("I need to pass above command into method called by editline in password window")
|
20
|
+
end
|
21
|
+
|
22
|
+
Then /^I should be able to open general settings$/ do |click|
|
23
|
+
pending("check general settings pops up")
|
24
|
+
end
|
25
|
+
|
26
|
+
And /^I click general setings$/ do |click|
|
27
|
+
pending("open up gen settings window")
|
28
|
+
end
|
29
|
+
|
30
|
+
And /^I enter Tau5slmper123ASD8809 at popup window$/ do |ent|
|
31
|
+
pending("put password in check where window asks")
|
32
|
+
end
|
33
|
+
|
34
|
+
Then /^I should be able to run new -s pinky$/ do |command|
|
35
|
+
pending("run above command and check pinky slate was created")
|
36
|
+
end
|
37
|
+
|
38
|
+
Then /^I get general settings window$/ do |hitok|
|
39
|
+
pending("check general settings window popped up")
|
40
|
+
end
|
41
|
+
|
42
|
+
|
43
|
+
#Developer : Mark Focella (m.focella@gmail.com)
|
44
|
+
#Date : February 17, 2014
|
45
|
+
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/images/key_glow.png
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,372 @@
|
|
1
|
+
=begin
|
2
|
+
green shoes
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
4
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
5
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
6
|
+
=end
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
module Billboard
|
12
|
+
require 'green_shoes'
|
13
|
+
|
14
|
+
|
15
|
+
def self.alert_choose_slate
|
16
|
+
Billboard.error_choose_slate
|
17
|
+
end
|
18
|
+
|
19
|
+
def alert_slatename_long
|
20
|
+
Billboard.error_long_slatename
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.alert_slatename_error #this is used
|
24
|
+
Billboard.error_reguarding_slate
|
25
|
+
end
|
26
|
+
|
27
|
+
def alert_duplicate_slatename
|
28
|
+
Billboard.error_duplicate_slatename
|
29
|
+
end
|
30
|
+
|
31
|
+
def alert_no_password
|
32
|
+
Billboard.no_password
|
33
|
+
end
|
34
|
+
|
35
|
+
def alert_gifts_sent
|
36
|
+
Billboard.gifts_sent
|
37
|
+
end
|
38
|
+
|
39
|
+
def alert_updatetime_length
|
40
|
+
Billboard.error_updatetime_length
|
41
|
+
end
|
42
|
+
|
43
|
+
def alert_no_updatetime
|
44
|
+
Billboard.no_updatetime
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.alert_locktime_length
|
48
|
+
Billboard.error_locktime_length
|
49
|
+
end
|
50
|
+
|
51
|
+
def alert_no_locktime
|
52
|
+
Billboard.no_locktime
|
53
|
+
end
|
54
|
+
|
55
|
+
def alert_password_length
|
56
|
+
Billboard.error_password_length
|
57
|
+
end
|
58
|
+
|
59
|
+
def alert_no_slatename
|
60
|
+
Billboard.no_slatename
|
61
|
+
end
|
62
|
+
|
63
|
+
def self.alert_password_error #this is used
|
64
|
+
Billboard.error_password
|
65
|
+
end
|
66
|
+
|
67
|
+
def self.alert_updatetime_error #this is used
|
68
|
+
Billboard.error_updatetime
|
69
|
+
end
|
70
|
+
|
71
|
+
def self.alert_locktime_error #this is used
|
72
|
+
Billboard.error_locktime
|
73
|
+
end
|
74
|
+
|
75
|
+
def self.alert_hostname_error #this is used
|
76
|
+
Billboard.error_hostname
|
77
|
+
end
|
78
|
+
|
79
|
+
def self.alert_fatal_error
|
80
|
+
Billboard.error_fatal
|
81
|
+
end
|
82
|
+
|
83
|
+
def self.alert_cmd_slatename_error
|
84
|
+
Billboard.error_cmd
|
85
|
+
end
|
86
|
+
|
87
|
+
def self.alert_slate_created
|
88
|
+
Billboard.slate_created
|
89
|
+
end
|
90
|
+
|
91
|
+
private
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
def Billboard.slate_created
|
97
|
+
Shoes.app width: 220, height: 80 do
|
98
|
+
background limegreen
|
99
|
+
stack do
|
100
|
+
stack height: 20 do end
|
101
|
+
para "You have created a slate!", align: 'center'
|
102
|
+
#@b1 = button "back", margin_left: 68
|
103
|
+
#@b1.click{exit}
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
def Billboard.error_cmd
|
109
|
+
Shoes.app width: 220, height: 140, title: 'error' do
|
110
|
+
background tomato
|
111
|
+
stack do
|
112
|
+
para "ERROR", align: 'center'
|
113
|
+
flow margin_left: 15 do
|
114
|
+
@errorsymbol = image"../images/error_symbol.png"
|
115
|
+
end
|
116
|
+
para "The slatename can't be the same as a command", align: 'center'
|
117
|
+
#@b1 = button "back", margin_left: 68
|
118
|
+
#@b1.click{exit}
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
|
124
|
+
def Billboard.error_fatal
|
125
|
+
Shoes.app width: 380, height: 320, title: 'Fatal Error' do
|
126
|
+
background tomato
|
127
|
+
stack do
|
128
|
+
para "Program Fatal Error", align: 'center'
|
129
|
+
flow margin_left: 15 do
|
130
|
+
@errorsymbol = image"../images/error_symbol.png"
|
131
|
+
@errorsymbol = image"../images/error_symbol.png"
|
132
|
+
@errorsymbol = image"../images/error_symbol.png"
|
133
|
+
end
|
134
|
+
para "\nA deadly error has caused this program to crash. \n\nTo report any bugs or issues you have with this application, you can contact !!!!!!!!!!! and report what happened"
|
135
|
+
end
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
def Billboard.error_choose_slate
|
140
|
+
Shoes.app width: 220, height: 140, title: 'error' do
|
141
|
+
background tomato
|
142
|
+
stack do
|
143
|
+
para "ERROR", align: 'center'
|
144
|
+
flow margin_left: 15 do
|
145
|
+
@errorsymbol = image"../images/error_symbol.png"
|
146
|
+
end
|
147
|
+
para "You must choose a slate", align: 'center'
|
148
|
+
#@b1 = button "back", margin_left: 68
|
149
|
+
#@b1.click{exit}
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
def Billboard.error_hostname
|
155
|
+
Shoes.app width: 280, height: 200, title: 'error' do
|
156
|
+
background tomato
|
157
|
+
stack do
|
158
|
+
para "ERROR", align: 'center'
|
159
|
+
flow margin_left: 15 do
|
160
|
+
@errorsymbol = image"../images/error_symbol.png"
|
161
|
+
end
|
162
|
+
para "The hostname must be unique and must contain between 2 and 40 characters", align: 'center'
|
163
|
+
#@b1 = button "back", margin_left: 68
|
164
|
+
#@b1.click{exit}
|
165
|
+
end
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
|
170
|
+
def Billboard.error_updatetime
|
171
|
+
### ??? do I keep them as Shoes.app or change to window???
|
172
|
+
Shoes.app width: 220, height: 140, title: 'error' do
|
173
|
+
background tomato
|
174
|
+
stack do
|
175
|
+
para "ERROR", align: 'center'
|
176
|
+
flow margin_left: 15 do
|
177
|
+
@errorsymbol = image"../images/error_symbol.png"
|
178
|
+
end
|
179
|
+
para "The updatetime must be between 1 and 99 seconds", align: 'center'
|
180
|
+
#@b1 = button "back", margin_left: 68
|
181
|
+
#@b1.click{exit}
|
182
|
+
end
|
183
|
+
end
|
184
|
+
end
|
185
|
+
|
186
|
+
def Billboard.error_locktime
|
187
|
+
### ??? do I keep them as Shoes.app or change to window???
|
188
|
+
Shoes.app width: 220, height: 140, title: 'error' do
|
189
|
+
background tomato
|
190
|
+
stack do
|
191
|
+
para "ERROR", align: 'center'
|
192
|
+
flow margin_left: 15 do
|
193
|
+
@errorsymbol = image"../images/error_symbol.png"
|
194
|
+
end
|
195
|
+
para "The locktime must be between 1 and 99 minutes", align: 'center'
|
196
|
+
#@b1 = button "back", margin_left: 68
|
197
|
+
#@b1.click{exit}
|
198
|
+
end
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
def Billboard.error_password
|
203
|
+
Shoes.app width: 220, height: 140, title: 'error' do
|
204
|
+
background tomato
|
205
|
+
stack do
|
206
|
+
para "ERROR", align: 'center'
|
207
|
+
flow margin_left: 15 do
|
208
|
+
@errorsymbol = image"../images/error_symbol.png"
|
209
|
+
end
|
210
|
+
para "The password must be between 14 and 50 characters long", align: 'center'
|
211
|
+
#@b1 = button "back", margin_left: 68
|
212
|
+
#@b1.click{exit}
|
213
|
+
end
|
214
|
+
end
|
215
|
+
end
|
216
|
+
|
217
|
+
|
218
|
+
def Billboard.error_reguarding_slate
|
219
|
+
### ??? do I keep them as Shoes.app or change to window???
|
220
|
+
Shoes.app width: 220, height: 300, title: 'error' do
|
221
|
+
background tomato
|
222
|
+
stack do
|
223
|
+
para "ERROR", align: 'center'
|
224
|
+
flow margin_left: 15 do
|
225
|
+
@errorsymbol = image"../images/error_symbol.png"
|
226
|
+
end
|
227
|
+
para "The slate name must be unique and its length must be between 2 and 18 characters.", align: 'center'
|
228
|
+
#@b1 = button "back", margin_left: 68
|
229
|
+
#@b1.click{exit}
|
230
|
+
end
|
231
|
+
end
|
232
|
+
end
|
233
|
+
|
234
|
+
|
235
|
+
def Billboard.error_long_slatename
|
236
|
+
|
237
|
+
Shoes.app width: 280, height: 140, title: 'error' do
|
238
|
+
background tomato
|
239
|
+
stack do
|
240
|
+
para "ERROR", align: 'center'
|
241
|
+
para "The slate name is too Long!\nThe name cannot be more than 18 characters", align: 'center'
|
242
|
+
@b1 = button "back", margin_left: 153
|
243
|
+
@b1.click{exit}
|
244
|
+
end
|
245
|
+
end
|
246
|
+
end
|
247
|
+
|
248
|
+
def Billboard.error_duplicate_slatename
|
249
|
+
Shoes.app width: 220, height: 140, title: 'error' do
|
250
|
+
background tomato
|
251
|
+
stack do
|
252
|
+
para "ERROR", align: 'center'
|
253
|
+
para "The slatename must be unique"
|
254
|
+
@b1 = button "back", margin_left: 68
|
255
|
+
@b1.click{exit}
|
256
|
+
end
|
257
|
+
end
|
258
|
+
end
|
259
|
+
|
260
|
+
def Billboard.no_slatename
|
261
|
+
Shoes.app width: 220, height: 140, title: 'error' do
|
262
|
+
background tomato
|
263
|
+
stack do
|
264
|
+
para "ERROR", align: 'center'
|
265
|
+
para "A name must be given for your slate"
|
266
|
+
@b1 = button "back", margin_left: 68
|
267
|
+
@b1.click{exit}
|
268
|
+
end
|
269
|
+
end
|
270
|
+
end
|
271
|
+
|
272
|
+
|
273
|
+
def Billboard.no_password
|
274
|
+
Shoes.app width: 220, height: 140, title: 'error' do
|
275
|
+
background tomato
|
276
|
+
stack do
|
277
|
+
para "ERROR", align: 'center'
|
278
|
+
para "There is no password set to lock the slate"
|
279
|
+
@b1 = button "back", margin_left: 68
|
280
|
+
@b1.click{exit}
|
281
|
+
end
|
282
|
+
end
|
283
|
+
end
|
284
|
+
|
285
|
+
|
286
|
+
def Billboard.gifts_sent
|
287
|
+
Shoes.app height: 150, width: 280, title: " " do
|
288
|
+
background rosybrown
|
289
|
+
# background "#BB27FF"
|
290
|
+
stack height: 17 do
|
291
|
+
#spacer
|
292
|
+
end
|
293
|
+
tagline "One or more gifts have been sent!", align: "center", stroke: "#0E0E0E"
|
294
|
+
stack height: 11 do
|
295
|
+
#spacer
|
296
|
+
end
|
297
|
+
@b1 = button "ok", margin_left: 126
|
298
|
+
@b1.click{exit}
|
299
|
+
end
|
300
|
+
end
|
301
|
+
|
302
|
+
|
303
|
+
def Billboard.error_updatetime_length
|
304
|
+
Shoes.app width: 220, height: 140, title: 'error' do
|
305
|
+
background tomato
|
306
|
+
stack do
|
307
|
+
para "ERROR", align: 'center'
|
308
|
+
para "Slates must be updated between 1 and 99 seconds"
|
309
|
+
@b1 = button "back", margin_left: 68
|
310
|
+
@b1.click{exit}
|
311
|
+
end
|
312
|
+
end
|
313
|
+
end
|
314
|
+
|
315
|
+
def Billboard.no_updatetime
|
316
|
+
Shoes.app width: 220, height: 140, title: 'error' do
|
317
|
+
background tomato
|
318
|
+
stack do
|
319
|
+
para "ERROR", align: 'center'
|
320
|
+
para "A time must be entered for slate updates"
|
321
|
+
@b1 = button "back", margin_left: 68
|
322
|
+
@b1.click{exit}
|
323
|
+
end
|
324
|
+
end
|
325
|
+
end
|
326
|
+
|
327
|
+
def Billboard.error_locktime_length
|
328
|
+
Shoes.app width: 220, height: 140, title: 'error' do
|
329
|
+
background tomato
|
330
|
+
stack do
|
331
|
+
para "ERROR", align: 'center'
|
332
|
+
para "The lock slate time must be between 1 and 99 minutes."
|
333
|
+
@b1 = button "back", margin_left: 68
|
334
|
+
@b1.click{exit}
|
335
|
+
end
|
336
|
+
end
|
337
|
+
end
|
338
|
+
|
339
|
+
def Billboard.no_locktime
|
340
|
+
Shoes.app width: 220, height: 140, title: 'error' do
|
341
|
+
background tomato
|
342
|
+
stack do
|
343
|
+
para "ERROR", align: 'center'
|
344
|
+
para "A time must be entered for when you want to lock the slates"
|
345
|
+
@b1 = button "back", margin_left: 68
|
346
|
+
@b1.click{exit}
|
347
|
+
end
|
348
|
+
end
|
349
|
+
end
|
350
|
+
|
351
|
+
def Billboard.error_password_length
|
352
|
+
Shoes.app width: 220, height: 140, title: 'error' do
|
353
|
+
background tomato
|
354
|
+
stack do
|
355
|
+
para "ERROR", align: 'center'
|
356
|
+
para "The password must be between 14 and 50 characters"
|
357
|
+
@b1 = button "back", margin_left: 68
|
358
|
+
@b1.click{exit}
|
359
|
+
end
|
360
|
+
end
|
361
|
+
end
|
362
|
+
|
363
|
+
#uncomment below for quick testing
|
364
|
+
#Billboard.error_password
|
365
|
+
#Billboard.error_fatal
|
366
|
+
end
|
367
|
+
|
368
|
+
|
369
|
+
|
370
|
+
#Developer : Mark Focella (m.focella@gmail.com)
|
371
|
+
#Date : February 17, 2014
|
372
|
+
|