claimed = GetEventHandler()->ProcessEvent(gridEvt);
vetoed = !gridEvt.IsAllowed();
}
+ else if ( type == wxEVT_GRID_LABEL_LEFT_CLICK ||
+ type == wxEVT_GRID_LABEL_LEFT_DCLICK ||
+ type == wxEVT_GRID_LABEL_RIGHT_CLICK ||
+ type == wxEVT_GRID_LABEL_RIGHT_DCLICK )
+ {
+ wxPoint pos = mouseEv.GetPosition();
+
+ if ( mouseEv.GetEventObject() == GetGridRowLabelWindow() )
+ pos.y += GetColLabelSize();
+ if ( mouseEv.GetEventObject() == GetGridColLabelWindow() )
+ pos.x += GetRowLabelSize();
+
+ wxGridEvent gridEvt( GetId(),
+ type,
+ this,
+ row, col,
+ pos.x,
+ pos.y,
+ false,
+ mouseEv.ControlDown(),
+ mouseEv.ShiftDown(),
+ mouseEv.AltDown(),
+ mouseEv.MetaDown() );
+ claimed = GetEventHandler()->ProcessEvent(gridEvt);
+ vetoed = !gridEvt.IsAllowed();
+ }
else
{
wxGridEvent gridEvt( GetId(),
m_currentCellCoords.SetCol( col );
}
- // convert to scrolled coords
- CalcScrolledPosition( rect.x, rect.y, &rect.x, &rect.y );
-
- int nXMove = 0;
- if (rect.x < 0)
- nXMove = rect.x;
-
// erase the highlight and the cell contents because the editor
// might not cover the entire cell
wxClientDC dc( m_gridWin );
dc.SetPen(*wxTRANSPARENT_PEN);
dc.DrawRectangle(rect);
+ // convert to scrolled coords
+ CalcScrolledPosition( rect.x, rect.y, &rect.x, &rect.y );
+
+ int nXMove = 0;
+ if (rect.x < 0)
+ nXMove = rect.x;
+
// cell is shifted by one pixel
// However, don't allow x or y to become negative
// since the SetSize() method interprets that as