Class: JLDrill::Gtk::OptionsWindow

Inherits:
Gtk::Dialog
  • Object
show all
Includes:
Context::Gtk::Widget
Defined in:
lib/jldrill/views/gtk/widgets/OptionsWindow.rb

Defined Under Namespace

Classes: Scale, Section

Instance Attribute Summary

Attributes included from Context::Gtk::Widget

#gtkWidgetMainWindow

Instance Method Summary collapse

Methods included from Context::Gtk::Widget

#addToThisWidget, #afterWidgetIsAdded, #afterWidgetIsRemoved, #expandWidgetHeight, #expandWidgetHeight?, #expandWidgetWidth, #expandWidgetWidth?, #gtkAddWidget, #gtkRemoveWidget, #isAMainWindow, #isInTests?, #removeFromThisWidget, #setupWidget, #widgetWasAddedTo, #widgetWasRemovedFrom

Constructor Details

#initialize(view) ⇒ OptionsWindow

Returns a new instance of OptionsWindow.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 9

def initialize(view)
    @view = view
    super("Drill Options", nil,
          Gtk::Dialog::DESTROY_WITH_PARENT,
          [Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL],
          [Gtk::Stock::OK, Gtk::Dialog::RESPONSE_ACCEPT])

    @dictionaryOptions = createDictionaryOptions
    @newSetOptions = createNewSetOptions
    @workingSetOptions = createWorkingSetOptions
    @reviewSetOptions = createReviewSetOptions
    
    self.vbox.add(@dictionaryOptions.box)
    self.vbox.add(@newSetOptions.box)
    self.vbox.add(@workingSetOptions.box)
    self.vbox.add(@reviewSetOptions.box)
end

Instance Method Details

#autoloadDicObject



200
201
202
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 200

def autoloadDic
    @autoloadDic.active?
end

#autoloadDic=(value) ⇒ Object



196
197
198
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 196

def autoloadDic=(value)
    @autoloadDic.active = value
end

#createDictionaryOptionsObject



104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 104

def createDictionaryOptions
    retVal = Section.new("Dictionary")
    options = Gtk::HBox.new()
    @dictionaryName = Gtk::Entry.new
    @dictionaryBrowse = Gtk::Button.new("Browse")
    @dictionaryBrowse.signal_connect('pressed') do
        @view.getDictionaryFilename
    end
    options.add(@dictionaryName)
    options.add(@dictionaryBrowse)

    retVal.add(options)
    @autoloadDic = Gtk::CheckButton.new("Autoload?")
    retVal.add(@autoloadDic)
    @chinese = Gtk::CheckButton.new("Chinese")
    retVal.add(@chinese)

    return retVal
end

#createNewSetOptionsObject



68
69
70
71
72
73
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 68

def createNewSetOptions
    retVal = Section.new("New Set")
    @randomOrder = Gtk::CheckButton.new("Random Order?")
    retVal.add(@randomOrder)
    return retVal
end

#createReviewSetOptionsObject



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 75

def createReviewSetOptions
    retVal = Section.new("Review Set")
    reviewOptions = Gtk::HBox.new()
    reviewOptions.add(Gtk::Label.new("Review: "))
    @reviewReading = Gtk::CheckButton.new("Reading")
    @reviewKanji = Gtk::CheckButton.new("Kanji")
    @reviewMeaning = Gtk::CheckButton.new("Meaning")
    reviewOptions.pack_start(@reviewReading, true, true, 5)
    reviewOptions.pack_start(@reviewKanji, true, true, 5)
    reviewOptions.pack_start(@reviewMeaning, true, true, 5)
    retVal.add(reviewOptions)

    forget = Scale.new("Forget At", 0.0, 10.0, 0.1)
    @forgettingThresh = forget.scale
    retVal.add(forget.box)
    return retVal
end

#createWorkingSetOptionsObject



93
94
95
96
97
98
99
100
101
102
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 93

def createWorkingSetOptions
    retVal = Section.new("Working Set")
    size = Scale.new("Size", 1, 30, 1)
    @introThresh = size.scale
    promote = Scale.new("Promote After", 1, 5, 1)
    @promoteThresh = promote.scale
    retVal.add(size.box)
    retVal.add(promote.box)
    return retVal
