#!/usr/bin/env python

# -*- coding: utf8 -*- 

#***********************************************************************
# pysycache : a tool for learn to use the mouse
# Copyright (C) 2005-2007 Vincent DEROO (vincent.pysycache@free.fr)
#
# This tool is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#***********************************************************************



import pygame
from pygame.locals import *
import datas
import os
import const



#*******************************************************************************
#                                                                              #
#                                                                              #
#                                   Classes                                    #
#                                                                              #
#                                                                              #
#*******************************************************************************

class BtnMenu(pygame.sprite.Sprite):
	"""This class is for the menus buttons"""
	def __init__(self, left, top, filename, id):
		pygame.sprite.Sprite.__init__(self) 				#call Sprite intializer
		self.image, self.rect = datas.load_image("images", filename)
		(shortname, extension) = os.path.splitext(filename) 
		self.imagename = shortname
		self.rect.left = left
		self.rect.top = top 
		self.id = id
		(self.largeur, self.hauteur) = self.image.get_size()


	def showhelp(self, imgdest):
		myfont = os.path.join(const.GRepPysycache, 'fonts', const.GFontName ).encode(const.GConsoleLocale)
		font = pygame.font.Font(myfont, 20)
		textcolor = 46, 113, 169
		screen = pygame.display.get_surface()

		myrep = os.path.join(const.GRepPysycache, 'help', const.GMyLocale )

		#joue le fichier d'aide
		if const.GWithSound == 1:
			if const.GWithHelp == 1 :
				dirname = os.path.join(const.GRepPysycache, 'help', const.GMyLocale)
				filename = str(self.id) + '.ogg'
				datas.load_sound(dirname, filename)

		#affiche l'aide
		if os.path.isdir(myrep):
			filename = os.path.join(const.GRepPysycache, 'help', const.GMyLocale , str(self.id) + '.txt')
		else :
			filename = os.path.join(const.GRepPysycache, 'help', 'en_EN' , str(self.id) + '.txt')
			
		filename = os.path.join(const.GRepPysycache, 'help', const.GMyLocale , str(self.id) + '.txt')
		if os.path.isfile(filename):
			f = open(filename, 'r')
			lignes  = f.readlines()
			cptligne = 0;
			for j in lignes:
				j = j.strip()
#				text = font.render(unicode(j, "utf-8"), 1, textcolor)
				text = font.render(j.decode("utf-8", "ignore"), 1, textcolor)
				imgdest.blit(text, (195, 301 + 25 * cptligne))
				cptligne += 1
			f.close()

			pygame.display.update()
