Changeset 5753
- Timestamp:
- 08/02/10 16:09:34 (3 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
packet-manipulator/branches/BTSniff/PM_copy/umit/pm/gui/dialogs/btinterface.py
r5715 r5753 20 20 21 21 import gtk 22 import gobject 22 23 from sys import maxint 23 24 … … 67 68 68 69 69 self.master_entries = self.__new_add_entry()70 self.slave_entries = self.__new_add_entry()70 self.master_entries = MacEntry() 71 self.slave_entries = MacEntry() 71 72 72 73 tbl.attach(self.master_entries, 1, 2, 0, 1, yoptions=gtk.SHRINK) … … 137 138 self.add(tbl) 138 139 139 def __new_add_entry(self):140 141 hbox = gtk.HBox(0, False)142 143 for i in range(6):144 entry = gtk.Entry()145 entry.set_max_length(2)146 entry.set_width_chars(2)147 hbox.pack_start(entry, False, False)148 if i < 5:149 hbox.pack_start(self.new_label(_(':')), False, False)150 151 return hbox152 140 153 141 def __clear_children(self): … … 231 219 spart = children[i].get_text() 232 220 if spart=='': spart = '00' 233 # TODO: We should validate input here234 221 part = int(spart, 16) 235 222 lst.append(part) 236 223 return lst 237 224 225 class MacEntry(gtk.HBox): 226 227 def __init__(self): 228 229 gtk.HBox.__init__(self,False,0) 230 231 for i in xrange(6): 232 entry = gtk.Entry() 233 entry.set_max_length(2) 234 entry.set_width_chars(2) 235 self.pack_start(entry, False, False) 236 _handlerid = entry.connect("insert-text", self.entry_insert_text) 237 entry.set_data('handlerid', _handlerid) 238 if i < 5: 239 self.pack_start(gtk.Label(_(':')), False, False) 240 241 242 def move_cursor(self,entry): 243 entry.set_position(-1) 244 return False 245 246 def entry_insert_text(self,entry, new_text, new_text_length, position): 247 if new_text.isdigit() or 'a' <= new_text <= 'f' or 'A' <= new_text <= 'F' : 248 _string = entry.get_chars(0, -1) + new_text 249 _hid = entry.get_data('handlerid') 250 entry.handler_block(_hid) 251 _pos = entry.get_position() 252 _move = True 253 _pos = entry.insert_text(new_text, _pos) 254 entry.handler_unblock(_hid) 255 gobject.idle_add(self.move_cursor, entry) 256 entry.stop_emission("insert-text") 238 257 239 258 class BtInterfaceList(InterfaceList):
