~ubuntu-branches/debian/stretch/electrum/stretch

« back to all changes in this revision

Viewing changes to gui/kivy/tools/.buildozer/android/platform/python-for-android/dist/kivy/python-install/lib/python2.7/idlelib/SearchDialogBase.py

  • Committer: Package Import Robot
  • Author(s): Tristan Seligmann
  • Date: 2016-04-04 03:02:39 UTC
  • mfrom: (1.1.10)
  • Revision ID: package-import@ubuntu.com-20160404030239-0szgkio8yryjv7c9
Tags: 2.6.3-1
* New upstream release.
  - Drop backported install-wizard-connect.patch.
* Add Suggests: python-zbar and update the installation hint to suggest
  apt-get instead of pip (closes: #819517).
* Bump Standards-Version to 3.9.7 (no changes).
* Update Vcs-* links.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from Tkinter import *
 
2
 
 
3
class SearchDialogBase:
 
4
 
 
5
    title = "Search Dialog"
 
6
    icon = "Search"
 
7
    needwrapbutton = 1
 
8
 
 
9
    def __init__(self, root, engine):
 
10
        self.root = root
 
11
        self.engine = engine
 
12
        self.top = None
 
13
 
 
14
    def open(self, text, searchphrase=None):
 
15
        self.text = text
 
16
        if not self.top:
 
17
            self.create_widgets()
 
18
        else:
 
19
            self.top.deiconify()
 
20
            self.top.tkraise()
 
21
        if searchphrase:
 
22
            self.ent.delete(0,"end")
 
23
            self.ent.insert("end",searchphrase)
 
24
        self.ent.focus_set()
 
25
        self.ent.selection_range(0, "end")
 
26
        self.ent.icursor(0)
 
27
        self.top.grab_set()
 
28
 
 
29
    def close(self, event=None):
 
30
        if self.top:
 
31
            self.top.grab_release()
 
32
            self.top.withdraw()
 
33
 
 
34
    def create_widgets(self):
 
35
        top = Toplevel(self.root)
 
36
        top.bind("<Return>", self.default_command)
 
37
        top.bind("<Escape>", self.close)
 
38
        top.protocol("WM_DELETE_WINDOW", self.close)
 
39
        top.wm_title(self.title)
 
40
        top.wm_iconname(self.icon)
 
41
        self.top = top
 
42
 
 
43
        self.row = 0
 
44
        self.top.grid_columnconfigure(0, pad=2, weight=0)
 
45
        self.top.grid_columnconfigure(1, pad=2, minsize=100, weight=100)
 
46
 
 
47
        self.create_entries()
 
48
        self.create_option_buttons()
 
49
        self.create_other_buttons()
 
50
        return self.create_command_buttons()
 
51
 
 
52
    def make_entry(self, label, var):
 
53
        l = Label(self.top, text=label)
 
54
        l.grid(row=self.row, column=0, sticky="nw")
 
55
        e = Entry(self.top, textvariable=var, exportselection=0)
 
56
        e.grid(row=self.row, column=1, sticky="nwe")
 
57
        self.row = self.row + 1
 
58
        return e
 
59
 
 
60
    def make_frame(self,labeltext=None):
 
61
        if labeltext:
 
62
            l = Label(self.top, text=labeltext)
 
63
            l.grid(row=self.row, column=0, sticky="nw")
 
64
        f = Frame(self.top)
 
65
        f.grid(row=self.row, column=1, columnspan=1, sticky="nwe")
 
66
        self.row = self.row + 1
 
67
        return f
 
68
 
 
69
    def make_button(self, label, command, isdef=0):
 
70
        b = Button(self.buttonframe,
 
71
                   text=label, command=command,
 
72
                   default=isdef and "active" or "normal")
 
73
        cols,rows=self.buttonframe.grid_size()
 
74
        b.grid(pady=1,row=rows,column=0,sticky="ew")
 
75
        self.buttonframe.grid(rowspan=rows+1)
 
76
        return b
 
77
 
 
78
    def create_entries(self):
 
79
        self.ent = self.make_entry("Find:", self.engine.patvar)
 
80
 
 
81
    def create_option_buttons(self):
 
82
        f = self.make_frame("Options")
 
83
 
 
84
        btn = Checkbutton(f, anchor="w",
 
85
                variable=self.engine.revar,
 
86
                text="Regular expression")
 
87
        btn.pack(side="left", fill="both")
 
88
        if self.engine.isre():
 
89
            btn.select()
 
90
 
 
91
        btn = Checkbutton(f, anchor="w",
 
92
                variable=self.engine.casevar,
 
93
                text="Match case")
 
94
        btn.pack(side="left", fill="both")
 
95
        if self.engine.iscase():
 
96
            btn.select()
 
97
 
 
98
        btn = Checkbutton(f, anchor="w",
 
99
                variable=self.engine.wordvar,
 
100
                text="Whole word")
 
101
        btn.pack(side="left", fill="both")
 
102
        if self.engine.isword():
 
103
            btn.select()
 
104
 
 
105
        if self.needwrapbutton:
 
106
            btn = Checkbutton(f, anchor="w",
 
107
                    variable=self.engine.wrapvar,
 
108
                    text="Wrap around")
 
109
            btn.pack(side="left", fill="both")
 
110
            if self.engine.iswrap():
 
111
                btn.select()
 
112
 
 
113
    def create_other_buttons(self):
 
114
        f = self.make_frame("Direction")
 
115
 
 
116
        #lbl = Label(f, text="Direction: ")
 
117
        #lbl.pack(side="left")
 
118
 
 
119
        btn = Radiobutton(f, anchor="w",
 
120
                variable=self.engine.backvar, value=1,
 
121
                text="Up")
 
122
        btn.pack(side="left", fill="both")
 
123
        if self.engine.isback():
 
124
            btn.select()
 
125
 
 
126
        btn = Radiobutton(f, anchor="w",
 
127
                variable=self.engine.backvar, value=0,
 
128
                text="Down")
 
129
        btn.pack(side="left", fill="both")
 
130
        if not self.engine.isback():
 
131
            btn.select()
 
132
 
 
133
    def create_command_buttons(self):
 
134
        #
 
135
        # place button frame on the right
 
136
        f = self.buttonframe = Frame(self.top)
 
137
        f.grid(row=0,column=2,padx=2,pady=2,ipadx=2,ipady=2)
 
138
 
 
139
        b = self.make_button("close", self.close)
 
140
        b.lower()