public void sprayFileList(List<FileWrapper> list) { checkBoxList.clear(); selectedFileSet.clear(); flowPanel.clear(); for (final FileWrapper fileWrapper : list) { final FlowPanel tempFlowPanel = new FlowPanel(); flowPanel.add(tempFlowPanel); tempFlowPanel.getElement().getStyle().setProperty("margin", 50, Unit.PX); tempFlowPanel.getElement().getStyle().setProperty("textAlign", "center"); tempFlowPanel.getElement().getStyle().setProperty("verticalAlign", "top"); tempFlowPanel.getElement().getStyle().setProperty("display", "inline-block"); tempFlowPanel.sinkEvents(Event.ONDBLCLICK); tempFlowPanel.sinkEvents(Event.ONCONTEXTMENU); final CheckBox chckbxFileName = new CheckBox(fileWrapper.getName()); Image imgFileIcon; switch (fileWrapper.getKind()) { case DIR: imgFileIcon = new Image("/img/folder.png"); tempFlowPanel.addHandler( new DoubleClickHandler() { public void onDoubleClick(DoubleClickEvent event) { presenter.changeDirectory(fileWrapper.getPath()); } }, DoubleClickEvent.getType()); tempFlowPanel.addHandler( new ContextMenuHandler() { public void onContextMenu(ContextMenuEvent event) { event.preventDefault(); event.stopPropagation(); FileContextMenu fileContextMenu = new FileContextMenu( presenter, ContextMenuType.DIRECTORY, fileWrapper.getPath(), selectedFileSet); fileContextMenu.setPopupPosition( event.getNativeEvent().getClientX(), event.getNativeEvent().getClientY()); fileContextMenu.show(); chckbxFileName.setValue(true, true); } }, ContextMenuEvent.getType()); break; default: imgFileIcon = new Image("/img/file.png"); tempFlowPanel.addHandler( new DoubleClickHandler() { public void onDoubleClick(DoubleClickEvent event) { presenter.downloadFiles(selectedFileSet); } }, DoubleClickEvent.getType()); tempFlowPanel.addHandler( new ContextMenuHandler() { public void onContextMenu(ContextMenuEvent event) { event.preventDefault(); event.stopPropagation(); FileContextMenu fileContextMenu = new FileContextMenu( presenter, ContextMenuType.OTHERS, fileWrapper.getPath(), selectedFileSet); fileContextMenu.setPopupPosition( event.getNativeEvent().getClientX(), event.getNativeEvent().getClientY()); fileContextMenu.show(); chckbxFileName.setValue(true, true); } }, ContextMenuEvent.getType()); break; } tempFlowPanel.add(imgFileIcon); imgFileIcon.setSize("128px", "128px"); imgFileIcon.getElement().getStyle().setProperty("display", "block"); checkBoxList.add(chckbxFileName); tempFlowPanel.add(chckbxFileName); chckbxFileName.addStyleName("iconName"); chckbxFileName.getElement().getStyle().setProperty("display", "block"); chckbxFileName.addClickHandler(clickHandlerStopPropagation); chckbxFileName.addValueChangeHandler( new ValueChangeHandler<Boolean>() { public void onValueChange(ValueChangeEvent<Boolean> event) { if (event.getValue()) { tempFlowPanel.getElement().getStyle().setBackgroundColor("lightblue"); selectedFileSet.add(fileWrapper.getPath()); } else { tempFlowPanel.getElement().getStyle().clearBackgroundColor(); selectedFileSet.remove(fileWrapper.getPath()); } if (!mntmDeleteFile.isEnabled() && selectedFileSet.size() > 0) { mntmDeleteFile.setEnabled(true); } else if (selectedFileSet.size() == 0) { mntmDeleteFile.setEnabled(false); } if (selectedFileSet.size() == 1 && !mntmDownloadFile.isEnabled() && !mntmRenameFile.isEnabled()) { mntmDownloadFile.setEnabled(true); mntmRenameFile.setEnabled(true); } else if (selectedFileSet.size() != 1 && mntmDownloadFile.isEnabled() && mntmRenameFile.isEnabled()) { mntmDownloadFile.setEnabled(false); mntmRenameFile.setEnabled(false); } } }); imgFileIcon.addClickHandler( new ClickHandler() { public void onClick(ClickEvent event) { event.stopPropagation(); setAllCheckBoxFalse(); chckbxFileName.setValue(true, true); } }); imgFileIcon.addMouseOverHandler( new MouseOverHandler() { public void onMouseOver(MouseOverEvent event) { if (!chckbxFileName.getValue()) tempFlowPanel.getElement().getStyle().setBackgroundColor("lightgray"); } }); imgFileIcon.addMouseOutHandler( new MouseOutHandler() { public void onMouseOut(MouseOutEvent event) { if (!chckbxFileName.getValue()) tempFlowPanel.getElement().getStyle().clearBackgroundColor(); } }); } }
private void setupStarImage() { StarImageEventHandler handler = new StarImageEventHandler(); starImage.addClickHandler(handler); starImage.addMouseOverHandler(handler); starImage.addMouseOutHandler(handler); }
/** * Instantiates a new basic thumb. * * @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()); }