Class: JLDrill::ShowAllVocabularyContext

Inherits:
Context::Context show all
Defined in:
lib/jldrill/contexts/ShowAllVocabularyContext.rb

Defined Under Namespace

Classes: VocabularyTableView

Instance Attribute Summary

Attributes inherited from Context::Context

#mainView, #parent, #viewBridge

Instance Method Summary collapse

Methods inherited from Context::Context

#addView, #isEntered?, #onExit, #peekAtView, #setupViews

Constructor Details

#initialize(viewBridge) ⇒ ShowAllVocabularyContext

Returns a new instance of ShowAllVocabularyContext.



10
11
12
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 10

def initialize(viewBridge)
	super(viewBridge)
end

Instance Method Details

#addItem(item) ⇒ Object



133
134
135
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 133

def addItem(item)
    @mainView.addItem(item)
end

#createViewsObject



74
75
76
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 74

def createViews
    @mainView = @viewBridge.VocabularyTableView.new(self)
end

#delete(item) ⇒ Object



165
166
167
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 165

def delete(item)
    @parent.deleteItem(item)
end

#destroyViewsObject



78
79
80
81
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 78

def destroyViews
    @mainView.destroy if !@mainView.nil?
    @mainView = nil
end

#differs?(item) ⇒ Boolean

Returns:

  • (Boolean)


113
114
115
116
117
118
119
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 113

def differs?(item)
    exists = true
    if @parent.reference.loaded? && !item.nil?
        exists = @parent.reference.include?(item.to_o)
		    end
		    return !exists
end

#edit(item) ⇒ Object



161
162
163
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 161

def edit(item)
    @parent.editItem(item)
end

#enter(parent) ⇒ Object



83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 83

def enter(parent)
    super(parent)
          if !@parent.nil? && !@parent.quiz.nil?
              update(@parent.quiz)
              if !@parent.quiz.currentProblem.nil?
                  select(@parent.quiz.currentProblem)
              end
              @parent.quiz.publisher.subscribe(self, "load")
              @parent.quiz.publisher.subscribe(self, "newProblem")
              @parent.quiz.publisher.subscribe(self, "problemModified")
              @parent.quiz.publisher.subscribe(self, "itemAdded")
              @parent.quiz.publisher.subscribe(self, "itemDeleted")
              @parent.longEventPublisher.subscribe(self, "startLongEvent")
              @parent.longEventPublisher.subscribe(self, "stopLongEvent")
          end
end

#exitObject



100
101
102
103
104
105
106
107
108
109
110
111
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 100

def exit
    if !@parent.nil? && !@parent.quiz.nil?
        @parent.quiz.publisher.unsubscribe(self, "load")
        @parent.quiz.publisher.unsubscribe(self, "newProblem")
        @parent.quiz.publisher.unsubscribe(self, "problemModified")
        @parent.quiz.publisher.unsubscribe(self, "itemAdded")
        @parent.quiz.publisher.unsubscribe(self, "itemDeleted")
        @parent.longEventPublisher.unsubscribe(self, "startLongEvent")
        @parent.longEventPublisher.unsubscribe(self, "stopLongEvent")
    end
    super
end

#itemAddedUpdated(item) ⇒ Object



153
154
155
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 153

def itemAddedUpdated(item)
    addItem(item)
end

#itemDeletedUpdated(item) ⇒ Object



157
158
159
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 157

def itemDeletedUpdated(item)
    removeItem(item)
end

#loadUpdated(quiz) ⇒ Object



141
142
143
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 141

def loadUpdated(quiz)
          update(quiz)
end

#newProblemUpdated(problem) ⇒ Object



145
146
147
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 145

def newProblemUpdated(problem)
          select(problem)
end

#preview(item) ⇒ Object



169
170
171
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 169

def preview(item)
    @parent.displayItem(item)
end

#problemModifiedUpdated(problem) ⇒ Object



149
150
151
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 149

def problemModifiedUpdated(problem)
          updateProblem(problem)
end

#removeItem(item) ⇒ Object



137
138
139
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 137

def removeItem(item)
    @mainView.removeItem(item)
end

#select(problem) ⇒ Object



125
126
127
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 125

def select(problem)
    @mainView.select(problem.item)
end

#startLongEventUpdated(source) ⇒ Object



173
174
175
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 173

def startLongEventUpdated(source)
    @mainView.showBusy(true)
end

#stopLongEventUpdated(source) ⇒ Object



177
178
179
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 177

def stopLongEventUpdated(source)
    @mainView.showBusy(false)
end

#update(quiz) ⇒ Object



121
122
123
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 121

def update(quiz)
    @mainView.update(quiz.allItems)
end

#updateProblem(problem) ⇒ Object



129
130
131
# File 'lib/jldrill/contexts/ShowAllVocabularyContext.rb', line 129

def updateProblem(problem)
    @mainView.updateItem(problem.item)
end