protected CalendarListener listener;
// code omitted ...
public void mousePressed(MouseEvent e) {
/* ================================================== */
CalendarView.isMousePressed = true;
this.dragged = false;
_shiftKey = ( e.getModifiersEx() & InputEvent.SHIFT_DOWN_MASK ) != 0;
/* ------------------------------------------------------- */
// store the clicked FrameArea
/* ------------------------------------------------------- */
if (originalClickedFrameArea == null)
originalClickedFrameArea = _frameArea;
/* ------------------------------------------------------- */
try {
/* ------------------------------------------------------- */
// select the event
/* ------------------------------------------------------- */
if (e.getClickCount() == 1 && _event.isSelectable()) {
/* ------------------------------------------------------- */
// FrameArea area = getFrameArea(_calId, _event);
FrameArea area = getBaseArea();
boolean isSelected = area.isSelected();
/* ------------------------------------------------------- */
//
if (( e.getModifiersEx() & InputEvent.CTRL_DOWN_MASK ) == 0 && !isSelected)
deselect();
/* ------------------------------------------------------- */
if (!isSelected) {
select(_calId, _event, !isSelected);
_lassoArea.setVisible(false);
_frameArea.requestFocus();
}
if (listener != null)
listener.eventClicked(_calId, _event, area, e);
/* ------------------------------------------------------- */
}
if (e.getClickCount() == 2 && _event.isSelectable()) {
/* ------------------------------------------------------- */
select(_calId, _event, true);
if (listener != null)
listener.eventDoubleClick(_calId, _event, e);
return;
/* ------------------------------------------------------- */
}
}
catch (Exception e1) {
e1.printStackTrace();
}
/* ------------------------------------------------------- */
_startDrag = e.getPoint();
/* ------------------------------------------------------- */
FrameArea baseFrameArea = getBaseArea();
// if (!_frameArea.equals(baseFrameArea)) {
// baseFrameArea.getMouseListeners()[0].mousePressed(e);
// return;
// }
// fill additional frames
additionalFrames.clear();
if (baseFrameArea.getChildren() != null)
for (FrameArea fa : baseFrameArea.getChildren()) {
additionalFrames.put(fa.getX(), fa);
}
lastCreatedFrameArea = findLastFrameArea(baseFrameArea);
/* ------------------------------------------------------- */
maybeShowPopup(e);
}