def __init__(self, parent=None, default_user="", default_pass=""):
wx.Panel.__init__(self, parent)
border = wx.StaticBox(self, label="User authorization")
sizer = wx.StaticBoxSizer(border, wx.VERTICAL)
self._status_label_user = ProcessingPlaceholderText(self)
self._status_label_pass = ProcessingPlaceholderText(self)
username_sizer = wx.BoxSizer(wx.VERTICAL)
username_label = wx.StaticText(self, label="Username")
username_label.SetToolTipString("Your IRIDA username")
username_sizer.Add(username_label, flag=wx.EXPAND | wx.BOTTOM, border=2)
username_input_sizer = wx.BoxSizer(wx.HORIZONTAL)
self._username = wx.TextCtrl(self)
self._username.Bind(wx.EVT_KILL_FOCUS, self._username_changed)
self._username.SetValue(default_user)
username_input_sizer.Add(self._username, flag=wx.EXPAND, proportion=1)
username_input_sizer.Add(self._status_label_user, flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT, border=5, proportion=0)
username_sizer.Add(username_input_sizer, flag=wx.EXPAND)
sizer.Add(username_sizer, flag=wx.EXPAND | wx.ALL, border=5)
password_sizer = wx.BoxSizer(wx.VERTICAL)
password_label = wx.StaticText(self, label="Password")
password_label.SetToolTipString("Your IRIDA password")
password_sizer.Add(password_label, flag=wx.EXPAND | wx.BOTTOM, border=2)
password_input_sizer = wx.BoxSizer(wx.HORIZONTAL)
self._password = wx.TextCtrl(self, style=wx.TE_PASSWORD)
self._password.Bind(wx.EVT_KILL_FOCUS, self._password_changed)
self._password.SetValue(default_pass)
password_input_sizer.Add(self._password, flag=wx.EXPAND, proportion=1)
password_input_sizer.Add(self._status_label_pass, flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT, border=5, proportion=0)
password_sizer.Add(password_input_sizer, flag=wx.EXPAND)
sizer.Add(password_sizer, flag=wx.EXPAND | wx.ALL, border=5)
self.SetSizerAndFit(sizer)
self.Layout()
pub.subscribe(self._handle_connection_error, APIConnectorTopics.connection_error_user_credentials_topic)
pub.subscribe(self._status_label_user.SetSuccess, APIConnectorTopics.connection_success_topic)
pub.subscribe(self._status_label_pass.SetSuccess, APIConnectorTopics.connection_success_topic)
self.Bind(wx.EVT_CLOSE, self._on_close)
评论列表
文章目录