| Home | Trees | Indices | Help |
|
|---|
|
|
1 2 import tkColorChooser 3 import Tkinter 4 T = Tkinter 5 6 from mglutil.util.callback import CallBackFunction 7 from mglutil.gui.BasicWidgets.Tk.thumbwheel import ThumbWheel 8 ## from ViewerFramework.gui import InputFormDescr, InputForm 9 from mglutil.gui.InputForm.Tk.gui import InputFormDescr, InputForm 10 20 212325025 self.widget = widget 26 self.widget.place(x=posx, y=posy) 27 self.widget.bind('<Enter>', self.enter) 28 self.widget.bind('<Button-3>', self.showMenu) 29 #self.widget.bind('<Leave>', self.leave) 30 # Creating the frame that will resize when resizing the widget. 31 self.resizeDraw = T.Frame(widget.master, 32 relief='ridge', background='red') 33 ## self.resizeDraw.bind('<B2-Motion>', self.resizeTop) 34 ## self.resizeDraw.bind('<ButtonRelease-2>', self.endResize) 35 self.posx = posx 36 self.posy = posy 37 self.posxg = posx 38 self.posyg = posy 39 self.gs = gridSize 40 self.optionWidgets = { 41 'activebackground':self.setColor, 42 'activeforeground':self.setColor, 43 'background':self.setColor, 44 'foreground':self.setColor, 45 'disabledbackground':self.setColor, 46 'disabledforeground':self.setColor, 47 'highlightbackground':self.setColor, 48 'highlightforeground':self.setColor, 49 'highlightcolor':self.setColor, 50 'borderwidth':self.getInt, 51 52 } 53 self.cc = tkColorChooser.Chooser() 54 self.buildMenu()55 56 59 6062 idf = InputFormDescr(title='Choose a value') 63 idf.append({'widgetType':IntThumbWheel, 64 'name':'tw', 65 'wcfg':{'width':125, 'height':30, 'nblines':30}}) 66 form = InputForm(master=self.widget.master, root = None, descr=idf) 67 values = form.go() 68 return values['tw']69 7072 value = self.optionWidgets[option]() 73 ## print option, value 74 apply( self.widget.configure, (), {option:value} )75 7678 self.menu = T.Menu(self.widget.master) 79 for k in self.widget.keys(): 80 if k in self.optionWidgets.keys(): 81 cb = CallBackFunction(self.setOption_cb, k) 82 self.menu.add_command(label=k, command=cb)8385 self.menu.post(event.x_root, event.y_root)86 8789 gs = self.gs 90 if x: kw['x'] = (x/gs)*gs 91 if y: kw['y'] = (y/gs)*gs 92 if w: kw['width'] = w 93 if h: kw['height'] = h 94 ## print kw['x'], kw['y'], self.posx, self.posy 95 apply( widget.place, (), kw)96 97 101 102104 x0 = self.posx 105 y0 = self.posy 106 w = self.widget.winfo_width() 107 h = self.widget.winfo_height() 108 self.origx = x = event.x 109 self.origy = y = event.y 110 if y>0 and y<10: 111 self.widget.place_forget() 112 self.resizeDraw.configure(cursor='top_side') 113 self.place(self.resizeDraw, self.posx, self.posy, w, h) 114 self.widget.update_idletasks() 115 self.resizeDraw.grab_set() 116 self.resizeDraw.bind('<B2-Motion>', self.resizeTop) 117 self.resizeDraw.bind('<ButtonRelease-2>', self.endResize) 118 119 elif y<h and y>h-10: 120 self.resizeDraw.configure(cursor='bottom_side') 121 self.widget.place_forget() 122 self.place(self.resizeDraw, self.posx, self.posy, w, h) 123 self.widget.update_idletasks() 124 self.resizeDraw.grab_set() 125 self.resizeDraw.bind('<B2-Motion>', self.resizeBottom) 126 self.resizeDraw.bind('<ButtonRelease-2>', self.endResize) 127 128 elif x>0 and x<10: 129 self.resizeDraw.configure(cursor='left_side') 130 self.widget.place_forget() 131 self.place(self.resizeDraw, self.posx, self.posy, w, h) 132 self.widget.update_idletasks() 133 self.resizeDraw.grab_set() 134 self.resizeDraw.bind('<B2-Motion>', self.resizeLeft) 135 self.resizeDraw.bind('<ButtonRelease-2>', self.endResize) 136 137 elif x<w and x>w-10: 138 self.resizeDraw.configure(cursor='right_side') 139 self.widget.place_forget() 140 self.place(self.resizeDraw, self.posx, self.posy, w, h) 141 self.widget.update_idletasks() 142 self.resizeDraw.grab_set() 143 self.resizeDraw.bind('<B2-Motion>', self.resizeRight) 144 self.resizeDraw.bind('<ButtonRelease-2>', self.endResize) 145 146 else: 147 self.widget.configure(cursor='')148 149151 dy = event.y-self.origy 152 self.posy = self.posy+dy 153 w = self.resizeDraw.winfo_width() 154 h = self.resizeDraw.winfo_height() 155 self.place(self.resizeDraw, self.posx, self.posy, w, h-dy)156158 dx = event.x-self.origx 159 self.posx = self.posx+dx 160 w = self.resizeDraw.winfo_width() 161 h = self.resizeDraw.winfo_height() 162 self.place(self.resizeDraw, self.posx, self.posy, w-dx, h)163165 dx = event.x-self.origx 166 w = self.resizeDraw.winfo_width() 167 h = self.resizeDraw.winfo_height() 168 self.place(self.resizeDraw, self.posx, self.posy, w+dx, h) 169 self.origx = self.origx+dx170172 dy = event.y-self.origy 173 w = self.resizeDraw.winfo_width() 174 h = self.resizeDraw.winfo_height() 175 self.place(self.resizeDraw, self.posx, self.posy, w, h+dy) 176 self.origy = self.origy+dy177179 self.resizeDraw.grab_release() 180 w = self.resizeDraw.winfo_width() 181 h = self.resizeDraw.winfo_height() 182 self.resizeDraw.place_forget() 183 self.widget.place(x=self.posx, y=self.posy, width=w, height=h)184186 event.widget.place_forget() 187 self.posx = self.posx+1 188 event.widget.place(x=self.posx, y=self.posy)189191 event.widget.place_forget() 192 self.posx = self.posx-1 193 event.widget.place(x=self.posx, y=self.posy)194196 event.widget.place_forget() 197 self.posy = self.posy-1 198 event.widget.place(x=self.posx, y=self.posy)199201 event.widget.place_forget() 202 self.posy = self.posy+1 203 event.widget.place(x=self.posx, y=self.posy)204206 self.x0 = event.x 207 self.y0 = event.y 208 ## print 'Origin', self.x0, self.y0 209 # self.widget.update_idletasks() 210 self.widget.grab_set()211213 ## print 'event', event.x, event.y 214 dx = event.x - self.x0 215 dy = event.y - self.y0 216 self.widget.place_forget() 217 self.posx = self.posx + dx 218 self.posy = self.posy + dy 219 gs = self.gs 220 221 222 w = self.widget.winfo_width() 223 h = self.widget.winfo_height() 224 self.widget.place(x=self.posx, y=self.posy, width = w, height = h)225 226 227 ## def moveButton(self, event): 228 ## print 'event', event.x, event.y 229 ## dx = event.x - self.x0 230 ## dy = event.y - self.y0 231 ## self.widget.place_forget() 232 ## self.posx = self.posx + dx 233 ## self.posy = self.posy + dy 234 ## gs = self.gs 235 236 ## posxg = round((self.posx/float(gs)))*gs 237 ## dx = self.posxg - posxg 238 ## self.x0 = self.x0 + dx 239 240 ## posyg = round((self.posy/float(gs)))*gs 241 ## dy = self.posyg - posyg 242 ## self.y0 = self.y0 + dy 243 244 ## w = self.widget.winfo_width() 245 ## h = self.widget.winfo_height() 246 ## self.widget.place(x=self.posxg, y=self.posyg, width = w, height = h) 247
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0alpha3 on Fri Nov 2 14:06:08 2007 | http://epydoc.sourceforge.net |