public String getCommandAtPoint(Point p, int tabState, Rectangle bounds, int mouseButton, int eventType, int modifiers) {
String result = null;
if (mouseButton == MouseEvent.BUTTON2 && eventType == MouseEvent.MOUSE_RELEASED) {
result = TabDisplayer.COMMAND_CLOSE;
}
else {
result = getCommandAtPoint (p, tabState, bounds);
}
if (result != null) {
if (TabDisplayer.COMMAND_SELECT == result) {
boolean clipped = isClipLeft() || isClipRight();
if ((clipped && eventType == MouseEvent.MOUSE_RELEASED && mouseButton == MouseEvent.BUTTON1) ||
(!clipped && eventType == MouseEvent.MOUSE_PRESSED && mouseButton == MouseEvent.BUTTON1)) {
return result;
}
} else if (TabDisplayer.COMMAND_CLOSE == result && eventType == MouseEvent.MOUSE_RELEASED && isShowCloseButton()) {
if ((modifiers & MouseEvent.SHIFT_DOWN_MASK) != 0) {
return TabDisplayer.COMMAND_CLOSE_ALL;
} else if ((modifiers & MouseEvent.ALT_DOWN_MASK) != 0 && mouseButton != MouseEvent.BUTTON2) {
return TabDisplayer.COMMAND_CLOSE_ALL_BUT_THIS;
} else if( ((tabState & TabState.CLOSE_BUTTON_ARMED) == 0 || (tabState & TabState.MOUSE_PRESSED_IN_CLOSE_BUTTON) == 0)
&& mouseButton == MouseEvent.BUTTON1 ) {
//#208732
result = TabDisplayer.COMMAND_SELECT;
}
return result;
}
}
return null;
}