Archived
Modify:
Restruct ui code
This commit is contained in:
1 parent
b28dd3e28d
commit
d4db845cb3
7 files changed
+2000
No files matched your search
@@ -0,0 +1,243 @@
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#-----------------------------------------------------------------#
|
||||
|
||||
### Std
|
||||
from tkinter import ttk
|
||||
from PIL import ImageTk
|
||||
from base64 import b64decode
|
||||
|
||||
import tkinter as tk
|
||||
|
||||
|
||||
class EXECUDUI:
|
||||
def __init__(self, hwndparent, cfg_get, func):
|
||||
# init
|
||||
# -------------------------------------------------------------------------------
|
||||
self.func = func
|
||||
self.cfg_get = cfg_get
|
||||
self.hwndparent = hwndparent
|
||||
|
||||
self.exehwnd = None
|
||||
self.ObsSelectBoxVar = tk.StringVar()
|
||||
self.NavSelectBoxVar = tk.StringVar()
|
||||
self.AskOrNotCheckButtonVar = tk.IntVar()
|
||||
self.DirectorySelectBoxVar = tk.StringVar()
|
||||
|
||||
self.initGUI()
|
||||
|
||||
def initGUI(self):
|
||||
# -------------------------------------------------------------------------------
|
||||
# >
|
||||
# Method:
|
||||
# Brief :
|
||||
# Author: @KenanZhu All Right Reserved.
|
||||
# -------------------------------------------------------------------------------
|
||||
self.exehwnd = tk.Toplevel(self.hwndparent)
|
||||
self.exehwnd.title("RINEX Processor")
|
||||
self.exehwnd.resizable(0,0)
|
||||
self.func.Move_center(self.exehwnd,550,180)
|
||||
self.exehwnd.minsize(550,180)
|
||||
self.exehwnd.maxsize(550,180)
|
||||
|
||||
### Set icon
|
||||
icon_ico = (b'AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAADjsAAA47AAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAEAAAAAQ'
|
||||
b'AAAAAAAAAAAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
b'QAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAADQAAAA0AAAABAAAA'
|
||||
b'AAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAA'
|
||||
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAzAAAAlgAAANQAAADwAAAA8AAAANQAAACWAAAAMwAAAAAAAAADAA'
|
||||
b'AAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAgAAAARAAAAEAAAABAAAAAPAAAAAQAAAAAAAAAAA'
|
||||
b'AAAAQAAAAAAAAAIAAAAlwAAAP4AAAD/AAAA/wAAAPcAAAD3AAAA/wAAAP8AAAD+AAAAlwAAAAgAAAAAAAAAAQAAAAAAAAAA'
|
||||
b'AAAAAAAAAAAAAAAAAAAAAgAAAAAAAABRAAAA5gAAAPIAAADwAAAA9gAAAOIAAAAQAAAAAAAAAAIAAAAAAAAACAAAALsAAAD'
|
||||
b'/AAAA8gAAAIsAAAAyAAAAFAAAABQAAAAyAAAAiwAAAPIAAAD/AAAAuwAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAA'
|
||||
b'AAAAAABgAAANwAAAD/AAAA8QAAAPEAAAD2AAAA4gAAABAAAAAAAAAABAAAAAAAAACWAAAA/wAAAN0AAAAuAAAAAAAAAAIAA'
|
||||
b'AAAAAAAAAAAAAIAAAAAAAAALgAAAN0AAAD/AAAAlgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAARAAAA8AAAAPEA'
|
||||
b'AAAfAAAADAAAABIAAAAPAAAAAQAAAAIAAAAAAAAANgAAAP8AAAD2AAAAMwAAAAAAAAAHAAAAAgAAAAAAAAAFAAAABAAAAAY'
|
||||
b'AAAAAAAAAMwAAAPYAAAD/AAAANgAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAABAAAADxAAAA8gAAABAAAAAAAAAAAQAAAA'
|
||||
b'AAAAAAAAAABAAAAAAAAACSAAAA/wAAAIoAAAAAAAAAAAAAABUAAACiAAAAJwAAAAAAAAADAAAAAwAAAAYAAAAAAAAAigAAA'
|
||||
b'P8AAACSAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAEAAAAPIAAADyAAAAEQAAAAAAAAACAAAAAQAAAAEAAAAAAAAAAAAA'
|
||||
b'ANAAAAD/AAAANwAAAAAAAAAAAAAAEQAAAO8AAAD7AAAAfgAAAAgAAAAAAAAAAwAAAAAAAAA3AAAA/wAAANAAAAAAAAAAAAA'
|
||||
b'AAAAAAAAAAAAAAQAAAAAAAAAQAAAA8gAAAPIAAAAQAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAOAAAA7QAAAPcAAAAWAAAAAA'
|
||||
b'AAAAAAAAARAAAA6gAAAP8AAAD/AAAA5gAAAFYAAAAAAAAAAAAAABYAAAD3AAAA7QAAAA0AAAAAAAAAAQAAAAAAAAABAAAAA'
|
||||
b'AAAABAAAADyAAAA8gAAABAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAA4AAADtAAAA9gAAABYAAAAAAAAAAAAAABEAAADqAAAA'
|
||||
b'/wAAAP8AAADmAAAAVgAAAAAAAAAAAAAAFgAAAPcAAADtAAAADQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAEAAAAPIAAADyAAA'
|
||||
b'AEAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAANAAAAD/AAAANgAAAAAAAAAAAAAAEQAAAO8AAAD7AAAAfgAAAAgAAAAAAA'
|
||||
b'AAAwAAAAAAAAA3AAAA/wAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAQAAAA8gAAAPIAAAAQAAAAAAAAAAEAAAAAA'
|
||||
b'AAAAAAAAAQAAAAAAAAAkgAAAP8AAACJAAAAAAAAAAAAAAAVAAAAogAAACcAAAAAAAAAAwAAAAMAAAAGAAAAAAAAAIoAAAD/'
|
||||
b'AAAAkwAAAAAAAAAEAAAAAAAAAAAAAAABAAAAAAAAABAAAADyAAAA8gAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAA'
|
||||
b'2AAAA/wAAAPUAAAAyAAAAAAAAAAcAAAACAAAAAAAAAAUAAAAEAAAABgAAAAAAAAAyAAAA9gAAAP8AAAA2AAAAAAAAAAIAAA'
|
||||
b'AAAAAAAAAAAAEAAAAAAAAAEAAAAPIAAADyAAAAEAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAACWAAAA/wAAANwAA'
|
||||
b'AAuAAAAAAAAAAIAAAAAAAAAAAAAAAIAAAAAAAAALgAAAN0AAAD/AAAAlgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAQAAAAAA'
|
||||
b'AAAQAAAA8gAAAPIAAAAQAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAgAAAC7AAAA/wAAAPEAAACKAAAAMgAAABQ'
|
||||
b'AAAAUAAAAMgAAAIoAAADyAAAA/wAAALsAAAAIAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAABAAAADyAAAA8gAAAB'
|
||||
b'AAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAgAAACXAAAA/wAAAP8AAAD/AAAA9gAAAPcAAAD/AAAA/wAAA'
|
||||
b'P8AAACXAAAACAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEAAAAPIAAADyAAAAEQAAAAAAAAACAAAAAQAA'
|
||||
b'AAEAAAABAAAAAQAAAAEAAAACAAAAAwAAAAAAAAA0AAAAlgAAANUAAADwAAAA8AAAANUAAACXAAAANAAAAAAAAAADAAAAAgA'
|
||||
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAQAAAA8gAAAPIAAAAQAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
b'AAAAAAAAAABAAAAAAAAABAAAADyAAAA8wAAAB8AAAAMAAAAEQAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAA'
|
||||
b'EwAAABQAAAAQAAAADAAAAAwAAAAQAAAAFAAAABMAAAAQAAAAEgAAABAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAA'
|
||||
b'AEQAAAO4AAAD/AAAA8gAAAPIAAADyAAAA8gAAAPIAAADyAAAA8gAAAPIAAADyAAAA8gAAAPIAAADyAAAA8gAAAPMAAADzAA'
|
||||
b'AA8wAAAPMAAADyAAAA8gAAAPEAAADyAAAA3QAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAARAAAA7gAAAP8AAADyA'
|
||||
b'AAA8gAAAPIAAADyAAAA8gAAAPIAAADyAAAA8gAAAPIAAADyAAAA8gAAAPIAAADyAAAA8gAAAPIAAADyAAAA8gAAAPIAAADy'
|
||||
b'AAAA8gAAAP8AAADuAAAAEQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAABAAAADyAAAA8wAAAB8AAAAMAAAAEQAAABAAAAA'
|
||||
b'QAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEQAAAAwAAAAfAAAA8gAAAPEAAA'
|
||||
b'AQAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAEAAAAPIAAADyAAAAEAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAABAAAADyAAAA8gAAABAAAAAAAAAAAQAAAAAA'
|
||||
b'AAAAAAAAAQAAAAAAAAAQAAAA8QAAAPIAAAAQAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEAAAAPIAAADxAAAAEAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAB'
|
||||
b'EAAADwAAAA8QAAAB8AAAAMAAAAEQAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAA'
|
||||
b'BAAAAAQAAAAEQAAAAwAAAAfAAAA8QAAAPAAAAARAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAABgAAANwAAAD/AAAA8QAA'
|
||||
b'APIAAADyAAAA8gAAAPIAAADyAAAA8gAAAPIAAADyAAAA8gAAAPIAAADyAAAA8gAAAPIAAADyAAAA8gAAAPIAAADyAAAA8gA'
|
||||
b'AAPEAAAD/AAAA3AAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAUgAAAOYAAADyAAAA8gAAAPIAAADyAAAA8g'
|
||||
b'AAAPIAAADyAAAA8gAAAPIAAADyAAAA8gAAAPIAAADyAAAA8gAAAPIAAADyAAAA8gAAAPIAAADyAAAA8gAAAOYAAABSAAAAA'
|
||||
b'AAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAACAAAABEAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAA'
|
||||
b'EAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAARAAAACAAAAAAAAAABAAAAAAAAAAAAAAAAAAA'
|
||||
b'AAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
b'AAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAB'
|
||||
b'AAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
||||
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//2Mb+gSYZfS9IBLqBgABZAUAAmgFCEIoAhIhKFIhEShGMFGoVDAwqFQwMKhW'
|
||||
b'MFGoUiERKFISIShZCEIoWQACaFoABWhAIBJoX+hf6AAAAWgAAAFoAAABaAAAAWhf/6FoX/+haAAAAWgAAAFkAAACagAABXS'
|
||||
b'//9L6AAAF/////8=')
|
||||
icon_ico = b64decode(icon_ico)
|
||||
icon_ico = ImageTk.PhotoImage(data=icon_ico)
|
||||
self.exehwnd.tk.call('wm', 'iconphoto', self.exehwnd._w, icon_ico)
|
||||
|
||||
self.initIO()
|
||||
|
||||
def initIO(self):
|
||||
# -------------------------------------------------------------------------------
|
||||
# >
|
||||
# Method:
|
||||
# Brief :
|
||||
# Author: @KenanZhu All Right Reserved.
|
||||
# -------------------------------------------------------------------------------
|
||||
MainFrame = tk.Frame(self.exehwnd)
|
||||
MainFrame.pack()
|
||||
InputFrame = ttk.Frame(MainFrame)
|
||||
InputFrame.pack(side=tk.TOP, expand=tk.YES, padx='1px', pady='1px', fill=tk.X)
|
||||
|
||||
# Input Frame
|
||||
# -------------------------------------------------------------------------------
|
||||
### Observation file
|
||||
ObsInFrame = ttk.LabelFrame(InputFrame, text='RINEX Obs File')
|
||||
ObsInFrame.pack(side=tk.TOP, expand=tk.YES, padx='1px', pady='0px', fill=tk.X)
|
||||
ObsFileSelectBox = ttk.Combobox(
|
||||
ObsInFrame,
|
||||
width=70,
|
||||
height=4,
|
||||
values=self.func.obsvar,
|
||||
textvariable=self.ObsSelectBoxVar
|
||||
)
|
||||
ObsFileSelectBox.current(len(ObsFileSelectBox['value'])-1)
|
||||
ObsFileSelectBox.pack(side=tk.LEFT, anchor='w', padx='0px', pady='0px')
|
||||
ObsFileSelectButton = ttk.Button(
|
||||
ObsInFrame,
|
||||
text='...',
|
||||
width=3,
|
||||
command=lambda :self.func.GetObsFilePath(self.exehwnd, ObsFileSelectBox)
|
||||
)
|
||||
ObsFileSelectButton.pack(side=tk.RIGHT, anchor='e', padx='1px', pady='0px')
|
||||
### Navigation file
|
||||
NavInFrame = ttk.LabelFrame(InputFrame, text='RINEX Nav File')
|
||||
NavInFrame.pack(side=tk.TOP, expand=tk.YES, padx='1px', pady='0px', fill=tk.X)
|
||||
NavFileSelectBox = ttk.Combobox(
|
||||
NavInFrame,
|
||||
width=70,
|
||||
height=4,
|
||||
values=self.func.navvar,
|
||||
textvariable=self.NavSelectBoxVar
|
||||
)
|
||||
NavFileSelectBox.current(len(NavFileSelectBox['value'])-1)
|
||||
NavFileSelectBox.pack(side=tk.LEFT, anchor='w', padx='0px', pady='0px')
|
||||
NavFileSelectButton = ttk.Button(
|
||||
NavInFrame,
|
||||
text='...',
|
||||
width=3,
|
||||
command=lambda :self.func.GetNavFilePath(self.exehwnd, NavFileSelectBox)
|
||||
)
|
||||
NavFileSelectButton.pack(side=tk.RIGHT, anchor='e', padx='1px', pady='0px')
|
||||
|
||||
# Output Frame
|
||||
# -------------------------------------------------------------------------------
|
||||
OutputFrame = ttk.Frame(MainFrame)
|
||||
OutputFrame.pack(side=tk.BOTTOM, expand=tk.YES, padx='1px', pady='0px', fill=tk.X)
|
||||
|
||||
FileOutFrame = ttk.LabelFrame(OutputFrame, text='Output Directory')
|
||||
FileOutFrame.pack(side=tk.TOP, expand=tk.YES, padx='1px', pady='0px', fill=tk.X)
|
||||
## CheckButton Initialize
|
||||
AskOrNotCheckButton = ttk.Checkbutton(
|
||||
FileOutFrame,
|
||||
text='Directory',
|
||||
variable=self.AskOrNotCheckButtonVar,
|
||||
onvalue=1,
|
||||
offvalue=0,
|
||||
command=lambda :self.func.AskOrNotCheck(
|
||||
self.AskOrNotCheckButtonVar,
|
||||
AskDirectorySelectBox,
|
||||
AskDirectorySelectButton
|
||||
)
|
||||
)
|
||||
AskOrNotCheckButton.pack(side=tk.LEFT, anchor='w', padx='0px', pady='0px')
|
||||
AskDirectorySelectBox = ttk.Combobox(
|
||||
FileOutFrame,
|
||||
width=60,
|
||||
height=4,
|
||||
values=self.func.outvar,
|
||||
state=tk.DISABLED,
|
||||
textvariable=self.DirectorySelectBoxVar
|
||||
)
|
||||
AskDirectorySelectBox.current(len(AskDirectorySelectBox['value'])-1)
|
||||
AskDirectorySelectBox.pack(side=tk.LEFT, anchor='w', padx='0px', pady='0px')
|
||||
AskDirectorySelectButton = ttk.Button(
|
||||
FileOutFrame,
|
||||
text='...',
|
||||
width=3,
|
||||
state=tk.DISABLED,
|
||||
command=lambda :self.func.AskDirectory(self.exehwnd, AskDirectorySelectBox)
|
||||
)
|
||||
AskDirectorySelectButton.pack(side=tk.RIGHT, anchor='e', padx='1px', pady='0px')
|
||||
|
||||
# Execute frame
|
||||
# -------------------------------------------------------------------------------
|
||||
ExeFrame = ttk.Frame(OutputFrame)
|
||||
ExeFrame.pack(side=tk.TOP, expand=tk.YES, padx='1px', pady='0px', fill=tk.X)
|
||||
|
||||
ExitButton = ttk.Button(
|
||||
ExeFrame,
|
||||
text='Exit',
|
||||
width=10,
|
||||
command=self.exehwnd.destroy
|
||||
)
|
||||
ExitButton.pack(side=tk.LEFT, expand=tk.YES, padx='1px', pady='0px')
|
||||
|
||||
ExecuteButton = ttk.Button(
|
||||
ExeFrame,
|
||||
text='Execute',
|
||||
width=10,
|
||||
command=lambda :self.func._ExecuteFile(
|
||||
ExecuteState,
|
||||
self.ObsSelectBoxVar,
|
||||
self.NavSelectBoxVar,
|
||||
self.AskOrNotCheckButtonVar,
|
||||
self.DirectorySelectBoxVar
|
||||
)
|
||||
)
|
||||
ExecuteButton.pack(side=tk.LEFT, expand=tk.YES, padx='1px', pady='0px')
|
||||
|
||||
# State bar
|
||||
# -------------------------------------------------------------------------------
|
||||
StateFrame = ttk.Frame(OutputFrame)
|
||||
StateFrame.pack(side=tk.TOP, fill=tk.X, padx='1px', pady='0px')
|
||||
ExecuteState = ttk.Label(StateFrame, text="None")
|
||||
ExecuteState.pack(side=tk.LEFT, anchor='nw')
|
||||
Reference in new issue
Block a user