Example usage for com.google.gwt.user.client.ui FocusPanel FocusPanel

List of usage examples for com.google.gwt.user.client.ui FocusPanel FocusPanel

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui FocusPanel FocusPanel.

Prototype

public FocusPanel() 

Source Link

Usage

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;
}