class_docstr: Navigation toolbar for EditObjectsDialog
code: def measure(self, *args):
      self.mode = NAV_MODE_MEASURE
      if "Pan" in self.wx_ids:
          self.ToggleTool(self.wx_ids["Pan"], False)
      if "Zoom" in self.wx_ids:
          self.ToggleTool(self.wx_ids["Zoom"], False)
      self.__send_mode_change_event()
      if self._active == "MEASURE":
          self._active = None
      else:
          self._active = "MEASURE"
  
      if self._idPress is not None:
          self._idPress = self.canvas.mpl_disconnect(self._idPress)
          self.mode = ""
  
      if self._idRelease is not None:
          self._idRelease = self.canvas.mpl_disconnect(self._idRelease)
          self.mode = ""
  
      if self._active:
          self.canvas.widgetlock(self)
      else:
          self.canvas.widgetlock.release(self)
  
      for a in self.canvas.figure.get_axes():
          a.set_navigate_mode(self._active)
  
      self.set_message(self.mode)
  
imports: import matplotlib
  import matplotlib.backend_bases
  import matplotlib.backends.backend_wxagg
  import wx
  import wx.lib.intctrl
  from ..constants.figure import NAV_MODE_ZOOM
  from ..constants.figure import NAV_MODE_MEASURE
  from ..constants.figure import BMP_MEASURE
  from ..constants.figure import NAV_MODE_PAN
  from ..constants.figure import EVT_NAV_MODE_CHANGE
  from ..utilities.figure import get_crosshair_cursor
label_desc: Use image node_id 7 for calling the NavigationToolbar obj's underlying member method code with example usage: obj.measure() without return types