~ubuntu-branches/ubuntu/utopic/mysql-workbench/utopic

« back to all changes in this revision

Viewing changes to plugins/wb.query.analysis/wb_query_analysis_grt.py

  • Committer: Package Import Robot
  • Author(s): Dmitry Smirnov
  • Date: 2014-05-31 12:03:58 UTC
  • mfrom: (1.2.4)
  • Revision ID: package-import@ubuntu.com-20140531120358-cjik5ofkmj0fxsn8
Tags: 6.1.6+dfsg-1
* New upstream release [May 2014].
* Dropped "prtcl.patch".
* "debian/clean": better clean-up.

Show diffs side-by-side

added added

removed removed

Lines of Context:
260
260
 
261
261
 
262
262
class ExplainTab(mforms.AppView):
 
263
    _query_plan = None
 
264
    _costs_tree = None
 
265
    _explain_context = None
 
266
 
263
267
    def __init__(self, server_version, query, json_text, explain):
264
268
        mforms.AppView.__init__(self, False, "QueryExplain", False)
265
269
        self.set_managed()
266
270
        self.set_release_on_add()
 
271
 
 
272
        self.on_close(self.on_tab_close)
 
273
 
 
274
        self._form_deactivated_conn = mforms.Form.main_form().add_deactivated_callback(self.form_deactivated)
267
275
        
268
276
        self._query = query
269
277
        self.tabview = mforms.newTabView(0)
283
291
            self.tabview.add_page(self._query_plan, "Query Plan")
284
292
        
285
293
            self._raw_explain = mforms.CodeEditor()
286
 
            self._raw_explain.set_text(json_text)
 
294
            self._raw_explain.set_value(json_text)
287
295
            #self._raw_explain.enable_folding(True)
288
296
            self._raw_explain.set_language(mforms.LanguagePython)
289
297
            self._raw_explain.set_features(mforms.FeatureReadOnly, 1)
291
299
 
292
300
            #self._costs_tree = self.fill_costs_tree(json)
293
301
        #self.tabview.add_page(self._costs_tree, "Query Costs")
294
 
        else:
295
 
            self._query_plan = None
296
 
            self._costs_tree = None
297
 
            self._explain_context = None
298
302
 
299
303
        # Good old explain
300
304
        if explain:
349
353
                self._explain_context._canvas.activate()
350
354
            else:
351
355
                self._explain_context._canvas.deactivate()
 
356
                self._explain_context.close_tooltip()
352
357
            grt.root.wb.state["wb.query.analysis:ActiveExplainTab"] = self.tabview.get_active_tab()
353
358
 
354
359
 
357
362
        return tree
358
363
 
359
364
 
 
365
    def form_deactivated(self):
 
366
        if self._query_plan and self._explain_context:
 
367
            self._explain_context.close_tooltip()
 
368
 
 
369
    def on_tab_close(self):
 
370
        self.form_deactivated()
 
371
        if self._form_deactivated_conn:
 
372
            self._form_deactivated_conn.disconnect()
 
373
            self._form_deactivated_conn = None
 
374
        return True
360
375
 
361
376
 
362
377
@ModuleInfo.plugin("wb.sqlide.visual_explain", caption="Visual Explain", input=[wbinputs.currentQueryEditor()])