Changeset 1007
- Timestamp:
- 07/12/07 11:29:46 (6 years ago)
- Location:
- branch/k0p/umitInterfaceEditor
- Files:
-
- 1 added
- 2 modified
-
Border.py (modified) (15 diffs)
-
NewWidget.py (added)
-
layout_teste.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branch/k0p/umitInterfaceEditor/Border.py
r1002 r1007 59 59 return self._selected 60 60 61 def set_selected(self, widget ):61 def set_selected(self, widget, merda=None): 62 62 """ 63 63 @param widget: widget to select, must be a children of self … … 108 108 x - (border / 2), y - (border / 2), 109 109 w + border, h + border) 110 #self.window.draw_rectangle(self._draw_gc, False,111 # x +3, x+10,112 # y+10, y+30)113 110 114 111 self.draw_nodes(x,y,w,h) … … 116 113 # GtkWidget 117 114 def draw_nodes(self, x, y, width, height): 118 window = self.window119 115 gc = self._draw_gc 116 117 window = self._selected.window 118 120 119 gc = gdk.GC(window, line_width=self._selection_width) 121 122 120 if width > SELECTION_NODE_SIZE and height > SELECTION_NODE_SIZE: 123 121 window.draw_rectangle(gc, True, x, y, … … 143 141 gdk.EXPOSURE_MASK | 144 142 gdk.BUTTON_PRESS_MASK)) 143 145 144 self.window.set_user_data(self) 146 145 self.style.attach(self.window) … … 158 157 if selected: 159 158 self.set_selected(selected) 160 print event.x161 print event.y162 159 163 160 … … 172 169 @type y: integer 173 170 """ 174 171 172 175 173 toplevel = self.get_toplevel() 176 174 for child in self.get_children(): 177 175 #print child 176 178 177 coords = toplevel.translate_coordinates(child, x, y) 179 178 if not coords: 180 179 continue 181 180 182 181 child_x, child_y = coords 183 182 if (0 <= child_x < child.allocation.width and 184 0 <= child_y < child.allocation.height and 183 0 <= child_y < child.allocation.height and 185 184 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) 188 187 189 print "RETURN" 190 print child 188 #print "RETURN" 191 189 return child 192 190 193 191 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) 197 195 198 196 class GenericBorder(Border, gtk.VBox): … … 200 198 201 199 def __init__(self, width=1): 202 print "inited generic border" 200 203 201 gtk.VBox.__init__(self) 204 202 Border.__init__(self, width=width) 205 print "inited border" 203 206 204 do_realize = Border.do_realize 207 205 do_button_press_event = Border.do_button_press_event … … 215 213 gtk.VBox.do_expose_event(self, event) 216 214 self.update_selection() 217 215 218 216 219 217 … … 226 224 227 225 ''' 226 228 227 def __init__(self): 229 228 gtk.Widget.__init__(self) … … 232 231 self._xmp = background_xpm 233 232 #self.unset_flags(gtk.VISIBLE) 234 #self.set_flags(self.flags() | gtk. TOPLEVEL)235 233 #self.set_flags(self.flags() | gtk.COMPOSITE_CHILD) 234 236 235 self.show() 237 236 def do_realize(self): … … 240 239 events = (gtk.gdk.EXPOSURE_MASK | 241 240 gtk.gdk.BUTTON_PRESS_MASK | 242 gtk.gdk.POINTER_MOTION_MASK) 241 gtk.gdk.POINTER_MOTION_MASK | 242 gtk.gdk.BUTTON_RELEASE_MASK) 243 243 self.window = gtk.gdk.Window(self.get_parent_window(), 244 244 x=self.allocation.x, … … 265 265 266 266 self.window.set_back_pixmap(self._pixmap, False) 267 267 268 def do_size_allocate(self, allocation): 268 269 self.allocation = allocation … … 285 286 event.window.draw_line(dark_gc, w - 1, 0, w - 1, h - 1) 286 287 return False 287 def do_clicked_event(self, event): 288 pass 288 289 289 290 290 def do_motion_notify_event(self, event): … … 305 305 event.window.draw_line(dark_gc, w - 1, 0, w - 1, h - 1) 306 306 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) 307 324 #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 326 330 327 331 gobject.type_register(BackgroundWidget) 328 329 332 def main(): 330 333 w = gtk.Window() … … 332 335 new_widget2 = BackgroundWidget() 333 336 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 336 340 new_widget.show() 337 print new_widget2341 ev = gtk.EventBox() 338 342 new_widget2.show() 339 print new_widget3 343 ev.add(new_widget2) 344 340 345 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 365 def 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!!!!!!!!!!!!!!!!') 342 379 check = gtk.CheckButton('fsck') 343 380 entr = gtk.Entry() 344 381 s = GenericBorder() 345 print "created genericborder" 382 a = gtk.EventBox() 383 a.add(new_widget3) 384 s.pack_start(label, True, True,0) 346 385 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) 348 390 s.pack_start(check, True, True,0) 349 s.pack_start(e ntr, 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 352 394 w.add(s) 353 395 w.show_all() -
branch/k0p/umitInterfaceEditor/layout_teste.py
r997 r1007 1 import gtk 2 import gobject 3 from gtk import gdk 4 MIN_WIDTH = 200 5 MIN_HEIGHT = 30 6 background_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 1 22 SELECTION_NODE_SIZE = 6 2 23 BORDER_WIDTH = 3 3 #FROM Kiwi4 5 """6 A box which you can select and will have a border around it when7 you click on any widgets in it8 """9 10 import gtk11 from gtk import gdk12 13 14 24 class SelectableBox(object): 15 25 def __init__(self, width=1): … … 208 218 #sbox = SelectableVBox() 209 219 button = gtk.Button('Button') 220 210 221 hbox = gtk.HBox() 211 222 hbox.pack_start(label)
