forked from tweecode/twine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
storysearchframes.py
72 lines (57 loc) · 2.5 KB
/
storysearchframes.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/usr/bin/python
#
# StoryFindFrame
# This allows the user to search a StoryPanel for a string of text.
# This is just a front-end to method calls on StoryPanel.
#
import re, wx
from searchpanels import FindPanel
class StoryFindFrame (wx.Frame):
def __init__ (self, storyPanel, app, parent = None):
self.storyPanel = storyPanel
self.app = app
wx.Frame.__init__(self, parent, wx.ID_ANY, title = 'Find in Story', \
style = wx.MINIMIZE_BOX | wx.CLOSE_BOX | wx.CAPTION | wx.SYSTEM_MENU)
sizer = wx.BoxSizer(wx.VERTICAL)
self.SetSizer(sizer)
findPanel = FindPanel(parent = self, onFind = self.onFind, onClose = self.onClose)
findPanel.focus()
sizer.Add(findPanel)
sizer.Fit(self)
self.SetIcon(self.app.icon)
self.Show()
def onFind (self, regexp, flags):
self.storyPanel.findWidgetRegexp(regexp, flags)
def onClose (self):
self.Close()
#
# StoryReplaceFrame
# This allows the user to replace text across an entire StoryPanel.
# This is just a front-end to method calls on StoryPanel.
#
import re, wx
from searchpanels import ReplacePanel
class StoryReplaceFrame (wx.Frame):
def __init__ (self, storyPanel, app, parent = None):
self.storyPanel = storyPanel
self.app = app
wx.Frame.__init__(self, parent, wx.ID_ANY, title = 'Replace Across Entire Story', \
style = wx.MINIMIZE_BOX | wx.CLOSE_BOX | wx.CAPTION | wx.SYSTEM_MENU)
sizer = wx.BoxSizer(wx.VERTICAL)
self.SetSizer(sizer)
replacePanel = ReplacePanel(self, allowIncremental = True, \
onFind=self.onFind, onReplace=self.onReplace, \
onReplaceAll = self.onReplaceAll, onClose = self.onClose)
sizer.Add(replacePanel)
replacePanel.focus()
sizer.Fit(self)
self.SetIcon(self.app.icon)
self.Show()
def onFind (self, regexp, flags):
self.storyPanel.findWidgetRegexp(regexp, flags)
def onReplace(self, findRegexp, flags, replaceRegexp):
self.storyPanel.replaceRegexpInSelectedWidget(findRegexp, replaceRegexp, flags)
def onReplaceAll (self, findRegexp, flags, replaceRegexp):
self.storyPanel.replaceRegexpInWidgets(findRegexp, replaceRegexp, flags)
def onClose (self):
self.Close()