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
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); |
|
} |
|
} |