litesoft
@ 947
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.GWT.client.taskbar; import org.litesoft.GWT.client.iconservice.*; import org.litesoft.GWT.client.nonpublic.*; import org.litesoft.GWT.client.widgets.nonpublic.*; import com.google.gwt.user.client.ui.*; public abstract class TaskbarItem { private Widget mTaskbarWidget; private TaskbarEntry mEntry; private TaskbarHelper mTaskbarHelper; public TaskbarItem( final TaskbarHelper pHelper, TaskbarEntry pEntry, final boolean pFavorite ) { Image image = pEntry.getSmallIconImage(); mTaskbarWidget = new BackgroundCellForTaskbarItem( image ); mEntry = pEntry; mTaskbarHelper = pHelper; image.addMouseListener( new MouseListenerAdapter() { public void onMouseEnter( Widget sender ) { if ( !mTaskbarHelper.mContextMenuIsShown ) { mouseOver( pFavorite ); } } } ); image.addClickListener( new ClickListener() { public void onClick( Widget sender ) { mouseOver( pFavorite ); mTaskbarHelper.click( sender ); } } ); } private void mouseOver( boolean pFavorite ) { mTaskbarHelper.setupForPopup( pFavorite, getTaskbarItem() ); mTaskbarHelper.showPopup( getTaskbarItem() ); } public TaskbarItem getTaskbarItem() { return this; } public Widget getTaskbarWidget() { return mTaskbarWidget; } public String getTooltip() { return mEntry.getTooltip(); } public void bringToFront() { TaskbarEntry taskbarEntry = getEntry(); ITaskbarFloaterManageable floater = ((TaskbarFloaterEntry) taskbarEntry).getFloater(); SizeableFloater sizeableFloater = floater.getFloater(); TaskbarDockingPanel dockingPanel = mTaskbarHelper.getTaskbarDockingPanel(); dockingPanel.bringFloaterToTop( sizeableFloater ); } public void manageFloater() { ITaskbarFloaterManageable floater = getFloaterPanel(); SizeableFloater sizeableFloater = floater.getFloater(); new FloaterMoveSizeDialog( sizeableFloater.getTitle(), floater ).initialize( null, null ).show(); } public String getLargeURL() { return mEntry.getLargeIconURL(); } public TaskbarEntry getEntry() { return mEntry; } public ITaskbarFloaterManageable getFloaterPanel() { return ((TaskbarFloaterEntry) getEntry()).getFloater(); } } |