Class: JLDrill::LoadQuizFromEdictContext
Overview
Loads a file displaying a progress bar as it is loading.
Instance Attribute Summary
#mainView, #parent, #viewBridge
Instance Method Summary
collapse
#createViews, #destroyViews, #exitFileProgressContext
#addView, #createViews, #destroyViews, #isEntered?, #onExit, #peekAtView, #setupViews
Constructor Details
Returns a new instance of LoadQuizFromEdictContext.
12
13
14
15
16
|
# File 'lib/jldrill/contexts/LoadQuizFromEdictContext.rb', line 12
def initialize(viewBridge)
super(viewBridge)
@quiz = nil
@edict = nil
end
|
Instance Method Details
#enter(parent, quiz, edict) ⇒ Object
56
57
58
59
60
|
# File 'lib/jldrill/contexts/LoadQuizFromEdictContext.rb', line 56
def enter(parent, quiz, edict)
@quiz = quiz
@edict = edict
super(parent)
end
|
#exit ⇒ Object
66
67
68
69
|
# File 'lib/jldrill/contexts/LoadQuizFromEdictContext.rb', line 66
def exit
@quiz.name = @edict.shortFilename
super
end
|
#exitLoadQuizFromEdictContext ⇒ Object
62
63
64
|
# File 'lib/jldrill/contexts/LoadQuizFromEdictContext.rb', line 62
def exitLoadQuizFromEdictContext
self.exit
end
|
#getFilename ⇒ Object
18
19
20
|
# File 'lib/jldrill/contexts/LoadQuizFromEdictContext.rb', line 18
def getFilename
return "data from #{@edict.shortFilename}"
end
|
#isValid?(parent) ⇒ Boolean
44
45
46
|
# File 'lib/jldrill/contexts/LoadQuizFromEdictContext.rb', line 44
def isValid?(parent)
return !parent.nil? && !@quiz.nil? && !@edict.nil?
end
|
#readFile ⇒ Object
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/jldrill/contexts/LoadQuizFromEdictContext.rb', line 22
def readFile
@quiz.reset
size = @edict.length
pos = 0
@mainView.idle_add do
limit = pos + @quiz.stepSize
if limit > size then limit = size end
while (pos < limit)
vocab = @edict.vocab(pos)
if !vocab.nil?
@quiz.contents.add(@edict.vocab(pos), 0)
end
pos += 1
@mainView.update(pos.to_f / size.to_f)
end
if pos >= size
exitLoadQuizFromEdictContext
end
pos >= size
end
end
|
#startLongEvent ⇒ Object
48
49
50
|
# File 'lib/jldrill/contexts/LoadQuizFromEdictContext.rb', line 48
def startLongEvent()
@parent.startLongEvent()
end
|
#stopLongEvent ⇒ Object
52
53
54
|
# File 'lib/jldrill/contexts/LoadQuizFromEdictContext.rb', line 52
def stopLongEvent()
@parent.stopLongEvent()
end
|