--- a/connectors/SchemeEditor.py Fri Nov 09 13:26:06 2018 +0100
+++ b/connectors/SchemeEditor.py Wed Nov 14 11:32:08 2018 +0100
@@ -6,14 +6,20 @@
from __future__ import absolute_import
from itertools import repeat, izip_longest
+from functools import partial
import wx
+from controls.IDManager import IDManager
+
class SchemeEditor(wx.Panel):
def __init__(self, scheme, parent, *args, **kwargs):
self.txtctrls = {}
wx.Panel.__init__(self, parent, *args, **kwargs)
- self.mainSizer = wx.FlexGridSizer(cols=2, hgap=10, rows=5, vgap=10)
+ self.fieldsizer = wx.FlexGridSizer(cols=2, hgap=10, vgap=10)
+
+ if self.EnableIDSelector:
+ self.model = self.model + [("ID", _("ID:"))]
for tag, label in self.model:
txtctrl = wx.TextCtrl(parent=self, size=wx.Size(200, -1))
@@ -21,11 +27,20 @@
for win, flag in [
(wx.StaticText(self, label=label), wx.ALIGN_CENTER_VERTICAL),
(txtctrl, wx.GROW)]:
- self.mainSizer.AddWindow(win, flag=flag)
+ self.fieldsizer.AddWindow(win, flag=flag)
- self.mainSizer.AddSpacer(20)
+ self.fieldsizer.AddSpacer(20)
- self.SetSizer(self.mainSizer)
+ if self.EnableIDSelector:
+ self.mainsizer = wx.FlexGridSizer(cols=2, hgap=10, vgap=10)
+ self.mainsizer.AddSizer(self.fieldsizer)
+ self.idselector = IDManager(
+ self, parent.ctr,
+ partial(wx.CallAfter, parent.SetURI))
+ self.mainsizer.AddWindow(self.idselector)
+ self.SetSizer(self.mainsizer)
+ else:
+ self.SetSizer(self.fieldsizer)
def SetFields(self, fields):
for tag, label in self.model: