def Open(self, e):
openFileDialog = wx.FileDialog(
self,
"Open Log file",
"",
"",
"log files (*.mi2log) |*.mi2log| All files |*.*",
wx.FD_OPEN | wx.FD_FILE_MUST_EXIST | wx.FD_MULTIPLE)
if (openFileDialog.ShowModal() == wx.ID_OK):
# print 'Selected %s' %openFileDialog.GetPath()
print 'Selected %s' % openFileDialog.Paths
try:
self.grid.ClearGrid()
# thread.start_new_thread(openFile,(openFileDialog.GetPath(),))
# t = Thread(target = self.openFile, args=(openFileDialog.GetPath(),self.selectedTypes))
t = Thread(
target=self.openFile,
args=(
openFileDialog.Paths,
self.selectedTypes))
self.progressDialog = ProgressDialog(self)
t.start()
self.progressDialog.ShowModal()
if len(openFileDialog.Paths) == 1:
self.SetTitle(openFileDialog.GetPath())
else:
self.SetTitle(
"Multiple files in " +
openFileDialog.Directory)
except e:
print "Error while opening file.", e
# if (random() > 0.5):
# self.SetupGrid(self.data1)
# else:
# self.SetupGrid(self.data2)
python类ID_OK的实例源码
def __init__(self, *args, **kwds):
# begin wxGlade: Dialogo_acceso_vcenter.__init__
kwds["style"] = wx.DEFAULT_DIALOG_STYLE | wx.MAXIMIZE_BOX
wx.Dialog.__init__(self, *args, **kwds)
self.label_7 = wx.StaticText(self, wx.ID_ANY, "Vcenter / esxi:")
self.nombre_vcenter = wx.TextCtrl(self, wx.ID_ANY, "")
self.label_9 = wx.StaticText(self, wx.ID_ANY, "Login:")
self.login_vcenter = wx.TextCtrl(self, wx.ID_ANY, "")
self.label_10 = wx.StaticText(self, wx.ID_ANY, "Password:")
self.passwor_vcenter = wx.TextCtrl(self, wx.ID_ANY, "", style=wx.TE_PASSWORD)
self.label_8 = wx.StaticText(self, wx.ID_ANY, "Puerto:")
self.puert_vcenter = wx.TextCtrl(self, wx.ID_ANY, "")
self.button_Exit = wx.Button(self, wx.ID_CANCEL, "Exit")
self.button_Connect = wx.Button(self, wx.ID_OK, "Conectar")
self.__set_properties()
self.__do_layout()
# end wxGlade
def buildDialog(filePath, resourceName, mayCancel, **defaults):
"""Return a configured wx.Dialog.
Assumes that the OK and Cancel buttons are named ID_OK & ID_CANCEL.
"""
res = loadXrc(filePath)
insureWxApp()
dlg = res.LoadDialog(None, resourceName)
assert isinstance(dlg, wx.Dialog)
dlg.Fit()
fetchWidget = dlg.FindWindowByName
bOk = dlg.FindWindowByName('ID_OK')
bCancel = dlg.FindWindowByName('ID_CANCEL')
bOk.SetId(wx.ID_OK)
bCancel.SetId(wx.ID_CANCEL)
if not mayCancel:
bCancel.Disable()
bCancel.Hide()
for name, value in defaults.items():
dlg.FindWindowByName(name).SetValue(value)
if not mayCancel:
dlg.Bind(wx.EVT_CHAR_HOOK, escapeSuppressor)
return dlg
def OnSetMeta(self, ev=None):
"""
set user meta on selected groups + items
"""
tree = self.treeCtrlItems
itemsL, groupsL = self._getSelections()
namesL = itemsL + groupsL
if namesL:
namesS = ',\n '.join(namesL)
msg = 'User meta data string for:\n %s' % namesS
dlg = wx.TextEntryDialog(self, msg, 'Enter meta data')
dlg.CentreOnParent()
if dlg.ShowModal() == wx.ID_OK:
meta=dlg.GetValue()
for name in namesL:
self.nsc_set_meta(name,meta)
def OnQuit(self,event,dbfile):
if _plat.startswith('linux'):
dlg = wx.MessageDialog(self, 'Really quit?','', wx.OK | wx.CANCEL | wx.ICON_ERROR)
val = dlg.ShowModal()
dlg.Show()
if val == wx.ID_CANCEL:
dlg.Destroy()
elif val == wx.ID_OK:
OKQuit = self.DBQuit(dbfile)
if OKQuit == 42:
self.Close()
elif _plat.startswith('darwin'):
pass
elif _plat.startswith('win'):
OKQuit = self.DBQuit(dbfile)
if OKQuit == 42:
self.Close()
sys.exit()#windows
self.Refresh()
def OnPopupNew(self, event):
p = PhonebookEditEntry(self, '', '', 1, self.nameLength)
if p.ShowModal() == wx.ID_OK:
name, number = p.getValues()
pos = self.findFreePosition()
if pos:
try:
self.SIM.gotoFile(LND_FILE_PATH)
if not self.SIM.checkAndVerifyCHV1(CHV_UPDATE):
raise "Access conditions not met."
if self.writePhonebookEntry(pos, name, number) == wx.ID_YES:
self.itemDataMap[pos] = (name, number)
self.UpdateView()
except:
pySIMmessage(self, "Unable to save: %s (%s)" % (name, number), "SIM card error")
else:
pySIMmessage(self, "Cannot save: %s (%s)\n\nNo free positions left on SIM card." % (name, number), "SIM card error")
p.Destroy()
def OnPopupCopy(self, event):
name = self.getColumnText(self.currentItem, 0)
number = self.getColumnText(self.currentItem, 1)
p = PhonebookEditEntry(self, name, number, 1, self.nameLength)
if p.ShowModal() == wx.ID_OK:
name, number = p.getValues()
pos = self.findFreePosition()
if pos:
try:
self.SIM.gotoFile(LND_FILE_PATH)
if not self.SIM.checkAndVerifyCHV1(CHV_UPDATE):
raise "Access conditions not met."
if self.writePhonebookEntry(pos, name, number) == wx.ID_YES:
self.itemDataMap[pos] = (name, number)
self.UpdateView()
except:
pySIMmessage(self, "Unable to save: %s (%s)" % (name, number), "SIM card error")
else:
pySIMmessage(self, "Cannot save: %s (%s)\n\nNo free positions left on SIM card." % (name, number), "SIM card error")
p.Destroy()
def OnPopupEdit(self, event):
name = self.getColumnText(self.currentItem, 0)
number = self.getColumnText(self.currentItem, 1)
p = PhonebookEditEntry(self, name, number, 1, self.nameLength)
if p.ShowModal() == wx.ID_OK:
name, number = p.getValues()
pos = self.listCtrl.GetItemData(self.currentItem)
try:
self.SIM.gotoFile(LND_FILE_PATH)
if not self.SIM.checkAndVerifyCHV1(CHV_UPDATE):
raise "Access conditions not met."
if self.writePhonebookEntry(pos, name, number) == wx.ID_YES:
self.itemDataMap[pos] = (name, number)
self.UpdateView()
except:
pySIMmessage(self, "Unable to save: %s (%s)" % (name, number), "SIM card error")
p.Destroy()
def OnPopupNew(self, event):
p = PhonebookEditEntry(self, '', '', 1, self.nameLength)
if p.ShowModal() == wx.ID_OK:
name, number = p.getValues()
pos = self.findFreePosition()
if pos:
try:
self.SIM.gotoFile(self.filepath)
if not self.SIM.checkAndVerifyCHV1(CHV_UPDATE):
raise "Access conditions not met."
if self.writePhonebookEntry(pos, name, number) == wx.ID_YES:
self.itemDataMap[pos] = (name, number)
self.UpdateView()
except:
pySIMmessage(self, "Unable to save: %s (%s)" % (name, number), "SIM card error")
else:
pySIMmessage(self, "Cannot save: %s (%s)\n\nNo free positions left on SIM card." % (name, number), "SIM card error")
p.Destroy()
def OnPopupCopy(self, event):
name = self.getColumnText(self.currentItem, 0)
number = self.getColumnText(self.currentItem, 1)
p = PhonebookEditEntry(self, name, number, 1, self.nameLength)
if p.ShowModal() == wx.ID_OK:
name, number = p.getValues()
pos = self.findFreePosition()
if pos:
try:
self.SIM.gotoFile(self.filepath)
if not self.SIM.checkAndVerifyCHV1(CHV_UPDATE):
raise "Access conditions not met."
if self.writePhonebookEntry(pos, name, number) == wx.ID_YES:
self.itemDataMap[pos] = (name, number)
self.UpdateView()
except:
pySIMmessage(self, "Unable to save: %s (%s)" % (name, number), "SIM card error")
else:
pySIMmessage(self, "Cannot save: %s (%s)\n\nNo free positions left on SIM card." % (name, number), "SIM card error")
p.Destroy()
def doExport(self, event):
dlg = wx.FileDialog(self, "Save to file:", ".", "", "Text (*.txt)|*.txt", wx.SAVE|wx.OVERWRITE_PROMPT)
if dlg.ShowModal() == wx.ID_OK:
i = dlg.GetFilterIndex()
if i == 0: # Text format
try:
f = open(dlg.GetPath(), "w")
f.write("# Date, From, SerivceCenter, Message\n")
for i in self.itemDataMap.keys():
entry = self.itemDataMap[i]
f.write('%s,%s,%s,%s\n' % (entry[1], entry[2], entry[4].smsc, entry[3]))
f.close()
pySIMmessage(self, "SMS export to file was successful\n\nFilename: %s" % dlg.GetPath(), "Export OK")
except:
pySIMmessage(self, "Unable to save your SMS messages to file: %s" % dlg.GetPath(), "Export error")
#print_exc()
dlg.Destroy()
def OnPopupNew(self, event):
p = SMSEditEntry(self, SMSmessage())
if p.ShowModal() == wx.ID_OK:
sms = p.getSMS()
pos = self.findFreePosition()
if pos:
try:
self.SIM.gotoFile(SMS_FILE_PATH)
if not self.SIM.checkAndVerifyCHV1(CHV_UPDATE):
raise "Access conditions not met."
self.writeSMSEntry(pos, sms)
self.itemDataMap[pos] = (sms.status, sms.timestamp, sms.number, sms.message, sms)
self.UpdateView()
except:
pySIMmessage(self, "Unable to save SMS message.", "SIM card error")
else:
pySIMmessage(self, "Cannot save: %s (%s)\n\nNo free positions left on SIM card." % (name, number), "SIM card error")
p.Destroy()
def OnPopupCopy(self, event):
pos = self.listCtrl.GetItemData(self.currentItem)
sms = self.itemDataMap[pos][COL_SMS]
p = SMSEditEntry(self, sms.clone())
if p.ShowModal() == wx.ID_OK:
sms = p.getSMS()
pos = self.findFreePosition()
if pos:
try:
self.SIM.gotoFile(SMS_FILE_PATH)
if not self.SIM.checkAndVerifyCHV1(CHV_UPDATE):
raise "Access conditions not met."
self.writeSMSEntry(pos, sms)
self.itemDataMap[pos] = (sms.status, sms.timestamp, sms.number, sms.message, sms)
self.UpdateView()
except:
pySIMmessage(self, "Unable to save SMS message.", "SIM card error")
else:
pySIMmessage(self, "Cannot save: %s (%s)\n\nNo free positions left on SIM card." % (name, number), "SIM card error")
p.Destroy()
def OnPopupEdit(self, event):
pos = self.listCtrl.GetItemData(self.currentItem)
sms = self.itemDataMap[pos][COL_SMS]
p = SMSEditEntry(self, sms)
if p.ShowModal() == wx.ID_OK:
sms = p.getSMS()
try:
self.SIM.gotoFile(SMS_FILE_PATH)
if not self.SIM.checkAndVerifyCHV1(CHV_UPDATE):
raise "Access conditions not met."
self.writeSMSEntry(pos, sms)
self.itemDataMap[pos] = (sms.status, sms.timestamp, sms.number, sms.message, sms)
self.UpdateView()
except:
pySIMmessage(self, "Unable to save SMS message.", "SIM card error")
p.Destroy()
def onOK(self, event):
if self.Validate() and self.TransferDataFromWindow():
if self.textCtrlNewPin1.GetValue() != self.textCtrlNewPin2.GetValue():
pySIMmessage(self, "New PINs do not match!", "SIM card error")
return
if not self.SIM.chv1_enabled:
# Enable CHV 'A028000108'
apdu = "A028000108%s" % ASCIIToPIN(self.textCtrlNewPin1.GetValue())
else:
# Change CHV
apdu = "A024000110%s%s" % (ASCIIToPIN(self.textCtrlOldPin.GetValue()), ASCIIToPIN(self.textCtrlNewPin1.GetValue()))
try:
self.SIM.sendAPDUmatchSW(apdu, SW_OK)
self.SIM.chv1_enabled = 1
self.chv1 = self.textCtrlNewPin1.GetValue()
except:
print "apdu: %r" % (apdu, )
print_exc()
pySIMmessage(self, "Invalid PIN!", "SIM card error")
return
pySIMmessage(self, "PIN was set successfully!", "Change PIN")
self.EndModal(wx.ID_OK)
def __init__(self, parent, id, title, message, download_url, size=wx.DefaultSize, pos=wx.DefaultPosition, style=wx.DEFAULT_DIALOG_STYLE, name='dialog'):
wx.Dialog.__init__(self, parent, id, title, pos, size, style, name)
label = wx.StaticText(self, label=message)
button = wx.Button(self, id=wx.ID_OK, label="Close")
button.SetDefault()
line = wx.StaticLine(self, wx.ID_ANY, size=(20, -1), style=wx.LI_HORIZONTAL)
download_ctrl = hl.HyperLinkCtrl(self, wx.ID_ANY, download_url, URL=download_url)
sizer = wx.BoxSizer(wx.VERTICAL)
button_sizer = wx.StdDialogButtonSizer()
button_sizer.AddButton(button)
button_sizer.Realize()
sizer.Add(label, 0, wx.ALIGN_CENTER|wx.ALL, 5)
sizer.Add(download_ctrl, 0, wx.ALL, 10)
sizer.Add(line, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.RIGHT|wx.TOP, 5)
sizer.Add(button_sizer, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5)
self.SetSizer(sizer)
sizer.Fit(self)
def __init__(self, parent=None, first_run=False):
wx.Dialog.__init__(self, parent, title="Settings", style=wx.DEFAULT_DIALOG_STYLE)
self._first_run = first_run
self._sizer = wx.BoxSizer(wx.VERTICAL)
self._defaults = {}
self._sizer.Add(URLEntryPanel(self, default_url=read_config_option("baseurl")), flag=wx.EXPAND | wx.ALL, border=5)
authorization_sizer = wx.BoxSizer(wx.HORIZONTAL)
authorization_sizer.Add(ClientDetailsPanel(self, default_client_id=read_config_option("client_id"), default_client_secret=read_config_option("client_secret")), flag=wx.EXPAND | wx.RIGHT, border=2, proportion=1)
authorization_sizer.Add(UserDetailsPanel(self, default_user=read_config_option("username"), default_pass=read_config_option("password")), flag=wx.EXPAND | wx.LEFT, border=2, proportion=1)
self._sizer.Add(authorization_sizer, flag=wx.EXPAND | wx.ALL, border=5)
self._sizer.Add(PostProcessingTaskPanel(self, default_post_process=read_config_option("completion_cmd")), flag=wx.EXPAND | wx.ALL, border=5)
self._sizer.Add(DefaultDirectoryPanel(self, default_directory=read_config_option("default_dir"), monitor_directory=read_config_option("monitor_default_dir", expected_type=bool)), flag=wx.EXPAND | wx.ALL, border=5)
self._sizer.Add(self.CreateSeparatedButtonSizer(flags=wx.OK), flag=wx.EXPAND | wx.ALL, border=5)
self.SetSizerAndFit(self._sizer)
self.Layout()
pub.subscribe(self._field_changed, SettingsDialog.field_changed_topic)
self.Bind(wx.EVT_CLOSE, self._on_close)
self.Bind(wx.EVT_BUTTON, self._on_close, id=wx.ID_OK)
threading.Thread(target=connect_to_irida).start()
def do_input(Class, parent, title, fields, data):
dlg = Class(parent, -1, title, size=(350, 200),
style=wx.DEFAULT_DIALOG_STYLE, # & ~wx.CLOSE_BOX,
fields=fields, data=data
)
dlg.CenterOnScreen()
while 1:
val = dlg.ShowModal()
if val == wx.ID_OK:
values = {}
for field in fields:
try:
values[field] = eval(dlg.textctrls[field].GetValue())
except Exception, e:
msg = wx.MessageDialog(parent, unicode(e),
"Error in field %s" % field,
wx.OK | wx.ICON_INFORMATION
)
msg.ShowModal()
msg.Destroy()
break
else:
return dict([(field, values[field]) for field in fields])
else:
return None
def captureImage(self, event=None):
## Parts borrowed from backends_wx.py from matplotlib
# Fetch the required filename and file type.
filetypes, exts, filter_index = self.canvas._get_imagesave_wildcards()
default_file = self.canvas.get_default_filename()
dlg = wx.FileDialog(self, "Save to file", "", default_file,
filetypes,
wx.SAVE|wx.OVERWRITE_PROMPT)
dlg.SetFilterIndex(filter_index)
if dlg.ShowModal() == wx.ID_OK:
dirname = dlg.GetDirectory()
filename = dlg.GetFilename()
format = exts[dlg.GetFilterIndex()]
basename, ext = os.path.splitext(filename)
if ext.startswith('.'):
ext = ext[1:]
if ext in ('svg', 'pdf', 'ps', 'eps', 'png') and format!=ext:
#looks like they forgot to set the image type drop
#down, going with the extension.
format = ext
self.canvas.print_figure(
os.path.join(dirname, filename), format=format)
def on_set_note(self, event):
fila = self.listadoVM
for i in range(len(fila)):
if logger != None: logger.info(fila[i])
# At tree elemente are the name and the nine at the UUID
vm = conexion.searchIndex.FindByUuid(None,fila[8], True)
self.my_dialogo_ssh = dialogos.Dialogo_user_pass(None, -1, 'New Note in: {0}' .format(vm.name))
punteromaquina = vim.vm.ConfigSpec()
# the actual file 8 is the Note
self.my_dialogo_ssh.usuario.SetValue('{0}' .format(fila[7]) )
result = self.my_dialogo_ssh.ShowModal() # pintamos la ventan con la informcion
if result == wx.ID_OK:
punteromaquina.annotation = str( self.my_dialogo_ssh.usuario.GetValue())
task = vm.ReconfigVM_Task(punteromaquina)
tasks.wait_for_tasks(conexion, [task])
self.my_dialogo_ssh.Destroy()
def onsoftreboot(self, event):
fila = self.listadoVM
for i in range(len(fila)):
if logger != None: logger.info(fila[i])
# El 9 elemento es el UUID
if logger != None: logger.info (fila[8])
#Pedimos confirmacion del reset de la mv con ventana dialogo
dlg_reset = wx.MessageDialog(self,
"Estas a punto de reiniciar \n " + fila[1] + " ",
"Confirm Exit", wx.OK | wx.CANCEL | wx.ICON_QUESTION)
result = dlg_reset.ShowModal()
dlg_reset.Destroy()
if result == wx.ID_OK:
vm = conexion.searchIndex.FindByUuid(None,fila[8], True)
if vm is not None:
if logger != None: logger.info ("The current powerState is: {0}".format(vm.runtime.powerState))
TASK = vm.RebootGuest()
#Este da error tasks.wait_for_tasks(conexion, [TASK])
if logger != None: logger.info("Soft reboot its done.")
def onsoftPowerOff(self, event):
fila = self.listadoVM
for i in range(len(fila)):
if logger != None: logger.info(fila[i])
# El 9 elemento es el UUID
if logger != None: logger.info (fila[8])
#Pedimos confirmacion del reset de la mv con ventana dialogo
dlg_reset = wx.MessageDialog(self,
"Estas a punto de Soft Apagar \n " + fila[1] + " ",
"Confirm Exit", wx.OK | wx.CANCEL | wx.ICON_QUESTION)
result = dlg_reset.ShowModal()
dlg_reset.Destroy()
if result == wx.ID_OK:
vm = conexion.searchIndex.FindByUuid(None,fila[8], True)
if vm is not None:
if logger != None: logger.info ("The current powerState is: {0}".format(vm.runtime.powerState))
TASK = vm.ShutdownGuest()
#Este da error tasks.wait_for_tasks(conexion, [TASK])
if logger != None: logger.info("Soft poweroff its done.")
# Reiniciamos el ordenador seleccionado en el menu contextual
def onreboot(self, event):
fila = self.listadoVM
for i in range(len(fila)):
if logger != None: logger.info(fila[i])
# El 9 elemento es el UUID
if logger != None: logger.info (fila[8])
#Pedimos confirmacion del reset de la mv con ventana dialogo
dlg_reset = wx.MessageDialog(self,
"Estas a punto de reiniciar \n " + fila[1] + " ",
"Confirm Exit", wx.OK | wx.CANCEL | wx.ICON_QUESTION)
result = dlg_reset.ShowModal()
dlg_reset.Destroy()
if result == wx.ID_OK:
vm = conexion.searchIndex.FindByUuid(None,fila[8], True)
if vm is not None:
if logger != None: logger.info ("The current powerState is: {0}".format(vm.runtime.powerState))
TASK = vm.ResetVM_Task()
tasks.wait_for_tasks(conexion, [TASK])
if logger != None: logger.info("reboot its done.")
def onpowerOff(self, event):
fila = self.listadoVM
for i in range(len(fila)):
if logger != None: logger.info(fila[i])
# El 9 elemento es el UUID
if logger != None: logger.info (fila[8])
#Pedimos confirmacion del reset de la mv con ventana dialogo
dlg_reset = wx.MessageDialog(self,
"Estas a punto de Apagar \n " + fila[1] + " ",
"Confirm Exit", wx.OK | wx.CANCEL | wx.ICON_QUESTION)
result = dlg_reset.ShowModal()
dlg_reset.Destroy()
if result == wx.ID_OK:
vm = conexion.searchIndex.FindByUuid(None,fila[8], True)
if vm is not None and not vm.runtime.powerState == 'poweredOff':
if logger != None: logger.info ("The current powerState is: {0}".format(vm.runtime.powerState))
TASK = vm.PowerOff()
tasks.wait_for_tasks(conexion, [TASK])
if logger != None: logger.info("Power OFF its done.")
def conectar_con_vcenter():
dlgDialogo = DialogAcceso()
while not dlgDialogo.si:
result = dlgDialogo.my_dialog_acceso_vcenter.ShowModal()
if result == wx.ID_OK:
dlgDialogo.OnConnect()
if dlgDialogo.si:
if logger != None: logger.info('conectado')
atexit.register(Disconnect, dlgDialogo.si)
content = dlgDialogo.si.RetrieveContent()
dlgDialogo.my_dialog_acceso_vcenter.Destroy()
return content
else:
sys.exit(0)
else:
dlgDialogo.OnDisConnect()
# ----------------------------------------------------------------------
# Sacar listado carpetas
def __init__(self, *args, **kwds):
# begin wxGlade: Dialog_snapshot.__init__
kwds["style"] = wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER
wx.Dialog.__init__(self, *args, **kwds)
self.label_1 = wx.StaticText(self, wx.ID_ANY, "Nombre:")
self.nombre_snap = wx.TextCtrl(self, wx.ID_ANY, "")
self.label_2 = wx.StaticText(self, wx.ID_ANY, u"Descripci\u00f3n:")
self.descripcion_snap = wx.TextCtrl(self, wx.ID_ANY, "")
self.checkbox_memory = wx.CheckBox(self, wx.ID_ANY, "memory")
self.checkbox_quiesce = wx.CheckBox(self, wx.ID_ANY, "quiesce")
self.snap_ok = wx.Button(self, wx.ID_OK, "OK")
self.snap_cancel = wx.Button(self, wx.ID_CANCEL, "Cancel")
self.__set_properties()
self.__do_layout()
# end wxGlade
def button_browse_path_click(self, event):
print "Event handler 'button_browse_path_click' not implemented!"
dlg = wx.DirDialog(
self,
"Choose a directory:",
style=wx.DD_DEFAULT_STYLE
)
if dlg.ShowModal() == wx.ID_OK:
self.text_ctrl_outpath.Clear()
self.text_ctrl_outpath.SetValue(dlg.GetPath())
print('You selected: %s\n' % dlg.GetPath())
dlg.Destroy()
event.Skip()
# end of class ExtractionDialog
def __init__(self, *args, **kwds):
# begin wxGlade: LogicalVolumeDialog.__init__
wx.Dialog.__init__(self, *args, **kwds)
self.panel_1 = wx.Panel(self, wx.ID_ANY)
self.panel_4 = wx.Panel(self, wx.ID_ANY)
self.label_1 = wx.StaticText(self, wx.ID_ANY, _("Select Logical Volume: "), style=wx.ALIGN_CENTER_HORIZONTAL)
self.panel_7 = wx.Panel(self, wx.ID_ANY)
self.combo_logical_volumes = wx.ComboBox(self, wx.ID_ANY, choices=[], style=wx.CB_DROPDOWN)
self.panel_8 = wx.Panel(self, wx.ID_ANY)
self.panel_3 = wx.Panel(self, wx.ID_ANY)
self.panel_5 = wx.Panel(self, wx.ID_ANY)
self.button_select = wx.Button(self, wx.ID_OK, _("Select"))
self.panel_9 = wx.Panel(self, wx.ID_ANY)
self.button_cancel = wx.Button(self, wx.ID_CANCEL, _("Cancel"))
self.panel_6 = wx.Panel(self, wx.ID_ANY)
self.panel_2 = wx.Panel(self, wx.ID_ANY)
self.__set_properties()
self.__do_layout()
self.Bind(wx.EVT_BUTTON, self.button_select_click, id=wx.ID_OK)
self.Bind(wx.EVT_BUTTON, self.button_cancel_click, id=wx.ID_CANCEL)
# end wxGlade
self.PopulateVolumes()
def OpenSource(self, event): # wxGlade: MainFrame.<event_handler>
dlg = wx.FileDialog(
self,
message="Choose Image",
wildcard="All files (*.*)|*.*",
style=wx.OPEN | wx.CHANGE_DIR
)
if dlg.ShowModal() == wx.ID_OK:
paths = dlg.GetPaths()
for path in paths:
self.EnumerateSource(path)
print(' %s\n' % path)
dlg.Destroy()
event.Skip()
def OnColourSelect(self, event):
cdata = wx.ColourData()
cdata.SetColour((self.r,self.g,self.b))
dlg = wx.ColourDialog(self, data=cdata)
dlg.GetColourData().SetChooseFull(True)
if dlg.ShowModal() == wx.ID_OK:
self.r,self.g,self.b = dlg.GetColourData().GetColour().Get(includeAlpha=False)
r = float(self.r)/255.0
g = float(self.g)/255.0
b = float(self.b)/255.0
renderers = self.renWin.GetRenderWindow().GetRenderers()
renderers.InitTraversal()
no_renderers = renderers.GetNumberOfItems()
for i in range(no_renderers):
renderers.GetItemAsObject(i).SetBackground(r, g, b)
self.RefreshScene()
dlg.Destroy()