author | Edouard Tisserant <edouard.tisserant@gmail.com> |
Thu, 22 Dec 2022 02:46:08 +0100 | |
branch | wxPython4 |
changeset 3710 | 51c2d434e10e |
parent 3303 | 0ffb41625592 |
child 3750 | f62625418bff |
permissions | -rw-r--r-- |
2329 | 1 |
#!/usr/bin/env python |
2 |
# -*- coding: utf-8 -*- |
|
3 |
||
4 |
# See COPYING file for copyrights details. |
|
5 |
||
6 |
from __future__ import absolute_import |
|
7 |
||
2334
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
8 |
from functools import partial |
2329 | 9 |
import wx |
10 |
||
2336
869a61616b42
Renamed IDManager control into IDBrowser, because dialog will be named IDManager
Edouard Tisserant
parents:
2335
diff
changeset
|
11 |
from controls.IDBrowser import IDBrowser |
2334
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
12 |
|
2492
7dd551ac2fa0
check_sources.sh makes me become even less productive
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
2336
diff
changeset
|
13 |
|
2329 | 14 |
class SchemeEditor(wx.Panel): |
15 |
def __init__(self, scheme, parent, *args, **kwargs): |
|
2492
7dd551ac2fa0
check_sources.sh makes me become even less productive
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
2336
diff
changeset
|
16 |
self.txtctrls = {} |
2329 | 17 |
wx.Panel.__init__(self, parent, *args, **kwargs) |
18 |
||
2334
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
19 |
self.fieldsizer = wx.FlexGridSizer(cols=2, hgap=10, vgap=10) |
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
20 |
|
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
21 |
if self.EnableIDSelector: |
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
22 |
self.model = self.model + [("ID", _("ID:"))] |
2329 | 23 |
|
24 |
for tag, label in self.model: |
|
25 |
txtctrl = wx.TextCtrl(parent=self, size=wx.Size(200, -1)) |
|
26 |
self.txtctrls[tag] = txtctrl |
|
27 |
for win, flag in [ |
|
2492
7dd551ac2fa0
check_sources.sh makes me become even less productive
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
2336
diff
changeset
|
28 |
(wx.StaticText(self, label=label), |
2537
eb4a4cc41914
Fix various pylint and pep8 errors
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
2492
diff
changeset
|
29 |
wx.ALIGN_CENTER_VERTICAL), |
2492
7dd551ac2fa0
check_sources.sh makes me become even less productive
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
2336
diff
changeset
|
30 |
(txtctrl, wx.GROW)]: |
3303
0ffb41625592
Preliminary support for WxPython 4.1.0. Needs more testing. Grid selection/focus seems broken, and probably many other bugs hidden in dialogs and editors.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
2537
diff
changeset
|
31 |
self.fieldsizer.Add(win, flag=flag) |
2329 | 32 |
|
2334
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
33 |
self.fieldsizer.AddSpacer(20) |
2329 | 34 |
|
2334
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
35 |
if self.EnableIDSelector: |
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
36 |
self.mainsizer = wx.FlexGridSizer(cols=2, hgap=10, vgap=10) |
3303
0ffb41625592
Preliminary support for WxPython 4.1.0. Needs more testing. Grid selection/focus seems broken, and probably many other bugs hidden in dialogs and editors.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
2537
diff
changeset
|
37 |
self.mainsizer.Add(self.fieldsizer) |
2336
869a61616b42
Renamed IDManager control into IDBrowser, because dialog will be named IDManager
Edouard Tisserant
parents:
2335
diff
changeset
|
38 |
self.idselector = IDBrowser( |
2334
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
39 |
self, parent.ctr, |
2335 | 40 |
# use a callafter, as editor can be deleted by calling SetURI |
41 |
partial(wx.CallAfter, parent.SetURI), |
|
2537
eb4a4cc41914
Fix various pylint and pep8 errors
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
2492
diff
changeset
|
42 |
self.txtctrls["ID"].SetValue) |
3303
0ffb41625592
Preliminary support for WxPython 4.1.0. Needs more testing. Grid selection/focus seems broken, and probably many other bugs hidden in dialogs and editors.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
2537
diff
changeset
|
43 |
self.mainsizer.Add(self.idselector) |
2334
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
44 |
self.SetSizer(self.mainsizer) |
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
45 |
else: |
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
46 |
self.SetSizer(self.fieldsizer) |
2329 | 47 |
|
48 |
def SetFields(self, fields): |
|
2492
7dd551ac2fa0
check_sources.sh makes me become even less productive
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
2336
diff
changeset
|
49 |
for tag, _label in self.model: |
2329 | 50 |
self.txtctrls[tag].SetValue(fields[tag]) |
51 |
||
52 |
def GetFields(self): |
|
2492
7dd551ac2fa0
check_sources.sh makes me become even less productive
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
2336
diff
changeset
|
53 |
return {tag: self.txtctrls[tag].GetValue() for tag, _label in self.model} |