List of usage examples for com.google.gwt.event.dom.client MouseOverHandler MouseOverHandler
MouseOverHandler
From source file:at.ait.dme.yuma.client.image.annotation.ImageAnnotationTree.java
License:EUPL
/** * add the given annotation and all replies to the annotation tree * /*ww w . j av a 2 s . c om*/ * @param annotation * @param parentAnnotation * @param parent */ private void addAnnotation(final ImageAnnotation annotation, ImageAnnotation parentAnnotation, TreeItem parent) { // create the tree node final ImageAnnotationTreeNode node = new ImageAnnotationTreeNode(annotationComposite, annotation, parentAnnotation); node.setAnnotationTreeItem((parent == null) ? this.addItem(node) : parent.addItem(node)); node.addMouseOutHandler(new MouseOutHandler() { public void onMouseOut(MouseOutEvent event) { node.setStyleName("imageAnnotation"); handlerManager.fireEvent(new ImageAnnotationSelectionEvent(annotation, false)); } }); node.addMouseOverHandler(new MouseOverHandler() { public void onMouseOver(MouseOverEvent event) { node.setStyleName("imageAnnotation-selected"); handlerManager.fireEvent(new ImageAnnotationSelectionEvent(annotation, true)); } }); annotationNodes.put(annotation, node); // show the fragment if (annotation.hasFragment()) { DeferredCommand.addCommand(new Command() { public void execute() { imageComposite.showFragment(node.getAnnotation()); } }); } setSelectedItem(node.getAnnotationTreeItem()); ensureSelectedItemVisible(); // process replies if (annotation.hasReplies()) { // sort replies ascending by creation date List<ImageAnnotation> replies = annotation.getReplies(); Collections.sort(replies, new Comparator<ImageAnnotation>() { public int compare(ImageAnnotation o1, ImageAnnotation o2) { return o1.getCreated().compareTo(o2.getCreated()); } }); // add replies to the tree for (ImageAnnotation reply : replies) { addAnnotation(reply, annotation, node.getAnnotationTreeItem()); } } }
From source file:at.ait.dme.yuma.client.image.StandardImageComposite.java
License:EUPL
/** * shows a fragment and adds a mouse selection handler to highlight the * fragment and the corresponding {@link ImageAnnotation} * // ww w. j av a 2s .com * @param image annotation */ @Override public void showFragment(final ImageAnnotation annotation) { if (!annotation.hasFragment()) return; ImageFragment fragment = annotation.getFragment(); // create a copy so we can roll back changes if the user cancels the operation Shape shape = fragment.getShape().copy(); // if the fragment is already displayed we have to remove it if (fragmentPanels.containsKey(annotation)) { hideFragment(annotation); } // create a new fragment panel final ShapePanel fragmentPanel = new ShapePanel(imagePanel, shape, false, false); imagePanel.add(fragmentPanel, shape.getLeft(), shape.getTop()); fragmentPanels.put(annotation, fragmentPanel); setFragmentZIndices(); // change zoom level of fragment to fit the current zoom level of the image ImageRect fragmentImageRect = fragment.getImageRect(); float widthDiff = fragmentImageRect.getWidth() - imageRect.getWidth(); float heightDiff = fragmentImageRect.getHeight() - imageRect.getHeight(); zoomFragment(fragmentPanel, widthDiff < 0, fragmentImageRect, Math.abs(widthDiff), Math.abs(heightDiff)); // mouse listeners for fragment selection fragmentPanel.getDragPanel().addMouseOverHandler(new MouseOverHandler() { public void onMouseOver(MouseOverEvent event) { fragmentPanel.markSelected(true); handlerManager.fireEvent(new ImageAnnotationSelectionEvent(annotation, true)); } }); fragmentPanel.getDragPanel().addMouseOutHandler(new MouseOutHandler() { public void onMouseOut(MouseOutEvent event) { fragmentPanel.markSelected(false); handlerManager.fireEvent(new ImageAnnotationSelectionEvent(annotation, false)); } }); }
From source file:at.ait.dme.yuma.suite.apps.core.client.treeview.AnnotationTree.java
License:EUPL
private void addAnnotation(final AnnotationTreeNode annotation, AnnotationTreeNode parent) { TreeItem treeItem;/*w ww . j a v a 2s .c o m*/ if (parent == null) { treeItem = this.insertItem(0, annotation); } else { treeItem = parent.getTreeItem().addItem(annotation); } annotation.setTreeItem(treeItem); if (annotation.getAnnotation().hasFragment()) panel.getMediaViewer().showAnnotation(annotation.getAnnotation()); annotation.addMouseOverHandler(new MouseOverHandler() { public void onMouseOver(MouseOverEvent event) { annotation.select(); handlerManager.fireEvent(new AnnotationSelectionEvent(annotation.getAnnotation(), true)); } }); annotation.addMouseOutHandler(new MouseOutHandler() { public void onMouseOut(MouseOutEvent event) { annotation.deselect(); handlerManager.fireEvent(new AnnotationSelectionEvent(annotation.getAnnotation(), false)); } }); setSelectedItem(annotation.getTreeItem()); ensureSelectedItemVisible(); if (annotation.getAnnotation().hasReplies()) { List<Annotation> replies = sort(annotation.getAnnotation().getReplies()); for (Annotation reply : replies) { AnnotationTreeNode node = prototype.newInstance(panel, reply, annotation); addAnnotation(node, annotation); } } nodes.put(annotation.getAnnotation(), annotation); annotations.put(treeItem, annotation.getAnnotation()); }
From source file:at.ait.dme.yuma.suite.apps.image.client.ImageViewer.java
License:EUPL
/** * shows a fragment and adds a mouse selection handler to highlight the * fragment and the corresponding {@link ImageAnnotation} * //w ww.jav a2s . c om * @param image annotation */ @Override public void showAnnotation(final Annotation annotation) { if (!annotation.hasFragment()) return; ImageFragment fragment = (ImageFragment) annotation.getFragment(); // create a copy so we can roll back changes if the user cancels the operation Shape shape = fragment.getShape().copy(); // if the fragment is already displayed we have to remove it if (fragmentPanels.containsKey(annotation)) { hideAnnotation(annotation); } // create a new fragment panel final ShapePanel fragmentPanel = new ShapePanel(imagePanel, shape, false, false); imagePanel.add(fragmentPanel, shape.getLeft(), shape.getTop()); fragmentPanels.put((ImageAnnotation) annotation, fragmentPanel); setFragmentZIndices(); // change zoom level of fragment to fit the current zoom level of the image ImageRect fragmentImageRect = fragment.getImageRect(); float widthDiff = fragmentImageRect.getWidth() - imageRect.getWidth(); float heightDiff = fragmentImageRect.getHeight() - imageRect.getHeight(); zoomFragment(fragmentPanel, widthDiff < 0, fragmentImageRect, Math.abs(widthDiff), Math.abs(heightDiff)); // mouse listeners for fragment selection fragmentPanel.getDragPanel().addMouseOverHandler(new MouseOverHandler() { public void onMouseOver(MouseOverEvent event) { fragmentPanel.markSelected(true); handlerManager.fireEvent(new AnnotationSelectionEvent(annotation, true)); } }); fragmentPanel.getDragPanel().addMouseOutHandler(new MouseOutHandler() { public void onMouseOut(MouseOutEvent event) { fragmentPanel.markSelected(false); handlerManager.fireEvent(new AnnotationSelectionEvent(annotation, false)); } }); }
From source file:be.progs.routeshare.client.MenuMapGadget.java
License:Open Source License
@Override public Widget asWidget() { if (menu == null) { menu = new RouteShareMenu(mapPresenter); // Stop propagation of mouse events to the map: menu.addDomHandler(new MouseDownHandler() { public void onMouseDown(MouseDownEvent event) { event.stopPropagation(); }// w w w . j ava2 s . c o m }, MouseDownEvent.getType()); menu.addDomHandler(new ClickHandler() { public void onClick(ClickEvent event) { event.stopPropagation(); } }, ClickEvent.getType()); menu.addDomHandler(new MouseUpHandler() { public void onMouseUp(MouseUpEvent event) { event.stopPropagation(); } }, MouseUpEvent.getType()); menu.addDomHandler(new DoubleClickHandler() { public void onDoubleClick(DoubleClickEvent event) { event.stopPropagation(); } }, DoubleClickEvent.getType()); // Install a timer for automatic closing when the mouse leaves us: menu.addDomHandler(new MouseOutHandler() { public void onMouseOut(MouseOutEvent event) { if (menu.isOpen() && closeDelay > 0) { timer = new Timer() { public void run() { menu.setOpen(false); } }; timer.schedule(closeDelay); } } }, MouseOutEvent.getType()); menu.addDomHandler(new MouseOverHandler() { public void onMouseOver(MouseOverEvent event) { if (timer != null) { timer.cancel(); } } }, MouseOverEvent.getType()); } return menu; }
From source file:cc.kune.common.client.ui.BasicThumb.java
License:GNU Affero Public License
/** * Instantiates a new basic thumb.//ww w. j a va 2s . co m * * @param imageRef * This can be a ImageResource or a String Url * @param imgSize * the img size * @param text * the text * @param textMaxLenght * the text max lenght * @param crop * the crop * @param clickHandler * the click handler */ public BasicThumb(final Object imageRef, final int imgSize, final String text, final int textMaxLenght, final boolean crop, final ClickHandler clickHandler) { super(); onOverLabel = false; panel = new VerticalPanel(); if (imageRef instanceof String) { final String imageUrl = (String) imageRef; if (imgSize == NOSIZE) { image = new Image(imageUrl); } else { if (crop) { image = new Image(imageUrl, 0, 0, imgSize, imgSize); } else { image = new Image(imageUrl); image.setPixelSize(imgSize, imgSize); } } } else if (imageRef instanceof ImageResource) { image = new Image((ImageResource) imageRef); image.setPixelSize(imgSize, imgSize); } else { // This should not happen image = new Image(); image.setPixelSize(imgSize, imgSize); Log.info("Unrecognized icon of BasicThumb: " + imageRef); } final String title = textMaxLenght == NOSIZE ? text : TextUtils.ellipsis(text, textMaxLenght); label = new Label(title); panel.add(image); panel.add(label); panel.addStyleName("k-basic-thumb"); panel.addStyleName("kune-Margin-Mini-trbl"); panel.addStyleName("k-pointer"); panel.addStyleName("k-floatleft"); panel.setCellHorizontalAlignment(label, VerticalPanel.ALIGN_CENTER); if (clickHandler != null) { addClickHandlerImpl(clickHandler); } image.addMouseOverHandler(new MouseOverHandler() { @Override public void onMouseOver(final MouseOverEvent event) { if (onOverLabel) { label.setVisible(true); } } }); image.addMouseOutHandler(new MouseOutHandler() { @Override public void onMouseOut(final MouseOutEvent event) { if (onOverLabel) { label.setVisible(false); } } }); setElement(panel.getElement()); }
From source file:cc.kune.gspace.client.tool.selector.ToolSelectorItemPanel.java
License:GNU Affero Public License
/** * Instantiates a new tool selector item panel. * * @param shortName//from w w w. jav a 2s. c o m * the short name * @param icon * the icon */ public ToolSelectorItemPanel(final String shortName, final KuneIcon icon) { this.shortName = shortName; btn = PaperFab.wrap(TOOL_ID_PREFIX + shortName); setVisibleImpl(false); btn.setStylePrimaryName("k-tool-item"); btn.addMouseOverHandler(new MouseOverHandler() { @Override public void onMouseOver(final MouseOverEvent event) { focus(); } }); btn.addMouseOutHandler(new MouseOutHandler() { @Override public void onMouseOut(final MouseOutEvent event) { unfocus(); } }); }
From source file:cc.kune.gspace.client.viewers.FolderViewerAsTablePanel.java
License:GNU Affero Public License
@Override public void addItem(final FolderItemDescriptor item, final ClickHandler clickHandler, final DoubleClickHandler doubleClickHandler) { final int rowCount = flex.getRowCount(); final FolderItemWidget itemWidget = new FolderItemWidget((KuneIcon) item.getIcon(), TextUtils.ellipsis(item.getText(), 70), item.getStateToken(), ITEM_ID + (flex.getRowCount() + 1)); final ActionSimplePanel toolbar = new ActionSimplePanel(guiProvider, i18n); final long modifiedOn = item.getModififiedOn(); if (modifiedOn != FolderViewerView.NO_DATE) { // String dateFormat = session.getCurrentLanguage().getDateFormatShort(); itemWidget.setModifiedText(DateUtils.getInstance().formatPastDate(modifiedOn)); }/*from w ww . j a va 2s .c o m*/ itemWidget.setMenu(toolbar); Tooltip.to(itemWidget, item.getTooltip()); // FIXME make this under demand itemWidget.getRowClick().addClickHandler(clickHandler); itemWidget.getRowDoubleClick().addDoubleClickHandler(doubleClickHandler); if (ContentStatus.inTheDustbin.equals(item.getContentStatus())) { itemWidget.getTitleWidget().addStyleName("k-line-through"); } itemWidget.getRowDoubleClick().addDoubleClickHandler(doubleClickHandler); itemWidget.getRowMouse().addMouseOutHandler(new MouseOutHandler() { @Override public void onMouseOut(final MouseOutEvent event) { itemWidget.setMenuVisible(false); } }); final MenuDescriptor menu = new MenuDescriptor(i18n.t("Actions")); menu.setAtRight(true); menu.withStyles("k-def-docbtn, k-btn, k-button"); menu.setStandalone(false); toolbar.add(menu); final GuiActionDescCollection actions = item.getActionCollection(); toolbar.setVisible(actions.size() > 0); itemWidget.setMenuVisible(false); itemWidget.getRowMouse().addMouseOverHandler(new MouseOverHandler() { boolean initialized = false; private void init(final FolderItemDescriptor item, final FolderItemWidget itemWidget, final ActionSimplePanel toolbar) { for (final GuiActionDescrip menuItem : actions) { menuItem.setParent(menu); toolbar.add(menuItem); } } @Override public void onMouseOver(final MouseOverEvent event) { if (!initialized) { init(item, itemWidget, toolbar); initialized = true; } itemWidget.setMenuVisible(true); } }); flex.setWidget(rowCount + 1, 0, itemWidget); if (item.isDraggable()) { dragController.makeDraggable(itemWidget, itemWidget.getTitleWidget()); } if (!item.isContainer() && item.isDroppable()) { final FolderContentDropController dropController = contentDropControllerProv.get(); dropController.init(itemWidget); dropController.setTarget(item.getStateToken()); } if (item.isContainer() && item.isDroppable()) { final FolderContainerDropController dropController = containerDropControllerProv.get(); dropController.init(itemWidget); dropController.setTarget(item.getStateToken()); } }
From source file:ch.heftix.mailxel.client.MailOverviewCellTable.java
License:Open Source License
public void fillGrid(List<Envelope> result) { envelopes = result;//ww w . j ava 2s . c om // checkboxes = new ArrayList<CheckBox>(envelopes.size()); // clean all except header int rows = grid.getRowCount(); for (int i = rows - 1; i >= first_payload_row; i--) { grid.removeRow(i); } int row = first_payload_row; for (final Envelope envelope : result) { grid.setText(row, C_SELECT, Integer.toString(envelope.count)); setTextHelper(grid, row, C_FROM, envelope.from, 12); setTextHelper(grid, row, C_TO, envelope.to, 12); Label dateTime = dateTimeLabel(envelope.date, envelope.time); if (envelope.urgency > 0) { String style = "background-color:#FA5858;"; switch (envelope.urgency) { case 4: style = "background-color:#FA5858;"; break; case 3: style = "background-color:#FAAC58;"; break; case 2: style = "background-color:#F4FA58;"; break; default: style = "background-color:#ACFA58;"; break; } DOM.setElementAttribute(dateTime.getElement(), "style", style); } grid.setWidget(row, C_DATE, dateTime); // GTD label (unless label is 'not categorized') if (990 != envelope.curcatid) { Label gtdLabel = createLabel(envelope.GTD, 16); grid.setWidget(row, C_GTD, gtdLabel); // see if there is an icon for it Image img = setIconForGTD(grid, row, envelope.curcatid, envelope.GTD); img.addMouseOverHandler(new MouseOverHandler() { public void onMouseOver(final MouseOverEvent event) { final PopupPanel pop = new PopupPanel(true); pop.setPopupPosition(event.getClientX(), event.getClientY()); mailxelService.getCategoryHistory(envelope.id, new AsyncCallback<List<AttachedCategoryTO>>() { public void onFailure(Throwable caught) { // } public void onSuccess(List<AttachedCategoryTO> result) { if (null == result || result.size() < 1) { return; } FlexTable ft = new FlexTable(); pop.add(ft); int row = 0; for (AttachedCategoryTO cat : result) { ft.setText(row, 0, cat.date); String url = DirectMailServiceUtil.getIconURL(cat.category.iconid); if (null != url) { Image img = new Image(url); ft.setWidget(row, 1, img); } ft.setText(row, 2, cat.category.name); row++; } pop.show(); } }); } }); } if (envelope.nattach > 0) { Image attach = new Image("img/attach.png"); grid.setWidget(row, C_ATTACHMENT, attach); } Label subject = setTextHelper(grid, row, C_SUBJECT, envelope.subject, 64); // subject.addMouseOverHandler(new MouseOverHandler() { // // public void onMouseOver(MouseOverEvent event) { // // System.out.println("on mouse over:" + event + "/" + // // envelope); // mailxelService.snippet(envelope.id, // new AsyncCallback<String>() { // // public void onFailure(Throwable caught) { // System.out.println("E snippet: " + caught); // } // // public void onSuccess(String result) { // System.out.println("I snippet: " + result); // // } // }); // } // }); if (row % 2 == 0) { rf.setStylePrimaryName(row, "row-bg"); } row++; } cl = new CursoredList<Envelope>(envelopes); cl.setCursorPosition(0); }
From source file:ch.unifr.pai.mindmap.client.mindmap.BackgroundImgRepo.java
License:Apache License
/** * @param bgImg//from w w w . j a va2 s.co m * - the image object that shall be adapted accordingly to the chosen data-url */ public BackgroundImgRepo(Image bgImg) { super(); add(fp); add(previewImage); getElement().getStyle().setOverflow(Overflow.VISIBLE); this.bgImg = bgImg; this.setHeight("100%"); this.setWidth("100%"); fp.getElement().getStyle().setBackgroundColor("grey"); fp.setWidth("100%"); fp.setHeight("100%"); fp.setWidget(hp); hp.setWidth("100%"); hp.setHeight("100%"); fp.setWidget(hp); previewImage.getElement().getStyle().setPosition(Position.ABSOLUTE); previewImage.getElement().getStyle().setTop(-120, Unit.PX); previewImage.getElement().getStyle().setHeight(110, Unit.PX); previewImage.getElement().getStyle().setBorderWidth(2, Unit.PX); previewImage.getElement().getStyle().setBorderColor("black"); previewImage.getElement().getStyle().setBorderStyle(BorderStyle.SOLID); previewImage.getElement().getStyle().setDisplay(Display.NONE); // Add a button for cleaning the browser as well PushButton emptyBg = new PushButton(new Image(GWT.getModuleBaseURL() + "images/emptyscreen.png")) { @Override public void onBrowserEvent(Event event) { if (MultiCursorController.isDefaultCursor(event)) { super.onBrowserEvent(event); } } }; emptyBg.setTitle("Remove background-image"); emptyBg.getElement().getStyle().setDisplay(Display.INLINE_BLOCK); emptyBg.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (MultiCursorController.isDefaultCursor(event.getNativeEvent())) { BackgroundImgRepo.this.bgImg.setVisible(false); } } }); hp.add(emptyBg); fp.addDragOverHandler(new DragOverHandler() { @Override public void onDragOver(DragOverEvent event) { fp.getElement().getStyle().setBackgroundColor("darkgrey"); } }); fp.addDragLeaveHandler(new DragLeaveHandler() { @Override public void onDragLeave(DragLeaveEvent event) { fp.getElement().getStyle().setBackgroundColor("grey"); } }); fp.addDropHandler(new DropHandler() { /** * Prevents the default behavior of the browser (otherwise, the browser would open the image in the current tab), reads the dragged files and adds * them as {@link PushButton} to the panel. * * @see com.google.gwt.event.dom.client.DropHandler#onDrop(com.google.gwt.event.dom.client.DropEvent) */ /* * (non-Javadoc) * @see com.google.gwt.event.dom.client.DropHandler#onDrop(com.google.gwt.event.dom.client.DropEvent) */ @Override public void onDrop(DropEvent event) { // event.stopPropagation(); event.preventDefault(); fp.getElement().getStyle().setBackgroundColor("grey"); JsArray<JavaScriptObject> files = getDataTransferFiles(event.getDataTransfer()); for (int i = 0; i < files.length(); i++) { final Image img = new Image(); PushButton button = new PushButton(img) { @Override public void onBrowserEvent(Event event) { if (MultiCursorController.isDefaultCursor(event)) { super.onBrowserEvent(event); } } }; button.setTitle("Set this image as background"); button.addClickHandler(new ClickHandler() { /** * Set the image of the button as the current background image * * @see com.google.gwt.event.dom.client.ClickHandler#onClick(com.google.gwt.event.dom.client.ClickEvent) */ @Override public void onClick(ClickEvent event) { if (MultiCursorController.isDefaultCursor(event.getNativeEvent())) { BackgroundImgRepo.this.bgImg.setVisible(true); BackgroundImgRepo.this.bgImg.getElement().setAttribute("src", img.getElement().getAttribute("src")); } } }); button.addMouseOverHandler(new MouseOverHandler() { /** * Show the preview image at the appropriate position and replace the data-url * * @see com.google.gwt.event.dom.client.MouseOverHandler#onMouseOver(com.google.gwt.event.dom.client.MouseOverEvent) */ @Override public void onMouseOver(MouseOverEvent event) { if (MultiCursorController.isDefaultCursor(event.getNativeEvent())) { BackgroundImgRepo.this.previewImage.getElement().getStyle() .setDisplay(Display.BLOCK); BackgroundImgRepo.this.previewImage.getElement().setAttribute("src", img.getElement().getAttribute("src")); Scheduler.get().scheduleDeferred(new ScheduledCommand() { @Override public void execute() { previewImage.getElement().getStyle().setLeft(img.getAbsoluteLeft() - BackgroundImgRepo.this.getAbsoluteLeft() - previewImage.getOffsetWidth() / 2 + img.getOffsetWidth() / 2, Unit.PX); } }); } } }); button.addMouseOutHandler(new MouseOutHandler() { /** * Hide the preview image * * @see com.google.gwt.event.dom.client.MouseOutHandler#onMouseOut(com.google.gwt.event.dom.client.MouseOutEvent) */ @Override public void onMouseOut(MouseOutEvent event) { if (MultiCursorController.isDefaultCursor(event.getNativeEvent())) { BackgroundImgRepo.this.previewImage.getElement().getStyle() .setDisplay(Display.NONE); } } }); // img.getElement().getStyle().setMargin(5, Unit.PX); // img.getElement().getStyle().setDisplay(Display.INLINE_BLOCK); img.setHeight("35px"); button.getElement().getStyle().setDisplay(Display.INLINE_BLOCK); hp.add(button); addBackgroundImage(img.getElement(), files.get(i)); } } }); }