Exemple #1
0
void PopupWindowPin::onHitTest(HitTestEvent& ev)
{
  PopupWindow::onHitTest(ev);

  if ((m_pin.isSelected()) &&
      (ev.hit() == HitTestClient)) {
    if (ev.point().x <= bounds().x+2)
      ev.setHit(HitTestBorderW);
    else if (ev.point().x >= bounds().x2()-3)
      ev.setHit(HitTestBorderE);
    else
      ev.setHit(HitTestCaption);
  }
}
Exemple #2
0
void PopupWindow::onHitTest(HitTestEvent& ev)
{
  Widget* picked = manager()->pick(ev.point());
  if (picked) {
    WidgetType type = picked->type();
    if ((type == kWindowWidget && picked == this) ||
        type == kBoxWidget ||
        type == kLabelWidget ||
        type == kGridWidget ||
        type == kSeparatorWidget) {
      ev.setHit(HitTestCaption);
      return;
    }
  }
  Window::onHitTest(ev);
}