All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.swt.widgets.Tray Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 * Copyright (c) 2000, 2009, 2012 IBM Corporation, Gerhardt Informatics Kft. and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *     Gerhardt Informatics Kft. - GEFGWT port
 *******************************************************************************/
package org.eclipse.swt.widgets;

import org.eclipse.swt.SWT;
import org.eclipse.swt.SWTException;

/**
 * Instances of this class represent the system tray that is part of the task
 * bar status area on some operating systems.
 * 
 * 
*
Styles:
*
(none)
*
Events:
*
(none)
*
*

* IMPORTANT: This class is not intended to be subclassed. *

* * @see Display#getSystemTray * @see Tray, TrayItem * snippets * @see Sample code and further * information * * @since 3.0 * @noextend This class is not intended to be subclassed by clients. */ public class Tray extends Widget { int itemCount; TrayItem[] items = new TrayItem[4]; Tray(Display display, int style) { if (display == null) display = Display.getCurrent(); if (display == null) display = Display.getDefault(); if (!display.isValidThread()) { error(SWT.ERROR_THREAD_INVALID_ACCESS); } this.display = display; reskinWidget(); } void createItem(TrayItem item, int index) { if (!(0 <= index && index <= itemCount)) error(SWT.ERROR_INVALID_RANGE); if (itemCount == items.length) { TrayItem[] newItems = new TrayItem[items.length + 4]; System.arraycopy(items, 0, newItems, 0, items.length); items = newItems; } System.arraycopy(items, index, items, index + 1, itemCount++ - index); items[index] = item; } void destroyItem(TrayItem item) { int index = 0; while (index < itemCount) { if (items[index] == item) break; index++; } if (index == itemCount) return; System.arraycopy(items, index + 1, items, index, --itemCount - index); items[itemCount] = null; } /** * Returns the item at the given, zero-relative index in the receiver. * Throws an exception if the index is out of range. * * @param index * the index of the item to return * @return the item at the given index * * @exception IllegalArgumentException *
    *
  • ERROR_INVALID_RANGE - if the index is not between 0 * and the number of elements in the list minus 1 (inclusive) *
  • *
* @exception SWTException *
    *
  • ERROR_WIDGET_DISPOSED - if the receiver has been * disposed
  • *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the * thread that created the receiver
  • *
*/ public TrayItem getItem(int index) { checkWidget(); if (!(0 <= index && index < itemCount)) error(SWT.ERROR_INVALID_RANGE); return items[index]; } /** * Returns the number of items contained in the receiver. * * @return the number of items * * @exception SWTException *
    *
  • ERROR_WIDGET_DISPOSED - if the receiver has been * disposed
  • *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the * thread that created the receiver
  • *
*/ public int getItemCount() { checkWidget(); return itemCount; } /** * Returns an array of TrayItems which are the items in the * receiver. *

* Note: This is not the actual structure used by the receiver to maintain * its list of items, so modifying the array will not affect the receiver. *

* * @return the items in the receiver * * @exception SWTException *
    *
  • ERROR_WIDGET_DISPOSED - if the receiver has been * disposed
  • *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the * thread that created the receiver
  • *
*/ public TrayItem[] getItems() { checkWidget(); TrayItem[] result = new TrayItem[itemCount]; System.arraycopy(items, 0, result, 0, result.length); return result; } void releaseChildren(boolean destroy) { if (items != null) { for (int i = 0; i < items.length; i++) { TrayItem item = items[i]; if (item != null && !item.isDisposed()) { item.release(false); } } items = null; } super.releaseChildren(destroy); } void releaseParent() { super.releaseParent(); if (display.tray == this) display.tray = null; } void reskinChildren(int flags) { if (items != null) { for (int i = 0; i < items.length; i++) { TrayItem item = items[i]; if (item != null) item.reskin(flags); } } super.reskinChildren(flags); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy