Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/las-gui.py
diff options
context:
space:
mode:
Diffstat (limited to 'las-gui.py')
-rwxr-xr-x[-rw-r--r--]las-gui.py126
1 files changed, 82 insertions, 44 deletions
diff --git a/las-gui.py b/las-gui.py
index 2d2e21b..796dc2e 100644..100755
--- a/las-gui.py
+++ b/las-gui.py
@@ -11,10 +11,16 @@ class LS_gui:
# This is a callback function. The data arguments are ignored
# in this example. More on callbacks below.
+ def __init__(self, handle):
+ self.__init__
+
def __init__(self):
DBname = "dict.db"
self.las = Listenspell(DBname)
self.load_activity_interface()
+ self.play_game("start")
+ gtk.main()
+
def destroy(self, widget, data=None):
#print "destroy signal occurred"
@@ -43,17 +49,27 @@ class LS_gui:
self.Hcontainer.pack_start(self.vcontainer_left,True, True,0)
- self.Hcontainer.pack_start(self.vcontainer_right,True, True,0)
+ self.Hcontainer.pack_end(self.vcontainer_right,False, False,0)
#####################Left Pane widgets##########################
- self.label_v_left_a = gtk.Label("Hello this is label 1")
- self.label_v_left_b = gtk.Label("label 2")
+ #self.label_v_left_a = gtk.Label("Hello this is label 1")
+ #self.label_v_left_b = gtk.Label("label 2")
- self.label_v_left_a.show()
- self.label_v_left_b.show()
+ #self.label_v_left_a.show()
+ #self.label_v_left_b.show()
- self.text_input = gtk.Entry(0)
+ self.main_output_view = gtk.TextView()
+ self.main_output_buffer = gtk.TextBuffer()
+ #self.main_output_buffer.set_text("This is main output")
+ self.main_output_view.set_editable(False)
+ self.main_output_view.set_buffer(self.main_output_buffer)
+
+ self.display_main_output("This is main output")
+
+ self.main_output_view.show_all()
+
+ self.text_input = gtk.Entry()
#self.text_input.set_text("Preset input text")
#self.text_input.
self.text_input.show()
@@ -61,8 +77,12 @@ class LS_gui:
self.text_input.connect("activate", self.text_input_activate, None)
self.console_text_view = gtk.TextView()
+
+
#self.console_text_view.show()
-
+ #self.h_adj = gtk.Adjustment(value=0, lower=0, upper=4, step_incr=1, page_incr=0, page_size=0)
+ #self.console_text_sw = gtk.ScrolledWindow(vadjustment=self.h_adj)
+
self.console_text_sw = gtk.ScrolledWindow()
self.console_text_sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
self.console_text_sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
@@ -83,14 +103,14 @@ class LS_gui:
self.console_text_frame.add(self.console_text_sw)
self.console_text_frame.show_all()
- self.vcontainer_left.add(self.label_v_left_a)
- self.vcontainer_left.add(self.label_v_left_b)
- self.vcontainer_left.add(self.text_input)
- self.vcontainer_left.add(self.text_submit_button)
- self.vcontainer_left.add(self.console_text_frame)
+ self.vcontainer_left.pack_start(self.main_output_view, True, True )
+ #self.vcontainer_left.pack_start(self.label_v_left_b, True, False )
+ self.vcontainer_left.pack_start(self.text_input, False, True )
+ self.vcontainer_left.pack_start(self.text_submit_button, False, False )
+ self.vcontainer_left.pack_start(self.console_text_frame, True, True )
- ################################################################
+ ################################################True################
#################Right pane wigets##############################
@@ -126,17 +146,17 @@ class LS_gui:
self.stats_table = gtk.Table(4,2,True)
self.score_label = gtk.Label("Score: ")
- self.score_value_label = gtk.Label("s")
+ self.score_value_label = gtk.Label("?")
#self.score_value_label.
self.skill_level_label = gtk.Label("Skill Level: ")
- self.skill_level_value_label = gtk.Label("sl")
+ self.skill_level_value_label = gtk.Label("?")
self.words_played_label = gtk.Label("Words played: ")
- self.words_played_value_label = gtk.Label("wp")
+ self.words_played_value_label = gtk.Label("?")
self.words_correct_label = gtk.Label("Correct Words: ")
- self.words_correct_value_label = gtk.Label("cw")
+ self.words_correct_value_label = gtk.Label("?")
self.stats_table.attach(self.score_label, 0, 1, 0, 1)
self.stats_table.attach(self.score_value_label, 1, 2, 0, 1)
@@ -192,10 +212,10 @@ class LS_gui:
self.las.say_text(self.elem)
def get_def_button_clicked(self, widget, data = None):
- definition = self.las.get_word_info(self.wordid, "def")
+ def_list = self.las.get_word_info(self.wordid, "def")
self.display_console("Definition: ")
- for (pos, definition) in definition:
- self.display_console(pos + " : " + definition)
+ for (pos, definition, name) in def_list:
+ self.display_console(pos + "(" + name + ") : " + definition)
def get_usage_button_clicked(self, widget, data = None):
if self.usage_used == 0:
@@ -214,44 +234,53 @@ class LS_gui:
self.display_console("Word Length: " + str(len(self.elem)))
def ask_skill_level(self):
- dialog = gtk.Dialog("Enter Skill Level", self.main_window, 0,(gtk.STOCK_OK, gtk.RESPONSE_OK, "Cancel", gtk.RESPONSE_CANCEL))
+ self.skill_level_dialog = gtk.Dialog("Enter Skill Level", self.main_window, 0,(gtk.STOCK_OK, gtk.RESPONSE_OK, "Quit Game", gtk.RESPONSE_CANCEL))
self.las.say_text("Skill Level")
hbox = gtk.HBox(False, 8)
hbox.set_border_width(8)
- dialog.vbox.pack_start(hbox, False, False, 0)
- stock = gtk.image_new_from_stock(
- gtk.STOCK_DIALOG_QUESTION,
- gtk.ICON_SIZE_DIALOG)
- hbox.pack_start(stock, False, False, 0)
-
+ self.skill_level_dialog.vbox.pack_start(hbox, False, False, 0)
+
table = gtk.Table(1, 1)
table.set_row_spacings(4)
table.set_col_spacings(4)
hbox.pack_start(table, True, True, 0)
label = gtk.Label("Skill Level")
- label.set_use_underline(True)
+ #label.set_use_underline(True)
table.attach(label, 0, 1, 0, 1)
local_skill_level = gtk.Entry()
local_skill_level.set_text(str(self.las.get_skill_level()))
+ local_skill_level.connect("activate", self.local_skill_level_activate, None)
table.attach(local_skill_level, 1, 2, 0, 1)
label.set_mnemonic_widget(local_skill_level)
- dialog.show_all()
- response = dialog.run()
+ self.skill_level_dialog.show_all()
+ response = self.skill_level_dialog.run()
if response == gtk.RESPONSE_OK:
skill_level = int (local_skill_level.get_text())
-
- dialog.destroy()
+ self.skill_level_dialog.destroy()
self.las.set_skill_level(skill_level)
self.update_all()
+
+ elif response == gtk.RESPONSE_CANCEL:
+ self.game_exit()
+ elif response == gtk.RESPONSE_NONE:
+ self.game_exit()
+
+ def local_skill_level_focus(self, widget, event, data= None):
+ #print "text_input_focus_in"
+ return False
+
+ def local_skill_level_activate(self, widget, data=None):
+ self.skill_level_dialog.response(gtk.RESPONSE_OK)
def shout(self,string):
self.display_console("")
for char in string:
self.display_console(char, newline = False)
self.las.say_text(char)
+ self.las.say_text(string)
################################################################
@@ -286,6 +315,8 @@ class LS_gui:
self.usage_used = -1
self.total_num_usage = -1
+ self.text_input.set_text("") # Clear answer field
+
# Initilazing variable for eacch word
self.elem = self.las.get_word_info(self.wordid, "word") #get a word from the list
@@ -304,7 +335,7 @@ class LS_gui:
self.las.play_sound("begin")
self.this_level_size = 7
self.this_level_max_error = 3
- self.display_label_a("Welcome")
+ self.display_main_output("Welcome")
self.las.say_text("Welcome")
self.ask_skill_level()
self.wordid_list = self.las.load_wordid(self.this_level_size + self.this_level_max_error)
@@ -331,18 +362,25 @@ class LS_gui:
########################Display Methods#########################
- def display_console(self, text, newline = True ):
+ def display_console(self, data, newline = True ):
if newline == True:
- text = "\n" + text
- self.console_text_buffer.insert_at_cursor(text)
-
- def display_label_a(self, text):
- self.label_v_left_a.set_text(text)
-
- def display_label_b(self, text):
- self.label_v_left_b.set_text(text)
+ data = "\n" + data
+ self.console_text_buffer.insert_at_cursor(data)
+
+ def display_main_output(self, data, newline = True, clear_previous = True):
+ if clear_previous == True:
+ self.main_output_buffer.set_text(data)
+ elif newline == True:
+ text = "\n" + data
+ self.main_output_buffer.insert_at_cursor(data)
+ else:
+ self.main_output_buffer.insert_at_cursor(data)
+
################################################################
+
+ def game_exit(self):
+ gtk.main_quit()
########################Game Logic##############################
@@ -360,5 +398,5 @@ class LS_gui:
if __name__ == "__main__":
gui = LS_gui()
#gui.__init__()
- gui.play_game("start")
- gui.main()
+ #gui.play_game("start")
+ #gui.main()