31 _ = lambda x : x |
31 _ = lambda x : x |
32 return [_("IL"), _("ST"), _("LD"), _("FBD")] |
32 return [_("IL"), _("ST"), _("LD"), _("FBD")] |
33 ACTION_LANGUAGES_DICT = dict([(_(language), language) for language in GetActionLanguages()]) |
33 ACTION_LANGUAGES_DICT = dict([(_(language), language) for language in GetActionLanguages()]) |
34 |
34 |
35 class PouActionDialog(wx.Dialog): |
35 class PouActionDialog(wx.Dialog): |
36 |
36 |
37 def __init__(self, parent): |
37 def __init__(self, parent): |
38 wx.Dialog.__init__(self, parent, title=_('Create a new action')) |
38 wx.Dialog.__init__(self, parent, title=_('Create a new action')) |
39 |
39 |
40 main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=10) |
40 main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=10) |
41 main_sizer.AddGrowableCol(0) |
41 main_sizer.AddGrowableCol(0) |
42 main_sizer.AddGrowableRow(0) |
42 main_sizer.AddGrowableRow(0) |
43 |
43 |
44 infos_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=3, vgap=15) |
44 infos_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=3, vgap=15) |
45 infos_sizer.AddGrowableCol(1) |
45 infos_sizer.AddGrowableCol(1) |
46 main_sizer.AddSizer(infos_sizer, border=20, |
46 main_sizer.AddSizer(infos_sizer, border=20, |
47 flag=wx.GROW|wx.TOP|wx.LEFT|wx.RIGHT) |
47 flag=wx.GROW|wx.TOP|wx.LEFT|wx.RIGHT) |
48 |
48 |
49 actionname_label = wx.StaticText(self, label=_('Action Name:')) |
49 actionname_label = wx.StaticText(self, label=_('Action Name:')) |
50 infos_sizer.AddWindow(actionname_label, border=4, |
50 infos_sizer.AddWindow(actionname_label, border=4, |
51 flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP) |
51 flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP) |
52 |
52 |
53 self.ActionName = wx.TextCtrl(self, size=wx.Size(180,-1)) |
53 self.ActionName = wx.TextCtrl(self, size=wx.Size(180,-1)) |
54 infos_sizer.AddWindow(self.ActionName, flag=wx.GROW) |
54 infos_sizer.AddWindow(self.ActionName, flag=wx.GROW) |
55 |
55 |
56 language_label = wx.StaticText(self, label=_('Language:')) |
56 language_label = wx.StaticText(self, label=_('Language:')) |
57 infos_sizer.AddWindow(language_label, border=4, |
57 infos_sizer.AddWindow(language_label, border=4, |
58 flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP) |
58 flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP) |
59 |
59 |
60 self.Language = wx.ComboBox(self, style=wx.CB_READONLY) |
60 self.Language = wx.ComboBox(self, style=wx.CB_READONLY) |
61 infos_sizer.AddWindow(self.Language, flag=wx.GROW) |
61 infos_sizer.AddWindow(self.Language, flag=wx.GROW) |
62 |
62 |
63 button_sizer = self.CreateButtonSizer(wx.OK|wx.CANCEL|wx.CENTRE) |
63 button_sizer = self.CreateButtonSizer(wx.OK|wx.CANCEL|wx.CENTRE) |
64 self.Bind(wx.EVT_BUTTON, self.OnOK, |
64 self.Bind(wx.EVT_BUTTON, self.OnOK, |
65 button_sizer.GetAffirmativeButton()) |
65 button_sizer.GetAffirmativeButton()) |
66 main_sizer.AddSizer(button_sizer, border=20, |
66 main_sizer.AddSizer(button_sizer, border=20, |
67 flag=wx.ALIGN_RIGHT|wx.BOTTOM|wx.LEFT|wx.RIGHT) |
67 flag=wx.ALIGN_RIGHT|wx.BOTTOM|wx.LEFT|wx.RIGHT) |
68 |
68 |
69 self.SetSizer(main_sizer) |
69 self.SetSizer(main_sizer) |
70 |
70 |
71 for option in GetActionLanguages(): |
71 for option in GetActionLanguages(): |
72 self.Language.Append(_(option)) |
72 self.Language.Append(_(option)) |
73 |
73 |
74 self.Fit() |
74 self.Fit() |
75 self.PouNames = [] |
75 self.PouNames = [] |
76 self.PouElementNames = [] |
76 self.PouElementNames = [] |
77 |
77 |
78 def OnOK(self, event): |
78 def OnOK(self, event): |
79 error = [] |
79 error = [] |
80 action_name = self.ActionName.GetValue() |
80 action_name = self.ActionName.GetValue() |
81 if action_name == "": |
81 if action_name == "": |
82 error.append(_("Action Name")) |
82 error.append(_("Action Name")) |
105 dialog = wx.MessageDialog(self, message, _("Error"), wx.OK|wx.ICON_ERROR) |
105 dialog = wx.MessageDialog(self, message, _("Error"), wx.OK|wx.ICON_ERROR) |
106 dialog.ShowModal() |
106 dialog.ShowModal() |
107 dialog.Destroy() |
107 dialog.Destroy() |
108 else: |
108 else: |
109 self.EndModal(wx.ID_OK) |
109 self.EndModal(wx.ID_OK) |
110 |
110 |
111 def SetPouNames(self, pou_names): |
111 def SetPouNames(self, pou_names): |
112 self.PouNames = [pou_name.upper() for pou_name in pou_names] |
112 self.PouNames = [pou_name.upper() for pou_name in pou_names] |
113 |
113 |
114 def SetPouElementNames(self, element_names): |
114 def SetPouElementNames(self, element_names): |
115 self.PouElementNames = [element_name.upper() for element_name in element_names] |
115 self.PouElementNames = [element_name.upper() for element_name in element_names] |
116 |
116 |
117 def SetValues(self, values): |
117 def SetValues(self, values): |
118 for item, value in values.items(): |
118 for item, value in values.items(): |
119 if item == "actionName": |
119 if item == "actionName": |
120 self.ActionName.SetValue(value) |
120 self.ActionName.SetValue(value) |
121 elif item == "language": |
121 elif item == "language": |
122 self.Language.SetStringSelection(_(value)) |
122 self.Language.SetStringSelection(_(value)) |
123 |
123 |
124 def GetValues(self): |
124 def GetValues(self): |
125 values = {} |
125 values = {} |
126 values["actionName"] = self.ActionName.GetValue() |
126 values["actionName"] = self.ActionName.GetValue() |
127 values["language"] = ACTION_LANGUAGES_DICT[self.Language.GetStringSelection()] |
127 values["language"] = ACTION_LANGUAGES_DICT[self.Language.GetStringSelection()] |
128 return values |
128 return values |
129 |
|