You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.0 KiB
57 lines
2.0 KiB
9 years ago
|
package com.fr.grid;
|
||
|
|
||
|
import java.awt.event.MouseEvent;
|
||
|
|
||
|
import javax.swing.event.MouseInputAdapter;
|
||
|
|
||
|
import com.fr.design.constants.UIConstants;
|
||
|
import com.fr.design.mainframe.ElementCasePane;
|
||
|
import com.fr.grid.selection.CellSelection;
|
||
|
import com.fr.stable.ColumnRow;
|
||
|
|
||
|
/**
|
||
|
* the MouseListener of GridCorner
|
||
|
*
|
||
|
* @editor zhou
|
||
|
* @since 2012-3-22下午4:04:08
|
||
|
*/
|
||
|
public class GridCornerMouseHandler extends MouseInputAdapter {
|
||
|
GridCorner gridCorner;
|
||
|
|
||
|
public GridCornerMouseHandler(GridCorner gridCorner) {
|
||
|
this.gridCorner = gridCorner;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void mouseClicked(MouseEvent e) {
|
||
|
doSelectAll();
|
||
|
}
|
||
|
|
||
|
private void doSelectAll() {
|
||
|
ElementCasePane reportPane = this.gridCorner.getElementCasePane();
|
||
|
ColumnRow lastColumnRow = GridUtils.getAdjustLastColumnRowOfReportPane(reportPane);
|
||
|
|
||
|
reportPane.setSelection(new CellSelection(0, 0, lastColumnRow.getColumn(), lastColumnRow.getRow()));
|
||
|
|
||
|
GridColumn gridColumn = reportPane.getGridColumn();
|
||
|
GridColumnMouseHandler gridColumnMouseHandler = new GridColumnMouseHandler(gridColumn);
|
||
|
gridColumnMouseHandler.setStartMultiSelectIndex(0);
|
||
|
gridColumnMouseHandler.setEndMultiSelectIndex(lastColumnRow.getColumn());
|
||
|
gridColumn.addMouseListener(gridColumnMouseHandler);
|
||
|
gridColumn.addMouseMotionListener(gridColumnMouseHandler);
|
||
|
|
||
|
GridRow gridRow = reportPane.getGridRow();
|
||
|
GridRowMouseHandler gridRowMouseHandler = new GridRowMouseHandler(gridRow);
|
||
|
gridRowMouseHandler.setStartMultiSelectIndex(0);
|
||
|
gridRowMouseHandler.setEndMultiSelectIndex(lastColumnRow.getRow());
|
||
|
gridRow.addMouseListener(gridRowMouseHandler);
|
||
|
gridRow.addMouseMotionListener(gridRowMouseHandler);
|
||
|
reportPane.getHorizontalScrollBar().setValue(reportPane.getHorizontalScrollBar().getValue());
|
||
|
reportPane.getVerticalScrollBar().setValue(reportPane.getVerticalScrollBar().getValue());
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void mouseMoved(MouseEvent e) {
|
||
|
gridCorner.setCursor(UIConstants.CELL_DEFAULT_CURSOR);
|
||
|
}
|
||
|
}
|