32 POU_TYPES_DICT = dict([(_(pou_type), pou_type) for pou_type in GetPouTypes()]) |
32 POU_TYPES_DICT = dict([(_(pou_type), pou_type) for pou_type in GetPouTypes()]) |
33 |
33 |
34 def GetPouLanguages(): |
34 def GetPouLanguages(): |
35 _ = lambda x : x |
35 _ = lambda x : x |
36 return [_("IL"), _("ST"), _("LD"), _("FBD"), _("SFC")] |
36 return [_("IL"), _("ST"), _("LD"), _("FBD"), _("SFC")] |
37 POU_LANGUAGES_DICT = dict([(_(language), language) for language in GetPouLanguages()]) |
|
38 |
37 |
39 class PouDialog(wx.Dialog): |
38 class PouDialog(wx.Dialog): |
40 |
39 |
|
40 POU_LANGUAGES = GetPouLanguages() |
|
41 POU_LANGUAGES_DICT = dict([(_(language), language) for language in POU_LANGUAGES]) |
|
42 |
41 def __init__(self, parent, pou_type = None): |
43 def __init__(self, parent, pou_type = None): |
42 wx.Dialog.__init__(self, id=-1, parent=parent, |
44 wx.Dialog.__init__(self, id=-1, parent=parent, |
43 name='PouDialog', title=_('Create a new POU'), |
45 name='PouDialog', title=_('Create a new POU'), |
44 size=wx.Size(300, 200), style=wx.DEFAULT_DIALOG_STYLE) |
46 size=wx.Size(300, 200), style=wx.DEFAULT_DIALOG_STYLE) |
45 self.SetClientSize(wx.Size(300, 200)) |
47 self.SetClientSize(wx.Size(300, 200)) |
46 |
48 |
47 main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=10) |
49 main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=10) |
48 main_sizer.AddGrowableCol(0) |
50 main_sizer.AddGrowableCol(0) |
49 main_sizer.AddGrowableRow(0) |
51 main_sizer.AddGrowableRow(0) |
50 |
52 |
51 infos_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=3, vgap=15) |
53 infos_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=3, vgap=15) |
52 infos_sizer.AddGrowableCol(1) |
54 infos_sizer.AddGrowableCol(1) |
53 main_sizer.AddSizer(infos_sizer, border=20, |
55 main_sizer.AddSizer(infos_sizer, border=20, |
54 flag=wx.GROW|wx.TOP|wx.LEFT|wx.RIGHT) |
56 flag=wx.GROW|wx.TOP|wx.LEFT|wx.RIGHT) |
55 |
57 |
56 pouname_label = wx.StaticText(self, label=_('POU Name:')) |
58 pouname_label = wx.StaticText(self, label=_('POU Name:')) |
57 infos_sizer.AddWindow(pouname_label, border=4, |
59 infos_sizer.AddWindow(pouname_label, border=4, |
58 flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP) |
60 flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP) |
59 |
61 |
60 self.PouName = wx.TextCtrl(self) |
62 self.PouName = wx.TextCtrl(self) |
61 infos_sizer.AddWindow(self.PouName, flag=wx.GROW) |
63 infos_sizer.AddWindow(self.PouName, flag=wx.GROW) |
62 |
64 |
63 poutype_label = wx.StaticText(self, label=_('POU Type:')) |
65 poutype_label = wx.StaticText(self, label=_('POU Type:')) |
64 infos_sizer.AddWindow(poutype_label, border=4, |
66 infos_sizer.AddWindow(poutype_label, border=4, |
65 flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP) |
67 flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP) |
66 |
68 |
67 self.PouType = wx.ComboBox(self, style=wx.CB_READONLY) |
69 self.PouType = wx.ComboBox(self, style=wx.CB_READONLY) |
68 self.Bind(wx.EVT_COMBOBOX, self.OnTypeChanged, self.PouType) |
70 self.Bind(wx.EVT_COMBOBOX, self.OnTypeChanged, self.PouType) |
69 infos_sizer.AddWindow(self.PouType, flag=wx.GROW) |
71 infos_sizer.AddWindow(self.PouType, flag=wx.GROW) |
70 |
72 |
71 language_label = wx.StaticText(self, label=_('Language:')) |
73 language_label = wx.StaticText(self, label=_('Language:')) |
72 infos_sizer.AddWindow(language_label, border=4, |
74 infos_sizer.AddWindow(language_label, border=4, |
73 flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP) |
75 flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP) |
74 |
76 |
75 self.Language = wx.ComboBox(self, style=wx.CB_READONLY) |
77 self.Language = wx.ComboBox(self, style=wx.CB_READONLY) |
76 infos_sizer.AddWindow(self.Language, flag=wx.GROW) |
78 infos_sizer.AddWindow(self.Language, flag=wx.GROW) |
77 |
79 |
78 button_sizer = self.CreateButtonSizer(wx.OK|wx.CANCEL|wx.CENTRE) |
80 button_sizer = self.CreateButtonSizer(wx.OK|wx.CANCEL|wx.CENTRE) |
79 self.Bind(wx.EVT_BUTTON, self.OnOK, button_sizer.GetAffirmativeButton()) |
81 self.Bind(wx.EVT_BUTTON, self.OnOK, button_sizer.GetAffirmativeButton()) |
80 main_sizer.AddSizer(button_sizer, border=20, |
82 main_sizer.AddSizer(button_sizer, border=20, |
81 flag=wx.ALIGN_RIGHT|wx.BOTTOM|wx.LEFT|wx.RIGHT) |
83 flag=wx.ALIGN_RIGHT|wx.BOTTOM|wx.LEFT|wx.RIGHT) |
82 |
84 |
83 self.SetSizer(main_sizer) |
85 self.SetSizer(main_sizer) |
84 |
86 |
85 for option in GetPouTypes(): |
87 for option in GetPouTypes(): |
86 self.PouType.Append(_(option)) |
88 self.PouType.Append(_(option)) |
87 if pou_type is not None: |
89 if pou_type is not None: |
88 self.PouType.SetStringSelection(_(pou_type)) |
90 self.PouType.SetStringSelection(_(pou_type)) |
89 self.RefreshLanguage() |
91 self.RefreshLanguage() |