end

#dictionaryNameObject



176
177
178
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 176

def dictionaryName
    return @dictionaryName.text
end

#dictionaryName=(value) ⇒ Object



172
173
174
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 172

def dictionaryName=(value)
    @dictionaryName.text = value
end

#executeObject



252
253
254
255
256
257
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 252

def execute
    if run == Gtk::Dialog::RESPONSE_ACCEPT
        setViewData
    end
    @view.exit
end

#forgettingThreshObject



208
209
210
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 208

def forgettingThresh
    @forgettingThresh.value.to_f
end

#forgettingThresh=(value) ⇒ Object



204
205
206
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 204

def forgettingThresh=(value)
    @forgettingThresh.value = value
end

#introThreshObject



168
169
170
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 168

def introThresh
    @introThresh.value.to_i
end

#introThresh=(value) ⇒ Object



164
165
166
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 164

def introThresh=(value)
    @introThresh.value = value
end

#languageObject



188
189
190
191
192
193
194
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 188

def language
    if (@chinese.active?)
        return "Chinese"
    else
        return "Japanese"
    end
end

#language=(value) ⇒ Object



180
181
182
183
184
185
186
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 180

def language=(value)
    if (value == "Chinese")
        @chinese.active = true
    else
        @chinese.active = false
    end
end

#promoteThreshObject



160
161
162
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 160

def promoteThresh
    @promoteThresh.value.to_i
end

#promoteThresh=(value) ⇒ Object



156
157
158
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 156

def promoteThresh=(value)
    @promoteThresh.value = value
end

#randomOrderObject



128
129
130
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 128

def randomOrder
    @randomOrder.active?
end

#randomOrder=(value) ⇒ Object



124
125
126
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 124

def randomOrder=(value)
    @randomOrder.active = value
end

#reviewKanjiObject



144
145
146
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 144

def reviewKanji
    @reviewKanji.active?
end

#reviewKanji=(value) ⇒ Object



140
141
142
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 140

def reviewKanji=(value)
    @reviewKanji.active = value
end

#reviewMeaningObject



136
137
138
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 136

def reviewMeaning
    @reviewMeaning.active?
end

#reviewMeaning=(value) ⇒ Object



132
133
134
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 132

def reviewMeaning=(value)
    @reviewMeaning.active = value
end

#reviewReadingObject



152
153
154
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 152

def reviewReading
    @reviewReading.active?
end

#reviewReading=(value) ⇒ Object



148
149
150
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 148

def reviewReading=(value)
    @reviewReading.active = value
end

#set(options) ⇒ Object



212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 212

def set(options)
    self.randomOrder = options.randomOrder
    self.promoteThresh = options.promoteThresh
    self.introThresh = options.introThresh
    self.reviewMeaning = options.reviewMeaning
    self.reviewKanji = options.reviewKanji
    self.reviewReading = options.reviewReading
    if !options.dictionary.nil?
        self.dictionaryName = options.dictionary
    else
        self.dictionaryName = JLDrill::Config::DICTIONARY_FILE
    end
    self.language = options.language
    self.autoloadDic = options.autoloadDic
    self.forgettingThresh = options.forgettingThresh
end

#setViewDataObject



233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 233

def setViewData
    @view.optionsSet = true
    @view.options.randomOrder = self.randomOrder
    @view.options.promoteThresh = self.promoteThresh
    @view.options.introThresh = self.introThresh
    @view.options.reviewMeaning = self.reviewMeaning
    @view.options.reviewReading = self.reviewReading
    @view.options.reviewKanji = self.reviewKanji
    if self.dictionaryName != JLDrill::Config::DICTIONARY_FILE &&
        self.dictionaryName != ""
        @view.options.dictionary = self.dictionaryName
    else
        @view.options.dictionary = nil
    end
    @view.options.language = self.language
    @view.options.autoloadDic = self.autoloadDic
    @view.options.forgettingThresh = self.forgettingThresh
end

#updateFromViewDataObject



229
230
231
# File 'lib/jldrill/views/gtk/widgets/OptionsWindow.rb', line 229

def updateFromViewData
    set(@view.options)
end