Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/GnomeMoonActivity.py
diff options
context:
space:
mode:
authorflavio <fdanesse@gmail.com>2012-10-22 22:49:46 (GMT)
committer flavio <fdanesse@gmail.com>2012-10-22 22:49:46 (GMT)
commitbea7e9041a7dbde5832e1d0a0f8897276dd621e3 (patch)
tree5cdc436e456b4445adb61a83efc094781fb55f05 /GnomeMoonActivity.py
parent8aa2f60cc446f39f7f55a486f0c1d116a02befb1 (diff)
Corrección de Tabulaciones
Diffstat (limited to 'GnomeMoonActivity.py')
-rwxr-xr-xGnomeMoonActivity.py399
1 files changed, 206 insertions, 193 deletions
diff --git a/GnomeMoonActivity.py b/GnomeMoonActivity.py
index 3bf6239..206e035 100755
--- a/GnomeMoonActivity.py
+++ b/GnomeMoonActivity.py
@@ -41,198 +41,211 @@ SECONDS_PER_DAY = 86400.0
format = "%Y-%m-%d %H:%M"
class MoonActivity(gtk.Window):
- def __init__(self):
- gtk.Window.__init__(self)
- self.set_title(_("Luna"))
- self.set_icon_from_file(os.path.join(MG.ICONOS,"luna-ico.png"))
- self.set_resizable(True)
- self.set_size_request(MG.WIDTH, MG.HEIGHT)
- self.set_position(gtk.WIN_POS_CENTER)
- self.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND)
-
- self.main_view = None
- self.mooncalendar = None
- self.info_panel = None
- self.info = None
- self.luna_hoy = None
- self.label_emisferio = None
- self.aspectframe = None
- self.bufferinfo = None
-
- self.set_layout()
-
- self.show_all()
- self.realize()
- self.maximize()
-
- self.connect("delete_event", self.delete_event)
- self.luna_hoy.connect("expose_event", self.repaint)
-
- self.actualizador = gobject.timeout_add(1000, self.handle)
-
- def set_layout(self):
- anio, mes, fecha, hora = MG.get_date_time_now()
- self.luna_hoy = CalendarButton(anio, mes, fecha, hora)
- self.mooncalendar = MoonCalendar()
- self.aspectframe = gtk.AspectFrame()
- self.aspectframe.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND)
- self.aspectframe.add(self.luna_hoy)
-
- cajabase = gtk.VBox()
- self.main_view = gtk.HBox()
- cajabase.pack_end(self.main_view, True, True, 5)
-
- view_tool_bar = gtk.Toolbar()
- view_tool_bar.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND)
- cajabase.pack_start(view_tool_bar, False, False, 0)
-
- boton = gtk.ToggleToolButton()
- pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'grid-ico.svg'), 32, 32)
- imagen = gtk.Image()
- imagen.set_from_pixbuf(pixbuf)
- boton.set_icon_widget(imagen)
- imagen.show()
- boton.show()
- view_tool_bar.append_item("", "", "",boton, self.toggle_grid_clicked, user_data=None)
- boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND)
-
- boton = gtk.ToggleToolButton()
- pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'hemi-ico.svg'), 32, 32)
- imagen = gtk.Image()
- imagen.set_from_pixbuf(pixbuf)
- boton.set_icon_widget(imagen)
- imagen.show()
- boton.show()
- view_tool_bar.append_item("", _(""), "",boton, self.toggle_hemisphere_clicked, user_data=None)
- boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND)
-
- boton = gtk.ToggleToolButton()
- pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'calendario-ico.svg'), 32, 32)
- imagen = gtk.Image()
- imagen.set_from_pixbuf(pixbuf)
- boton.set_icon_widget(imagen)
- imagen.show()
- boton.show()
- view_tool_bar.append_item("", "", "",boton, self.switch_calendar_luna, user_data=None)
- boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND)
-
- self.label_emisferio = gtk.Label()
- view_tool_bar.append_widget(self.label_emisferio, None, None)
- self.label_emisferio.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND)
- self.label_emisferio.modify_fg(gtk.STATE_NORMAL, MG.FOREGROUND)
- self.label_emisferio.show()
-
- view_tool_bar.show_all()
-
- info_scroll = gtk.ScrolledWindow()
- info_scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
- self.info_panel = gtk.VBox()
- self.info = gtk.TextView()
- self.info.set_property("sensitive", False)
- self.info.set_border_window_size(gtk.TEXT_WINDOW_TOP, 10)
- self.info.set_border_window_size(gtk.TEXT_WINDOW_LEFT, 10)
- self.info.set_border_window_size(gtk.TEXT_WINDOW_RIGHT, 10)
- self.info.set_border_window_size(gtk.TEXT_WINDOW_BOTTOM, 10)
- self.info_panel.pack_start(self.info, False, False, 0)
- info_scroll.add_with_viewport(self.info_panel)
-
- self.main_view.pack_start(info_scroll, False, False, 5)
- self.main_view.pack_end(self.aspectframe, True, True, 5)
- self.add(cajabase)
-
- self.bufferinfo = gtk.TextBuffer()
- self.info.set_buffer(self.bufferinfo)
- self.mooncalendar.set_mes(anio, mes, fecha, hora)
- self.update_text_information_view()
-
- def toggle_grid_clicked(self, widget= None):
- self.luna_hoy.toggle_grid_clicked()
- self.mooncalendar.toggle_grid_clicked(widget= None, actualizar = self.mooncalendar in self.aspectframe.get_children())
-
- def toggle_hemisphere_clicked(self, widget= None):
- self.luna_hoy.toggle_hemisphere_clicked()
- self.mooncalendar.toggle_hemisphere_clicked(widget= None, actualizar = self.mooncalendar in self.aspectframe.get_children())
-
- def switch_calendar_luna(self, widget):
- if self.mooncalendar in self.aspectframe.get_children():
- self.aspectframe.remove(self.mooncalendar)
- self.aspectframe.add(self.luna_hoy)
- self.luna_hoy.show_all()
- elif self.luna_hoy in self.aspectframe.get_children():
- self.aspectframe.remove(self.luna_hoy)
- self.aspectframe.add(self.mooncalendar)
- self.mooncalendar.show_all()
- self.show_all()
- self.realize()
-
- def handle(self):
- self.update_text_information_view()
- if self.luna_hoy in self.aspectframe.get_children():
- self.luna_hoy.actualizar()
- return True
-
- def repaint(self, widget= None, event= None):
- x,y,w,h= self.luna_hoy.get_allocation()
- anchoboton, altoboton = (w,h)
- tamanioboton = min( [anchoboton,altoboton] )
- self.luna_hoy.repaint(tamanioboton)
-
- def delete_event(self, widget, event, data=None):
- sys.exit(0)
- return False
-
- def update_text_information_view(self):
- anio, mes, fecha, hora = MG.get_date_time_now()
- hoy = "%s-%s-%s %s" % (anio, mes, fecha, hora)
- ahora = time.mktime(time.strptime(hoy, MG.format))
-
- self.luna_hoy.data_model.update_moon_calculations(ahora)
-
- information = ""
- information += "%s:\n\n" % (_("Today's Moon Information"))
- information += "%s\n\n" % (MG.get_date_time())
- information += "%s:\n%s\n\n" % (_("Phase"), self.luna_hoy.data_model.moon_phase_name(self.luna_hoy.data_model.phase_of_moon))
- information += "%s:\n%.2f (%s)\n\n" % (_("Julian Date"), self.luna_hoy.data_model.julian_date, _("astronomical"))
-
- information += "%s:\n" % (_("Age"))
- dias = self.luna_hoy.data_model.days_old
- horas = self.luna_hoy.data_model.hours_old
- minutos = self.luna_hoy.data_model.minutes_old
- information += "%i %s, %i %s, %i %s.\n\n" % (dias, _("days"), horas, _("hours"), minutos, _("minutes"))
-
- phase = self.luna_hoy.data_model.phase_of_moon * 100
- lunation = self.luna_hoy.data_model.lunation
- information += "%s:\n" % (_("Lunation"))
- information += "%.2f%s %s %d.\n\n" % (phase, "%", _("through lunation"), lunation)
-
- information += "%s:\n" % (_("Surface Visibility"))
- information += "%.0f%s (%s)\n\n" % (self.luna_hoy.data_model.percent_of_full_moon * 100, "%", _("estimated"))
-
- #information += _("Surface Visibility:\n%.0f%% (estimated)\n\n") % (self.luna_hoy.data_model.percent_of_full_moon * 100)
-
- selen = {'deg':self.luna_hoy.data_model.selenographic_deg, 'westOrEast':self.luna_hoy.data_model.west_or_east,
- 'riseOrSet':self.luna_hoy.data_model.rise_or_set}
- information += _(u"Selenographic Terminator Longitude:\n%(deg).1f\u00b0%(westOrEast)s (%(riseOrSet)s)\n\n") % selen
-
- full = {'date':time.strftime(MG.LOCALE_DATE_FORMAT, time.localtime(self.luna_hoy.data_model.next_full_moon_date)),
- 'days':self.luna_hoy.data_model.days_until_full_moon}
- information += _("Next Full Moon:\n%(date)s in %(days).0f days\n\n") % full
-
- new = {'date':time.strftime(MG.LOCALE_DATE_FORMAT, time.localtime(self.luna_hoy.data_model.next_new_moon_date)),
- 'days':self.luna_hoy.data_model.days_until_new_moon}
- information += _("Next New Moon:\n%(date)s in %(days).0f days\n\n") % new
-
- lunare = {'date':time.strftime(MG.LOCALE_DATE_FORMAT, time.localtime(self.luna_hoy.data_model.next_lunar_eclipse_date)),
- 'days':self.luna_hoy.data_model.days_until_lunar_eclipse}
- information += _("Next Lunar eclipse:\n%(date)s in %(days).0f days\n\n") % lunare
-
- solare = {'date':time.strftime(MG.LOCALE_DATE_FORMAT, time.localtime(self.luna_hoy.data_model.next_solar_eclipse_date)),
- 'days':self.luna_hoy.data_model.days_until_solar_eclipse}
- information += _("Next Solar eclipse:\n%(date)s in %(days).0f days") % solare
-
- self.bufferinfo.set_text(information)
- self.label_emisferio.set_text( " %s: %s" % (_("Vista Hemisferio"),_(self.luna_hoy.hemisphere_view)) )
+
+ def __init__(self):
+
+ gtk.Window.__init__(self)
+
+ self.set_title(_("Luna"))
+ self.set_icon_from_file(os.path.join(MG.ICONOS,"luna-ico.png"))
+ self.set_resizable(True)
+ self.set_size_request(MG.WIDTH, MG.HEIGHT)
+ self.set_position(gtk.WIN_POS_CENTER)
+ self.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND)
+
+ self.main_view = None
+ self.mooncalendar = None
+ self.info_panel = None
+ self.info = None
+ self.luna_hoy = None
+ self.label_emisferio = None
+ self.aspectframe = None
+ self.bufferinfo = None
+
+ self.set_layout()
+
+ self.show_all()
+ self.realize()
+ self.maximize()
+
+ self.connect("delete_event", self.delete_event)
+ self.luna_hoy.connect("expose_event", self.repaint)
+
+ self.actualizador = gobject.timeout_add(1000, self.handle)
+
+ def set_layout(self):
+
+ anio, mes, fecha, hora = MG.get_date_time_now()
+ self.luna_hoy = CalendarButton(anio, mes, fecha, hora)
+ self.mooncalendar = MoonCalendar()
+ self.aspectframe = gtk.AspectFrame()
+ self.aspectframe.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND)
+ self.aspectframe.add(self.luna_hoy)
+
+ cajabase = gtk.VBox()
+ self.main_view = gtk.HBox()
+ cajabase.pack_end(self.main_view, True, True, 5)
+
+ view_tool_bar = gtk.Toolbar()
+ view_tool_bar.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND)
+ cajabase.pack_start(view_tool_bar, False, False, 0)
+
+ boton = gtk.ToggleToolButton()
+ pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'grid-ico.svg'), 32, 32)
+ imagen = gtk.Image()
+ imagen.set_from_pixbuf(pixbuf)
+ boton.set_icon_widget(imagen)
+ imagen.show()
+ boton.show()
+ view_tool_bar.append_item("", "", "",boton, self.toggle_grid_clicked, user_data=None)
+ boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND)
+
+ boton = gtk.ToggleToolButton()
+ pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'hemi-ico.svg'), 32, 32)
+ imagen = gtk.Image()
+ imagen.set_from_pixbuf(pixbuf)
+ boton.set_icon_widget(imagen)
+ imagen.show()
+ boton.show()
+ view_tool_bar.append_item("", _(""), "",boton, self.toggle_hemisphere_clicked, user_data=None)
+ boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND)
+
+ boton = gtk.ToggleToolButton()
+ pixbuf= gtk.gdk.pixbuf_new_from_file_at_size(os.path.join(MG.ICONOS,'calendario-ico.svg'), 32, 32)
+ imagen = gtk.Image()
+ imagen.set_from_pixbuf(pixbuf)
+ boton.set_icon_widget(imagen)
+ imagen.show()
+ boton.show()
+ view_tool_bar.append_item("", "", "",boton, self.switch_calendar_luna, user_data=None)
+ boton.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND)
+
+ self.label_emisferio = gtk.Label()
+ view_tool_bar.append_widget(self.label_emisferio, None, None)
+ self.label_emisferio.modify_bg(gtk.STATE_NORMAL, MG.BACKGROUND)
+ self.label_emisferio.modify_fg(gtk.STATE_NORMAL, MG.FOREGROUND)
+ self.label_emisferio.show()
+
+ view_tool_bar.show_all()
+
+ info_scroll = gtk.ScrolledWindow()
+ info_scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
+ self.info_panel = gtk.VBox()
+ self.info = gtk.TextView()
+ self.info.set_property("sensitive", False)
+ self.info.set_border_window_size(gtk.TEXT_WINDOW_TOP, 10)
+ self.info.set_border_window_size(gtk.TEXT_WINDOW_LEFT, 10)
+ self.info.set_border_window_size(gtk.TEXT_WINDOW_RIGHT, 10)
+ self.info.set_border_window_size(gtk.TEXT_WINDOW_BOTTOM, 10)
+ self.info_panel.pack_start(self.info, False, False, 0)
+ info_scroll.add_with_viewport(self.info_panel)
+
+ self.main_view.pack_start(info_scroll, False, False, 5)
+ self.main_view.pack_end(self.aspectframe, True, True, 5)
+ self.add(cajabase)
+
+ self.bufferinfo = gtk.TextBuffer()
+ self.info.set_buffer(self.bufferinfo)
+ self.mooncalendar.set_mes(anio, mes, fecha, hora)
+ self.update_text_information_view()
+
+ def toggle_grid_clicked(self, widget= None):
+
+ self.luna_hoy.toggle_grid_clicked()
+ self.mooncalendar.toggle_grid_clicked(widget= None, actualizar = self.mooncalendar in self.aspectframe.get_children())
+
+ def toggle_hemisphere_clicked(self, widget= None):
+
+ self.luna_hoy.toggle_hemisphere_clicked()
+ self.mooncalendar.toggle_hemisphere_clicked(widget= None, actualizar = self.mooncalendar in self.aspectframe.get_children())
+
+ def switch_calendar_luna(self, widget):
+
+ if self.mooncalendar in self.aspectframe.get_children():
+ self.aspectframe.remove(self.mooncalendar)
+ self.aspectframe.add(self.luna_hoy)
+ self.luna_hoy.show_all()
+
+ elif self.luna_hoy in self.aspectframe.get_children():
+ self.aspectframe.remove(self.luna_hoy)
+ self.aspectframe.add(self.mooncalendar)
+ self.mooncalendar.show_all()
+
+ self.show_all()
+ self.realize()
+
+ def handle(self):
+
+ self.update_text_information_view()
+ if self.luna_hoy in self.aspectframe.get_children():
+ self.luna_hoy.actualizar()
+
+ return True
+
+ def repaint(self, widget= None, event= None):
+
+ x,y,w,h= self.luna_hoy.get_allocation()
+ anchoboton, altoboton = (w,h)
+ tamanioboton = min( [anchoboton,altoboton] )
+ self.luna_hoy.repaint(tamanioboton)
+
+ def delete_event(self, widget, event, data=None):
+ sys.exit(0)
+ return False
+
+ def update_text_information_view(self):
+
+ anio, mes, fecha, hora = MG.get_date_time_now()
+ hoy = "%s-%s-%s %s" % (anio, mes, fecha, hora)
+ ahora = time.mktime(time.strptime(hoy, MG.format))
+
+ self.luna_hoy.data_model.update_moon_calculations(ahora)
+
+ information = ""
+ information += "%s:\n\n" % (_("Today's Moon Information"))
+ information += "%s\n\n" % (MG.get_date_time())
+ information += "%s:\n%s\n\n" % (_("Phase"), self.luna_hoy.data_model.moon_phase_name(self.luna_hoy.data_model.phase_of_moon))
+ information += "%s:\n%.2f (%s)\n\n" % (_("Julian Date"), self.luna_hoy.data_model.julian_date, _("astronomical"))
+
+ information += "%s:\n" % (_("Age"))
+ dias = self.luna_hoy.data_model.days_old
+ horas = self.luna_hoy.data_model.hours_old
+ minutos = self.luna_hoy.data_model.minutes_old
+ information += "%i %s, %i %s, %i %s.\n\n" % (dias, _("days"), horas, _("hours"), minutos, _("minutes"))
+
+ phase = self.luna_hoy.data_model.phase_of_moon * 100
+ lunation = self.luna_hoy.data_model.lunation
+ information += "%s:\n" % (_("Lunation"))
+ information += "%.2f%s %s %d.\n\n" % (phase, "%", _("through lunation"), lunation)
+
+ information += "%s:\n" % (_("Surface Visibility"))
+ information += "%.0f%s (%s)\n\n" % (self.luna_hoy.data_model.percent_of_full_moon * 100, "%", _("estimated"))
+
+ #information += _("Surface Visibility:\n%.0f%% (estimated)\n\n") % (self.luna_hoy.data_model.percent_of_full_moon * 100)
+
+ selen = {'deg':self.luna_hoy.data_model.selenographic_deg, 'westOrEast':self.luna_hoy.data_model.west_or_east,
+ 'riseOrSet':self.luna_hoy.data_model.rise_or_set}
+ information += _(u"Selenographic Terminator Longitude:\n%(deg).1f\u00b0%(westOrEast)s (%(riseOrSet)s)\n\n") % selen
+
+ full = {'date':time.strftime(MG.LOCALE_DATE_FORMAT, time.localtime(self.luna_hoy.data_model.next_full_moon_date)),
+ 'days':self.luna_hoy.data_model.days_until_full_moon}
+ information += _("Next Full Moon:\n%(date)s in %(days).0f days\n\n") % full
+
+ new = {'date':time.strftime(MG.LOCALE_DATE_FORMAT, time.localtime(self.luna_hoy.data_model.next_new_moon_date)),
+ 'days':self.luna_hoy.data_model.days_until_new_moon}
+ information += _("Next New Moon:\n%(date)s in %(days).0f days\n\n") % new
+
+ lunare = {'date':time.strftime(MG.LOCALE_DATE_FORMAT, time.localtime(self.luna_hoy.data_model.next_lunar_eclipse_date)),
+ 'days':self.luna_hoy.data_model.days_until_lunar_eclipse}
+ information += _("Next Lunar eclipse:\n%(date)s in %(days).0f days\n\n") % lunare
+
+ solare = {'date':time.strftime(MG.LOCALE_DATE_FORMAT, time.localtime(self.luna_hoy.data_model.next_solar_eclipse_date)),
+ 'days':self.luna_hoy.data_model.days_until_solar_eclipse}
+ information += _("Next Solar eclipse:\n%(date)s in %(days).0f days") % solare
+
+ self.bufferinfo.set_text(information)
+ self.label_emisferio.set_text( " %s: %s" % (_("Vista Hemisferio"),_(self.luna_hoy.hemisphere_view)) )
if __name__=="__main__":
- MoonActivity()
- gtk.main()
+ MoonActivity()
+ gtk.main()