Code Duplication    Length = 53-54 lines in 2 locations

doorstop/gui/application.py 1 location

@@ 51-104 (lines=54) @@
48
class Application(ttk.Frame):
49
    """Graphical application for Doorstop."""
50
51
    def __init__(self, root, cwd, project):
52
        ttk.Frame.__init__(self, root)
53
54
        # Create Doorstop variables
55
        self.cwd = cwd
56
        self.tree = None
57
        self.document = None
58
        self.item = None
59
60
        # Create string variables
61
        self.stringvar_project = tk.StringVar(value=project or '')
62
        self.stringvar_project.trace('w', self.display_tree)
63
        self.stringvar_document = tk.StringVar()
64
        self.stringvar_document.trace('w', self.display_document)
65
66
        # The stringvar_item holds the uid of the main selected item (or empty string if nothing is selected).
67
        self.stringvar_item = tk.StringVar()
68
        self.stringvar_item.trace('w', self.display_item)
69
70
        self.stringvar_text = tk.StringVar()
71
        self.stringvar_text.trace('w', self.update_item)
72
        self.intvar_active = tk.IntVar()
73
        self.intvar_active.trace('w', self.update_item)
74
        self.intvar_derived = tk.IntVar()
75
        self.intvar_derived.trace('w', self.update_item)
76
        self.intvar_normative = tk.IntVar()
77
        self.intvar_normative.trace('w', self.update_item)
78
        self.intvar_heading = tk.IntVar()
79
        self.intvar_heading.trace('w', self.update_item)
80
        self.stringvar_link = tk.StringVar()  # no trace event
81
        self.stringvar_ref = tk.StringVar()
82
        self.stringvar_ref.trace('w', self.update_item)
83
        self.stringvar_extendedkey = tk.StringVar()
84
        self.stringvar_extendedkey.trace('w', self.display_extended)
85
        self.stringvar_extendedvalue = tk.StringVar()
86
        self.stringvar_extendedvalue.trace('w', self.update_item)
87
88
        # Create widget variables
89
        self.combobox_documents = None
90
        self.text_items = None
91
        self.text_item = None
92
        self.listbox_links = None
93
        self.combobox_extended = None
94
        self.text_extendedvalue = None
95
        self.text_parents = None
96
        self.text_children = None
97
98
        # Initialize the GUI
99
        self.ignore = False  # flag to ignore internal events
100
        frame = self.init(root)
101
        frame.pack(fill=tk.BOTH, expand=1)
102
103
        # Start the application
104
        root.after(500, self.find)
105
106
    def init(self, root):
107
        """Initialize and return the main frame."""

doorstop/gui/main.py 1 location

@@ 148-200 (lines=53) @@
145
146
    """Graphical application for Doorstop."""
147
148
    def __init__(self, root, cwd, project):
149
        ttk.Frame.__init__(self, root)
150
151
        # Create Doorstop variables
152
        self.cwd = cwd
153
        self.tree = None
154
        self.document = None
155
        self.item = None
156
        self.index = None
157
158
        # Create string variables
159
        self.stringvar_project = tk.StringVar(value=project or '')
160
        self.stringvar_project.trace('w', self.display_tree)
161
        self.stringvar_document = tk.StringVar()
162
        self.stringvar_document.trace('w', self.display_document)
163
        self.stringvar_item = tk.StringVar()
164
        self.stringvar_item.trace('w', self.display_item)
165
        self.stringvar_text = tk.StringVar()
166
        self.stringvar_text.trace('w', self.update_item)
167
        self.intvar_active = tk.IntVar()
168
        self.intvar_active.trace('w', self.update_item)
169
        self.intvar_derived = tk.IntVar()
170
        self.intvar_derived.trace('w', self.update_item)
171
        self.intvar_normative = tk.IntVar()
172
        self.intvar_normative.trace('w', self.update_item)
173
        self.intvar_heading = tk.IntVar()
174
        self.intvar_heading.trace('w', self.update_item)
175
        self.stringvar_link = tk.StringVar()  # no trace event
176
        self.stringvar_ref = tk.StringVar()
177
        self.stringvar_ref.trace('w', self.update_item)
178
        self.stringvar_extendedkey = tk.StringVar()
179
        self.stringvar_extendedkey.trace('w', self.display_extended)
180
        self.stringvar_extendedvalue = tk.StringVar()
181
        self.stringvar_extendedvalue.trace('w', self.update_item)
182
183
        # Create widget variables
184
        self.combobox_documents = None
185
        self.listbox_outline = None
186
        self.text_items = None
187
        self.text_item = None
188
        self.listbox_links = None
189
        self.combobox_extended = None
190
        self.text_extendedvalue = None
191
        self.text_parents = None
192
        self.text_children = None
193
194
        # Initialize the GUI
195
        self.ignore = False  # flag to ignore internal events
196
        frame = self.init(root)
197
        frame.pack(fill=tk.BOTH, expand=1)
198
199
        # Start the application
200
        root.after(500, self.find)
201
202
    def init(self, root):  # pylint: disable=R0912,R0914
203
        """Initialize and return the main frame."""  # pylint: disable=C0301