Ejemplo n.º 1
0
bool Render::on_button_release_event(GdkEventButton* event)
{
  if (event->button == 1) {
    if (event->state & GDK_SHIFT_MASK) { // move object
      m_view->get_model()->CalcBoundingBoxAndCenter();
      queue_draw();
    }
    else if (m_downPoint.x == event->x && m_downPoint.y == event->y){ // click only
      guint index = find_object_at(event->x, event->y);
      // click on no object - clear the selection
      if (!index) m_selection->unselect_all();
    }
  }
  else
    return Gtk::DrawingArea::on_button_release_event (event);
  return true;
}
Ejemplo n.º 2
0
bool Render::on_button_press_event(GdkEventButton* event)
{
  m_arcBall->click (event->x, event->y, &m_transform);
  // else if (event->button == 3 || event->button == 2)
  m_downPoint = Vector2f (event->x, event->y);  
  // else
  //   return Gtk::DrawingArea::on_button_press_event (event);
  if (event->button == 1) {
    guint index = find_object_at(event->x, event->y);
    if (index) {
      Gtk::TreeModel::iterator iter = get_model()->objtree.find_stl_by_index(index);
      if (iter) {
	m_selection->select(iter);
      }
    }
  }
  return true;
}