27
27
from lib .core .settings import SITE
28
28
from lib .core .settings import VERSION_STRING
29
29
from lib .core .settings import WIKI_PAGE
30
- from thirdparty .six .moves import tkinter_messagebox as _tkinter_messagebox
31
30
from thirdparty .six .moves import queue as _queue
32
31
33
32
line = ""
36
35
37
36
def runGui (parser ):
38
37
try :
39
- import tkinter
40
- import tkinter .scrolledtext
41
- import tkinter .ttk
38
+ from thirdparty .six .moves import tkinter as _tkinter
39
+ from thirdparty .six .moves import tkinter_scrolledtext as _tkinter_scrolledtext
40
+ from thirdparty .six .moves import tkinter_ttk as _tkinter_ttk
41
+ from thirdparty .six .moves import tkinter_messagebox as _tkinter_messagebox
42
42
except ImportError as ex :
43
43
raise SqlmapMissingDependence ("missing dependence ('%s')" % getSafeExString (ex ))
44
44
45
45
# Reference: https://www.reddit.com/r/learnpython/comments/985umy/limit_user_input_to_only_int_with_tkinter/e4dj9k9?utm_source=share&utm_medium=web2x
46
- class ConstrainedEntry (tkinter .Entry ):
46
+ class ConstrainedEntry (_tkinter .Entry ):
47
47
def __init__ (self , master = None , ** kwargs ):
48
- self .var = tkinter .StringVar ()
48
+ self .var = _tkinter .StringVar ()
49
49
self .regex = kwargs ["regex" ]
50
50
del kwargs ["regex" ]
51
- tkinter .Entry .__init__ (self , master , textvariable = self .var , ** kwargs )
51
+ _tkinter .Entry .__init__ (self , master , textvariable = self .var , ** kwargs )
52
52
self .old_value = ''
53
53
self .var .trace ('w' , self .check )
54
54
self .get , self .set = self .var .get , self .var .set
@@ -60,9 +60,9 @@ def check(self, *args):
60
60
self .set (self .old_value )
61
61
62
62
# Reference: https://code.activestate.com/recipes/580726-tkinter-notebook-that-fits-to-the-height-of-every-/
63
- class AutoresizableNotebook (tkinter . ttk .Notebook ):
63
+ class AutoresizableNotebook (_tkinter_ttk .Notebook ):
64
64
def __init__ (self , master = None , ** kw ):
65
- tkinter . ttk .Notebook .__init__ (self , master , ** kw )
65
+ _tkinter_ttk .Notebook .__init__ (self , master , ** kw )
66
66
self .bind ("<<NotebookTabChanged>>" , self ._on_tab_changed )
67
67
68
68
def _on_tab_changed (self ,event ):
@@ -71,11 +71,11 @@ def _on_tab_changed(self,event):
71
71
tab = event .widget .nametowidget (event .widget .select ())
72
72
event .widget .configure (height = tab .winfo_reqheight ())
73
73
74
- window = tkinter .Tk ()
74
+ window = _tkinter .Tk ()
75
75
window .title (VERSION_STRING )
76
76
77
77
# Reference: https://www.holadevs.com/pregunta/64750/change-selected-tab-color-in-ttknotebook
78
- style = tkinter . ttk .Style ()
78
+ style = _tkinter_ttk .Style ()
79
79
settings = {"TNotebook.Tab" : {"configure" : {"padding" : [5 , 1 ], "background" : "#fdd57e" }, "map" : {"background" : [("selected" , "#C70039" ), ("active" , "#fc9292" )], "foreground" : [("selected" , "#ffffff" ), ("active" , "#000000" )]}}}
80
80
style .theme_create ("custom" , parent = "alt" , settings = settings )
81
81
style .theme_use ("custom" )
@@ -119,7 +119,7 @@ def onReturnPress(event):
119
119
except :
120
120
return
121
121
122
- event .widget .insert (tkinter .END , "\n " )
122
+ event .widget .insert (_tkinter .END , "\n " )
123
123
124
124
return "break"
125
125
@@ -174,11 +174,11 @@ def enqueue(stream, queue):
174
174
thread .daemon = True
175
175
thread .start ()
176
176
177
- top = tkinter .Toplevel ()
177
+ top = _tkinter .Toplevel ()
178
178
top .title ("Console" )
179
179
180
180
# Reference: https://stackoverflow.com/a/13833338
181
- text = tkinter . scrolledtext .ScrolledText (top , undo = True )
181
+ text = _tkinter_scrolledtext .ScrolledText (top , undo = True )
182
182
text .bind ("<Key>" , onKeyPress )
183
183
text .bind ("<Return>" , onReturnPress )
184
184
text .pack ()
@@ -191,23 +191,23 @@ def enqueue(stream, queue):
191
191
try :
192
192
#line = queue.get_nowait()
193
193
line = queue .get (timeout = .1 )
194
- text .insert (tkinter .END , line )
194
+ text .insert (_tkinter .END , line )
195
195
except _queue .Empty :
196
- text .see (tkinter .END )
196
+ text .see (_tkinter .END )
197
197
text .update_idletasks ()
198
198
199
- menubar = tkinter .Menu (window )
199
+ menubar = _tkinter .Menu (window )
200
200
201
- filemenu = tkinter .Menu (menubar , tearoff = 0 )
202
- filemenu .add_command (label = "Open" , state = tkinter .DISABLED )
203
- filemenu .add_command (label = "Save" , state = tkinter .DISABLED )
201
+ filemenu = _tkinter .Menu (menubar , tearoff = 0 )
202
+ filemenu .add_command (label = "Open" , state = _tkinter .DISABLED )
203
+ filemenu .add_command (label = "Save" , state = _tkinter .DISABLED )
204
204
filemenu .add_separator ()
205
205
filemenu .add_command (label = "Exit" , command = window .quit )
206
206
menubar .add_cascade (label = "File" , menu = filemenu )
207
207
208
208
menubar .add_command (label = "Run" , command = run )
209
209
210
- helpmenu = tkinter .Menu (menubar , tearoff = 0 )
210
+ helpmenu = _tkinter .Menu (menubar , tearoff = 0 )
211
211
helpmenu .add_command (label = "Official site" , command = lambda : webbrowser .open (SITE ))
212
212
helpmenu .add_command (label = "Github pages" , command = lambda : webbrowser .open (GIT_PAGE ))
213
213
helpmenu .add_command (label = "Wiki pages" , command = lambda : webbrowser .open (WIKI_PAGE ))
@@ -225,33 +225,33 @@ def enqueue(stream, queue):
225
225
frames = {}
226
226
227
227
for group in parser .option_groups :
228
- frame = frames [group .title ] = tkinter .Frame (notebook , width = 200 , height = 200 )
228
+ frame = frames [group .title ] = _tkinter .Frame (notebook , width = 200 , height = 200 )
229
229
notebook .add (frames [group .title ], text = group .title )
230
230
231
- tkinter .Label (frame ).grid (column = 0 , row = 0 , sticky = tkinter .W )
231
+ _tkinter .Label (frame ).grid (column = 0 , row = 0 , sticky = _tkinter .W )
232
232
233
233
row = 1
234
234
if group .get_description ():
235
- tkinter .Label (frame , text = "%s:" % group .get_description ()).grid (column = 0 , row = 1 , columnspan = 3 , sticky = tkinter .W )
236
- tkinter .Label (frame ).grid (column = 0 , row = 2 , sticky = tkinter .W )
235
+ _tkinter .Label (frame , text = "%s:" % group .get_description ()).grid (column = 0 , row = 1 , columnspan = 3 , sticky = _tkinter .W )
236
+ _tkinter .Label (frame ).grid (column = 0 , row = 2 , sticky = _tkinter .W )
237
237
row += 2
238
238
239
239
for option in group .option_list :
240
- tkinter .Label (frame , text = "%s " % parser .formatter ._format_option_strings (option )).grid (column = 0 , row = row , sticky = tkinter .W )
240
+ _tkinter .Label (frame , text = "%s " % parser .formatter ._format_option_strings (option )).grid (column = 0 , row = row , sticky = _tkinter .W )
241
241
242
242
if option .type == "string" :
243
- widget = tkinter .Entry (frame )
243
+ widget = _tkinter .Entry (frame )
244
244
elif option .type == "float" :
245
245
widget = ConstrainedEntry (frame , regex = r"\A\d*\.?\d*\Z" )
246
246
elif option .type == "int" :
247
247
widget = ConstrainedEntry (frame , regex = r"\A\d*\Z" )
248
248
else :
249
- var = tkinter .IntVar ()
250
- widget = tkinter .Checkbutton (frame , variable = var )
249
+ var = _tkinter .IntVar ()
250
+ widget = _tkinter .Checkbutton (frame , variable = var )
251
251
widget .var = var
252
252
253
253
first = first or widget
254
- widget .grid (column = 1 , row = row , sticky = tkinter .W )
254
+ widget .grid (column = 1 , row = row , sticky = _tkinter .W )
255
255
256
256
window ._widgets [(option .dest , option .type )] = widget
257
257
@@ -260,11 +260,11 @@ def enqueue(stream, queue):
260
260
if hasattr (widget , "insert" ):
261
261
widget .insert (0 , default )
262
262
263
- tkinter .Label (frame , text = " %s" % option .help ).grid (column = 2 , row = row , sticky = tkinter .W )
263
+ _tkinter .Label (frame , text = " %s" % option .help ).grid (column = 2 , row = row , sticky = _tkinter .W )
264
264
265
265
row += 1
266
266
267
- tkinter .Label (frame ).grid (column = 0 , row = row , sticky = tkinter .W )
267
+ _tkinter .Label (frame ).grid (column = 0 , row = row , sticky = _tkinter .W )
268
268
269
269
notebook .pack (expand = 1 , fill = "both" )
270
270
notebook .enable_traversal ()
0 commit comments