001: /*
002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003: *
004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
005: *
006: * The contents of this file are subject to the terms of either the GNU
007: * General Public License Version 2 only ("GPL") or the Common
008: * Development and Distribution License("CDDL") (collectively, the
009: * "License"). You may not use this file except in compliance with the
010: * License. You can obtain a copy of the License at
011: * http://www.netbeans.org/cddl-gplv2.html
012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
013: * specific language governing permissions and limitations under the
014: * License. When distributing the software, include this License Header
015: * Notice in each file and include the License file at
016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
017: * particular file as subject to the "Classpath" exception as provided
018: * by Sun in the GPL Version 2 section of the License file that
019: * accompanied this code. If applicable, add the following below the
020: * License Header, with the fields enclosed by brackets [] replaced by
021: * your own identifying information:
022: * "Portions Copyrighted [year] [name of copyright owner]"
023: *
024: * Contributor(s):
025: *
026: * The Original Software is NetBeans. The Initial Developer of the Original
027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
028: * Microsystems, Inc. All Rights Reserved.
029: *
030: * If you wish your version of this file to be governed by only the CDDL
031: * or only the GPL Version 2, indicate your decision by adding
032: * "[Contributor] elects to include this software in this distribution
033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
034: * single choice of license, a recipient has the option to distribute
035: * your version of this file under either the CDDL, the GPL Version 2 or
036: * to extend the choice of license to its licensees as provided above.
037: * However, if you add GPL Version 2 code and therefore, elected the GPL
038: * Version 2 license, then the option applies only if the new code is
039: * made subject to such option by the copyright holder.
040: */
041: package org.netbeans.modules.collab.ui.actions;
042:
043: import java.awt.event.*;
044:
045: import org.openide.util.*;
046: import org.openide.util.actions.SystemAction;
047:
048: //import com.conga.jni.dispatch.*;
049:
050: /**
051: *
052: *
053: * @author Todd Fast <todd.fast@sun.com>
054: */
055: public class FlashWindowAction extends SystemAction {
056: public boolean isEnabled() {
057: return true;
058: }
059:
060: public String getName() {
061: return "Flash Window";
062: }
063:
064: protected String iconResource() {
065: return "org/openide/resources/actions/empty.gif";
066: }
067:
068: public HelpCtx getHelpCtx() {
069: return HelpCtx.DEFAULT_HELP;
070: }
071:
072: protected boolean asynchronous() {
073: return true;
074: }
075:
076: public void actionPerformed(ActionEvent actionEvent) {
077: // try
078: // {
079: // new Thread(new WindowFlasher()).start();
080: // }
081: // catch (Exception e)
082: // {
083: // Debug.errorManager.notify(e);
084: // }
085: }
086:
087: ////////////////////////////////////////////////////////////////////////////
088: // Inner class
089: ////////////////////////////////////////////////////////////////////////////
090: // public static class WindowFlasher extends Object
091: // implements Runnable
092: // {
093: // public void run()
094: // {
095: // // typedef struct {
096: // // UINT cbSize;
097: // // HWND hwnd;
098: // // DWORD dwFlags;
099: // // UINT uCount;
100: // // DWORD dwTimeout;
101: // // }
102: //
103: // int structSize=
104: // NativePointer.SIZE+
105: // NativePointer.SIZE+
106: // NativePointer.SIZE+
107: // NativePointer.SIZE+
108: // NativePointer.SIZE;
109: // NativeMemory flashInfo=new NativeMemory(structSize);
110: //
111: // try
112: // {
113: // Thread.currentThread().sleep(2000);
114: //
115: // NativeFunction findWindow=new NativeFunction("user32.dll","FindWindowA",
116: // NativeFunction.STDCALL_CONVENTION);
117: // NativeFunction flashWindow=new NativeFunction("user32.dll","FlashWindowEx",
118: // NativeFunction.STDCALL_CONVENTION);
119: //
120: // String title=WindowManager.getDefault().getMainWindow().getTitle();
121: // int windowHandle=findWindow.invokeInt(NativePointer.NULL,
122: // WindowManager.getDefault().getMainWindow().getTitle());
123: //
124: // int offset=0;
125: // flashInfo.setInt(offset,structSize);
126: // offset+=NativePointer.SIZE;
127: // flashInfo.setInt(offset,windowHandle);
128: // offset+=NativePointer.SIZE;
129: // flashInfo.setInt(offset,ALL);
130: // offset+=NativePointer.SIZE;
131: // flashInfo.setInt(offset,3);
132: // offset+=NativePointer.SIZE;
133: // flashInfo.setInt(offset,0);
134: // offset+=NativePointer.SIZE;
135: //
136: // int state=flashWindow.invokeInt(flashInfo);
137: // }
138: // catch (Exception e)
139: // {
140: // Debug.errorManager.notify(e);
141: // }
142: // finally
143: // {
144: // flashInfo.free();
145: // }
146: // }
147: //
148: // public static final int STOP=0;
149: // public static final int CAPTION=1;
150: // public static final int TRAY=2;
151: // public static final int ALL=3;
152: // public static final int TIMER=4;
153: // public static final int TIMERNOFG=12;
154: // }
155: }
|