/**
   * {@inheritDoc}
   *
   * @see org.eclipse.gef.tools.AbstractTool#mouseWheelScrolled(org.eclipse.swt.widgets.Event,
   *     org.eclipse.gef.EditPartViewer)
   */
  @Override
  public void mouseWheelScrolled(Event i_event, EditPartViewer i_viewer) {

    super.mouseWheelScrolled(i_event, i_viewer);

    m_handler.setScene(getScene());
    m_handler.mouseWheelScrolled(i_event.count);
  }
  /**
   * {@inheritDoc}
   *
   * @see org.eclipse.gef.tools.AbstractTool#keyUp(org.eclipse.swt.events.KeyEvent,
   *     org.eclipse.gef.EditPartViewer)
   */
  @Override
  public void keyUp(KeyEvent i_evt, EditPartViewer i_viewer) {

    super.keyUp(i_evt, i_viewer);

    m_handler.setScene(getScene());
    m_handler.keyUp(i_evt);
  }
  /**
   * {@inheritDoc}
   *
   * @see org.eclipse.gef.tools.AbstractTool#activate()
   */
  @Override
  public void activate() {

    super.activate();

    if (m_handler == null) m_handler = new CustomCameraInputHandler();

    if (m_prefDistributor == null)
      m_prefDistributor = new CustomCameraPreferenceDistributor(m_handler);

    m_prefDistributor.start();
  }
  /**
   * {@inheritDoc}
   *
   * @see org.eclipse.gef.tools.AbstractTool#deactivate()
   */
  @Override
  public void deactivate() {

    super.deactivate();
    m_prefDistributor.stop();
  }