__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
"Dialog to specify or edit the parameters for a user configured help source."
import os
import sys
from Tkinter import *
import tkMessageBox
import tkFileDialog
class GetHelpSourceDialog(Toplevel):
def __init__(self, parent, title, menuItem='', filePath=''):
"""Get menu entry and url/ local file location for Additional Help
User selects a name for the Help resource and provides a web url
or a local file as its source. The user can enter a url or browse
for the file.
"""
Toplevel.__init__(self, parent)
self.configure(borderwidth=5)
self.resizable(height=FALSE, width=FALSE)
self.title(title)
self.transient(parent)
self.grab_set()
self.protocol("WM_DELETE_WINDOW", self.Cancel)
self.parent = parent
self.result = None
self.CreateWidgets()
self.menu.set(menuItem)
self.path.set(filePath)
self.withdraw() #hide while setting geometry
#needs to be done here so that the winfo_reqwidth is valid
self.update_idletasks()
#centre dialog over parent:
self.geometry("+%d+%d" %
((parent.winfo_rootx() + ((parent.winfo_width()/2)
-(self.winfo_reqwidth()/2)),
parent.winfo_rooty() + ((parent.winfo_height()/2)
-(self.winfo_reqheight()/2)))))
self.deiconify() #geometry set, unhide
self.bind('<Return>', self.Ok)
self.wait_window()
def CreateWidgets(self):
self.menu = StringVar(self)
self.path = StringVar(self)
self.fontSize = StringVar(self)
self.frameMain = Frame(self, borderwidth=2, relief=GROOVE)
self.frameMain.pack(side=TOP, expand=TRUE, fill=BOTH)
labelMenu = Label(self.frameMain, anchor=W, justify=LEFT,
text='Menu Item:')
self.entryMenu = Entry(self.frameMain, textvariable=self.menu,
width=30)
self.entryMenu.focus_set()
labelPath = Label(self.frameMain, anchor=W, justify=LEFT,
text='Help File Path: Enter URL or browse for file')
self.entryPath = Entry(self.frameMain, textvariable=self.path,
width=40)
self.entryMenu.focus_set()
labelMenu.pack(anchor=W, padx=5, pady=3)
self.entryMenu.pack(anchor=W, padx=5, pady=3)
labelPath.pack(anchor=W, padx=5, pady=3)
self.entryPath.pack(anchor=W, padx=5, pady=3)
browseButton = Button(self.frameMain, text='Browse', width=8,
command=self.browseFile)
browseButton.pack(pady=3)
frameButtons = Frame(self)
frameButtons.pack(side=BOTTOM, fill=X)
self.buttonOk = Button(frameButtons, text='OK',
width=8, default=ACTIVE, command=self.Ok)
self.buttonOk.grid(row=0, column=0, padx=5,pady=5)
self.buttonCancel = Button(frameButtons, text='Cancel',
width=8, command=self.Cancel)
self.buttonCancel.grid(row=0, column=1, padx=5, pady=5)
def browseFile(self):
filetypes = [
("HTML Files", "*.htm *.html", "TEXT"),
("PDF Files", "*.pdf", "TEXT"),
("Windows Help Files", "*.chm"),
("Text Files", "*.txt", "TEXT"),
("All Files", "*")]
path = self.path.get()
if path:
dir, base = os.path.split(path)
else:
base = None
if sys.platform[:3] == 'win':
dir = os.path.join(os.path.dirname(sys.executable), 'Doc')
if not os.path.isdir(dir):
dir = os.getcwd()
else:
dir = os.getcwd()
opendialog = tkFileDialog.Open(parent=self, filetypes=filetypes)
file = opendialog.show(initialdir=dir, initialfile=base)
if file:
self.path.set(file)
def MenuOk(self):
"Simple validity check for a sensible menu item name"
menuOk = True
menu = self.menu.get()
menu.strip()
if not menu:
tkMessageBox.showerror(title='Menu Item Error',
message='No menu item specified',
parent=self)
self.entryMenu.focus_set()
menuOk = False
elif len(menu) > 30:
tkMessageBox.showerror(title='Menu Item Error',
message='Menu item too long:'
'\nLimit 30 characters.',
parent=self)
self.entryMenu.focus_set()
menuOk = False
return menuOk
def PathOk(self):
"Simple validity check for menu file path"
pathOk = True
path = self.path.get()
path.strip()
if not path: #no path specified
tkMessageBox.showerror(title='File Path Error',
message='No help file path specified.',
parent=self)
self.entryPath.focus_set()
pathOk = False
elif path.startswith(('www.', 'http')):
pass
else:
if path[:5] == 'file:':
path = path[5:]
if not os.path.exists(path):
tkMessageBox.showerror(title='File Path Error',
message='Help file path does not exist.',
parent=self)
self.entryPath.focus_set()
pathOk = False
return pathOk
def Ok(self, event=None):
if self.MenuOk() and self.PathOk():
self.result = (self.menu.get().strip(),
self.path.get().strip())
if sys.platform == 'darwin':
path = self.result[1]
if path.startswith(('www', 'file:', 'http:')):
pass
else:
# Mac Safari insists on using the URI form for local files
self.result = list(self.result)
self.result[1] = "file://" + path
self.destroy()
def Cancel(self, event=None):
self.result = None
self.destroy()
if __name__ == '__main__':
#test the dialog
root = Tk()
def run():
keySeq = ''
dlg = GetHelpSourceDialog(root, 'Get Help Source')
print dlg.result
Button(root,text='Dialog', command=run).pack()
root.mainloop()
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Icons | Folder | 0755 |
|
|
| AutoComplete.py | File | 8.79 KB | 0644 |
|
| AutoComplete.pyc | File | 7.69 KB | 0644 |
|
| AutoComplete.pyo | File | 7.69 KB | 0644 |
|
| AutoCompleteWindow.py | File | 16.8 KB | 0644 |
|
| AutoCompleteWindow.pyc | File | 12.15 KB | 0644 |
|
| AutoCompleteWindow.pyo | File | 12.09 KB | 0644 |
|
| AutoExpand.py | File | 2.42 KB | 0644 |
|
| AutoExpand.pyc | File | 2.5 KB | 0644 |
|
| AutoExpand.pyo | File | 2.5 KB | 0644 |
|
| Bindings.py | File | 3.22 KB | 0644 |
|
| Bindings.pyc | File | 4.76 KB | 0644 |
|
| Bindings.pyo | File | 4.76 KB | 0644 |
|
| CREDITS.txt | File | 1.82 KB | 0644 |
|
| CallTipWindow.py | File | 5.98 KB | 0644 |
|
| CallTipWindow.pyc | File | 6.14 KB | 0644 |
|
| CallTipWindow.pyo | File | 6.14 KB | 0644 |
|
| CallTips.py | File | 7.75 KB | 0644 |
|
| CallTips.pyc | File | 10.14 KB | 0644 |
|
| CallTips.pyo | File | 10.14 KB | 0644 |
|
| ChangeLog | File | 55.07 KB | 0644 |
|
| ClassBrowser.py | File | 6.22 KB | 0644 |
|
| ClassBrowser.pyc | File | 8.95 KB | 0644 |
|
| ClassBrowser.pyo | File | 8.95 KB | 0644 |
|
| CodeContext.py | File | 8.15 KB | 0644 |
|
| CodeContext.pyc | File | 6.52 KB | 0644 |
|
| CodeContext.pyo | File | 6.47 KB | 0644 |
|
| ColorDelegator.py | File | 10.13 KB | 0644 |
|
| ColorDelegator.pyc | File | 8.71 KB | 0644 |
|
| ColorDelegator.pyo | File | 8.71 KB | 0644 |
|
| Debugger.py | File | 15.45 KB | 0644 |
|
| Debugger.pyc | File | 16.55 KB | 0644 |
|
| Debugger.pyo | File | 16.55 KB | 0644 |
|
| Delegator.py | File | 831 B | 0644 |
|
| Delegator.pyc | File | 1.58 KB | 0644 |
|
| Delegator.pyo | File | 1.58 KB | 0644 |
|
| EditorWindow.py | File | 63.29 KB | 0644 |
|
| EditorWindow.pyc | File | 55.13 KB | 0644 |
|
| EditorWindow.pyo | File | 55.03 KB | 0644 |
|
| FileList.py | File | 3.57 KB | 0644 |
|
| FileList.pyc | File | 3.86 KB | 0644 |
|
| FileList.pyo | File | 3.82 KB | 0644 |
|
| FormatParagraph.py | File | 5.66 KB | 0644 |
|
| FormatParagraph.pyc | File | 4.69 KB | 0644 |
|
| FormatParagraph.pyo | File | 4.69 KB | 0644 |
|
| GrepDialog.py | File | 3.96 KB | 0644 |
|
| GrepDialog.pyc | File | 4.9 KB | 0644 |
|
| GrepDialog.pyo | File | 4.9 KB | 0644 |
|
| HISTORY.txt | File | 10.08 KB | 0644 |
|
| HyperParser.py | File | 10.31 KB | 0644 |
|
| HyperParser.pyc | File | 6.49 KB | 0644 |
|
| HyperParser.pyo | File | 6.49 KB | 0644 |
|
| IOBinding.py | File | 20.69 KB | 0644 |
|
| IOBinding.pyc | File | 17.16 KB | 0644 |
|
| IOBinding.pyo | File | 17.16 KB | 0644 |
|
| IdleHistory.py | File | 3.07 KB | 0644 |
|
| IdleHistory.pyc | File | 3.13 KB | 0644 |
|
| IdleHistory.pyo | File | 3.13 KB | 0644 |
|
| MultiCall.py | File | 17.07 KB | 0644 |
|
| MultiCall.pyc | File | 15.55 KB | 0644 |
|
| MultiCall.pyo | File | 15.48 KB | 0644 |
|
| MultiStatusBar.py | File | 783 B | 0644 |
|
| MultiStatusBar.pyc | File | 1.49 KB | 0644 |
|
| MultiStatusBar.pyo | File | 1.49 KB | 0644 |
|
| NEWS.txt | File | 28.32 KB | 0644 |
|
| ObjectBrowser.py | File | 4.05 KB | 0644 |
|
| ObjectBrowser.pyc | File | 6.56 KB | 0644 |
|
| ObjectBrowser.pyo | File | 6.56 KB | 0644 |
|
| OutputWindow.py | File | 4.47 KB | 0644 |
|
| OutputWindow.pyc | File | 5.11 KB | 0644 |
|
| OutputWindow.pyo | File | 5.11 KB | 0644 |
|
| ParenMatch.py | File | 6.47 KB | 0644 |
|
| ParenMatch.pyc | File | 6.82 KB | 0644 |
|
| ParenMatch.pyo | File | 6.82 KB | 0644 |
|
| PathBrowser.py | File | 2.58 KB | 0644 |
|
| PathBrowser.pyc | File | 4.02 KB | 0644 |
|
| PathBrowser.pyo | File | 4.02 KB | 0644 |
|
| Percolator.py | File | 2.55 KB | 0644 |
|
| Percolator.pyc | File | 3.55 KB | 0644 |
|
| Percolator.pyo | File | 3.37 KB | 0644 |
|
| PyParse.py | File | 19.05 KB | 0644 |
|
| PyParse.pyc | File | 9.77 KB | 0644 |
|
| PyParse.pyo | File | 9.34 KB | 0644 |
|
| PyShell.py | File | 54.81 KB | 0644 |
|
| PyShell.pyc | File | 49.14 KB | 0644 |
|
| PyShell.pyo | File | 49.04 KB | 0644 |
|
| README.txt | File | 2.56 KB | 0644 |
|
| RemoteDebugger.py | File | 11.38 KB | 0644 |
|
| RemoteDebugger.pyc | File | 15.97 KB | 0644 |
|
| RemoteDebugger.pyo | File | 15.82 KB | 0644 |
|
| RemoteObjectBrowser.py | File | 942 B | 0644 |
|
| RemoteObjectBrowser.pyc | File | 2.1 KB | 0644 |
|
| RemoteObjectBrowser.pyo | File | 2.1 KB | 0644 |
|
| ReplaceDialog.py | File | 5.69 KB | 0644 |
|
| ReplaceDialog.pyc | File | 6.32 KB | 0644 |
|
| ReplaceDialog.pyo | File | 6.32 KB | 0644 |
|
| RstripExtension.py | File | 824 B | 0644 |
|
| RstripExtension.pyc | File | 1.45 KB | 0644 |
|
| RstripExtension.pyo | File | 1.45 KB | 0644 |
|
| ScriptBinding.py | File | 8.22 KB | 0644 |
|
| ScriptBinding.pyc | File | 7.96 KB | 0644 |
|
| ScriptBinding.pyo | File | 7.96 KB | 0644 |
|
| ScrolledList.py | File | 3.9 KB | 0644 |
|
| ScrolledList.pyc | File | 6.03 KB | 0644 |
|
| ScrolledList.pyo | File | 6.03 KB | 0644 |
|
| SearchDialog.py | File | 1.99 KB | 0644 |
|
| SearchDialog.pyc | File | 2.93 KB | 0644 |
|
| SearchDialog.pyo | File | 2.93 KB | 0644 |
|
| SearchDialogBase.py | File | 4.28 KB | 0644 |
|
| SearchDialogBase.pyc | File | 5.37 KB | 0644 |
|
| SearchDialogBase.pyo | File | 5.37 KB | 0644 |
|
| SearchEngine.py | File | 6.57 KB | 0644 |
|
| SearchEngine.pyc | File | 7.02 KB | 0644 |
|
| SearchEngine.pyo | File | 7.02 KB | 0644 |
|
| StackViewer.py | File | 3.77 KB | 0644 |
|
| StackViewer.pyc | File | 5.79 KB | 0644 |
|
| StackViewer.pyo | File | 5.79 KB | 0644 |
|
| TODO.txt | File | 8.28 KB | 0644 |
|
| ToolTip.py | File | 2.67 KB | 0644 |
|
| ToolTip.pyc | File | 4.05 KB | 0644 |
|
| ToolTip.pyo | File | 4.05 KB | 0644 |
|
| TreeWidget.py | File | 14.87 KB | 0644 |
|
| TreeWidget.pyc | File | 17.48 KB | 0644 |
|
| TreeWidget.pyo | File | 17.48 KB | 0644 |
|
| UndoDelegator.py | File | 10.04 KB | 0644 |
|
| UndoDelegator.pyc | File | 12.27 KB | 0644 |
|
| UndoDelegator.pyo | File | 12.27 KB | 0644 |
|
| WidgetRedirector.py | File | 4.37 KB | 0644 |
|
| WidgetRedirector.pyc | File | 5.23 KB | 0644 |
|
| WidgetRedirector.pyo | File | 5.23 KB | 0644 |
|
| WindowList.py | File | 2.42 KB | 0644 |
|
| WindowList.pyc | File | 3.55 KB | 0644 |
|
| WindowList.pyo | File | 3.55 KB | 0644 |
|
| ZoomHeight.py | File | 1.28 KB | 0644 |
|
| ZoomHeight.pyc | File | 1.61 KB | 0644 |
|
| ZoomHeight.pyo | File | 1.61 KB | 0644 |
|
| __init__.py | File | 37 B | 0644 |
|
| __init__.pyc | File | 127 B | 0644 |
|
| __init__.pyo | File | 127 B | 0644 |
|
| aboutDialog.py | File | 6.42 KB | 0644 |
|
| aboutDialog.pyc | File | 6.63 KB | 0644 |
|
| aboutDialog.pyo | File | 6.63 KB | 0644 |
|
| config-extensions.def | File | 2.72 KB | 0644 |
|
| config-highlight.def | File | 1.7 KB | 0644 |
|
| config-keys.def | File | 7.35 KB | 0644 |
|
| config-main.def | File | 2.45 KB | 0644 |
|
| configDialog.py | File | 52.23 KB | 0644 |
|
| configDialog.pyc | File | 43.81 KB | 0644 |
|
| configDialog.pyo | File | 43.81 KB | 0644 |
|
| configHandler.py | File | 28.68 KB | 0644 |
|
| configHandler.pyc | File | 26.83 KB | 0644 |
|
| configHandler.pyo | File | 26.83 KB | 0644 |
|
| configHelpSourceEdit.py | File | 6.52 KB | 0644 |
|
| configHelpSourceEdit.pyc | File | 6.56 KB | 0644 |
|
| configHelpSourceEdit.pyo | File | 6.56 KB | 0644 |
|
| configSectionNameDialog.py | File | 3.63 KB | 0644 |
|
| configSectionNameDialog.pyc | File | 4.21 KB | 0644 |
|
| configSectionNameDialog.pyo | File | 4.21 KB | 0644 |
|
| dynOptionMenuWidget.py | File | 1.27 KB | 0644 |
|
| dynOptionMenuWidget.pyc | File | 1.66 KB | 0644 |
|
| dynOptionMenuWidget.pyo | File | 1.66 KB | 0644 |
|
| extend.txt | File | 3.56 KB | 0644 |
|
| help.txt | File | 11.72 KB | 0644 |
|
| idle.py | File | 400 B | 0644 |
|
| idle.pyc | File | 406 B | 0644 |
|
| idle.pyo | File | 406 B | 0644 |
|
| idle.pyw | File | 664 B | 0644 |
|
| idlever.py | File | 23 B | 0644 |
|
| idlever.pyc | File | 159 B | 0644 |
|
| idlever.pyo | File | 159 B | 0644 |
|
| keybindingDialog.py | File | 12.12 KB | 0644 |
|
| keybindingDialog.pyc | File | 12.05 KB | 0644 |
|
| keybindingDialog.pyo | File | 12.05 KB | 0644 |
|
| macosxSupport.py | File | 6.08 KB | 0644 |
|
| macosxSupport.pyc | File | 6.25 KB | 0644 |
|
| macosxSupport.pyo | File | 6.25 KB | 0644 |
|
| rpc.py | File | 19.75 KB | 0644 |
|
| rpc.pyc | File | 21.26 KB | 0644 |
|
| rpc.pyo | File | 21.16 KB | 0644 |
|
| run.py | File | 11.54 KB | 0644 |
|
| run.pyc | File | 12.14 KB | 0644 |
|
| run.pyo | File | 12.08 KB | 0644 |
|
| tabbedpages.py | File | 17.76 KB | 0644 |
|
| tabbedpages.pyc | File | 17.67 KB | 0644 |
|
| tabbedpages.pyo | File | 17.67 KB | 0644 |
|
| textView.py | File | 3.46 KB | 0644 |
|
| textView.pyc | File | 4.2 KB | 0644 |
|
| textView.pyo | File | 4.2 KB | 0644 |
|