Changeset 1007

Show
Ignore:
Timestamp:
07/12/07 11:29:46 (6 years ago)
Author:
kop-labs
Message:

Testing borders

Location:
branch/k0p/umitInterfaceEditor
Files:
1 added
2 modified

Legend:

Unmodified
Added
Removed
  • branch/k0p/umitInterfaceEditor/Border.py

    r1002 r1007  
    5959        return self._selected 
    6060 
    61     def set_selected(self, widget): 
     61    def set_selected(self, widget, merda=None): 
    6262        """ 
    6363        @param widget: widget to select, must be a children of self 
     
    108108                                   x - (border / 2), y - (border / 2), 
    109109                                   w + border, h + border) 
    110         #self.window.draw_rectangle(self._draw_gc, False, 
    111         #                           x +3, x+10, 
    112         #                           y+10, y+30) 
    113110         
    114111        self.draw_nodes(x,y,w,h) 
     
    116113    # GtkWidget 
    117114    def draw_nodes(self, x, y, width, height): 
    118         window = self.window 
    119115        gc = self._draw_gc 
     116 
     117        window = self._selected.window 
     118 
    120119        gc = gdk.GC(window, line_width=self._selection_width) 
    121  
    122120        if width > SELECTION_NODE_SIZE and height > SELECTION_NODE_SIZE: 
    123121            window.draw_rectangle(gc, True, x, y, 
     
    143141                                             gdk.EXPOSURE_MASK | 
    144142                                             gdk.BUTTON_PRESS_MASK)) 
     143        
    145144        self.window.set_user_data(self) 
    146145        self.style.attach(self.window) 
     
    158157        if selected: 
    159158            self.set_selected(selected) 
    160             print event.x  
    161             print event.y 
    162159         
    163160             
     
    172169        @type y: integer 
    173170        """ 
    174          
     171 
     172 
    175173        toplevel = self.get_toplevel() 
    176174        for child in self.get_children(): 
    177175            #print child 
     176 
    178177            coords = toplevel.translate_coordinates(child, x, y) 
    179178            if not coords: 
    180179                continue 
    181              
     180 
    182181            child_x, child_y = coords 
    183182            if (0 <= child_x < child.allocation.width and 
    184                 0 <= child_y < child.allocation.height and 
     183                0 <= child_y < child.allocation.height and  
    185184                child.flags() & (gtk.MAPPED | gtk.VISIBLE)): 
    186                 print "FOUND x = " + str(child_x) +"  y: " +  str(child_y) 
    187                 print "W = "+ str(child.allocation.width) + " H: " + str(child.allocation.height) 
     185                #print "FOUND x = " + str(child_x) +"  y: " +  str(child_y) 
     186                #print "W = "+ str(child.allocation.width) + " H: " + str(child.allocation.height) 
    188187                 
    189                 print "RETURN" 
    190                 print child  
     188                #print "RETURN" 
    191189                return child 
    192190 
    193191    def _child_added(self, child): 
    194         child.connect('button-press-event', 
    195                       lambda child, e: self.set_selected(child)) 
    196  
     192        #child.connect('button-press-event', 
     193                      #lambda child, e: self.set_selected(child)) 
     194        child.connect('button-press-event',self.set_selected) 
    197195 
    198196class GenericBorder(Border, gtk.VBox): 
     
    200198 
    201199    def __init__(self, width=1): 
    202         print "inited generic border" 
     200 
    203201        gtk.VBox.__init__(self) 
    204202        Border.__init__(self, width=width) 
    205         print "inited border" 
     203 
    206204    do_realize = Border.do_realize 
    207205    do_button_press_event = Border.do_button_press_event 
     
    215213        gtk.VBox.do_expose_event(self, event) 
    216214        self.update_selection() 
    217  
     215         
    218216 
    219217 
     
    226224     
    227225    ''' 
     226     
    228227    def __init__(self): 
    229228        gtk.Widget.__init__(self) 
     
    232231        self._xmp = background_xpm 
    233232        #self.unset_flags(gtk.VISIBLE) 
    234         #self.set_flags(self.flags() | gtk.TOPLEVEL) 
    235  
     233        #self.set_flags(self.flags() | gtk.COMPOSITE_CHILD) 
     234         
    236235        self.show() 
    237236    def do_realize(self): 
     
    240239        events = (gtk.gdk.EXPOSURE_MASK | 
    241240                  gtk.gdk.BUTTON_PRESS_MASK | 
    242                   gtk.gdk.POINTER_MOTION_MASK) 
     241                  gtk.gdk.POINTER_MOTION_MASK | 
     242                  gtk.gdk.BUTTON_RELEASE_MASK) 
    243243        self.window = gtk.gdk.Window(self.get_parent_window(),  
    244244                                     x=self.allocation.x, 
     
    265265         
    266266        self.window.set_back_pixmap(self._pixmap, False) 
     267         
    267268    def do_size_allocate(self, allocation): 
    268269        self.allocation = allocation 
     
    285286        event.window.draw_line(dark_gc, w - 1, 0, w - 1, h - 1) 
    286287        return False 
    287     def do_clicked_event(self, event): 
    288         pass 
     288 
    289289 
    290290    def do_motion_notify_event(self, event): 
     
    305305        event.window.draw_line(dark_gc, w - 1, 0, w - 1, h - 1) 
    306306        x,y,w, h = self.allocation 
     307         
     308        x,y,width, height = self.allocation 
     309        border = 5 
     310        gc = gdk.GC(self.window, line_width=3) 
     311         
     312        window = self.window 
     313        window.draw_rectangle(gc, True, x, y, 
     314                              SELECTION_NODE_SIZE, SELECTION_NODE_SIZE) 
     315        window.draw_rectangle(gc, True, x, y + height -SELECTION_NODE_SIZE, 
     316                              SELECTION_NODE_SIZE, SELECTION_NODE_SIZE) 
     317        window.draw_rectangle(gc, True, x + width - SELECTION_NODE_SIZE, y, 
     318                              SELECTION_NODE_SIZE, SELECTION_NODE_SIZE) 
     319        window.draw_rectangle(gc, True, x + width - SELECTION_NODE_SIZE, 
     320                              y + height - SELECTION_NODE_SIZE, 
     321                              SELECTION_NODE_SIZE, SELECTION_NODE_SIZE) 
     322             
     323        window.draw_rectangle(gc, False, x, y, width - 1, height - 1) 
    307324        #self.draw_nodes( x,y,w, h) 
    308  
    309  
    310     def draw_nodes(self, x, y, width, height): 
    311          
    312         window =self.window  
    313         gc = gdk.GC(window, line_width=1) 
    314         if width > SELECTION_NODE_SIZE and height > SELECTION_NODE_SIZE: 
    315             window.draw_rectangle(gc, True, x, y, 
    316                                   SELECTION_NODE_SIZE, SELECTION_NODE_SIZE) 
    317             window.draw_rectangle(gc, True, x, y + height -SELECTION_NODE_SIZE, 
    318                                   SELECTION_NODE_SIZE, SELECTION_NODE_SIZE) 
    319             window.draw_rectangle(gc, True, x + width - SELECTION_NODE_SIZE, y, 
    320                                   SELECTION_NODE_SIZE, SELECTION_NODE_SIZE) 
    321             window.draw_rectangle(gc, True, x + width - SELECTION_NODE_SIZE, 
    322                                   y + height - SELECTION_NODE_SIZE, 
    323                                   SELECTION_NODE_SIZE, SELECTION_NODE_SIZE) 
    324             window.draw_rectangle(gc, False, x, y, width - 1, height - 1)  
    325              
     325    def get_cenas(self,x,y,w,h): 
     326        #self.queue_draw() 
     327        #self.draw_nodes( x,y,w, h) 
     328        return self.window 
     329 
    326330 
    327331gobject.type_register(BackgroundWidget) 
    328  
    329332def main(): 
    330333    w = gtk.Window() 
     
    332335    new_widget2 = BackgroundWidget() 
    333336    new_widget3 = BackgroundWidget() 
    334     print new_widget.flags() 
    335     print new_widget 
     337    bb= gtk.Button('sadas') 
     338    #bb.connect('clicked', new_widget.desenha_ponto) 
     339 
    336340    new_widget.show() 
    337     print new_widget2 
     341    ev = gtk.EventBox() 
    338342    new_widget2.show() 
    339     print new_widget3 
     343    ev.add(new_widget2) 
     344 
    340345    label = gtk.Label('ffffff!!!!!!!!!!!!!!!!') 
    341     print label.flags() 
     346    check = gtk.CheckButton('fsck') 
     347    entr = gtk.Entry() 
     348    s = gtk.VBox() 
     349    a = gtk.EventBox() 
     350    a.add(new_widget3) 
     351    s.pack_start(label, True, True,0) 
     352    s.pack_start(new_widget, True, True,0) 
     353    s.pack_start(bb, True, True,0) 
     354    ev_t = gtk.EventBox() 
     355    ev_t.add(entr) 
     356    s.pack_start(ev, True, True,0) 
     357    s.pack_start(check, True, True,0) 
     358    s.pack_start(ev_t, True, True,0) 
     359    s.pack_start(a, True, True,0) 
     360 
     361    w.add(s) 
     362    w.show_all() 
     363    gtk.main() 
     364 
     365def main2(): 
     366    w = gtk.Window() 
     367    new_widget = BackgroundWidget() 
     368    new_widget2 = BackgroundWidget() 
     369    new_widget3 = BackgroundWidget() 
     370    bb= gtk.Button('sadas') 
     371    #bb.connect('clicked', new_widget.desenha_ponto) 
     372 
     373    new_widget.show() 
     374    ev = gtk.EventBox() 
     375    new_widget2.show() 
     376    ev.add(new_widget2) 
     377 
     378    label = gtk.Label('ffffff!!!!!!!!!!!!!!!!') 
    342379    check = gtk.CheckButton('fsck') 
    343380    entr = gtk.Entry() 
    344381    s = GenericBorder() 
    345     print "created genericborder" 
     382    a = gtk.EventBox() 
     383    a.add(new_widget3) 
     384    s.pack_start(label, True, True,0) 
    346385    s.pack_start(new_widget, True, True,0) 
    347     s.pack_start(new_widget2, True, True,0) 
     386    s.pack_start(bb, True, True,0) 
     387    ev_t = gtk.EventBox() 
     388    ev_t.add(entr) 
     389    s.pack_start(ev, True, True,0) 
    348390    s.pack_start(check, True, True,0) 
    349     s.pack_start(entr, True, True,0) 
    350     s.pack_start(new_widget3, True, True,0) 
    351     s.pack_start(label, True, True,0) 
     391    s.pack_start(ev_t, True, True,0) 
     392    s.pack_start(a, True, True,0) 
     393 
    352394    w.add(s) 
    353395    w.show_all() 
  • branch/k0p/umitInterfaceEditor/layout_teste.py

    r997 r1007  
     1import gtk  
     2import gobject 
     3from gtk import gdk 
     4MIN_WIDTH = 200 
     5MIN_HEIGHT = 30 
     6background_xpm = [ 
     7    # columns rows colors chars-per-pixel 
     8    "8 8 2 1", 
     9    "  c #bbbbbb", 
     10    ". c #0000FF", 
     11    # pixels 
     12    " .  .   ", 
     13    ".    .  ", 
     14    "      ..", 
     15    "      ..", 
     16    ".    .  ", 
     17    " .  .   ", 
     18    "  ..    ", 
     19    "  ..    ", 
     20    ] 
     21 
    122SELECTION_NODE_SIZE = 6 
    223BORDER_WIDTH = 3 
    3 #FROM Kiwi 
    4  
    5 """ 
    6 A box which you can select and will have a border around it when 
    7 you click on any widgets in it 
    8 """ 
    9  
    10 import gtk 
    11 from gtk import gdk 
    12  
    13  
    1424class SelectableBox(object): 
    1525    def __init__(self, width=1): 
     
    208218        #sbox = SelectableVBox() 
    209219        button = gtk.Button('Button') 
     220 
    210221        hbox = gtk.HBox() 
    211222        hbox.pack_start(label)