29
29
class drColorPanel(wx.Panel):
31
def __init__(self, parent, id, point, size, fg):
32
wx.Panel.__init__(self, parent, id, point, size)
39
self.theSizer = wx.BoxSizer(wx.VERTICAL)
41
self.txtColor = wx.TextCtrl(self, self.ID_COLOR, "", wx.Point(0, 10), wx.Size(100, -1))
43
self.isForeground = fg
45
self.red = wx.Slider(self, self.ID_RED, 0, 0, 255, wx.Point(0, 40), wx.Size(100, 35), wx.SL_HORIZONTAL | wx.SL_LABELS)
46
self.green = wx.Slider(self, self.ID_GREEN, 0, 0, 255, wx.Point(0, 70), wx.Size(100, 35), wx.SL_HORIZONTAL | wx.SL_LABELS)
47
self.blue = wx.Slider(self, self.ID_BLUE, 0, 0, 255, wx.Point(0, 100), wx.Size(100, 35), wx.SL_HORIZONTAL | wx.SL_LABELS)
49
self.theSizer.Add(self.txtColor, 0, wx.SHAPED)
50
self.theSizer.Add(self.red, 0, wx.SHAPED)
51
self.theSizer.Add(self.green, 0, wx.SHAPED)
52
self.theSizer.Add(self.blue, 0, wx.SHAPED)
54
self.SetAutoLayout(True)
55
self.SetSizer(self.theSizer)
57
self.Bind(wx.EVT_SCROLL, self.OnScroll)
58
self.red.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)
59
self.green.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)
60
self.blue.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)
61
self.Bind(wx.EVT_TEXT, self.OnTextChange, id=self.ID_COLOR)
64
return self.txtColor.GetValue()
66
def OnLeftUp(self, event):
67
self.txtColor.SetEditable(True)
70
def OnScroll(self, event):
71
self.txtColor.SetEditable(False)
73
if (i == self.ID_RED):
74
r = self.red.GetValue()
80
text = self.txtColor.GetValue()
81
if (len(text) is not 7):
82
drScrolledMessageDialog.ShowMessage(self, ("The text box above should be formatted as follows:\n#0033AA,\nStart with the # character, followed by 6 characters which can be 0-9 or a-f.\nDrPython will ignore any changes to the color until this is fixed."), "Error")
84
self.txtColor.SetValue(text[0:1] + sr + text[3:])
85
elif (i == self.ID_GREEN):
86
g = self.green.GetValue()
92
text = self.txtColor.GetValue()
93
if (len(text) is not 7):
94
drScrolledMessageDialog.ShowMessage(self, ("The text box above should be formatted as follows:\n#0033AA,\nStart with the # character, followed by 6 characters which can be 0-9 or a-f.\nDrPython will ignore any changes to the color until this is fixed."), "Error")
96
self.txtColor.SetValue(text[0:3] + sr + text[5:])
97
elif (i == self.ID_BLUE):
98
b = self.blue.GetValue()
104
text = self.txtColor.GetValue()
105
if (len(text) is not 7):
106
drScrolledMessageDialog.ShowMessage(self, ("The text box above should be formatted as follows:\n#0033AA,\nStart with the # character, followed by 6 characters which can be 0-9 or a-f.\nDrPython will ignore any changes to the color until this is fixed."), "Error")
108
self.txtColor.SetValue(text[0:5] + sr + text[7:])
111
def OnTextChange(self, event):
112
v = self.txtColor.GetValue()
113
if self.txtColor.IsEditable():
115
self.red.Enable(False)
116
self.green.Enable(False)
117
self.blue.Enable(False)
119
if (v[0] == "#") and (len(v) == 7):
121
self.red.Enable(True)
122
self.green.Enable(True)
123
self.blue.Enable(True)
125
self.red.SetValue(int(v[1:3], 16))
126
self.green.SetValue(int(v[3:5], 16))
127
self.blue.SetValue(int(v[5:7], 16))
129
drScrolledMessageDialog.ShowMessage(self, ("Bad Color Data. Should be in the form #00A3F4\nUse only digits 0-9, characters A-F"), "Error")
131
self.red.Enable(False)
132
self.green.Enable(False)
133
self.blue.Enable(False)
137
if (self.isForeground):
138
self.GetParent().foreground = v
140
self.GetParent().background = v
141
self.GetParent().SetColor()
144
def SetValue(self, colorstring):
145
self.txtColor.SetValue(colorstring)
146
r = int(colorstring[1:3], 16)
147
g = int(colorstring[3:5], 16)
148
b = int(colorstring[5:7], 16)
150
self.green.SetValue(g)
151
self.blue.SetValue(b)
31
def __init__(self, parent, id, point, size, fg):
32
wx.Panel.__init__(self, parent, id, point, size)
39
self.theSizer = wx.BoxSizer(wx.VERTICAL)
41
self.txtColor = wx.TextCtrl(self, self.ID_COLOR, "", wx.Point(0, 10), wx.Size(100, -1))
43
self.isForeground = fg
45
self.red = wx.Slider(self, self.ID_RED, 0, 0, 255, wx.Point(0, 40), wx.Size(100, 35), wx.SL_HORIZONTAL | wx.SL_LABELS)
46
self.green = wx.Slider(self, self.ID_GREEN, 0, 0, 255, wx.Point(0, 70), wx.Size(100, 35), wx.SL_HORIZONTAL | wx.SL_LABELS)
47
self.blue = wx.Slider(self, self.ID_BLUE, 0, 0, 255, wx.Point(0, 100), wx.Size(100, 35), wx.SL_HORIZONTAL | wx.SL_LABELS)
49
self.theSizer.Add(self.txtColor, 0, wx.SHAPED)
50
self.theSizer.Add(self.red, 0, wx.SHAPED)
51
self.theSizer.Add(self.green, 0, wx.SHAPED)
52
self.theSizer.Add(self.blue, 0, wx.SHAPED)
54
self.SetAutoLayout(True)
55
self.SetSizer(self.theSizer)
57
self.Bind(wx.EVT_SCROLL, self.OnScroll)
58
self.red.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)
59
self.green.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)
60
self.blue.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)
61
self.Bind(wx.EVT_TEXT, self.OnTextChange, id=self.ID_COLOR)
64
return self.txtColor.GetValue()
66
def OnLeftUp(self, event):
67
self.txtColor.SetEditable(True)
70
def OnScroll(self, event):
71
self.txtColor.SetEditable(False)
74
r = self.red.GetValue()
80
text = self.txtColor.GetValue()
82
drScrolledMessageDialog.ShowMessage(self, ("The text box above should be formatted as follows:\n#0033AA,\nStart with the # character, followed by 6 characters which can be 0-9 or a-f.\nDrPython will ignore any changes to the color until this is fixed."), "Error")
84
self.txtColor.SetValue(text[0:1] + sr + text[3:])
85
elif i == self.ID_GREEN:
86
g = self.green.GetValue()
92
text = self.txtColor.GetValue()
94
drScrolledMessageDialog.ShowMessage(self, ("The text box above should be formatted as follows:\n#0033AA,\nStart with the # character, followed by 6 characters which can be 0-9 or a-f.\nDrPython will ignore any changes to the color until this is fixed."), "Error")
96
self.txtColor.SetValue(text[0:3] + sr + text[5:])
97
elif i == self.ID_BLUE:
98
b = self.blue.GetValue()
104
text = self.txtColor.GetValue()
106
drScrolledMessageDialog.ShowMessage(self, ("The text box above should be formatted as follows:\n#0033AA,\nStart with the # character, followed by 6 characters which can be 0-9 or a-f.\nDrPython will ignore any changes to the color until this is fixed."), "Error")
108
self.txtColor.SetValue(text[0:5] + sr + text[7:])
111
def OnTextChange(self, event):
112
v = self.txtColor.GetValue()
113
if self.txtColor.IsEditable():
115
self.red.Enable(False)
116
self.green.Enable(False)
117
self.blue.Enable(False)
119
if (v[0] == "#") and (len(v) == 7):
121
self.red.Enable(True)
122
self.green.Enable(True)
123
self.blue.Enable(True)
125
self.red.SetValue(int(v[1:3], 16))
126
self.green.SetValue(int(v[3:5], 16))
127
self.blue.SetValue(int(v[5:7], 16))
129
drScrolledMessageDialog.ShowMessage(self, ("Bad Color Data. Should be in the form #00A3F4\nUse only digits 0-9, characters A-F"), "Error")
131
self.red.Enable(False)
132
self.green.Enable(False)
133
self.blue.Enable(False)
137
if self.isForeground:
138
self.GetParent().foreground = v
140
self.GetParent().background = v
141
self.GetParent().SetColor()
144
def SetValue(self, colorstring):
145
self.txtColor.SetValue(colorstring)
146
r = int(colorstring[1:3], 16)
147
g = int(colorstring[3:5], 16)
148
b = int(colorstring[5:7], 16)
150
self.green.SetValue(g)
151
self.blue.SetValue(b)
153
153
#*****************************************
155
155
class drSeparatorDialog(wx.Dialog):
157
def __init__(self, parent, title):
159
wx.Dialog.__init__(self, parent, -1, title, wx.DefaultPosition, wx.Size(-1, -1))
167
self.favorites = {0:('#000000', '#CAFFFF'), 1:('#000000', '#FFFFC6'), 2:('#000000', '#BEFFC6'),
168
3:('#000000', '#FFA400'), 4:('#00FF00', '#000000')}
170
self.favoritefile = self.parent.userpreferencesdirectory + '/.separator.favorite.colours.dat'
172
self.txtLabel = wx.TextCtrl(self, -1, 'Label', size=wx.Size(300, -1), style=wx.TE_PROCESS_ENTER|wx.TE_RICH2)
174
self.txtLabel.SetSelection(0, 5)
176
self.btn0 = wx.Button(self, 0, '&0', style=wx.BU_EXACTFIT)
177
self.btn1 = wx.Button(self, 1, '&1', style=wx.BU_EXACTFIT)
178
self.btn2 = wx.Button(self, 2, '&2', style=wx.BU_EXACTFIT)
179
self.btn3 = wx.Button(self, 3, '&3', style=wx.BU_EXACTFIT)
180
self.btn4 = wx.Button(self, 4, '&4', style=wx.BU_EXACTFIT)
182
self.btnSave = wx.Button(self, self.ID_SAVE, '&Save Favorite')
184
self.fgPanel = drColorPanel(self, -1, wx.Point(10, 200), wx.Size(400, 350), True)
186
self.bgPanel = drColorPanel(self, -1, wx.Point(220, 200), wx.Size(400, 350), False)
188
self.fgPanel.SetValue('#000000')
189
self.bgPanel.SetValue('#FFFFFF')
191
self.btnCancel = wx.Button(self, self.ID_CANCEL, "&Cancel", wx.Point(5, 0), wx.Size(-1, -1))
192
self.btnOk = wx.Button(self, self.ID_OK, "&Ok", wx.Point(400, 0), wx.Size(-1, -1))
198
self.theSizer = wx.BoxSizer(wx.VERTICAL)
199
self.textSizer = wx.BoxSizer(wx.HORIZONTAL)
200
self.favoritesSizer = wx.BoxSizer(wx.HORIZONTAL)
201
self.panelSizer = wx.BoxSizer(wx.HORIZONTAL)
202
self.buttonSizer = wx.BoxSizer(wx.HORIZONTAL)
204
self.favoritesSizer.Add(self.btn0, 0, wx.SHAPED | wx.ALIGN_CENTER)
205
self.favoritesSizer.Add(self.btn1, 0, wx.SHAPED | wx.ALIGN_CENTER)
206
self.favoritesSizer.Add(self.btn2, 0, wx.SHAPED | wx.ALIGN_CENTER)
207
self.favoritesSizer.Add(self.btn3, 0, wx.SHAPED | wx.ALIGN_CENTER)
208
self.favoritesSizer.Add(self.btn4, 0, wx.SHAPED | wx.ALIGN_CENTER)
209
self.favoritesSizer.Add(self.btnSave, 0, wx.SHAPED | wx.ALIGN_CENTER)
211
self.panelSizer.Add(self.fgPanel, 1, wx.SHAPED)
212
self.panelSizer.Add(self.bgPanel, 1, wx.SHAPED | wx.ALIGN_RIGHT)
214
self.buttonSizer.Add(self.btnCancel, 1, wx.SHAPED)
215
self.buttonSizer.Add(self.btnOk, 1, wx.SHAPED | wx.ALIGN_RIGHT)
217
self.textSizer.Add(self.txtLabel, 1, wx.SHAPED | wx.ALIGN_CENTER)
219
self.theSizer.Add(self.textSizer, 0, wx.SHAPED)
220
self.theSizer.Add(wx.StaticText(self, -1, ' '), 0, wx.SHAPED)
221
self.theSizer.Add(wx.StaticText(self, -1, 'Favorite Colours:'), 0, wx.SHAPED)
222
self.theSizer.Add(self.favoritesSizer, 0, wx.SHAPED)
223
self.theSizer.Add(wx.StaticText(self, -1, ' '), 0, wx.SHAPED)
224
self.theSizer.Add(self.panelSizer, 1, wx.EXPAND)
225
self.theSizer.Add(wx.StaticText(self, -1, ' '), 0, wx.SHAPED)
226
self.theSizer.Add(self.buttonSizer, 0, wx.EXPAND)
228
self.SetAutoLayout(True)
229
self.SetSizerAndFit(self.theSizer)
233
self.Bind(wx.EVT_BUTTON, self.OnbtnCancel, id=self.ID_CANCEL)
234
self.Bind(wx.EVT_BUTTON, self.OnbtnOk, id=self.ID_OK)
235
self.Bind(wx.EVT_BUTTON, self.OnFavorite, id=0)
236
self.Bind(wx.EVT_BUTTON, self.OnFavorite, id=1)
237
self.Bind(wx.EVT_BUTTON, self.OnFavorite, id=2)
238
self.Bind(wx.EVT_BUTTON, self.OnFavorite, id=3)
239
self.Bind(wx.EVT_BUTTON, self.OnFavorite, id=4)
240
self.Bind(wx.EVT_BUTTON, self.OnbtnSave, id=self.ID_SAVE)
241
self.Bind(wx.EVT_CHAR, self.OnChar)
242
self.txtLabel.Bind(wx.EVT_CHAR, self.OnChar)
245
return '#---' + self.txtLabel.GetValue() + '---' + self.fgPanel.GetValue() + self.bgPanel.GetValue() + '---------------------------------'
247
def LoadFavorites(self):
248
if os.path.exists(self.favoritefile):
250
f = file(self.favoritefile, 'rb')
255
result = ExtractPreferenceFromText(text, str(fL))
257
results = result.split(',')
258
if len(results) == 2:
259
self.favorites[fL] = results
261
self.parent.ShowMessage('Error Loading Favorite Colours', 'Error')
263
def OnbtnCancel(self, event):
264
self.EndModal(wx.ID_CANCEL)
266
def OnbtnOk(self, event):
267
self.EndModal(wx.ID_OK)
269
def OnbtnSave(self, event):
270
d = wx.SingleChoiceDialog(self, "Store Current Colour in Which Slot?", "Save Favorite", ['0', '1', '2', '3', '4'], wx.OK|wx.CANCEL)
271
answer = d.ShowModal()
274
if (answer == wx.ID_OK):
276
self.favorites[i] = (self.fgPanel.GetValue(), self.bgPanel.GetValue())
277
f = file(self.favoritefile, 'wb')
279
l = len(self.favorites)
281
f.write('<' + str(x) + '>' + self.favorites[x][0] + ',' + self.favorites[x][1] + '</' + str(x) + '>')
285
self.parent.ShowMessage('Error Saving Favorite Colours', 'Error')
288
def OnChar(self, event):
289
if (event.GetKeyCode() == wx.WXK_ESCAPE):
290
self.OnbtnCancel(event)
291
elif (event.GetKeyCode() == wx.WXK_RETURN):
296
def OnFavorite(self, event):
299
self.fgPanel.SetValue(self.favorites[i][0])
300
self.bgPanel.SetValue(self.favorites[i][1])
303
self.txtLabel.SetForegroundColour(wx.Colour(self.fgPanel.red.GetValue(), self.fgPanel.green.GetValue(), self.fgPanel.blue.GetValue()))
304
self.txtLabel.SetBackgroundColour(wx.Colour(self.bgPanel.red.GetValue(), self.bgPanel.green.GetValue(), self.bgPanel.blue.GetValue()))
157
def __init__(self, parent, title):
159
wx.Dialog.__init__(self, parent, -1, title, wx.DefaultPosition, wx.Size(-1, -1))
167
self.favorites = {0:('#000000', '#CAFFFF'), 1:('#000000', '#FFFFC6'), 2:('#000000', '#BEFFC6'),
168
3:('#000000', '#FFA400'), 4:('#00FF00', '#000000')}
170
self.favoritefile = self.parent.datdirectory + '/.separator.favorite.colours.dat'
172
self.txtLabel = wx.TextCtrl(self, -1, 'Label', size=wx.Size(300, -1), style=wx.TE_PROCESS_ENTER|wx.TE_RICH2)
174
self.txtLabel.SetSelection(0, 5)
176
self.btn0 = wx.Button(self, 0, '&0', style=wx.BU_EXACTFIT)
177
self.btn1 = wx.Button(self, 1, '&1', style=wx.BU_EXACTFIT)
178
self.btn2 = wx.Button(self, 2, '&2', style=wx.BU_EXACTFIT)
179
self.btn3 = wx.Button(self, 3, '&3', style=wx.BU_EXACTFIT)
180
self.btn4 = wx.Button(self, 4, '&4', style=wx.BU_EXACTFIT)
182
self.btnSave = wx.Button(self, self.ID_SAVE, '&Save Favorite')
184
self.fgPanel = drColorPanel(self, -1, wx.Point(10, 200), wx.Size(400, 350), True)
186
self.bgPanel = drColorPanel(self, -1, wx.Point(220, 200), wx.Size(400, 350), False)
188
self.fgPanel.SetValue('#000000')
189
self.bgPanel.SetValue('#FFFFFF')
191
self.btnCancel = wx.Button(self, self.ID_CANCEL, "&Cancel", wx.Point(5, 0), wx.Size(-1, -1))
192
self.btnOk = wx.Button(self, self.ID_OK, "&Ok", wx.Point(400, 0), wx.Size(-1, -1))
198
self.theSizer = wx.BoxSizer(wx.VERTICAL)
199
self.textSizer = wx.BoxSizer(wx.HORIZONTAL)
200
self.favoritesSizer = wx.BoxSizer(wx.HORIZONTAL)
201
self.panelSizer = wx.BoxSizer(wx.HORIZONTAL)
202
self.buttonSizer = wx.BoxSizer(wx.HORIZONTAL)
204
self.favoritesSizer.Add(self.btn0, 0, wx.SHAPED | wx.ALIGN_CENTER)
205
self.favoritesSizer.Add(self.btn1, 0, wx.SHAPED | wx.ALIGN_CENTER)
206
self.favoritesSizer.Add(self.btn2, 0, wx.SHAPED | wx.ALIGN_CENTER)
207
self.favoritesSizer.Add(self.btn3, 0, wx.SHAPED | wx.ALIGN_CENTER)
208
self.favoritesSizer.Add(self.btn4, 0, wx.SHAPED | wx.ALIGN_CENTER)
209
self.favoritesSizer.Add(self.btnSave, 0, wx.SHAPED | wx.ALIGN_CENTER)
211
self.panelSizer.Add(self.fgPanel, 1, wx.SHAPED)
212
self.panelSizer.Add(self.bgPanel, 1, wx.SHAPED | wx.ALIGN_RIGHT)
214
self.buttonSizer.Add(self.btnCancel, 1, wx.SHAPED)
215
self.buttonSizer.Add(self.btnOk, 1, wx.SHAPED | wx.ALIGN_RIGHT)
217
self.textSizer.Add(self.txtLabel, 1, wx.SHAPED | wx.ALIGN_CENTER)
219
self.theSizer.Add(self.textSizer, 0, wx.SHAPED)
220
self.theSizer.Add(wx.StaticText(self, -1, ' '), 0, wx.SHAPED)
221
self.theSizer.Add(wx.StaticText(self, -1, 'Favorite Colours:'), 0, wx.SHAPED)
222
self.theSizer.Add(self.favoritesSizer, 0, wx.SHAPED)
223
self.theSizer.Add(wx.StaticText(self, -1, ' '), 0, wx.SHAPED)
224
self.theSizer.Add(self.panelSizer, 1, wx.EXPAND)
225
self.theSizer.Add(wx.StaticText(self, -1, ' '), 0, wx.SHAPED)
226
self.theSizer.Add(self.buttonSizer, 0, wx.EXPAND)
228
self.SetAutoLayout(True)
229
self.SetSizerAndFit(self.theSizer)
233
self.Bind(wx.EVT_BUTTON, self.OnbtnCancel, id=self.ID_CANCEL)
234
self.Bind(wx.EVT_BUTTON, self.OnbtnOk, id=self.ID_OK)
235
self.Bind(wx.EVT_BUTTON, self.OnFavorite, id=0)
236
self.Bind(wx.EVT_BUTTON, self.OnFavorite, id=1)
237
self.Bind(wx.EVT_BUTTON, self.OnFavorite, id=2)
238
self.Bind(wx.EVT_BUTTON, self.OnFavorite, id=3)
239
self.Bind(wx.EVT_BUTTON, self.OnFavorite, id=4)
240
self.Bind(wx.EVT_BUTTON, self.OnbtnSave, id=self.ID_SAVE)
241
self.Bind(wx.EVT_CHAR, self.OnChar)
242
self.txtLabel.Bind(wx.EVT_CHAR, self.OnChar)
245
return '#---' + self.txtLabel.GetValue() + '---' + self.fgPanel.GetValue() + self.bgPanel.GetValue() + '---------------------------------'
247
def LoadFavorites(self):
248
if os.path.exists(self.favoritefile):
250
f = file(self.favoritefile, 'rb')
255
result = ExtractPreferenceFromText(text, str(fL))
257
results = result.split(',')
258
if len(results) == 2:
259
self.favorites[fL] = results
261
self.parent.ShowMessage('Error Loading Favorite Colours', 'Error')
263
def OnbtnCancel(self, event):
264
self.EndModal(wx.ID_CANCEL)
266
def OnbtnOk(self, event):
267
self.EndModal(wx.ID_OK)
269
def OnbtnSave(self, event):
270
d = wx.SingleChoiceDialog(self, "Store Current Colour in Which Slot?", "Save Favorite", ['0', '1', '2', '3', '4'], wx.OK|wx.CANCEL)
271
answer = d.ShowModal()
274
if answer == wx.ID_OK:
276
self.favorites[i] = (self.fgPanel.GetValue(), self.bgPanel.GetValue())
277
f = file(self.favoritefile, 'wb')
279
l = len(self.favorites)
281
f.write('<' + str(x) + '>' + self.favorites[x][0] + ',' + self.favorites[x][1] + '</' + str(x) + '>')
285
self.parent.ShowMessage('Error Saving Favorite Colours', 'Error')
288
def OnChar(self, event):
289
if event.GetKeyCode() == wx.WXK_ESCAPE:
290
self.OnbtnCancel(event)
291
elif event.GetKeyCode() == wx.WXK_RETURN:
296
def OnFavorite(self, event):
299
self.fgPanel.SetValue(self.favorites[i][0])
300
self.bgPanel.SetValue(self.favorites[i][1])
303
self.txtLabel.SetForegroundColour(wx.Colour(self.fgPanel.red.GetValue(), self.fgPanel.green.GetValue(), self.fgPanel.blue.GetValue()))
304
self.txtLabel.SetBackgroundColour(wx.Colour(self.bgPanel.red.GetValue(), self.bgPanel.green.GetValue(), self.bgPanel.blue.GetValue()))
306
306
#*****************************************
308
308
class drSimpleStyleDialog(wx.Dialog):
310
def __init__(self, parent, id, title, stylestring, defaultstylestring, ChangeSpec = 0):
312
wx.Dialog.__init__(self, parent, id, title, wx.DefaultPosition, wx.Size(-1, -1))
322
self.ID_UNDERLINE = 111
324
self.Enum = wx.FontEnumerator()
325
self.Enum.EnumerateFacenames()
326
self.FontList = self.Enum.GetFacenames()
331
self.font = getStyleProperty("face", stylestring)
332
if (len(self.font) <= 0):
333
self.font = getStyleProperty("face", defaultstylestring)
334
self.size = getStyleProperty("size", stylestring)
335
if (len(self.size) <= 0):
336
self.size = getStyleProperty("size", defaultstylestring)
337
self.foreground = getStyleProperty("fore", stylestring)
338
if (len(self.foreground) <= 0):
339
self.foreground = getStyleProperty("fore", defaultstylestring)
340
self.background = getStyleProperty("back", stylestring)
341
if (len(self.background) <= 0):
342
self.background = getStyleProperty("back", defaultstylestring)
343
self.bold = getStyleProperty("bold", stylestring)
344
self.italic = getStyleProperty("italic", stylestring)
345
self.underline = getStyleProperty("underline", stylestring)
346
self.txtPreview = wx.stc.StyledTextCtrl(self, id, wx.Point(225, 15), wx.Size(225, 150))
349
self.font = getStyleProperty("face", defaultstylestring)
350
self.size = getStyleProperty("size", defaultstylestring)
351
if (ChangeSpec == 1):
352
self.background = getStyleProperty("back", defaultstylestring)
353
elif (ChangeSpec == 3):
354
self.foreground = getStyleProperty("fore", defaultstylestring)
356
if self.font not in self.FontList:
357
f1 = string.capwords(self.font)
358
f2 = string.lower(self.font)
359
if f1 in self.FontList:
361
elif f2 in self.FontList:
365
self.FontList.index(self.font)
367
drScrolledMessageDialog.ShowMessage(self, ("Current Font (" + self.font + ") is not in the fontlist. \nSetting to the default."), "Error")
368
self.font = 'courier'
371
self.FontList.index(self.font)
373
self.font = 'Courier'
375
self.FontList.index(self.font)
377
drScrolledMessageDialog.ShowMessage(self, ("Something is quite screwy with fonts on your system.\nNo font will be selected.\nSelect one from the list manually."), "Error")
379
self.txtPreview.SetText("Preview\n()[]{}\n0123")
380
self.txtPreview.SetUseHorizontalScrollBar(0)
382
self.txtPreview.SetReadOnly(1)
383
self.txtPreview.SetMarginWidth(0, 0)
384
self.txtPreview.SetMarginWidth(1, 0)
385
self.txtPreview.SetMarginWidth(2, 0)
387
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
389
self.txtPreview.StyleClearAll()
391
self.txtPreview.StartStyling(0, 0xff)
393
self.boxFonts = wx.ListBox(self, self.ID_FONTS, wx.Point(10, 10), wx.Size(250, 250), self.FontList)
396
self.boxFonts.SetStringSelection(self.font)
398
drScrolledMessageDialog.ShowMessage(self, ("Something awful happened trying to \nset the font to the default."), "Error")
399
self.boxFonts.SetSelection(0)
401
self.boxSize = wx.ComboBox(self, self.ID_SIZE, self.size, wx.Point(10, 175), wx.Size(150, 50), ['8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30'])
403
self.fgPanel = drColorPanel(self, id, wx.Point(10, 200), wx.Size(400, 225), True)
404
self.fgPanel.SetValue(self.foreground)
405
self.bgPanel = drColorPanel(self, id, wx.Point(220, 200), wx.Size(400, 225), False)
406
self.bgPanel.SetValue(self.background)
408
self.chkBold = wx.CheckBox(self, self.ID_BOLD, "Bold", wx.Point(10, 345))
409
if (len(self.bold) > 0):
410
self.chkBold.SetValue(1)
411
self.chkItalic = wx.CheckBox(self, self.ID_ITALIC, "Italic", wx.Point(110, 345))
412
if (len(self.italic) > 0):
413
self.chkItalic.SetValue(1)
414
self.chkUnderline = wx.CheckBox(self, self.ID_UNDERLINE, "Underline", wx.Point(210, 345))
415
if (len(self.underline) > 0):
416
self.chkUnderline.SetValue(1)
419
self.boxFonts.Enable(False)
420
self.boxSize.Enable(False)
421
self.chkBold.Enable(False)
422
self.chkItalic.Enable(False)
423
self.chkUnderline.Enable(False)
424
if (ChangeSpec == 1):
425
self.bgPanel.Enable(False)
426
elif (ChangeSpec == 3):
427
self.fgPanel.Enable(False)
429
self.btnCancel = wx.Button(self, self.ID_CANCEL, "&Cancel", wx.Point(5, 0), wx.Size(-1, -1))
430
self.btnOk = wx.Button(self, self.ID_OK, "&Ok", wx.Point(300, 0), wx.Size(-1, -1))
434
self.theSizer = wx.FlexGridSizer(2, 2, 5, 1)
435
self.styleSizerLeft = wx.BoxSizer(wx.VERTICAL)
436
self.styleSizerRight = wx.BoxSizer(wx.VERTICAL)
438
self.styleSizerLeft.Add(wx.StaticText(self, -1, "Font:"), 0, wx.SHAPED)
439
self.styleSizerLeft.Add(self.boxFonts, 0, wx.SHAPED)
440
self.styleSizerLeft.Add(wx.StaticText(self, -1, "Size:"), 0, wx.SHAPED)
441
self.styleSizerLeft.Add(self.boxSize, 0, wx.SHAPED)
443
self.styleSizerLeft.Add(self.chkBold, 0, wx.SHAPED)
444
self.styleSizerLeft.Add(wx.StaticText(self, -1, " "), 0, wx.SHAPED)
445
self.styleSizerLeft.Add(self.chkItalic, 0, wx.SHAPED)
446
self.styleSizerLeft.Add(wx.StaticText(self, -1, " "), 0, wx.SHAPED)
447
self.styleSizerLeft.Add(self.chkUnderline, 0, wx.SHAPED)
449
self.styleSizerRight.Add(self.txtPreview, 0, wx.SHAPED)
450
self.styleSizerRight.Add(wx.StaticText(self, -1, 'Foreground:'), 0, wx.SHAPED)
451
self.styleSizerRight.Add(self.fgPanel, 0, wx.SHAPED)
452
self.styleSizerRight.Add(wx.StaticText(self, -1, 'Background:'), 0, wx.SHAPED)
453
self.styleSizerRight.Add(self.bgPanel, 1, wx.SHAPED)
455
self.theSizer.Add(self.styleSizerLeft, 0, wx.SHAPED)
456
self.theSizer.Add(self.styleSizerRight, 0, wx.SHAPED)
457
self.theSizer.Add(self.btnCancel, 0, wx.SHAPED)
458
self.theSizer.Add(self.btnOk, 0, wx.SHAPED | wx.ALIGN_RIGHT)
460
self.SetAutoLayout(True)
461
self.SetSizerAndFit(self.theSizer)
463
self.btnCancel.SetDefault()
467
self.Bind(wx.EVT_LISTBOX, self.OnFontSelect, id=self.ID_FONTS)
468
self.Bind(wx.EVT_COMBOBOX, self.OnSizeSelect, id=self.ID_SIZE)
469
self.Bind(wx.EVT_TEXT, self.OnChangeSize, id=self.ID_SIZE)
470
self.Bind(wx.EVT_CHECKBOX, self.OnBold, id=self.ID_BOLD)
471
self.Bind(wx.EVT_CHECKBOX, self.OnItalic, id=self.ID_ITALIC)
472
self.Bind(wx.EVT_CHECKBOX, self.OnUnderline, id=self.ID_UNDERLINE)
473
self.Bind(wx.EVT_BUTTON, self.OnbtnCancel, id=self.ID_CANCEL)
474
self.Bind(wx.EVT_BUTTON, self.OnbtnOk, id=self.ID_OK)
476
def OnChangeSize(self, event):
477
self.size = self.boxSize.GetValue()
478
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
479
self.txtPreview.StyleClearAll()
480
self.txtPreview.StartStyling(0, 0xff)
482
def OnFontSelect(self, event):
483
self.font = self.boxFonts.GetStringSelection()
484
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
485
self.txtPreview.StyleClearAll()
486
self.txtPreview.StartStyling(0, 0xff)
488
def OnSizeSelect(self, event):
489
self.size = self.boxSize.GetStringSelection()
490
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
491
self.txtPreview.StyleClearAll()
492
self.txtPreview.StartStyling(0, 0xff)
495
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
496
self.txtPreview.StyleClearAll()
497
self.txtPreview.StartStyling(0, 0xff)
499
def OnBold(self, event):
500
if (self.chkBold.IsChecked()):
504
self.txtPreview.StyleResetDefault()
505
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
506
self.txtPreview.StyleClearAll()
507
self.txtPreview.StartStyling(0, 0xff)
509
def OnItalic(self, event):
510
if (self.chkItalic.IsChecked()):
511
self.italic = "italic"
514
self.txtPreview.StyleResetDefault()
515
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
516
self.txtPreview.StyleClearAll()
517
self.txtPreview.StartStyling(0, 0xff)
519
def OnUnderline(self, event):
520
if (self.chkUnderline.IsChecked()):
521
self.underline = "underline"
524
self.txtPreview.StyleResetDefault()
525
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
526
self.txtPreview.StyleClearAll()
527
self.txtPreview.StartStyling(0, 0xff)
529
def OnbtnCancel(self, event):
532
def OnbtnOk(self, event):
539
def GetBackground(self):
540
return self.background
542
def GetColorString(self):
543
return ("fore:" + self.foreground + ",back:" + self.background)
545
def GetForeground(self):
546
return self.foreground
548
def GetStyleString(self):
549
return ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline)
310
def __init__(self, parent, id, title, stylestring, defaultstylestring, ChangeSpec = 0):
312
wx.Dialog.__init__(self, parent, id, title, wx.DefaultPosition, wx.Size(-1, -1))
322
self.ID_UNDERLINE = 111
324
self.Enum = wx.FontEnumerator()
325
self.Enum.EnumerateFacenames()
326
self.FontList = self.Enum.GetFacenames()
331
self.font = getStyleProperty("face", stylestring)
333
self.font = getStyleProperty("face", defaultstylestring)
334
self.size = getStyleProperty("size", stylestring)
336
self.size = getStyleProperty("size", defaultstylestring)
337
self.foreground = getStyleProperty("fore", stylestring)
338
if not self.foreground:
339
self.foreground = getStyleProperty("fore", defaultstylestring)
340
self.background = getStyleProperty("back", stylestring)
341
if not self.background:
342
self.background = getStyleProperty("back", defaultstylestring)
343
self.bold = getStyleProperty("bold", stylestring)
344
self.italic = getStyleProperty("italic", stylestring)
345
self.underline = getStyleProperty("underline", stylestring)
346
self.txtPreview = wx.stc.StyledTextCtrl(self, id, wx.Point(225, 15), wx.Size(225, 150))
349
self.font = getStyleProperty("face", defaultstylestring)
350
self.size = getStyleProperty("size", defaultstylestring)
352
self.background = getStyleProperty("back", defaultstylestring)
353
elif ChangeSpec == 3:
354
self.foreground = getStyleProperty("fore", defaultstylestring)
356
if self.font not in self.FontList:
359
options=['Courier','Courier 10 Pitch','Monospace','Sans','']
361
if font in self.FontList:
364
drScrolledMessageDialog.ShowMessage(self, ("Default font [%s] not found! \nChoosed [%s] instead." %(old,self.font)), "Error")
366
self.txtPreview.SetText("Preview\n()[]{}\n0123")
367
self.txtPreview.SetUseHorizontalScrollBar(0)
369
self.txtPreview.SetReadOnly(1)
370
self.txtPreview.SetMarginWidth(0, 0)
371
self.txtPreview.SetMarginWidth(1, 0)
372
self.txtPreview.SetMarginWidth(2, 0)
374
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
376
self.txtPreview.StyleClearAll()
378
self.txtPreview.StartStyling(0, 0xff)
380
self.boxFonts = wx.ListBox(self, self.ID_FONTS, wx.Point(10, 10), wx.Size(250, 250), self.FontList)
383
#self.boxFonts.SetStringSelection(self.font)
384
i=self.boxFonts.FindString(self.font)
387
self.boxFonts.Select(i)
388
#self.boxFonts.EnsureVisible(i) # Bug: Doesn't work
389
self.boxFonts.SetFirstItem(i)
395
drScrolledMessageDialog.ShowMessage(self, ("Something awful happened trying to \nset the font to the default."), "Error")
396
self.boxFonts.SetSelection(0)
398
self.boxSize = wx.ComboBox(self, self.ID_SIZE, self.size, wx.Point(10, 175), wx.Size(150, 50), ['8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30'])
400
self.fgPanel = drColorPanel(self, id, wx.Point(10, 200), wx.Size(400, 225), True)
401
self.fgPanel.SetValue(self.foreground)
402
self.bgPanel = drColorPanel(self, id, wx.Point(220, 200), wx.Size(400, 225), False)
403
self.bgPanel.SetValue(self.background)
405
self.chkBold = wx.CheckBox(self, self.ID_BOLD, "Bold", wx.Point(10, 345))
407
self.chkBold.SetValue(1)
408
self.chkItalic = wx.CheckBox(self, self.ID_ITALIC, "Italic", wx.Point(110, 345))
410
self.chkItalic.SetValue(1)
411
self.chkUnderline = wx.CheckBox(self, self.ID_UNDERLINE, "Underline", wx.Point(210, 345))
413
self.chkUnderline.SetValue(1)
416
self.boxFonts.Enable(False)
417
self.boxSize.Enable(False)
418
self.chkBold.Enable(False)
419
self.chkItalic.Enable(False)
420
self.chkUnderline.Enable(False)
422
self.bgPanel.Enable(False)
423
elif ChangeSpec == 3:
424
self.fgPanel.Enable(False)
426
self.btnCancel = wx.Button(self, self.ID_CANCEL, "&Cancel", wx.Point(5, 0), wx.Size(-1, -1))
427
self.btnOk = wx.Button(self, self.ID_OK, "&Ok", wx.Point(300, 0), wx.Size(-1, -1))
431
self.theSizer = wx.FlexGridSizer(2, 2, 5, 1)
432
self.styleSizerLeft = wx.BoxSizer(wx.VERTICAL)
433
self.styleSizerRight = wx.BoxSizer(wx.VERTICAL)
435
self.styleSizerLeft.Add(wx.StaticText(self, -1, "Font:"), 0, wx.ALL|wx.SHAPED,4)
436
self.styleSizerLeft.Add(self.boxFonts, 0, wx.ALL|wx.SHAPED,4)
437
self.styleSizerLeft.Add(wx.StaticText(self, -1, "Size:"), 0, wx.ALL|wx.SHAPED,4)
438
self.styleSizerLeft.Add(self.boxSize, 0, wx.ALL|wx.SHAPED,4)
440
self.styleSizerLeft.Add(self.chkBold, 0, wx.ALL|wx.SHAPED,4)
441
self.styleSizerLeft.Add(wx.StaticText(self, -1, " "), 0, wx.ALL|wx.SHAPED,4)
442
self.styleSizerLeft.Add(self.chkItalic, 0, wx.ALL|wx.SHAPED,4)
443
self.styleSizerLeft.Add(wx.StaticText(self, -1, " "), 0, wx.ALL|wx.SHAPED,4)
444
self.styleSizerLeft.Add(self.chkUnderline, 0, wx.ALL|wx.SHAPED,4)
446
self.styleSizerRight.Add(self.txtPreview, 0, wx.ALL|wx.SHAPED,4)
447
self.styleSizerRight.Add(wx.StaticText(self, -1, 'Foreground:'), 0, wx.ALL|wx.SHAPED,4)
448
self.styleSizerRight.Add(self.fgPanel, 0, wx.ALL|wx.SHAPED,4)
449
self.styleSizerRight.Add(wx.StaticText(self, -1, 'Background:'), 0, wx.ALL|wx.SHAPED,4)
450
self.styleSizerRight.Add(self.bgPanel, 1, wx.ALL|wx.SHAPED,4)
452
self.theSizer.Add(self.styleSizerLeft, 0, wx.ALL|wx.SHAPED,4)
453
self.theSizer.Add(self.styleSizerRight, 0, wx.ALL|wx.SHAPED,4)
454
self.theSizer.Add(self.btnCancel, 0, wx.ALL|wx.SHAPED|wx.ALIGN_RIGHT,4)
455
self.theSizer.Add(self.btnOk, 0, wx.ALL | wx.SHAPED|wx.ALIGN_LEFT ,4)
457
self.SetAutoLayout(True)
458
self.SetSizerAndFit(self.theSizer)
460
self.btnCancel.SetDefault()
464
self.Bind(wx.EVT_LISTBOX, self.OnFontSelect, id=self.ID_FONTS)
465
self.Bind(wx.EVT_COMBOBOX, self.OnSizeSelect, id=self.ID_SIZE)
466
self.Bind(wx.EVT_TEXT, self.OnChangeSize, id=self.ID_SIZE)
467
self.Bind(wx.EVT_CHECKBOX, self.OnBold, id=self.ID_BOLD)
468
self.Bind(wx.EVT_CHECKBOX, self.OnItalic, id=self.ID_ITALIC)
469
self.Bind(wx.EVT_CHECKBOX, self.OnUnderline, id=self.ID_UNDERLINE)
470
self.Bind(wx.EVT_BUTTON, self.OnbtnCancel, id=self.ID_CANCEL)
471
self.Bind(wx.EVT_BUTTON, self.OnbtnOk, id=self.ID_OK)
473
def OnChangeSize(self, event):
474
self.size = self.boxSize.GetValue()
475
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
476
self.txtPreview.StyleClearAll()
477
self.txtPreview.StartStyling(0, 0xff)
479
def OnFontSelect(self, event):
480
self.font = self.boxFonts.GetStringSelection()
481
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
482
self.txtPreview.StyleClearAll()
483
self.txtPreview.StartStyling(0, 0xff)
485
def OnSizeSelect(self, event):
486
self.size = self.boxSize.GetStringSelection()
487
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
488
self.txtPreview.StyleClearAll()
489
self.txtPreview.StartStyling(0, 0xff)
492
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
493
self.txtPreview.StyleClearAll()
494
self.txtPreview.StartStyling(0, 0xff)
496
def OnBold(self, event):
497
if self.chkBold.IsChecked():
501
self.txtPreview.StyleResetDefault()
502
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
503
self.txtPreview.StyleClearAll()
504
self.txtPreview.StartStyling(0, 0xff)
506
def OnItalic(self, event):
507
if self.chkItalic.IsChecked():
508
self.italic = "italic"
511
self.txtPreview.StyleResetDefault()
512
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
513
self.txtPreview.StyleClearAll()
514
self.txtPreview.StartStyling(0, 0xff)
516
def OnUnderline(self, event):
517
if self.chkUnderline.IsChecked():
518
self.underline = "underline"
521
self.txtPreview.StyleResetDefault()
522
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
523
self.txtPreview.StyleClearAll()
524
self.txtPreview.StartStyling(0, 0xff)
526
def OnbtnCancel(self, event):
529
def OnbtnOk(self, event):
536
def GetBackground(self):
537
return self.background
539
def GetColorString(self):
540
return ("fore:" + self.foreground + ",back:" + self.background)
542
def GetForeground(self):
543
return self.foreground
545
def GetStyleString(self):
546
return ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline)
551
548
class drStyleDialog(wx.Dialog):
553
def __init__(self, parent, id, title, isPrompt = False):
555
wx.Dialog.__init__(self, parent, id, title, wx.DefaultPosition, wx.Size(640, 480))
557
self.ancestor = parent.grandparent.parent
567
self.ID_UNDERLINE = 111
570
self.ID_LANGUAGE = 122
575
self.txtPromptStyleDictionary = self.ancestor.prefs.txtPromptStyleDictionary.copy()
577
self.PythonStyleDictionary = self.ancestor.prefs.PythonStyleDictionary.copy()
578
self.CPPStyleDictionary = self.ancestor.prefs.CPPStyleDictionary.copy()
579
self.HTMLStyleDictionary = self.ancestor.prefs.HTMLStyleDictionary.copy()
581
self.targetArray = []
585
self.Enum = wx.FontEnumerator()
586
self.Enum.EnumerateFacenames()
587
self.FontList = self.Enum.GetFacenames()
590
self.txtPreview = wx.stc.StyledTextCtrl(self, id, wx.Point(225, 15), wx.Size(225, 125))
594
self.isPrompt = isPrompt
596
i = self.ancestor.txtDocument.filetype
599
self.boxLanguage = wx.Choice(self, self.ID_LANGUAGE, wx.Point(150, 135), wx.Size(-1, -1), ["Python", "C/C++", "HTML"])
600
self.boxLanguage.SetSelection(i)
603
self.boxLanguage.Enable(False)
605
self.txtPreview.SetText("Preview\n()[]{}\n0123")
606
self.txtPreview.SetUseHorizontalScrollBar(0)
608
self.txtPreview.SetMarginWidth(0, 0)
609
self.txtPreview.SetMarginWidth(1, 0)
610
self.txtPreview.SetMarginWidth(2, 0)
612
self.txtPreview.SetReadOnly(1)
614
self.boxFonts = wx.ListBox(self, self.ID_FONTS, wx.DefaultPosition, wx.Size(200, 250), self.FontList)
616
self.boxSize = wx.ComboBox(self, self.ID_SIZE, "10", wx.DefaultPosition, wx.Size(150, 50), ['8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30'])
618
self.fgPanel = drColorPanel(self, id, wx.DefaultPosition, wx.Size(400, 225), True)
619
self.bgPanel = drColorPanel(self, id, wx.DefaultPosition, wx.Size(400, 225), False)
621
self.chkBold = wx.CheckBox(self, self.ID_BOLD, "Bold")
622
self.chkItalic = wx.CheckBox(self, self.ID_ITALIC, "Italic")
623
self.chkUnderline = wx.CheckBox(self, self.ID_UNDERLINE, "Underline")
625
self.btnCancel = wx.Button(self, self.ID_CANCEL, "&Cancel")
626
self.btnCancel.SetDefault()
627
self.btnOk = wx.Button(self, self.ID_OK, "&Ok")
629
self.boxStyle = wx.ListBox(self, self.ID_STYLE, wx.DefaultPosition, wx.Size(150, 350), "")
633
self.theSizer = wx.FlexGridSizer(2, 3, 5, 1)
634
self.selectSizer = wx.FlexGridSizer(3, 3, 5, 10)
635
self.listSizer = wx.BoxSizer(wx.HORIZONTAL)
636
self.styleSizerLeft = wx.BoxSizer(wx.VERTICAL)
637
self.styleSizerRight = wx.BoxSizer(wx.VERTICAL)
639
self.styleSizerLeft.Add(wx.StaticText(self, -1, "Font:"), 0, wx.SHAPED)
640
self.styleSizerLeft.Add(self.boxFonts, 0, wx.SHAPED)
641
self.styleSizerLeft.Add(wx.StaticText(self, -1, "Size:"), 0, wx.SHAPED)
642
self.styleSizerLeft.Add(self.boxSize, 0, wx.SHAPED)
644
self.styleSizerLeft.Add(self.chkBold, 0, wx.SHAPED)
645
self.styleSizerLeft.Add(wx.StaticText(self, -1, " "), 0, wx.SHAPED)
646
self.styleSizerLeft.Add(self.chkItalic, 0, wx.SHAPED)
647
self.styleSizerLeft.Add(wx.StaticText(self, -1, " "), 0, wx.SHAPED)
648
self.styleSizerLeft.Add(self.chkUnderline, 0, wx.SHAPED)
650
self.styleSizerRight.Add(self.txtPreview, 0, wx.SHAPED)
651
self.styleSizerRight.Add(wx.StaticText(self, -1, 'Foreground:'), 0, wx.SHAPED)
652
self.styleSizerRight.Add(self.fgPanel, 0, wx.SHAPED)
653
self.styleSizerRight.Add(wx.StaticText(self, -1, 'Background:'), 0, wx.SHAPED)
654
self.styleSizerRight.Add(self.bgPanel, 1, wx.SHAPED)
656
self.listSizer.Add(wx.StaticText(self, -1, "Language: "), 0, wx.ALIGN_CENTER | wx.SHAPED)
657
self.listSizer.Add(self.boxLanguage, 0, wx.ALIGN_CENTER | wx.SHAPED)
659
self.selectSizer.Add(wx.StaticText(self, -1, ""), 0, wx.ALIGN_LEFT | wx.SHAPED)
660
self.selectSizer.Add(self.listSizer, 0, wx.ALIGN_LEFT | wx.SHAPED)
661
self.selectSizer.Add(wx.StaticText(self, -1, " "), 0, wx.ALIGN_LEFT | wx.SHAPED)
663
self.selectSizer.Add(wx.StaticText(self, -1, ""), 0, wx.ALIGN_LEFT | wx.SHAPED)
664
self.selectSizer.Add(wx.StaticText(self, -1, "Text Type:"), 0, wx.ALIGN_LEFT | wx.SHAPED)
665
self.selectSizer.Add(wx.StaticText(self, -1, " "), 0, wx.ALIGN_LEFT | wx.SHAPED)
667
self.selectSizer.Add(wx.StaticText(self, -1, ""), 0, wx.ALIGN_CENTER | wx.SHAPED)
668
self.selectSizer.Add(self.boxStyle, 1, wx.SHAPED | wx.ALIGN_CENTER)
669
self.selectSizer.Add(wx.StaticText(self, -1, ""), 1, wx.SHAPED | wx.ALIGN_CENTER)
671
self.theSizer.Add(self.selectSizer, 0, wx.SHAPED)
672
self.theSizer.Add(self.styleSizerLeft, 0, wx.SHAPED)
673
self.theSizer.Add(self.styleSizerRight, 0, wx.SHAPED)
674
self.theSizer.Add(self.btnCancel, 0, wx.SHAPED | wx.ALIGN_CENTER)
675
self.theSizer.Add(wx.StaticText(self, -1, ""), 0, wx.SHAPED)
676
self.theSizer.Add(self.btnOk, 1, wx.SHAPED | wx.ALIGN_CENTER)
678
self.SetAutoLayout(True)
679
self.SetSizer(self.theSizer)
683
self.OnSelectLanguage(None)
685
self.Bind(wx.EVT_LISTBOX, self.OnFontSelect, id=self.ID_FONTS)
686
self.Bind(wx.EVT_LISTBOX, self.OnSelectStyle, id=self.ID_STYLE)
687
self.Bind(wx.EVT_CHOICE, self.OnSelectLanguage, id=self.ID_LANGUAGE)
688
self.Bind(wx.EVT_COMBOBOX, self.OnSizeSelect, id=self.ID_SIZE)
689
self.Bind(wx.EVT_TEXT, self.OnChangeSize, id=self.ID_SIZE)
690
self.Bind(wx.EVT_CHECKBOX, self.OnBold, id=self.ID_BOLD)
691
self.Bind(wx.EVT_CHECKBOX, self.OnItalic, id=self.ID_ITALIC)
692
self.Bind(wx.EVT_CHECKBOX, self.OnUnderline, id=self.ID_UNDERLINE)
693
self.Bind(wx.EVT_BUTTON, self.OnbtnCancel, id=self.ID_CANCEL)
694
self.Bind(wx.EVT_BUTTON, self.OnbtnOk, id=self.ID_OK)
696
def OnChangeSize(self, event):
697
self.size = self.boxSize.GetValue()
698
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
699
self.txtPreview.StyleClearAll()
700
self.txtPreview.StartStyling(0, 0xff)
702
def OnFontSelect(self, event):
703
self.font = self.boxFonts.GetStringSelection()
704
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
705
self.txtPreview.StyleClearAll()
706
self.txtPreview.StartStyling(0, 0xff)
708
def OnSizeSelect(self, event):
709
self.size = self.boxSize.GetStringSelection()
710
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
711
self.txtPreview.StyleClearAll()
712
self.txtPreview.StartStyling(0, 0xff)
715
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
716
self.txtPreview.StyleClearAll()
717
self.txtPreview.StartStyling(0, 0xff)
719
def OnBold(self, event):
720
if (self.chkBold.IsChecked()):
724
self.txtPreview.StyleResetDefault()
725
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
726
self.txtPreview.StyleClearAll()
727
self.txtPreview.StartStyling(0, 0xff)
729
def OnItalic(self, event):
730
if (self.chkItalic.IsChecked()):
731
self.italic = "italic"
734
self.txtPreview.StyleResetDefault()
735
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
736
self.txtPreview.StyleClearAll()
737
self.txtPreview.StartStyling(0, 0xff)
739
def OnUnderline(self, event):
740
if (self.chkUnderline.IsChecked()):
741
self.underline = "underline"
744
self.txtPreview.StyleResetDefault()
745
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
746
self.txtPreview.StyleClearAll()
747
self.txtPreview.StartStyling(0, 0xff)
749
def OnbtnCancel(self, event):
752
def OnbtnOk(self, event):
754
if (self.ChangeSpec == 0):
755
self.targetArray[self.last] = self.GetStyleString()
756
elif (self.ChangeSpec == 1):
757
self.targetArray[self.last] = self.GetForeground()
758
elif (self.ChangeSpec == 2):
759
self.targetArray[self.last] = self.GetColorString()
760
elif (self.ChangeSpec == 3):
761
self.targetArray[self.last] = self.GetBackground()
772
return self.txtPromptStyleDictionary
773
return self.PythonStyleDictionary, self.CPPStyleDictionary, self.HTMLStyleDictionary
775
def GetBackground(self):
776
return self.background
778
def GetColorString(self):
779
return ("fore:" + self.foreground + ",back:" + self.background)
781
def GetForeground(self):
782
return self.foreground
784
def GetStyleString(self):
785
return ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline)
787
def OnSelectLanguage(self, event):
788
sel = self.boxLanguage.GetSelection()
791
if (self.ChangeSpec == 0):
792
self.targetArray[self.last] = self.GetStyleString()
793
elif (self.ChangeSpec == 1):
794
self.targetArray[self.last] = self.GetForeground()
795
elif (self.ChangeSpec == 2):
796
self.targetArray[self.last] = self.GetColorString()
797
elif (self.ChangeSpec == 3):
798
self.targetArray[self.last] = self.GetBackground()
800
#This will happen the first time this function is called.
804
self.targetArray = self.txtPromptStyleDictionary
805
array = ["Normal", "Line Number (Margin)", "Brace-Selected (Match)", "Brace-Selected (No Match)", "Character (Single Quoted String)", "Class Name", "Comment", "Comment Block", "Function Name", "Keyword", "Number", "Operator", "String", "String EOL", "Triple Quoted String", "Caret Foreground", "Selection"]
808
self.targetArray = self.CPPStyleDictionary
809
array = ["Normal", "Line Number (Margin)", "Brace-Selected (Match)", "Brace-Selected (No Match)", "Character", "Preprocessor", "Comment", "Verbatim", "Keyword", "C Identifier", "Number", "Operator", "String", "String EOL", "Global Class", "Regex", "UUID", "Caret Foreground", "Selection", "Folding", "Long Line Indicator"]
811
self.targetArray = self.HTMLStyleDictionary
812
array = ["Normal", "Line Number (Margin)", "Brace-Selected (Match)", "Brace-Selected (No Match)", "Tag", "Unkown Tag", "Atrribute", "Unkown Attribute", "Number", "String", "Character (Single Quoted String)", "Comment", "Entity", "Tag End", "XML Start", "XML End", "Script", "Value", "Caret Foreground", "Selection", "Folding", "Long Line Indicator", "Current Line Highlight"]
814
self.targetArray = self.PythonStyleDictionary
815
array = ["Normal", "Line Number (Margin)", "Brace-Selected (Match)", "Brace-Selected (No Match)", "Character (Single Quoted String)", "Class Name", "Comment", "Comment Block", "Function Name", "Keyword", "Number", "Operator", "String", "String EOL", "Triple Quoted String", "Caret Foreground", "Selection", "Folding", "Long Line Indicator", "Current Line Highlight", "Indentation Guide"]
819
self.boxStyle.Set(array)
820
self.boxStyle.SetSelection(0)
821
self.OnSelectStyle(event)
823
def OnSelectStyle(self, event):
824
current = self.boxStyle.GetSelection()
825
seltext = self.boxStyle.GetStringSelection()
828
if (self.ChangeSpec == 0):
829
self.targetArray[self.last] = self.GetStyleString()
830
elif (self.ChangeSpec == 1):
831
self.targetArray[self.last] = self.GetForeground()
832
elif (self.ChangeSpec == 2):
833
self.targetArray[self.last] = self.GetColorString()
834
elif (self.ChangeSpec == 3):
835
self.targetArray[self.last] = self.GetBackground()
839
stylestring = self.targetArray[current]
840
if (seltext == "Caret Foreground") or (seltext == "Long Line Indicator") or (seltext == "Indentation Guide"):
842
stylestring = "fore:" + stylestring
843
elif (seltext == "Selection") or (seltext == "Folding"):
845
elif (seltext == "Current Line Highlight"):
847
stylestring = "back:" + stylestring
849
self.font = getStyleProperty("face", stylestring)
850
if (len(self.font) <= 0):
851
self.font = getStyleProperty("face", self.targetArray[0])
852
self.size = getStyleProperty("size", stylestring)
853
if (len(self.size) <= 0):
854
self.size = getStyleProperty("size", self.targetArray[0])
855
self.foreground = getStyleProperty("fore", stylestring)
856
if (len(self.foreground) <= 0):
857
self.foreground = getStyleProperty("fore", self.targetArray[0])
858
self.background = getStyleProperty("back", stylestring)
859
if (len(self.background) <= 0):
860
self.background = getStyleProperty("back", self.targetArray[0])
861
self.bold = getStyleProperty("bold", stylestring)
862
self.italic = getStyleProperty("italic", stylestring)
863
self.underline = getStyleProperty("underline", stylestring)
865
if (self.ChangeSpec > 0):
866
self.font = getStyleProperty("face", self.targetArray[0])
867
self.size = getStyleProperty("size", self.targetArray[0])
868
if (self.ChangeSpec == 1):
869
self.background = getStyleProperty("back", self.targetArray[0])
870
elif (self.ChangeSpec == 3):
871
self.foreground = getStyleProperty("fore", self.targetArray[0])
873
if self.font not in self.FontList:
874
f1 = string.capwords(self.font)
875
f2 = string.lower(self.font)
876
if f1 in self.FontList:
878
elif f2 in self.FontList:
882
self.FontList.index(self.font)
884
drScrolledMessageDialog.ShowMessage(self, ("Current Font (" + self.font + ") is not in the fontlist. \nSetting to the Courier 12."), "Error")
885
self.font = 'courier'
888
self.FontList.index(self.font)
890
self.font = 'Courier'
892
self.FontList.index(self.font)
894
drScrolledMessageDialog.ShowMessage(self, ("Something is quite screwy with fonts on your system.\nNo font will be selected.\nSelect one from the list manually."), "Error")
897
self.txtPreview.StyleResetDefault()
899
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
901
self.txtPreview.StyleClearAll()
903
self.txtPreview.StartStyling(0, 0xff)
906
self.boxFonts.SetStringSelection(self.font)
908
drScrolledMessageDialog.ShowMessage(self, ("Something awful happened trying to \nset the font to the default."), "Error")
909
self.boxFonts.SetSelection(0)
912
tsizearray = ['8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30']
913
if not self.size in tsizearray:
914
self.boxSize.SetValue(self.size)
916
i = tsizearray.index(self.size)
917
self.boxSize.SetSelection(i)
919
drScrolledMessageDialog.ShowMessage(self, ("Something awful happened trying to \nset the font to the default."), "Error")
920
self.boxSize.SetSelection(0)
922
self.OnSizeSelect(event)
924
self.fgPanel.SetValue(self.foreground)
925
self.bgPanel.SetValue(self.background)
927
self.chkBold.SetValue((len(self.bold) > 0))
928
self.chkItalic.SetValue((len(self.italic) > 0))
929
self.chkUnderline.SetValue((len(self.underline) > 0))
931
self.boxFonts.Enable(self.ChangeSpec == 0)
932
self.boxSize.Enable(self.ChangeSpec == 0)
933
self.chkBold.Enable(self.ChangeSpec == 0)
934
self.chkItalic.Enable(self.ChangeSpec == 0)
935
self.chkUnderline.Enable(self.ChangeSpec == 0)
936
if (self.ChangeSpec == 1):
937
self.fgPanel.Enable(True)
938
self.bgPanel.Enable(False)
939
elif (self.ChangeSpec == 3):
940
self.fgPanel.Enable(False)
941
self.bgPanel.Enable(True)
943
self.fgPanel.Enable(True)
944
self.bgPanel.Enable(True)
b'\\ No newline at end of file'
550
def __init__(self, parent, id, title, isPrompt = False):
552
wx.Dialog.__init__(self, parent, id, title, wx.DefaultPosition, wx.Size(640, 480))
554
self.ancestor = parent.grandparent.parent
564
self.ID_UNDERLINE = 111
567
self.ID_LANGUAGE = 122
572
self.txtPromptStyleDictionary = self.ancestor.prefs.txtPromptStyleDictionary.copy()
574
self.PythonStyleDictionary = self.ancestor.prefs.PythonStyleDictionary.copy()
575
self.CPPStyleDictionary = self.ancestor.prefs.CPPStyleDictionary.copy()
576
self.HTMLStyleDictionary = self.ancestor.prefs.HTMLStyleDictionary.copy()
578
self.targetArray = []
582
self.Enum = wx.FontEnumerator()
583
self.Enum.EnumerateFacenames()
584
self.FontList = self.Enum.GetFacenames()
587
self.txtPreview = wx.stc.StyledTextCtrl(self, id, wx.Point(225, 15), wx.Size(225, 125))
591
self.isPrompt = isPrompt
593
i = self.ancestor.txtDocument.filetype
596
self.boxLanguage = wx.Choice(self, self.ID_LANGUAGE, wx.Point(150, 135), wx.Size(-1, -1), ["Python", "C/C++", "HTML"])
597
self.boxLanguage.SetSelection(i)
600
self.boxLanguage.Enable(False)
602
self.txtPreview.SetText("Preview\n()[]{}\n0123")
603
self.txtPreview.SetUseHorizontalScrollBar(0)
605
self.txtPreview.SetMarginWidth(0, 0)
606
self.txtPreview.SetMarginWidth(1, 0)
607
self.txtPreview.SetMarginWidth(2, 0)
609
self.txtPreview.SetReadOnly(1)
611
self.boxFonts = wx.ListBox(self, self.ID_FONTS, wx.DefaultPosition, wx.Size(200, 250), self.FontList)
613
self.boxSize = wx.ComboBox(self, self.ID_SIZE, "10", wx.DefaultPosition, wx.Size(150, 50), ['8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30'])
615
self.fgPanel = drColorPanel(self, id, wx.DefaultPosition, wx.Size(400, 225), True)
616
self.bgPanel = drColorPanel(self, id, wx.DefaultPosition, wx.Size(400, 225), False)
618
self.chkBold = wx.CheckBox(self, self.ID_BOLD, "Bold")
619
self.chkItalic = wx.CheckBox(self, self.ID_ITALIC, "Italic")
620
self.chkUnderline = wx.CheckBox(self, self.ID_UNDERLINE, "Underline")
622
self.btnCancel = wx.Button(self, self.ID_CANCEL, "&Cancel")
623
self.btnCancel.SetDefault()
624
self.btnOk = wx.Button(self, self.ID_OK, "&Ok")
626
self.boxStyle = wx.ListBox(self, self.ID_STYLE, wx.DefaultPosition, wx.Size(150, 350), "")
630
self.theSizer = wx.FlexGridSizer(2, 3, 5, 1)
631
self.selectSizer = wx.FlexGridSizer(3, 3, 5, 10)
632
self.listSizer = wx.BoxSizer(wx.HORIZONTAL)
633
self.styleSizerLeft = wx.BoxSizer(wx.VERTICAL)
634
self.styleSizerRight = wx.BoxSizer(wx.VERTICAL)
636
self.styleSizerLeft.Add(wx.StaticText(self, -1, "Font:"), 0, wx.SHAPED)
637
self.styleSizerLeft.Add(self.boxFonts, 0, wx.SHAPED)
638
self.styleSizerLeft.Add(wx.StaticText(self, -1, "Size:"), 0, wx.SHAPED)
639
self.styleSizerLeft.Add(self.boxSize, 0, wx.SHAPED)
641
self.styleSizerLeft.Add(self.chkBold, 0, wx.SHAPED)
642
self.styleSizerLeft.Add(wx.StaticText(self, -1, " "), 0, wx.SHAPED)
643
self.styleSizerLeft.Add(self.chkItalic, 0, wx.SHAPED)
644
self.styleSizerLeft.Add(wx.StaticText(self, -1, " "), 0, wx.SHAPED)
645
self.styleSizerLeft.Add(self.chkUnderline, 0, wx.SHAPED)
647
self.styleSizerRight.Add(self.txtPreview, 0, wx.SHAPED)
648
self.styleSizerRight.Add(wx.StaticText(self, -1, 'Foreground:'), 0, wx.SHAPED)
649
self.styleSizerRight.Add(self.fgPanel, 0, wx.SHAPED)
650
self.styleSizerRight.Add(wx.StaticText(self, -1, 'Background:'), 0, wx.SHAPED)
651
self.styleSizerRight.Add(self.bgPanel, 1, wx.SHAPED)
653
self.listSizer.Add(wx.StaticText(self, -1, "Language: "), 0, wx.ALIGN_CENTER | wx.SHAPED)
654
self.listSizer.Add(self.boxLanguage, 0, wx.ALIGN_CENTER | wx.SHAPED)
656
self.selectSizer.Add(wx.StaticText(self, -1, ""), 0, wx.ALIGN_LEFT | wx.SHAPED)
657
self.selectSizer.Add(self.listSizer, 0, wx.ALIGN_LEFT | wx.SHAPED)
658
self.selectSizer.Add(wx.StaticText(self, -1, " "), 0, wx.ALIGN_LEFT | wx.SHAPED)
660
self.selectSizer.Add(wx.StaticText(self, -1, ""), 0, wx.ALIGN_LEFT | wx.SHAPED)
661
self.selectSizer.Add(wx.StaticText(self, -1, "Text Type:"), 0, wx.ALIGN_LEFT | wx.SHAPED)
662
self.selectSizer.Add(wx.StaticText(self, -1, " "), 0, wx.ALIGN_LEFT | wx.SHAPED)
664
self.selectSizer.Add(wx.StaticText(self, -1, ""), 0, wx.ALIGN_CENTER | wx.SHAPED)
665
self.selectSizer.Add(self.boxStyle, 1, wx.SHAPED | wx.ALIGN_CENTER)
666
self.selectSizer.Add(wx.StaticText(self, -1, ""), 1, wx.SHAPED | wx.ALIGN_CENTER)
668
self.theSizer.Add(self.selectSizer, 0, wx.SHAPED)
669
self.theSizer.Add(self.styleSizerLeft, 0, wx.SHAPED)
670
self.theSizer.Add(self.styleSizerRight, 0, wx.SHAPED)
671
self.theSizer.Add(self.btnCancel, 0, wx.SHAPED | wx.ALIGN_CENTER)
672
self.theSizer.Add(wx.StaticText(self, -1, ""), 0, wx.SHAPED)
673
self.theSizer.Add(self.btnOk, 1, wx.SHAPED | wx.ALIGN_CENTER)
675
self.SetAutoLayout(True)
676
self.SetSizer(self.theSizer)
680
self.OnSelectLanguage(None)
682
self.Bind(wx.EVT_LISTBOX, self.OnFontSelect, id=self.ID_FONTS)
683
self.Bind(wx.EVT_LISTBOX, self.OnSelectStyle, id=self.ID_STYLE)
684
self.Bind(wx.EVT_CHOICE, self.OnSelectLanguage, id=self.ID_LANGUAGE)
685
self.Bind(wx.EVT_COMBOBOX, self.OnSizeSelect, id=self.ID_SIZE)
686
self.Bind(wx.EVT_TEXT, self.OnChangeSize, id=self.ID_SIZE)
687
self.Bind(wx.EVT_CHECKBOX, self.OnBold, id=self.ID_BOLD)
688
self.Bind(wx.EVT_CHECKBOX, self.OnItalic, id=self.ID_ITALIC)
689
self.Bind(wx.EVT_CHECKBOX, self.OnUnderline, id=self.ID_UNDERLINE)
690
self.Bind(wx.EVT_BUTTON, self.OnbtnCancel, id=self.ID_CANCEL)
691
self.Bind(wx.EVT_BUTTON, self.OnbtnOk, id=self.ID_OK)
693
def OnChangeSize(self, event):
694
self.size = self.boxSize.GetValue()
695
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
696
self.txtPreview.StyleClearAll()
697
self.txtPreview.StartStyling(0, 0xff)
699
def OnFontSelect(self, event):
700
self.font = self.boxFonts.GetStringSelection()
701
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
702
self.txtPreview.StyleClearAll()
703
self.txtPreview.StartStyling(0, 0xff)
705
def OnSizeSelect(self, event):
706
self.size = self.boxSize.GetStringSelection()
707
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
708
self.txtPreview.StyleClearAll()
709
self.txtPreview.StartStyling(0, 0xff)
712
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
713
self.txtPreview.StyleClearAll()
714
self.txtPreview.StartStyling(0, 0xff)
716
def OnBold(self, event):
717
if self.chkBold.IsChecked():
721
self.txtPreview.StyleResetDefault()
722
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
723
self.txtPreview.StyleClearAll()
724
self.txtPreview.StartStyling(0, 0xff)
726
def OnItalic(self, event):
727
if self.chkItalic.IsChecked():
728
self.italic = "italic"
731
self.txtPreview.StyleResetDefault()
732
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
733
self.txtPreview.StyleClearAll()
734
self.txtPreview.StartStyling(0, 0xff)
736
def OnUnderline(self, event):
737
if self.chkUnderline.IsChecked():
738
self.underline = "underline"
741
self.txtPreview.StyleResetDefault()
742
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
743
self.txtPreview.StyleClearAll()
744
self.txtPreview.StartStyling(0, 0xff)
746
def OnbtnCancel(self, event):
749
def OnbtnOk(self, event):
751
if self.ChangeSpec == 0:
752
self.targetArray[self.last] = self.GetStyleString()
753
elif self.ChangeSpec == 1:
754
self.targetArray[self.last] = self.GetForeground()
755
elif self.ChangeSpec == 2:
756
self.targetArray[self.last] = self.GetColorString()
757
elif self.ChangeSpec == 3:
758
self.targetArray[self.last] = self.GetBackground()
769
return self.txtPromptStyleDictionary
770
return self.PythonStyleDictionary, self.CPPStyleDictionary, self.HTMLStyleDictionary
772
def GetBackground(self):
773
return self.background
775
def GetColorString(self):
776
return ("fore:" + self.foreground + ",back:" + self.background)
778
def GetForeground(self):
779
return self.foreground
781
def GetStyleString(self):
782
return ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline)
784
def OnSelectLanguage(self, event):
785
sel = self.boxLanguage.GetSelection()
788
if self.ChangeSpec == 0:
789
self.targetArray[self.last] = self.GetStyleString()
790
elif self.ChangeSpec == 1:
791
self.targetArray[self.last] = self.GetForeground()
792
elif self.ChangeSpec == 2:
793
self.targetArray[self.last] = self.GetColorString()
794
elif self.ChangeSpec == 3:
795
self.targetArray[self.last] = self.GetBackground()
797
#This will happen the first time this function is called.
801
self.targetArray = self.txtPromptStyleDictionary
802
array = ["Normal", "Line Number (Margin)", "Brace-Selected (Match)", "Brace-Selected (No Match)", "Character (Single Quoted String)", "Class Name", "Comment", "Comment Block", "Function Name", "Keyword", "Number", "Operator", "String", "String EOL", "Triple Quoted String", "Caret Foreground", "Selection"]
805
self.targetArray = self.CPPStyleDictionary
806
array = ["Normal", "Line Number (Margin)", "Brace-Selected (Match)", "Brace-Selected (No Match)", "Character", "Preprocessor", "Comment", "Verbatim", "Keyword", "C Identifier", "Number", "Operator", "String", "String EOL", "Global Class", "Regex", "UUID", "Caret Foreground", "Selection", "Folding", "Long Line Indicator"]
808
self.targetArray = self.HTMLStyleDictionary
809
array = ["Normal", "Line Number (Margin)", "Brace-Selected (Match)", "Brace-Selected (No Match)", "Tag", "Unkown Tag", "Atrribute", "Unkown Attribute", "Number", "String", "Character (Single Quoted String)", "Comment", "Entity", "Tag End", "XML Start", "XML End", "Script", "Value", "Caret Foreground", "Selection", "Folding", "Long Line Indicator", "Current Line Highlight"]
811
self.targetArray = self.PythonStyleDictionary
812
array = ["Normal", "Line Number (Margin)", "Brace-Selected (Match)", "Brace-Selected (No Match)", "Character (Single Quoted String)", "Class Name", "Comment", "Comment Block", "Function Name", "Keyword", "Number", "Operator", "String", "String EOL", "Triple Quoted String", "Caret Foreground", "Selection", "Folding", "Long Line Indicator", "Current Line Highlight", "Indentation Guide"]
816
self.boxStyle.Set(array)
817
self.boxStyle.SetSelection(0)
818
self.OnSelectStyle(event)
820
def OnSelectStyle(self, event):
821
current = self.boxStyle.GetSelection()
822
seltext = self.boxStyle.GetStringSelection()
825
if self.ChangeSpec == 0:
826
self.targetArray[self.last] = self.GetStyleString()
827
elif self.ChangeSpec == 1:
828
self.targetArray[self.last] = self.GetForeground()
829
elif self.ChangeSpec == 2:
830
self.targetArray[self.last] = self.GetColorString()
831
elif self.ChangeSpec == 3:
832
self.targetArray[self.last] = self.GetBackground()
836
stylestring = self.targetArray[current]
837
if (seltext == "Caret Foreground") or (seltext == "Long Line Indicator") or (seltext == "Indentation Guide"):
839
stylestring = "fore:" + stylestring
840
elif (seltext == "Selection") or (seltext == "Folding"):
842
elif seltext == "Current Line Highlight":
844
stylestring = "back:" + stylestring
846
self.font = getStyleProperty("face", stylestring)
848
self.font = getStyleProperty("face", self.targetArray[0])
849
self.size = getStyleProperty("size", stylestring)
851
self.size = getStyleProperty("size", self.targetArray[0])
852
self.foreground = getStyleProperty("fore", stylestring)
853
if not self.foreground:
854
self.foreground = getStyleProperty("fore", self.targetArray[0])
855
self.background = getStyleProperty("back", stylestring)
856
if not self.background:
857
self.background = getStyleProperty("back", self.targetArray[0])
858
self.bold = getStyleProperty("bold", stylestring)
859
self.italic = getStyleProperty("italic", stylestring)
860
self.underline = getStyleProperty("underline", stylestring)
862
if self.ChangeSpec > 0:
863
self.font = getStyleProperty("face", self.targetArray[0])
864
self.size = getStyleProperty("size", self.targetArray[0])
865
if self.ChangeSpec == 1:
866
self.background = getStyleProperty("back", self.targetArray[0])
867
elif self.ChangeSpec == 3:
868
self.foreground = getStyleProperty("fore", self.targetArray[0])
870
if self.font not in self.FontList:
871
f1 = string.capwords(self.font)
872
f2 = string.lower(self.font)
873
if f1 in self.FontList:
875
elif f2 in self.FontList:
878
if self.font not in self.FontList:
881
options=['Courier','Courier 10 Pitch','Monospace','Sans','']
883
if font in self.FontList:
886
#I don't know why this a traceback: no foreground !!!
887
#drScrolledMessageDialog.ShowMessage(self, ("Default font [%s] not found! \nChoosed [%s] instead." %(old,self.font)), "Error")
888
print "Default font [%s] not found! \nChoosed [%s] instead." %(old,self.font)
890
self.txtPreview.StyleResetDefault()
891
self.txtPreview.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, ("fore:" + self.foreground + ",back:" + self.background + ",size:" + self.size + ",face:" + self.font + "," + self.bold + "," + self.italic + "," + self.underline))
892
self.txtPreview.StyleClearAll()
893
self.txtPreview.StartStyling(0, 0xff)
896
#self.boxFonts.SetStringSelection(self.font)
897
i=self.boxFonts.FindString(self.font)
900
self.boxFonts.Select(i)
901
#self.boxFonts.EnsureVisible(i) # Bug: Doesn't work
902
self.boxFonts.SetFirstItem(i)
904
drScrolledMessageDialog.ShowMessage(self, ("Something awful happened trying to \nset the font to the default."), "Error")
905
self.boxFonts.SetSelection(0)
908
tsizearray = ['8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30']
909
if not self.size in tsizearray:
910
self.boxSize.SetValue(self.size)
912
i = tsizearray.index(self.size)
913
self.boxSize.SetSelection(i)
915
drScrolledMessageDialog.ShowMessage(self, ("Something awful happened trying to \nset the font to the default."), "Error")
916
self.boxSize.SetSelection(0)
918
self.OnSizeSelect(event)
920
self.fgPanel.SetValue(self.foreground)
921
self.bgPanel.SetValue(self.background)
923
self.chkBold.SetValue((len(self.bold) > 0))
924
self.chkItalic.SetValue((len(self.italic) > 0))
925
self.chkUnderline.SetValue((len(self.underline) > 0))
927
self.boxFonts.Enable(self.ChangeSpec == 0)
928
self.boxSize.Enable(self.ChangeSpec == 0)
929
self.chkBold.Enable(self.ChangeSpec == 0)
930
self.chkItalic.Enable(self.ChangeSpec == 0)
931
self.chkUnderline.Enable(self.ChangeSpec == 0)
932
if self.ChangeSpec == 1:
933
self.fgPanel.Enable(True)
934
self.bgPanel.Enable(False)
935
elif self.ChangeSpec == 3:
936
self.fgPanel.Enable(False)
937
self.bgPanel.Enable(True)
939
self.fgPanel.Enable(True)
940
self.bgPanel.Enable(True)
b'\\ No newline at end of file'