ExtendedSelectAction.java revision 1472:c18cbe5936b8
1167465Smp/* 259243Sobrien * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved. 359243Sobrien * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 459243Sobrien * 559243Sobrien * This code is free software; you can redistribute it and/or modify it 659243Sobrien * under the terms of the GNU General Public License version 2 only, as 759243Sobrien * published by the Free Software Foundation. 859243Sobrien * 959243Sobrien * This code is distributed in the hope that it will be useful, but WITHOUT 1059243Sobrien * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1159243Sobrien * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1259243Sobrien * version 2 for more details (a copy is included in the LICENSE file that 1359243Sobrien * accompanied this code). 1459243Sobrien * 1559243Sobrien * You should have received a copy of the GNU General Public License version 1659243Sobrien * 2 along with this work; if not, write to the Free Software Foundation, 17100616Smp * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 1859243Sobrien * 1959243Sobrien * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2059243Sobrien * or visit www.oracle.com if you need additional information or have any 2159243Sobrien * questions. 2259243Sobrien * 2359243Sobrien */ 2459243Sobrienpackage com.sun.hotspot.igv.util; 2559243Sobrien 2659243Sobrienimport java.awt.event.MouseEvent; 2759243Sobrienimport javax.swing.JPanel; 2859243Sobrienimport org.netbeans.api.visual.action.ActionFactory; 2959243Sobrienimport org.netbeans.api.visual.action.SelectProvider; 3059243Sobrienimport org.netbeans.api.visual.action.WidgetAction; 3159243Sobrienimport org.netbeans.api.visual.action.WidgetAction.State; 3259243Sobrienimport org.netbeans.api.visual.action.WidgetAction.WidgetKeyEvent; 3359243Sobrienimport org.netbeans.api.visual.action.WidgetAction.WidgetMouseEvent; 3459243Sobrienimport org.netbeans.api.visual.widget.Widget; 35167465Smp 3659243Sobrien/** 3759243Sobrien * 3859243Sobrien * @author Thomas Wuerthinger 39167465Smp */ 4059243Sobrienpublic class ExtendedSelectAction extends WidgetAction.Adapter { 4159243Sobrien 4259243Sobrien private WidgetAction innerAction; 4359243Sobrien private JPanel panel; 4459243Sobrien 4559243Sobrien public ExtendedSelectAction(SelectProvider provider) { 4659243Sobrien innerAction = ActionFactory.createSelectAction(provider); 4759243Sobrien panel = new JPanel(); 4859243Sobrien } 4959243Sobrien 5059243Sobrien @Override 5159243Sobrien public State mousePressed(Widget widget, WidgetMouseEvent event) { 5259243Sobrien // TODO: Solve this differently? 5359243Sobrien if (event.getButton() != MouseEvent.BUTTON2) { 5459243Sobrien return innerAction.mousePressed(widget, new WidgetMouseEvent(event.getEventID(), new MouseEvent(panel, (int) event.getEventID(), event.getWhen(), event.getModifiersEx(), event.getPoint().x, event.getPoint().y, event.getClickCount(), event.isPopupTrigger(), MouseEvent.BUTTON1))); 5559243Sobrien } else { 5659243Sobrien return super.mousePressed(widget, event); 5759243Sobrien } 5859243Sobrien } 5959243Sobrien 6059243Sobrien @Override 6159243Sobrien public State mouseReleased(Widget widget, WidgetMouseEvent event) { 6259243Sobrien return innerAction.mouseReleased(widget, event); 6359243Sobrien } 6459243Sobrien 6559243Sobrien @Override 6659243Sobrien public State keyTyped(Widget widget, WidgetKeyEvent event) { 6759243Sobrien return innerAction.keyTyped(widget, event); 6859243Sobrien } 6959243Sobrien} 7059243Sobrien