/** Changes the thumb position to the specified grid component */ void update(GridComponent gc) { DesignerDragSource dds = (DesignerDragSource) JETARegistry.lookup(DesignerDragSource.COMPONENT_ID); if (dds != null && dds != this && dds.isDragging()) { return; } if (isPaintMargin() && !m_dragging && m_compsrc.isSelectionTool()) { m_gc = gc; if (gc != null) { GridView parentview = gc.getParentView(); if (parentview == m_view) { m_gc = null; } else { if (parentview != null) { Insets insets = parentview.getInsets(); int col_offset = gc.getColumn() + gc.getColumnSpan() - 1; Point pt = javax.swing.SwingUtilities.convertPoint( parentview, parentview.getColumnOrgX(col_offset) + parentview.getColumnWidth(col_offset) + insets.left, 0, this); m_xpos = pt.x; } } } repaint(); } }
public void mousePressed(MouseEvent e) { GridView view = getView(); if (view != null) view.deselectAll(); GridComponent cell = getComponent(e); if (cell == m_comp) { if (!handleControlButton(e)) { GridView childview = m_comp.getChildView(); childview.deselectAll(); if (m_compsrc.isSelectionTool()) { m_comp.setSelected(true); m_comp.repaint(); if (e.getClickCount() > 1) { m_comp.fireGridCellEvent(new GridCellEvent(GridCellEvent.EDIT_COMPONENT, m_comp)); } else if (e.getClickCount() == 1) { setDragSource(this); } } } } else if (cell != null) { CellMouseHandler handler = cell.getMouseHandler(); assert (handler != null); if (handler != null) { handler.mousePressed(e); } m_comp.repaint(); } }
/** * Builds the set of FocusKey objects for all focusable components on the form. A FocusKey allows * us to store a reference to a focusable component and later find that component when a form has * been de-serialized. We don't use the component name to reference the component because we don't * want to keep track of when the user changes the name. */ public void buildFocusKeys( HashSet currentFocusSet, HashMap focus_key_map, FormComponent form, CompositeFocusKey compositeKey) { for (int row = 1; row <= form.getRowCount(); row++) { for (int col = 1; col <= form.getColumnCount(); col++) { GridComponent gc = form.getGridComponent(col, row); if (gc instanceof StandardComponent) { Component comp = gc.getBeanDelegate(); if (comp != null) { if (currentFocusSet.contains(comp)) { CompositeFocusKey ckey = (CompositeFocusKey) compositeKey.clone(); ckey.add(new FormCellFocusKey(row, col, comp)); focus_key_map.put(comp, ckey); } else { /** * This comp must be a container that contains components that are in the focus policy * This can happen for Java Beans that are also panels which contain other components. */ if (comp instanceof Container) { CompositeFocusKey ckey = (CompositeFocusKey) compositeKey.clone(); ckey.add(new FormCellFocusKey(row, col, comp)); buildContainerFocusKeys(currentFocusSet, focus_key_map, (Container) comp, ckey); } else { // ignore because this could be a component like // a JLabel which does not need focus } } } } else if (gc instanceof FormComponent) { FormComponent childform = (FormComponent) gc; CompositeFocusKey ckey = (CompositeFocusKey) compositeKey.clone(); ckey.add(new FormCellFocusKey(row, col, gc)); buildFocusKeys(currentFocusSet, focus_key_map, childform, ckey); } else { if (gc != null) { System.out.println( "FormFocusManager.buildDefaultPolicyFailed found unknown comp: " + gc.getClass()); } } } } }
public void mouseReleased(MouseEvent e) { if (isDragging()) { GridComponent cell = getComponent(e); if (cell == m_comp) { if (getDragSource() != this) { // mouse released on this entire form, so we replace the // form. } } else if (cell != null) { if (getDragSource() != this) { // don't allow drops on children of this form if we are the // drag source CellMouseHandler handler = cell.getMouseHandler(); if (handler != null) { handler.mouseReleased(e); } m_comp.repaint(); } } } }
/** * MouseMotionListener implementation. Note that the source will always be the top level window. * So, we need to convert the mouse point to the coordinates of our associated overlay window * before any other operation. */ public void mouseMoved(MouseEvent e) { if (!m_compsrc.isSelectionTool() || isDragging()) { GridView view = getView(); if (view != null) view.deselectAll(); } GridOverlay overlay = m_comp.getChildOverlay(); GridComponent cell = getComponent(e); if (cell != null) { CellMouseHandler handler = cell.getMouseHandler(); if (handler == null) { // System.out.println( "found null handler at row: " + // cell.getRow() + " col: " + cell.getColumn() + " for: " + // cell.getComponent() ); assert (false); } else { if (getDragSource() != this) { if (handler != this) { handler.mouseMoved(e); } } } } }