Mostrando las entradas con la etiqueta gnome. Mostrar todas las entradas
Mostrando las entradas con la etiqueta gnome. Mostrar todas las entradas

miércoles, septiembre 19, 2007

Moviendo un cuadrado :P

Jugando con GooCanvas logre finalmente mover un elemento (item) sobre el canvas :)

video

Here is the code (python code, using pygoocanvas)


import goocanvas
import cairo
import gtk

def boton_presionado(item, target_item, event):
print "boton presionado"
fleur = gtk.gdk.Cursor(gtk.gdk.FLEUR)
canvas = item.get_canvas ()
canvas.pointer_grab(item,
gtk.gdk.POINTER_MOTION_MASK | gtk.gdk.BUTTON_RELEASE_MASK,
fleur, event.time)
return True

def on_button_release(item, target, event):
canvas = item.get_canvas ()
canvas.pointer_ungrab(item, event.time)
return True

def on_enter_notify (item,target,event):
item.props.fill_color = "red"
return True

def on_leave_notify(item, target, event):
item.props.fill_color = "black"
return True

def on_motion(item, target, event):
canvas = item.get_canvas ()
change = False
if not event.state == gtk.gdk.BUTTON1_MASK:
return False

y = event.y
x = event.x
item.props.x = x - 5.0
item.props.y = y - 5.0

return True


def main():
window = gtk.Window();
window.set_title("titulo")
window.set_default_size(640,480)

window.connect("delete-event",gtk.main_quit)

scrolled_win = gtk.ScrolledWindow()
window.add(scrolled_win)

canvas = goocanvas.Canvas()
canvas.set_size_request(600,450)
canvas.set_bounds(0,0,1000,1000)

scrolled_win.add(canvas)

root = goocanvas.Group()

rect_item = goocanvas.Rect(parent=root,x=100, y=100,
width=200, height=100,
stroke_color="red", fill_color="blue",
line_width=5.0)

rect_item.connect("enter_notify_event", on_enter_notify)
rect_item.connect("leave_notify_event", on_leave_notify)
rect_item.connect("button_press_event", boton_presionado)
rect_item.connect("button_release_event", on_button_release)
rect_item.connect("motion_notify_event", on_motion)
#rect_item.connect("key_press_event",tecla_presionada)

text_item = goocanvas.Text(parent=root,text="Hello, World!",
x=250, y=150,
width=200, anchor=gtk.ANCHOR_SE,
fill_color="blue")

text_item.rotate(45, 300, 300)
canvas.set_root_item(root)

window.show_all()
gtk.main()

if __name__ == "__main__":
main()

nota: por desgracias los tabs se pierden en el blog, si alguien quiere el .py deje un comentario.

jueves, mayo 31, 2007

OMT++ la nueva moda

Este semestre ya ha terminado de reventarme los timpanos la palabra "metodología OMT++", en mi universidad se ha convertido en una de las metodologías fetiches de profesores y memoristas, casi todas las personas que conozco han usado OMT++ en el desarrollo de su proyecto de título, este semestre a mi me ha tocado meterme a hacer cosas con esta, y me he dado cuenta de las razones que han hecho que todos la amen :P pues la razón es que es sencilla y fácil de hacer para los que no somos muy amigos de la redacción de largos documentos.

En ayudantia del profesor Andrés Rice nos dijo que el tipo que la habia desarrollado trabajaba en nokia y se llamaba Ari Jaaksi, pues me puse a investigar acerca de él y O_O gran sorpresa, él tiene el cargo 'Head of Nokia's open source software operations' y más aún, está intimamente ligado al desarrollo de la Nokia Internet Tablet, y aún más allá este año será speaker de la Guadec (Gnome Users And Developers Europe Conference)