CTrayIcon.h revision 4639
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington/*
70e5a7403f0e0a3bd292b8287c5fed5772c15270Automatic Updater * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence *
ec5347e2c775f027573ce5648b910361aa926c01Automatic Updater * This code is free software; you can redistribute it and/or modify it
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington * under the terms of the GNU General Public License version 2 only, as
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington * published by the Free Software Foundation. Oracle designates this
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence * particular file as subject to the "Classpath" exception as provided
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews * by Oracle in the LICENSE file that accompanied this code.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews *
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews * This code is distributed in the hope that it will be useful, but WITHOUT
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews * version 2 for more details (a copy is included in the LICENSE file that
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews * accompanied this code).
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington *
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington * You should have received a copy of the GNU General Public License version
8ec993c774d7c996cb266d0ff5f1282fa3940f09Evan Hunt * 2 along with this work; if not, write to the Free Software Foundation,
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein *
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington * or visit www.oracle.com if you need additional information or have any
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington * questions.
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington */
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington#include <jni.h>
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrence#import <Foundation/Foundation.h>
364a82f7c25b62967678027043425201a5e5171aBob Halley#import <AppKit/AppKit.h>
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington#import "CPopupMenu.h"
600cfa2ba4c50017581b6c14e3a688a82ecebbe0David Lawrence
600cfa2ba4c50017581b6c14e3a688a82ecebbe0David Lawrence#ifndef _Included_sun_awt_lwmacosx_CTrayIcon
600cfa2ba4c50017581b6c14e3a688a82ecebbe0David Lawrence#define _Included_sun_awt_lwmacosx_CTrayIcon
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington#ifdef __cplusplus
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellingtonextern "C" {
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein#endif
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrence@class AWTTrayIconView;
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington/*
87cafc5e70f79f2586d067fbdd64f61bbab069d2David Lawrence * AWTTrayIcon
87cafc5e70f79f2586d067fbdd64f61bbab069d2David Lawrence */
87cafc5e70f79f2586d067fbdd64f61bbab069d2David Lawrence@interface AWTTrayIcon : NSObject {
87cafc5e70f79f2586d067fbdd64f61bbab069d2David Lawrence jobject peer;
87cafc5e70f79f2586d067fbdd64f61bbab069d2David Lawrence AWTTrayIconView *view;
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington NSStatusItem *theItem;
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington}
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein- (id) initWithPeer:(jobject)thePeer;
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington- (void) setTooltip:(NSString *)tooltip;
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington- (NSStatusItem *)theItem;
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson- (jobject) peer;
87cafc5e70f79f2586d067fbdd64f61bbab069d2David Lawrence- (void) setImage:(NSImage *) imagePtr sizing:(BOOL)autosize;
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson- (NSPoint) getLocationOnScreen;
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson@end //AWTTrayIcon
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson//==================================================================================
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson/*
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington * AWTTrayIconView */
91cd0f93ad34d23e8b09dca337120f64fbe8f0a1Andreas Gustafsson@interface AWTTrayIconView : NSView <NSMenuDelegate> {
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington@public
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington AWTTrayIcon *trayIcon;
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington NSImage* image;
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington BOOL isHighlighted;
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington}
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington-(id)initWithTrayIcon:(AWTTrayIcon *)theTrayIcon;
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington-(void)setHighlighted:(BOOL)aFlag;
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington-(void)setImage:(NSImage*)anImage;
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson@end //AWTTrayIconView
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson#ifdef __cplusplus
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson}
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson#endif
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington#endif
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson