List of usage examples for com.google.gwt.user.client.ui FocusPanel FocusPanel
public FocusPanel()
From source file:binarymillenium.tiles.client.Tiles.java
License:GNU General Public License
public void onModuleLoad() { populateMap();//from ww w.j ava 2 s.c o m Button forward = new Button("forward", new ClickListener() { public void onClick(Widget sender) { viewx += viewdirx; viewy += viewdiry; checkBounds(); draw(); } }); RootPanel.get().add(forward); Button back = new Button("back", new ClickListener() { public void onClick(Widget sender) { viewx -= viewdirx; viewy -= viewdiry; checkBounds(); draw(); } }); RootPanel.get().add(back); Button left = new Button("left", new ClickListener() { public void onClick(Widget sender) { viewx -= viewdiry; viewy -= viewdirx; checkBounds(); draw(); } }); RootPanel.get().add(left); Button right = new Button("right", new ClickListener() { public void onClick(Widget sender) { viewx += viewdiry; viewy += viewdirx; checkBounds(); draw(); } }); RootPanel.get().add(right); Button turnright = new Button("turn right", new ClickListener() { public void onClick(Widget sender) { if (viewdirx == 1) { viewdirx = 0; viewdiry = -1; } else if (viewdirx == -1) { viewdirx = 0; viewdiry = 1; } else if (viewdiry == 1) { viewdirx = 1; viewdiry = 0; } else if (viewdiry == -1) { viewdirx = -1; viewdiry = 0; } draw(); } }); RootPanel.get().add(turnright); Button turnleft = new Button("turn left", new ClickListener() { public void onClick(Widget sender) { if (viewdirx == 1) { viewdirx = 0; viewdiry = 1; } else if (viewdirx == -1) { viewdirx = 0; viewdiry = -1; } else if (viewdiry == 1) { viewdirx = -1; viewdiry = 0; } else if (viewdiry == -1) { viewdirx = 1; viewdiry = 0; } draw(); } }); RootPanel.get().add(turnleft); focPan = new FocusPanel(); panel = new AbsolutePanel(); focPan.add(panel); RootPanel.get().add(focPan); mappanel = new AbsolutePanel(); panel.add(mappanel); panel.setWidgetPosition(mappanel, 512, 0); mappanel.setPixelSize(MAPPANELSIZE, MAPPANELSIZE); initmappanel(); //focPan.addKeyboardListener(new landerHandler()); //focPan.addMouseListener(new landerHandler2()); panel.add(sky); panel.add(ground); panel.setWidgetPosition(ground, 0, 512 / 2); initviewobjects(); panel.setPixelSize(512 + MAPPANELSIZE, 512); /// how to specify back to front ordering? /// order add and set back to front /*for (int i = 0; i < back_wall.length; i++) { back_wall[i] = new Image("backwall.png"); panel.add(back_wall[i]); panel.setWidgetPosition(back_wall[i], i*100,512/2-50); }*/ //panel.add(left_wall); //panel.setWidgetPosition(left_wall, 0,0); draw(); //new AnimationTimer().scheduleRepeating( (int)(dt*1e3) ); }
From source file:cc.kune.core.client.invitation.AbstractInvitationConfirmDialog.java
License:GNU Affero Public License
/** * Instantiates a new generic invitation confirm dialog. * /*w w w . j av a2 s . co m*/ * @param builder * the builder */ protected AbstractInvitationConfirmDialog(final AbstractInvitationConfirmDialog.Builder builder) { super(builder); final FocusPanel focus = new FocusPanel(); final HTMLPanel label = new HTMLPanel(builder.getMessage()); focus.add(label); focus.addClickHandler(new ClickHandler() { @Override public void onClick(final ClickEvent event) { hide(); } }); super.getInnerPanel().add(focus); super.setFirstBtnVisible(false); this.getSecondBtn().addClickHandler(new ClickHandler() { @Override public void onClick(final ClickEvent event) { hide(); } }); }
From source file:ch.unifr.pai.ice.client.dragNdrop.DnD1userGeneric.java
License:Apache License
@Override public void initialise() { if (!init) {//ww w. j a v a2 s . co m // dragPanelWidth = dragPanel.getElement().getOffsetWidth(); // dragPanelHeight = dragPanel.getElement().getOffsetHeight(); // // dropPanelWidth = dropPanel.getElement().getOffsetWidth(); // dropPanelHeight = dropPanel.getElement().getOffsetHeight(); add(binPanel); setWidgetTopHeight(binPanel, getOffsetHeight() / 2 - binSize / 2, Unit.PX, binSize, Unit.PX); setWidgetLeftWidth(binPanel, getOffsetWidth() / 2 - binSize / 2, Unit.PX, binSize, Unit.PX); resultVector = new Vector<String>(); blobCoord = PositioningUtils.getPositionsInCircle(nbBlobs, getOffsetHeight() / 2, getOffsetWidth() / 2, (Math.min(getOffsetHeight(), getOffsetWidth()) / 2) - 50); // int[][] tmpBlobCoord = new int[][] { // { dragPanelWidth - 100, dragPanelHeight - 100 }, // { (dragPanelWidth / 2) - 40, 70 }, // { 50, dragPanelHeight - 100 }, // { 100, 70 }, // { dragPanelWidth - 130, 90 }, // { dragPanelWidth - 110, dragPanelHeight - 160 }, // { 140, dragPanelHeight / 2 }, // { dragPanelWidth / 2, dragPanelHeight - 100 }, // { (dragPanelWidth / 2) - 50, (dragPanelHeight / 2) - 30 }, // { 200, 110 }, // { (dragPanelWidth / 2) + 80, dragPanelHeight - 80 }, // { (dragPanelWidth / 4) * 3, dragPanelHeight - 100 }, // { (dragPanelWidth / 4), dragPanelHeight - 40 }, // { (dragPanelWidth / 4) * 3, dragPanelHeight / 2 }, // { (dragPanelWidth / 4), (dragPanelHeight / 2) + 70 }, // { (dragPanelWidth / 2) + 70, (dragPanelHeight / 2) + 80 }, // { 140, dragPanelHeight / 3 }, // { dragPanelWidth / 2, dragPanelHeight / 3 }, // { dragPanelWidth - 70, (dragPanelHeight / 3) }, // { (dragPanelWidth / 4) * 3, dragPanelHeight /2 }, }; // // //Reduce to number of blobs // if(nbBlobs>=tmpBlobCoord.length) // blobCoord = tmpBlobCoord; // else{ // blobCoord = new int[nbBlobs][2]; // for(int i=0; i<nbBlobs; i++){ // blobCoord[i][0] = tmpBlobCoord[i][0]; // blobCoord[i][1] = tmpBlobCoord[i][1]; // } // } addBlobs(true); final FocusPanel panel = new FocusPanel(); panel.addMouseMoveHandler(new MouseMoveHandler() { @Override public void onMouseMove(MouseMoveEvent event) { String deviceId = UUID.getUUIDForEvent(event.getNativeEvent()); event.getRelativeX(panel.getElement()); event.getClientY(); } }); init = true; } }
From source file:ch.unifr.pai.ice.client.dragNdrop.DND4users4spaces.java
License:Apache License
/****************************************** * Set the drop panels with the grid/*from ww w . j a v a2 s . c o m*/ ******************************************/ private void setDropPanels() { for (int row = 0; row < 4; ++row) { for (int col = 0; col < 10; ++col) { dropGrid.getColumnFormatter().setWidth(col, "10%"); dropPanel = new FocusPanel(); dropPanel.setSize("100%", "100%"); Label l = new Label(String.valueOf(col)); l.getElement().getStyle().setBackgroundColor(colors[row]); l.getElement().getStyle().setFontSize(18, Unit.PX); l.getElement().getStyle().setFontWeight(FontWeight.BOLD); if (colors[row].equals("black")) l.getElement().getStyle().setColor("white"); final DropAbsolutePanel absDropPanel = new DropAbsolutePanel((row * 10) + col); absDropPanel.add(l); absDropPanel.setTitle(String.valueOf(row) + String.valueOf(col)); absDropPanel.setSize("100%", "100%"); dropPanel.add(absDropPanel); dropGrid.setWidget(row, col, dropPanel); /************************** * Set the drop handler *************************/ DragNDrop.setDropHandler(dropPanel, new DropTargetHandlerAdapter() { @Override public boolean onDrop(String deviceId, Widget widget, Element dragProxy, Event event, Double intersectionPercentage, Double intersectionPercentageWithTarget) { if (((DraggableLabelledBlob) widget).getBlobNumber() == absDropPanel.getPanelID()) { absDropPanel.clear(); absDropPanel.add(widget); ((DraggableLabelledBlob) widget).setDropTime(System.currentTimeMillis()); ((DraggableLabelledBlob) widget).setDragStarted(false); ((DraggableLabelledBlob) widget).setDropTime(System.currentTimeMillis()); resultVector.add( new String("user" + widget.getTitle().charAt(0) + ";" + "blob" + ((DraggableLabelledBlob) widget).getBlobName() + ";" + ((DraggableLabelledBlob) widget).getDragNdropTime()) ); if (--blobsToDrop == 0) { // log the results if all blobs are dropped!!! log(); } return true; } else return false; } }, false); } } }
From source file:ch.unifr.pai.ice.client.dragNdrop.DND4users4spaces.java
License:Apache License
/******************************************************************* * Blobs generator with the draggable capabilities - Pseudo randomly position (array of position) *******************************************************************/ private void addBlob(int xPos, int yPos, String image, String widthSize, String heightSize, int row, int col, String textColor) {//from ww w . j a va2 s .com DraggableLabelledBlob blob = new DraggableLabelledBlob(String.valueOf(col), image); blob.setSize(widthSize, heightSize); blob.setBlobNumber((row * 10) + col); blob.setVisible(true); blob.setTitle(String.valueOf((row * 10) + col)); blob.getElement().getStyle().setColor(textColor); DragNDrop.makeDraggable(blob, DragConfiguration.withProxy(new DragNDropHandler() { @Override public void onStartDrag(String deviceId, Widget draggedWidget) { if (!((DraggableLabelledBlob) draggedWidget).isDragStarted()) { // set the starting time ((DraggableLabelledBlob) draggedWidget).setDragStarted(true); ((DraggableLabelledBlob) draggedWidget).setDragStartTime(System.currentTimeMillis()); } } @Override public void onEndOfDrop(String deviceId, Widget draggedWidget, int dragProxyLeft, int dragProxyTop, Event event) { } @Override public boolean onDrop(String deviceId, Widget draggedWidget, int dragProxyLeft, int dragProxyTop, Event event, DropTargetHandler dropTarget, boolean outOfBox) { return true; } } )); final FocusPanel panel = new FocusPanel(); panel.addMouseMoveHandler(new MouseMoveHandler() { @Override public void onMouseMove(MouseMoveEvent event) { String deviceId = UUID.getUUIDForEvent(event.getNativeEvent()); event.getRelativeX(panel.getElement()); event.getClientY(); } }); // dragPanel.add(blob, xPos, yPos); dragGrid.setWidget(row, col, blob); }
From source file:ch.unifr.pai.ice.client.dragNdrop.DND4users4spaces.java
License:Apache License
/************************************************************************ * Blobs generator with the draggable capabilities - Equally distributed ************************************************************************/ private void addBlob(int posInGrid, String image, String widthSize, String heightSize, int userNo, int row, int col, String textColor) { DraggableLabelledBlob blob = new DraggableLabelledBlob(String.valueOf(col), image); blob.setSize(widthSize, heightSize); blob.setBlobNumber((userNo * 10) + col); blob.setVisible(true);/*from w w w . ja v a 2 s.c o m*/ blob.setTitle(String.valueOf((userNo * 10) + col)); blob.getElement().getStyle().setColor(textColor); DragNDrop.makeDraggable(blob, DragConfiguration.withProxy(new DragNDropHandler() { @Override public void onStartDrag(String deviceId, Widget draggedWidget) { if (!((DraggableLabelledBlob) draggedWidget).isDragStarted()) { // set the starting time ((DraggableLabelledBlob) draggedWidget).setDragStarted(true); ((DraggableLabelledBlob) draggedWidget).setDragStartTime(System.currentTimeMillis()); } } @Override public void onEndOfDrop(String deviceId, Widget draggedWidget, int dragProxyLeft, int dragProxyTop, Event event) { } @Override public boolean onDrop(String deviceId, Widget draggedWidget, int dragProxyLeft, int dragProxyTop, Event event, DropTargetHandler dropTarget, boolean outOfBox) { return true; } } )); final FocusPanel panel = new FocusPanel(); panel.addMouseMoveHandler(new MouseMoveHandler() { @Override public void onMouseMove(MouseMoveEvent event) { String deviceId = UUID.getUUIDForEvent(event.getNativeEvent()); event.getRelativeX(panel.getElement()); event.getClientY(); } }); dragGrid.setWidget(row, posInGrid, blob); }
From source file:ch.unifr.pai.twice.dragndrop.standalone.client.DragNDropStandalone.java
License:Apache License
@Override public void onModuleLoad() { // Enable multicursor support MultiCursorController c = GWT.create(MultiCursorController.class); c.start();//w ww . j av a 2s . c o m DockLayoutPanel mainpanel = new DockLayoutPanel(Unit.PX); final AbsolutePanel p = new AbsolutePanel(); DraggableLabel l = new DraggableLabel(); l.setText("DRAG ME"); mainpanel.add(p); RootLayoutPanel.get().add(mainpanel); p.add(l); final FocusPanel drop = new FocusPanel(); drop.setWidth("500px"); drop.setHeight("400px"); drop.getElement().getStyle().setBackgroundColor("green"); p.add(drop); p.setWidgetPosition(drop, 400, 200); // define the green focus panel to be a drop target handler DragNDrop.setDropHandler(drop, new DropTargetHandler() { @Override public void onHoverEnd(String deviceId, Widget widget, Element dragProxy, Event event) { drop.getElement().getStyle().setBackgroundColor("yellow"); } @Override public void onHover(String deviceId, Widget widget, Element dragProxy, Event event, Double intersectionPercentage, Double intersectionPercentageWithTarget) { drop.getElement().getStyle().setBackgroundColor("red"); } @Override public boolean onDrop(String deviceId, Widget widget, Element dragProxy, Event event, Double intersectionPercentage, Double intersectionPercentageWithTarget) { Window.alert("Dropped"); return false; } @Override public Priority getPriority() { return Priority.NORMAL; } }, true); // Make the label draggable DragNDrop.makeDraggable(l, DragConfiguration.withProxy(new DragNDropHandler() { @Override public void onStartDrag(String deviceId, Widget draggedWidget) { // TODO Auto-generated method stub } @Override public void onEndOfDrop(String deviceId, Widget draggedWidget, int dragProxyLeft, int dragProxyTop, Event event) { // TODO Auto-generated method stub } @Override public boolean onDrop(String deviceId, Widget draggedWidget, int dragProxyLeft, int dragProxyTop, Event event, DropTargetHandler dropTarget, boolean outOfBox) { p.setWidgetPosition(draggedWidget, dragProxyLeft - p.getAbsoluteLeft(), dragProxyTop - p.getAbsoluteTop()); return true; } })); }
From source file:cl.uai.client.MarkingInterface.java
License:Open Source License
/** /**/*w w w . ja va 2 s. c o m*/ * */ public MarkingInterface() { // The timer will check if no other resize events have been called in the last 200 ms resizeTimer = new Timer() { @Override public void run() { Date now = new Date(); long diff = now.getTime() - resizeTime.getTime(); // The last resize was in less than 200 ms if (diff < 200) { resizeTimer.schedule(200); } else { // More than 200 ms, we accept no more resize is being done resizeTimeout = false; Date oneyear = new Date(); CalendarUtil.addMonthsToDate(oneyear, 12); Cookies.setCookie("emarking_width", Integer.toString(Window.getClientWidth()), oneyear); EMarkingWeb.markingInterface.loadSubmissionData(); } } }; // Focus panel to catch key events focusPanel = new FocusPanel(); // Main panel has two rows: Toolbar and Marking panel mainPanel = new VerticalPanel(); mainPanel.addStyleName(Resources.INSTANCE.css().interfaceMainPanel()); focusPanel.setWidget(mainPanel); // Toolbar goes up toolbar = new MarkingToolBar(); mainPanel.add(toolbar); focusPanel.addKeyDownHandler(new MarkingInterfaceKeyDownHandler(toolbar)); // Marking panel containing the marking interface interfacePanel = new SplitLayoutPanel() { @Override public void onResize() { super.onResize(); markingPagesInterface.resizePage(this.getCenterWidth()); }; }; interfacePanel.animate(180); interfacePanel.addStyleName(Resources.INSTANCE.css().interfacepanel()); loadingMessage = new HTML(messages.Loading() + " " + EMarkingConfiguration.getMoodleUrl()); bubbleButtons = new ArrayList<BubbleButton>(); bubbleButtons.add(new ShowRubricButton(Window.getClientWidth() - 40, 0, 0)); bubbleButtons.add(new ShowChatButton(Window.getClientWidth() - 40, 45, NodeChat.SOURCE_CHAT)); bubbleButtons.add(new ShowWallButton(Window.getClientWidth() - 40, 90, NodeChat.SOURCE_WALL)); bubbleButtons.add(new ShowHelpButton(Window.getClientWidth() - 40, 135, NodeChat.SOURCE_SOS)); interfacePanel.add(loadingMessage); // interfacePanel.setCellHorizontalAlignment(loadingMessage, HasAlignment.ALIGN_CENTER); markingPanel = new AbsolutePanel(); markingPanel.add(interfacePanel); for (BubbleButton b : bubbleButtons) { markingPanel.add(b); } mainPanel.add(markingPanel); // Timer for pinging system timer = new Timer() { @Override public void run() { // If there are ticks to wait before trying again, update message and update ticks if (ticksUntilTrying > 0) { loadingMessage.setHTML(messages.CantReachServerRetrying(ticksUntilTrying)); ticksUntilTrying--; } else { // Updating next trial for one more second and trying onLoad again timerWaitingTurns++; ticksUntilTrying = Math.min(timerWaitingTurns, 60); loadingMessage.setHTML(messages.Loading() + " " + EMarkingConfiguration.getMoodleUrl()); onLoad(); } } }; heartBeatTimer = new Timer() { @Override public void run() { String extradata = ""; if (submissionData != null) extradata = "&marker=" + submissionData.getMarkerid() + "&draft=" + submissionData.getId(); final String requestUrl = extradata; AjaxRequest.ajaxRequest("action=heartbeat" + extradata, new AsyncCallback<AjaxData>() { @Override public void onSuccess(AjaxData result) { logger.info("Heartbeat! " + requestUrl); } @Override public void onFailure(Throwable caught) { logger.warning("Failure on heartbeat"); } }); } }; // Drag and Drop controller attached to marking panel dragController = new PickupDragController(markingPanel, false); waitDialog = new DialogBox(false, true); waitDialog.setGlassEnabled(true); waitDialog.addStyleName(Resources.INSTANCE.css().commentdialog()); waitDialog.setHTML(MarkingInterface.messages.Loading()); ProgressBar pbar = new ProgressBar(ProgressBarBase.Style.STRIPED); pbar.setActive(true); pbar.setPercent(100); waitDialog.setWidget(pbar); this.initWidget(focusPanel); }
From source file:cl.uai.client.page.MarkingPage.java
License:Open Source License
/** * //from ww w . j a v a2 s . c o m */ public MarkingPage(int pagenum, String image, int width, int height, List<Map<String, String>> pageMarks) { this.pageNumber = pagenum; this.pageImage = new Image(image); this.width = width; this.height = height; this.pageImage.setWidth(this.width + "px"); this.pageImage.setHeight(this.height + "px"); logger.fine("Adding page " + pagenum + " Url:" + image); this.marks = new HashMap<Integer, Mark>(); for (Map<String, String> markMap : pageMarks) { try { int index = Integer.parseInt(markMap.get("format")); ButtonFormat format = index < 1000 ? MarkingButtons.getButtonFormatFromCode(index) : ButtonFormat.BUTTON_CUSTOM; fixPositions(markMap, width, height); Mark mark = null; switch (format) { case BUTTON_COMMENT: mark = CommentMark.createFromMap(markMap); break; case BUTTON_RUBRIC: mark = RubricMark.createFromMap(markMap); break; case BUTTON_TICK: mark = CheckMark.createFromMap(markMap); break; case BUTTON_CROSS: mark = CrossMark.createFromMap(markMap); break; case BUTTON_PEN: mark = PathMark.createFromMap(markMap); break; case BUTTON_HIGHLIGHT: mark = HighlightMark.createFromMap(markMap); break; case BUTTON_QUESTION: mark = QuestionMark.createFromMap(markMap); break; case BUTTON_CUSTOM: mark = CustomMark.createFromMap(markMap); break; default: logger.severe("Invalid format for comment"); mark = null; break; } if (mark != null) { this.marks.put(mark.getId(), mark); } } catch (Exception e) { e.printStackTrace(); logger.severe( "Exception creating mark from DB. " + markMap.toString() + " Error:" + e.getMessage()); } } mainPanel = new FocusPanel(); absolutePanel = new AbsolutePanel(); absolutePanel.addStyleName(Resources.INSTANCE.css().absolutepage()); drawingArea = new DrawingArea(width, height); mainPanel.addClickHandler(new MarkingPageClickHandler(this)); dropController = new MarkingPageDropController(absolutePanel, this); EMarkingWeb.markingInterface.getDragController().registerDropController(dropController); // Initialize drag and drop controller, attached to the absolute panel dragController = new PickupDragController(absolutePanel, true); dragController.setBehaviorDragStartSensitivity(1); dragController.setBehaviorScrollIntoView(false); MarkingPageDragHandler dragHandler = new MarkingPageDragHandler(absolutePanel, this); dragController.addDragHandler(dragHandler); //Initialize Drawing controller for pen tool drawController = new DrawController(); //The draw controller listens to the drawing area drawController.listenTo(mainPanel); //The drag handler listens to the draw controller MarkingPageDrawHandler drawHandler = new MarkingPageDrawHandler(absolutePanel, drawingArea, this); drawController.addListener(drawHandler); MarkingPageHighlightHandler highlightHandler = new MarkingPageHighlightHandler(absolutePanel, drawingArea, this); drawController.addListener(highlightHandler); absolutePanel.add(drawingArea, 0, 0); absolutePanel.add(pageImage); canvas = Canvas.createIfSupported(); if (canvas != null) { canvas.setSize(width + "px", height + "px"); canvas.setCoordinateSpaceWidth(width); canvas.setCoordinateSpaceHeight(height); canvas.addStyleName(Resources.INSTANCE.css().pagecanvas()); absolutePanel.add(canvas, 0, 0); } mainPanel.add(absolutePanel); this.initWidget(mainPanel); addDomHandler(this, ContextMenuEvent.getType()); }
From source file:co.fxl.gui.gwt.GWTFocusPanel.java
License:Open Source License
public static FocusPanel create() { FocusPanel p = new FocusPanel(); removeOutline(p); return p; }