I need to place zoom in this codigo, I help me. PLEASE

#!/usr/bin/env python

import gtk

width = gtk.gdk.screen_width()
height = gtk.gdk.screen_height()
fator_zoom = 500
fator_distancia = 1

class map:
    def draw(self,widget):
        gc = widget.window.new_gc()
        gc.line_style = gtk.gdk.LINE_ON_OFF_DASH
        gc.set_dashes(0, [6,6])
        x = range(0,width,fator_distancia)#posicionamento,tamanho,largura
        y = [fator_zoom*height for height in x]
        widget.window.draw_lines( gc, zip(x,y))
        widget.window.draw_lines( gc, zip(y,x))
        
    def expose_event(self,widget, event):
        self.style = self.area.get_style()
        self.gc = self.style.fg_gc[gtk.STATE_NORMAL]    
        self.draw(widget)
        
    def vert_horiz_lines(self,widget, event):
        self.style = self.area.get_style()
        self.gc = self.style.fg_gc[gtk.STATE_NORMAL]    
        #gc = widget.window.new_gc()
        self.gc.line_style = gtk.gdk.LINE_ON_OFF_DASH
        self.gc.set_dashes(0, [6,6])
        x = range(0,width,fator_distancia)#posicionamento,tamanho,largura
        y = [fator_zoom*height for height in x]
        widget.window.draw_lines( self.gc, zip(x,y))
        widget.window.draw_lines( self.gc, zip(y,x))
        
    def on_edit_clicked(self,event):
        print "eidt"
       
    def zoomin(self,event):
        label= gtk.Label("Viewpoind:")
        label.show()
        
    def popup(self,obj,event):
        if event.type == gtk.gdk.BUTTON_PRESS and event.button == 3:
            self.build_context_menu()
        
    def build_context_menu(self):
        entries = [(("Show-Grid"), self.on_edit_clicked,1),
                   (("Hide-Grid"), self.on_edit_clicked,1),     
                   (gtk.STOCK_ZOOM_IN, self.zoomin,1),
                   (gtk.STOCK_ZOOM_OUT, self.on_edit_clicked,1),        
                   (gtk.STOCK_SELECT_COLOR, self.change_color,1)]
        menu = gtk.Menu()
        for stock_id,callback,sensitivity in entries:
            item = gtk.ImageMenuItem(stock_id)
            if callback:
                item.connect("activate",callback)
            item.set_sensitive(sensitivity)
            item.show()
            menu.append(item)
        menu.popup(None,None,None,0,0) 
        
    def show_grid(self,widget, event):  
        print "show_grid"
        
    def hide_grid(self,widget, event):  
        self.area.hide()
                
    def waypoint(self,widget, event):
        if event.type == gtk.gdk.BUTTON_PRESS:
                print "teste"
        return gtk.TRUE

    def set_background_color(self, widget):
        colormap = self.area.get_colormap()
        color = self.colorseldlg.colorsel.get_current_color()
        self.area.modify_bg(gtk.STATE_NORMAL, color)

    def change_color(self, widget):
            handled = gtk.FALSE
            handled = gtk.TRUE
            if self.colorseldlg == None:
                self.colorseldlg = gtk.ColorSelectionDialog("Select background
color")
            colorsel = self.colorseldlg.colorsel
            colorsel.set_previous_color(self.color)
            colorsel.set_current_color(self.color)
            colorsel.set_has_palette(gtk.TRUE)
            colorsel.connect("color_changed", self.set_background_color)
            resp = self.colorseldlg.run()
            if resp -- gtk.RESPONSE_OK:
                self.color = colorsel.get_current_color()
            else:
                self.area.modify_bg(gtk.STATE_NORMAL, self.color)
            self.colorseldlg.hide()
            return handled

def __init__(self):
        self.colorseldlg = None 
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.maximize()
        self.window.connect("destroy", gtk.mainquit)
        self.tam=self.window.get_size()
        self.window.set_title("MAPA")
        self.window.set_resizable(gtk.TRUE)
        self.area = gtk.DrawingArea()
        self.pangolayout = self.area.create_pango_layout("")
        self.color = self.area.get_colormap().alloc_color(0, 65535,0)
        self.area.set_size_request(600, 400)
        self.area.set_events(gtk.gdk.EXPOSURE_MASK
                            | gtk.gdk.LEAVE_NOTIFY_MASK
                            | gtk.gdk.BUTTON_PRESS_MASK
                            | gtk.gdk.POINTER_MOTION_MASK
                            | gtk.gdk.POINTER_MOTION_HINT_MASK)
#       self.area.connect("event", self.change_color)
        self.area.connect("expose_event", self.expose_event)
#       self.area.connect("button_press_event", self.waypoint)
#       self.area.connect("button_press_event", self.show_grid)
#       self.area.connect("button_press_event", self.hide_grid)
        self.area.connect("button_press_event", self.popup)
        self.window.add(self.area)
        self.cor = gtk.gdk.color_parse("#FFFFFF")
        self.area.modify_bg(gtk.STATE_NORMAL, self.cor)
        self.area.show()
        self.window.show()
  
def main():
    gtk.main()
    return 0

if __name__ == "__main__":
    map()
    main()


                    -------------------------------
Departamento de Ci�ncia da Computa��o - DCC-FESURV (www.dcc.fesurv.br)
_______________________________________________
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/

Reply via email to