24 |
24 |
25 import wx |
25 import wx |
26 |
26 |
27 from plcopen.structures import TestIdentifier, IEC_KEYWORDS |
27 from plcopen.structures import TestIdentifier, IEC_KEYWORDS |
28 |
28 |
|
29 #------------------------------------------------------------------------------- |
|
30 # POU Transition Dialog |
|
31 #------------------------------------------------------------------------------- |
|
32 |
29 def GetTransitionLanguages(): |
33 def GetTransitionLanguages(): |
30 _ = lambda x : x |
34 _ = lambda x : x |
31 return [_("IL"), _("ST"), _("LD"), _("FBD")] |
35 return [_("IL"), _("ST"), _("LD"), _("FBD")] |
32 TRANSITION_LANGUAGES_DICT = dict([(_(language), language) for language in GetTransitionLanguages()]) |
36 TRANSITION_LANGUAGES_DICT = dict([(_(language), language) for language in GetTransitionLanguages()]) |
33 |
37 |
34 class PouTransitionDialog(wx.Dialog): |
38 class PouTransitionDialog(wx.Dialog): |
35 |
39 |
36 def __init__(self, parent): |
40 def __init__(self, parent): |
37 wx.Dialog.__init__(self, id=-1, parent=parent, |
41 wx.Dialog.__init__(self, parent, size=wx.Size(350, 160), |
38 name='PouTransitionDialog', title=_('Create a new transition'), |
42 title=_('Create a new transition')) |
39 size=wx.Size(350, 200), style=wx.DEFAULT_DIALOG_STYLE) |
|
40 self.SetClientSize(wx.Size(350, 160)) |
|
41 |
43 |
42 main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=10) |
44 main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=10) |
43 main_sizer.AddGrowableCol(0) |
45 main_sizer.AddGrowableCol(0) |
44 main_sizer.AddGrowableRow(0) |
46 main_sizer.AddGrowableRow(0) |
45 |
47 |
46 infos_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=3, vgap=15) |
48 infos_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=3, vgap=15) |
47 infos_sizer.AddGrowableCol(1) |
49 infos_sizer.AddGrowableCol(1) |
48 main_sizer.AddSizer(infos_sizer, 0, border=20, |
50 main_sizer.AddSizer(infos_sizer, border=20, |
49 flag=wx.GROW|wx.TOP|wx.LEFT|wx.RIGHT) |
51 flag=wx.GROW|wx.TOP|wx.LEFT|wx.RIGHT) |
50 |
52 |
51 transitionname_label = wx.StaticText(id=-1, parent=self, |
53 transitionname_label = wx.StaticText(self, label=_('Transition Name:')) |
52 label=_('Transition Name:'), name='transitionname_label', |
54 infos_sizer.AddWindow(transitionname_label, border=4, |
53 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
55 flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP) |
54 infos_sizer.AddWindow(transitionname_label, 0, border=4, |
|
55 flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP) |
|
56 |
56 |
57 self.TransitionName = wx.TextCtrl(id=-1, parent=self, |
57 self.TransitionName = wx.TextCtrl(self) |
58 name='TransitionName', pos=wx.Point(0, 0), |
58 infos_sizer.AddWindow(self.TransitionName, flag=wx.GROW) |
59 size=wx.Size(0, 24), style=0) |
|
60 infos_sizer.AddWindow(self.TransitionName, 0, border=0, flag=wx.GROW) |
|
61 |
59 |
62 language_label = wx.StaticText(id=-1, parent=self, |
60 language_label = wx.StaticText(self, label=_('Language:')) |
63 label=_('Language:'), name='language_label', |
61 infos_sizer.AddWindow(language_label, border=4, |
64 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
62 flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP) |
65 infos_sizer.AddWindow(language_label, 0, border=4, |
|
66 flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP) |
|
67 |
63 |
68 self.Language = wx.ComboBox(id=-1, parent=self, |
64 self.Language = wx.ComboBox(self, style=wx.CB_READONLY) |
69 name='Language', pos=wx.Point(0, 0), |
65 infos_sizer.AddWindow(self.Language, flag=wx.GROW) |
70 size=wx.Size(0, 28), style=wx.CB_READONLY) |
|
71 infos_sizer.AddWindow(self.Language, 0, border=0, flag=wx.GROW) |
|
72 |
66 |
73 self.ButtonSizer = self.CreateButtonSizer(wx.OK|wx.CANCEL|wx.CENTRE) |
67 button_sizer = self.CreateButtonSizer(wx.OK|wx.CANCEL|wx.CENTRE) |
74 self.Bind(wx.EVT_BUTTON, self.OnOK, id=self.ButtonSizer.GetAffirmativeButton().GetId()) |
68 self.Bind(wx.EVT_BUTTON, self.OnOK, button_sizer.GetAffirmativeButton()) |
75 main_sizer.AddSizer(self.ButtonSizer, 0, border=20, |
69 main_sizer.AddSizer(button_sizer, border=20, |
76 flag=wx.ALIGN_RIGHT|wx.BOTTOM|wx.LEFT|wx.RIGHT) |
70 flag=wx.ALIGN_RIGHT|wx.BOTTOM|wx.LEFT|wx.RIGHT) |
77 |
71 |
78 self.SetSizer(main_sizer) |
72 self.SetSizer(main_sizer) |
79 |
73 |
80 for language in GetTransitionLanguages(): |
74 for language in GetTransitionLanguages(): |
81 self.Language.Append(_(language)) |
75 self.Language.Append(_(language)) |