50 elif idx == len(params) - 1: |
50 elif idx == len(params) - 1: |
51 border |= wx.BOTTOM |
51 border |= wx.BOTTOM |
52 |
52 |
53 st = wx.StaticText(parent, label=label) |
53 st = wx.StaticText(parent, label=label) |
54 sizer.AddWindow(st, border=10, |
54 sizer.AddWindow(st, border=10, |
55 flag=wx.ALIGN_CENTER_VERTICAL|border|wx.LEFT) |
55 flag=wx.ALIGN_CENTER_VERTICAL | border | wx.LEFT) |
56 |
56 |
57 tc = wx.TextCtrl(parent, style=wx.TE_PROCESS_ENTER) |
57 tc = wx.TextCtrl(parent, style=wx.TE_PROCESS_ENTER) |
58 setattr(self, name, tc) |
58 setattr(self, name, tc) |
59 callback = self.GetTextCtrlChangedFunction(tc, name) |
59 callback = self.GetTextCtrlChangedFunction(tc, name) |
60 self.Bind(wx.EVT_TEXT_ENTER, callback, tc) |
60 self.Bind(wx.EVT_TEXT_ENTER, callback, tc) |
61 tc.Bind(wx.EVT_KILL_FOCUS, callback) |
61 tc.Bind(wx.EVT_KILL_FOCUS, callback) |
62 sizer.AddWindow(tc, border=10, |
62 sizer.AddWindow(tc, border=10, |
63 flag=wx.GROW|border|wx.RIGHT) |
63 flag=wx.GROW | border | wx.RIGHT) |
64 |
64 |
65 def __init__(self, parent, controller=None, window=None, enable_required=True): |
65 def __init__(self, parent, controller=None, window=None, enable_required=True): |
66 wx.Notebook.__init__(self, parent) |
66 wx.Notebook.__init__(self, parent) |
67 |
67 |
68 self.Controller = controller |
68 self.Controller = controller |
109 self.GraphicsPanel.SetSizer(graphicpanel_sizer) |
109 self.GraphicsPanel.SetSizer(graphicpanel_sizer) |
110 |
110 |
111 pageSize_st = wx.StaticText(self.GraphicsPanel, |
111 pageSize_st = wx.StaticText(self.GraphicsPanel, |
112 label=_('Page Size (optional):')) |
112 label=_('Page Size (optional):')) |
113 graphicpanel_sizer.AddWindow(pageSize_st, border=10, |
113 graphicpanel_sizer.AddWindow(pageSize_st, border=10, |
114 flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.LEFT|wx.RIGHT) |
114 flag=wx.ALIGN_CENTER_VERTICAL | wx.TOP | wx.LEFT | wx.RIGHT) |
115 |
115 |
116 pageSize_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=2, vgap=5) |
116 pageSize_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=2, vgap=5) |
117 pageSize_sizer.AddGrowableCol(1) |
117 pageSize_sizer.AddGrowableCol(1) |
118 graphicpanel_sizer.AddSizer(pageSize_sizer, border=10, |
118 graphicpanel_sizer.AddSizer(pageSize_sizer, border=10, |
119 flag=wx.GROW|wx.LEFT|wx.RIGHT) |
119 flag=wx.GROW | wx.LEFT | wx.RIGHT) |
120 |
120 |
121 for name, label in [('PageWidth', _('Width:')), |
121 for name, label in [('PageWidth', _('Width:')), |
122 ('PageHeight', _('Height:'))]: |
122 ('PageHeight', _('Height:'))]: |
123 st = wx.StaticText(self.GraphicsPanel, label=label) |
123 st = wx.StaticText(self.GraphicsPanel, label=label) |
124 pageSize_sizer.AddWindow(st, border=12, |
124 pageSize_sizer.AddWindow(st, border=12, |
125 flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT) |
125 flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT) |
126 |
126 |
127 sp = wx.SpinCtrl(self.GraphicsPanel, |
127 sp = wx.SpinCtrl(self.GraphicsPanel, |
128 min=0, max=2**16, style=wx.TE_PROCESS_ENTER) |
128 min=0, max=2**16, style=wx.TE_PROCESS_ENTER) |
129 setattr(self, name, sp) |
129 setattr(self, name, sp) |
130 callback = self.GetPageSizeChangedFunction(sp, name) |
130 callback = self.GetPageSizeChangedFunction(sp, name) |
133 pageSize_sizer.AddWindow(sp, flag=wx.GROW) |
133 pageSize_sizer.AddWindow(sp, flag=wx.GROW) |
134 |
134 |
135 scaling_st = wx.StaticText(self.GraphicsPanel, |
135 scaling_st = wx.StaticText(self.GraphicsPanel, |
136 label=_('Grid Resolution:')) |
136 label=_('Grid Resolution:')) |
137 graphicpanel_sizer.AddWindow(scaling_st, border=10, |
137 graphicpanel_sizer.AddWindow(scaling_st, border=10, |
138 flag=wx.GROW|wx.LEFT|wx.RIGHT) |
138 flag=wx.GROW | wx.LEFT | wx.RIGHT) |
139 |
139 |
140 scaling_nb = wx.Notebook(self.GraphicsPanel) |
140 scaling_nb = wx.Notebook(self.GraphicsPanel) |
141 graphicpanel_sizer.AddWindow(scaling_nb, border=10, |
141 graphicpanel_sizer.AddWindow(scaling_nb, border=10, |
142 flag=wx.GROW|wx.BOTTOM|wx.LEFT|wx.RIGHT) |
142 flag=wx.GROW | wx.BOTTOM | wx.LEFT | wx.RIGHT) |
143 |
143 |
144 self.Scalings = {} |
144 self.Scalings = {} |
145 for language, translation in [("FBD", _("FBD")), ("LD", _("LD")), ("SFC", _("SFC"))]: |
145 for language, translation in [("FBD", _("FBD")), ("LD", _("LD")), ("SFC", _("SFC"))]: |
146 scaling_panel = wx.Panel(scaling_nb, style=wx.TAB_TRAVERSAL) |
146 scaling_panel = wx.Panel(scaling_nb, style=wx.TAB_TRAVERSAL) |
147 scalingpanel_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=2, vgap=5) |
147 scalingpanel_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=2, vgap=5) |
156 else: |
156 else: |
157 border = wx.BOTTOM |
157 border = wx.BOTTOM |
158 |
158 |
159 st = wx.StaticText(scaling_panel, label=label) |
159 st = wx.StaticText(scaling_panel, label=label) |
160 scalingpanel_sizer.AddWindow(st, border=10, |
160 scalingpanel_sizer.AddWindow(st, border=10, |
161 flag=wx.ALIGN_CENTER_VERTICAL|border|wx.LEFT) |
161 flag=wx.ALIGN_CENTER_VERTICAL | border | wx.LEFT) |
162 |
162 |
163 sp = wx.SpinCtrl(scaling_panel, |
163 sp = wx.SpinCtrl(scaling_panel, |
164 min=0, max=2**16, style=wx.TE_PROCESS_ENTER) |
164 min=0, max=2**16, style=wx.TE_PROCESS_ENTER) |
165 scaling_controls.append(sp) |
165 scaling_controls.append(sp) |
166 callback = self.GetScalingChangedFunction(sp, language, name) |
166 callback = self.GetScalingChangedFunction(sp, language, name) |
167 self.Bind(wx.EVT_TEXT_ENTER, callback, sp) |
167 self.Bind(wx.EVT_TEXT_ENTER, callback, sp) |
168 sp.Bind(wx.EVT_KILL_FOCUS, callback) |
168 sp.Bind(wx.EVT_KILL_FOCUS, callback) |
169 scalingpanel_sizer.AddWindow(sp, border=10, |
169 scalingpanel_sizer.AddWindow(sp, border=10, |
170 flag=wx.GROW|border|wx.RIGHT) |
170 flag=wx.GROW | border | wx.RIGHT) |
171 |
171 |
172 self.Scalings[language] = scaling_controls |
172 self.Scalings[language] = scaling_controls |
173 scaling_nb.AddPage(scaling_panel, translation) |
173 scaling_nb.AddPage(scaling_panel, translation) |
174 |
174 |
175 self.AddPage(self.GraphicsPanel, _("Graphics")) |
175 self.AddPage(self.GraphicsPanel, _("Graphics")) |
185 self.MiscellaneousPanel.SetSizer(miscellaneouspanel_sizer) |
185 self.MiscellaneousPanel.SetSizer(miscellaneouspanel_sizer) |
186 |
186 |
187 language_label = wx.StaticText(self.MiscellaneousPanel, |
187 language_label = wx.StaticText(self.MiscellaneousPanel, |
188 label=_('Language (optional):')) |
188 label=_('Language (optional):')) |
189 miscellaneouspanel_sizer.AddWindow(language_label, border=10, |
189 miscellaneouspanel_sizer.AddWindow(language_label, border=10, |
190 flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.LEFT) |
190 flag=wx.ALIGN_CENTER_VERTICAL | wx.TOP | wx.LEFT) |
191 |
191 |
192 self.Language = wx.ComboBox(self.MiscellaneousPanel, |
192 self.Language = wx.ComboBox(self.MiscellaneousPanel, |
193 style=wx.CB_READONLY) |
193 style=wx.CB_READONLY) |
194 self.Bind(wx.EVT_COMBOBOX, self.OnLanguageChanged, self.Language) |
194 self.Bind(wx.EVT_COMBOBOX, self.OnLanguageChanged, self.Language) |
195 miscellaneouspanel_sizer.AddWindow(self.Language, border=10, |
195 miscellaneouspanel_sizer.AddWindow(self.Language, border=10, |
196 flag=wx.GROW|wx.TOP|wx.RIGHT) |
196 flag=wx.GROW | wx.TOP | wx.RIGHT) |
197 |
197 |
198 description_label = wx.StaticText(self.MiscellaneousPanel, |
198 description_label = wx.StaticText(self.MiscellaneousPanel, |
199 label=_('Content Description (optional):')) |
199 label=_('Content Description (optional):')) |
200 miscellaneouspanel_sizer.AddWindow(description_label, border=10, |
200 miscellaneouspanel_sizer.AddWindow(description_label, border=10, |
201 flag=wx.BOTTOM|wx.LEFT) |
201 flag=wx.BOTTOM | wx.LEFT) |
202 |
202 |
203 self.ContentDescription = wx.TextCtrl(self.MiscellaneousPanel, |
203 self.ContentDescription = wx.TextCtrl(self.MiscellaneousPanel, |
204 size=wx.Size(240, 150), style=wx.TE_MULTILINE|wx.TE_PROCESS_ENTER) |
204 size=wx.Size(240, 150), style=wx.TE_MULTILINE | wx.TE_PROCESS_ENTER) |
205 self.Bind(wx.EVT_TEXT_ENTER, self.OnContentDescriptionChanged, |
205 self.Bind(wx.EVT_TEXT_ENTER, self.OnContentDescriptionChanged, |
206 self.ContentDescription) |
206 self.ContentDescription) |
207 self.ContentDescription.Bind(wx.EVT_KILL_FOCUS, |
207 self.ContentDescription.Bind(wx.EVT_KILL_FOCUS, |
208 self.OnContentDescriptionChanged) |
208 self.OnContentDescriptionChanged) |
209 miscellaneouspanel_sizer.AddWindow(self.ContentDescription, border=10, |
209 miscellaneouspanel_sizer.AddWindow(self.ContentDescription, border=10, |
210 flag=wx.GROW|wx.BOTTOM|wx.RIGHT) |
210 flag=wx.GROW | wx.BOTTOM | wx.RIGHT) |
211 |
211 |
212 self.AddPage(self.MiscellaneousPanel, _("Miscellaneous")) |
212 self.AddPage(self.MiscellaneousPanel, _("Miscellaneous")) |
213 |
213 |
214 for param in REQUIRED_PARAMS: |
214 for param in REQUIRED_PARAMS: |
215 getattr(self, param).Enable(enable_required) |
215 getattr(self, param).Enable(enable_required) |