Example usage for com.google.gwt.user.client Window getClientWidth

List of usage examples for com.google.gwt.user.client Window getClientWidth

Introduction

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

Prototype

public static int getClientWidth() 

Source Link

Usage

From source file:ch.unifr.pai.twice.widgets.mpproxy.client.ScreenShotDistributor.java

License:Apache License

/**
 * Send the screenshot to the server/* w  w  w . j  a va2s  . c o  m*/
 */
public void sendScreenShot() {
    String screen = Document.get().getDocumentElement().getInnerHTML();
    if (!screen.equals(lastSent) || lastLeft != Window.getScrollLeft() || lastTop != Window.getScrollTop()) {
        String url = Window.Location.getHref();
        URLParser p = new URLParser(url, Rewriter.getServletPath(Window.Location.getHref()));
        RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,
                GWT.getModuleBaseURL() + "manager?url=" + p.getProxyBasePath() + "&width="
                        + Window.getClientWidth() + "&height=" + Window.getClientHeight() + "&top="
                        + Window.getScrollTop() + "&left=" + Window.getScrollLeft());
        lastSent = screen;
        lastLeft = Window.getScrollLeft();
        lastTop = Window.getScrollTop();
        screen = screen.replace('\n', ' ');
        screen = screen.replaceAll("<body", "<body><div class=\"readOnlyView\" style=\"width:"
                + Window.getClientWidth() + "; height:" + Window.getClientHeight() + ";\"");
        screen = screen.replaceAll("<\\/body>", "</div></body>");
        screen = screen.replaceAll("(<script).*?(\\/script>)", "");
        try {
            rb.sendRequest(screen, new RequestCallback() {

                @Override
                public void onResponseReceived(Request request, Response response) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onError(Request request, Throwable exception) {
                    Window.alert("Screenshot sent");
                }
            });
        } catch (RequestException e) {
            e.printStackTrace();
        }
    }
}

From source file:cl.uai.client.MarkingInterface.java

License:Open Source License

/**
/**/*from   w  w  w .  jav  a2  s .  co 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.MarkingInterface.java

License:Open Source License

/**
 * Loads marking interface according to current submission
 *//*from w  ww .j a va 2  s . c  om*/
public void loadInterface() {

    toolbar.loadSubmissionData();

    dragController.unregisterDropControllers();
    interfacePanel.clear();

    markingPagesInterface = new MarkingPagesInterface();
    rubricInterface = new RubricInterface();

    for (BubbleButton b : bubbleButtons) {
        b.setLeft(Window.getClientWidth() - 40);
        b.updatePosition(markingPanel);
        if (b instanceof ShowRubricButton) {
            b.setVisible(!EMarkingConfiguration.isShowRubricOnLoad());
        } else {
            b.setVisible(EMarkingConfiguration.isChatEnabled());
        }

        b.setVisible(false);
    }

    int rubricWidth = (int) (Window.getClientWidth() - (Window.getClientWidth() / 1.61803));
    rubricMinSize = (int) Math.max(rubricWidth, 300);
    if (EMarkingConfiguration.getMarkingType() == EMarkingConfiguration.EMARKING_TYPE_PRINT_SCAN) {
        rubricWidth = rubricMinSize - 10;
    }
    interfacePanel.addEast(rubricInterface, rubricWidth);
    interfacePanel.setWidgetMinSize(rubricInterface, 10);
    interfacePanel.add(markingPagesInterface);
    interfacePanel.setWidgetMinSize(markingPagesInterface, rubricMinSize);
    interfacePanel.setHeight((Window.getClientHeight() - toolbar.getOffsetHeight()) + "px");

    // When we set the rubric visibility we call the loadinterface in the markinginterface object
    rubricInterface.setVisible(EMarkingConfiguration.isShowRubricOnLoad()
            && EMarkingConfiguration.getMarkingType() != EMarkingConfiguration.EMARKING_TYPE_PRINT_SCAN);
}

From source file:cl.uai.client.page.AddMarkDialog.java

License:Open Source License

/**
 * Creates a comment dialog at a specific position
 *///from w  w w .jav a  2s .  co  m
public AddMarkDialog(MarkingPage _parent) {
    super(true, false);

    this.page = _parent;

    this.mainPanel = new VerticalPanel();
    this.mainPanel.addStyleName(Resources.INSTANCE.css().addmarkdialog());

    this.rubricPanel = new RubricPanel(true);

    this.mainPanel.add(rubricPanel);

    // Adds the CSS style and other settings
    this.addStyleName(Resources.INSTANCE.css().commentdialog());

    this.setAnimationEnabled(true);
    this.setGlassEnabled(true);

    this.setHTML(MarkingInterface.messages.AddEditMark());

    // Cancel button
    Button btnCancel = new Button(MarkingInterface.messages.Cancel());
    btnCancel.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            cancelled = true;
            hide();
        }
    });

    // Add buttons
    HorizontalPanel hpanel = new HorizontalPanel();
    hpanel.add(btnCancel);
    mainPanel.add(hpanel);
    mainPanel.setCellHorizontalAlignment(hpanel, HasHorizontalAlignment.ALIGN_RIGHT);

    this.addCloseHandler(new CloseHandler<PopupPanel>() {
        @Override
        public void onClose(CloseEvent<PopupPanel> event) {
            if (!cancelled && levelId > 0) {
                EMarkingWeb.markingInterface.addRubricMark(levelId, rubricLeft, rubricTop, page);
            } else if (!cancelled) {
                logger.severe("Error adding mark! Level id " + levelId);
            }
        }
    });

    this.getElement().getStyle().setProperty("MaxWidth", (Window.getClientWidth() - 100) + "px");

    this.setWidget(mainPanel);
}

From source file:cl.uai.client.page.EditMarkDialog.java

License:Open Source License

/**
 * Creates a comment dialog at a specific position
 * /*from   w ww.  j  a v a  2 s  . c o  m*/
 * @param posx Top position for the dialog
 * @param posy Left position for the dialog
 * @param level An optional rubric level in case we are editing one
 */
public EditMarkDialog(int posx, int posy, int level, int regradeid) {
    super(true, false);

    this.regradeId = regradeid;

    this.levelId = level;
    Level lvl = MarkingInterface.submissionData.getLevelById(levelId);

    if (EMarkingConfiguration.getKeywords() != null && EMarkingConfiguration.getKeywords().length() > 0) {
        logger.fine("Keywords: " + EMarkingConfiguration.getKeywords());
    }
    if (!EMarkingConfiguration.getKeywords().equals("") && (level > 0 || regradeid > 0)) {
        feedbackArray = new ArrayList<FeedbackObject>();
        feedbackPanel = new FeedbackInterface();
        feedbackPanel.setParent(this);
    } else {
        simplePanel = true;
    }

    superPanel = new HorizontalPanel();
    superPanel.addStyleName(Resources.INSTANCE.css().feedbackdialog());

    feedbackForStudent = new VerticalPanel();
    feedbackForStudent.addStyleName(Resources.INSTANCE.css().feedbackforstudent());

    feedbackSummary = new ScrollPanel(feedbackForStudent);
    feedbackSummary.addStyleName(Resources.INSTANCE.css().feedbacksummary());

    mainPanel = new VerticalPanel();
    mainPanel.addStyleName(Resources.INSTANCE.css().editmarkdialog());

    // Adds the CSS style and other settings
    this.addStyleName(Resources.INSTANCE.css().commentdialog());
    this.setAnimationEnabled(true);
    this.setGlassEnabled(true);

    bonusTxt = new TextBox();
    bonusTxt.addStyleName(Resources.INSTANCE.css().bonuslist());

    this.levelsList = new ListBox();
    this.levelsList.addStyleName(Resources.INSTANCE.css().levelslist());
    this.levelsList.addChangeHandler(new ChangeHandler() {
        @Override
        public void onChange(ChangeEvent event) {
            int levelid = Integer.parseInt(levelsList.getValue(levelsList.getSelectedIndex()));
            levelId = levelid;
            Level lvl = MarkingInterface.submissionData.getLevelById(levelId);
            setBonus(lvl.getBonus());
        }
    });

    // If there's a rubric level we should edit a Mark
    // otherwise we are just editing its comment
    if (this.levelId == 0) {
        this.setHTML(MarkingInterface.messages.AddEditComment());
    } else {
        this.setHTML(MarkingInterface.messages.AddEditMark() + "<br/>" + lvl.getCriterion().getDescription());
    }

    // Position the dialog
    if (simplePanel) {
        this.setPopupPosition(posx, posy);
    } else {
        // The Dialog is more big, so we need to fix the position
        this.setPopupPosition((int) (Window.getClientWidth() * 0.08), (int) (Window.getClientHeight() * 0.15));
    }

    if (this.levelId > 0) {

        loadLevelsList();

        HorizontalPanel hpanelLevels = new HorizontalPanel();
        hpanelLevels.setWidth("100%");
        Label messages = new Label(MarkingInterface.messages.Level());
        hpanelLevels.add(messages);
        hpanelLevels.add(levelsList);
        hpanelLevels.setCellHorizontalAlignment(levelsList, HasHorizontalAlignment.ALIGN_RIGHT);
        mainPanel.add(hpanelLevels);
        mainPanel.setCellHorizontalAlignment(hpanelLevels, HasHorizontalAlignment.ALIGN_RIGHT);
    }

    // Save button
    Button btnSave = new Button(MarkingInterface.messages.Save());
    btnSave.addStyleName(Resources.INSTANCE.css().btnsave());
    btnSave.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            if (levelId > 0 && !bonusIsValid()) {
                Window.alert(MarkingInterface.messages.InvalidBonusValue());
                return;
            }
            cancelled = false;
            hide();
        }
    });

    // Cancel button
    Button btnCancel = new Button(MarkingInterface.messages.Cancel());
    btnSave.addStyleName(Resources.INSTANCE.css().btncancel());
    btnCancel.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            cancelled = true;
            hide();
        }
    });

    // The comment text box
    TextArea txt = new TextArea();
    txt.setVisibleLines(5);
    txt.getElement().getStyle().setMarginBottom(5, Unit.PT);
    txtComment = new SuggestBox(EMarkingWeb.markingInterface.previousCommentsOracle, txt);
    txtComment.setAutoSelectEnabled(false);
    txtComment.addStyleName(Resources.INSTANCE.css().editmarksuggestbox());

    HorizontalPanel hpanelComment = new HorizontalPanel();
    hpanelComment.setWidth("100%");
    hpanelComment.add(new Label(MarkingInterface.messages.Comment()));
    hpanelComment.add(txtComment);
    hpanelComment.setCellHorizontalAlignment(txtComment, HasHorizontalAlignment.ALIGN_RIGHT);
    mainPanel.add(hpanelComment);
    mainPanel.setCellHorizontalAlignment(hpanelComment, HasHorizontalAlignment.ALIGN_RIGHT);

    // If the rubric level is not null then create the bonus list and add it to the dialog 
    if (this.levelId > 0) {
        setBonus(lvl.getBonus());

        HorizontalPanel hpanelBonus = new HorizontalPanel();
        hpanelBonus.setWidth("100%");
        hpanelBonus.add(new Label(MarkingInterface.messages.SetBonus()));
        hpanelBonus.add(bonusTxt);
        hpanelBonus.setCellHorizontalAlignment(bonusTxt, HasHorizontalAlignment.ALIGN_RIGHT);
        if (EMarkingConfiguration.isFormativeFeedbackOnly()) {
            hpanelBonus.setVisible(false);
        }
        mainPanel.add(hpanelBonus);
        mainPanel.setCellHorizontalAlignment(hpanelBonus, HasHorizontalAlignment.ALIGN_RIGHT);
    }

    // The regrade comment text box
    txt = new TextArea();
    txt.setVisibleLines(5);
    txt.getElement().getStyle().setMarginBottom(5, Unit.PT);
    txtRegradeComment = new SuggestBox(EMarkingWeb.markingInterface.previousCommentsOracle, txt);

    if (this.regradeId > 0) {

        mainPanel.add(new HTML("<hr>"));
        mainPanel.add(new Label(MarkingInterface.messages.Regrade()));

        // Add the textbox
        HorizontalPanel hpanelRegradeComment = new HorizontalPanel();
        hpanelRegradeComment.setWidth("100%");
        hpanelRegradeComment.add(new Label(MarkingInterface.messages.RegradeComment()));
        hpanelRegradeComment.add(txtRegradeComment);
        hpanelRegradeComment.setCellHorizontalAlignment(txtRegradeComment, HasHorizontalAlignment.ALIGN_RIGHT);
        mainPanel.add(hpanelRegradeComment);
        mainPanel.setCellHorizontalAlignment(hpanelRegradeComment, HasHorizontalAlignment.ALIGN_RIGHT);
    }

    // Add buttons
    HorizontalPanel hpanel = new HorizontalPanel();
    hpanel.setSpacing(2);
    hpanel.setWidth("100%");
    hpanel.add(btnSave);
    hpanel.add(btnCancel);
    hpanel.setCellWidth(btnSave, "100%");
    hpanel.setCellWidth(btnCancel, "0px");
    hpanel.setCellHorizontalAlignment(btnCancel, HasHorizontalAlignment.ALIGN_RIGHT);
    hpanel.setCellHorizontalAlignment(btnSave, HasHorizontalAlignment.ALIGN_RIGHT);
    mainPanel.add(hpanel);
    mainPanel.setCellHorizontalAlignment(hpanel, HasHorizontalAlignment.ALIGN_RIGHT);

    if (simplePanel) {
        // No feedback
        this.setWidget(mainPanel);
    } else {
        // Remove CSS Style
        mainPanel.removeStyleName(Resources.INSTANCE.css().editmarkdialog());
        mainPanel.addStyleName(Resources.INSTANCE.css().editmarkdialogWithFeedback());

        bonusTxt.removeStyleName(Resources.INSTANCE.css().bonuslist());
        bonusTxt.addStyleName(Resources.INSTANCE.css().bonuslistWithFeedback());

        this.levelsList.removeStyleName(Resources.INSTANCE.css().levelslist());
        this.levelsList.addStyleName(Resources.INSTANCE.css().levelslistWithFeedback());

        txtComment.removeStyleName(Resources.INSTANCE.css().editmarksuggestbox());
        txtComment.addStyleName(Resources.INSTANCE.css().editmarksuggestboxWithFeedback());

        // Add feedback panel
        mainPanel.add(new HTML("<h4>Feedback</h4>"));
        mainPanel.add(feedbackSummary);

        superPanel.add(mainPanel);
        superPanel.add(feedbackPanel);
        this.setWidget(superPanel);
    }
}

From source file:cl.uai.client.page.MarkingPage.java

License:Open Source License

@Override
protected void onLoad() {
    super.onLoad();
    // Once loaded, we know all sizes
    int i = (int) (Window.getClientWidth());
    String strWidth = String.valueOf(i);
    mainPanel.setWidth(strWidth);/*www  . j  a va  2s  . c  om*/
    mainPanel.addStyleName(Resources.INSTANCE.css().pagescroll());
    loadInterface();
}

From source file:client.ManagementGui.java

License:Open Source License

/**
 * Build the whole panel.// w  ww  .  j a  v a 2  s.  com
 */
public final void onModuleLoad() {
    ManagementGui.instance = this;

    this.logoPanel.setWidth("100%");

    this.rightPanel.addStyleName("rightPanel");
    this.rightPanel.setWidth("100%");

    this.resTree.addStyleName("treeMenu");

    this.topologyTree.addStyleName("treeMenu");

    this.argonTree.addStyleName("treeMenu");

    this.stackPanel.setWidth("200");

    this.stackPanel.add(this.resTree, this.createImageHtml("journal.png", "Reservation"), true);
    this.stackPanel.add(this.topologyTree, this.createImageHtml("connect.png", "Tools"), true);
    this.stackPanel.add(this.argonTree, this.createImageHtml("database.png", "Argon"), true);
    this.stackPanel.add(this.renameTree, "About", true);

    this.dock.add(this.logoPanel, DockPanel.NORTH);
    this.dock.add(LoggingPanel.getPanel(), DockPanel.SOUTH);
    this.dock.add(this.stackPanel, DockPanel.WEST);
    this.dock.add(this.rightPanel, DockPanel.CENTER);

    this.dock.setWidth("100%");

    this.dock.setSpacing(4);
    this.dock.setCellWidth(this.rightPanel, "100%");

    Window.addWindowResizeListener(this);
    Window.enableScrolling(true);
    Window.setMargin("0px");

    RootPanel.get().add(this.dock);

    DeferredCommand.addCommand(new Command() {
        public void execute() {
            ManagementGui.this.onWindowResized(Window.getClientWidth(), Window.getClientHeight());
        }
    });

    this.onWindowResized(Window.getClientWidth(), Window.getClientHeight());
}

From source file:client.template.panel.LoggingPanel.java

License:Open Source License

public void onClose(final DisclosureEvent event) {
    LoggingPanel.isOpen = false;/*w ww  .  j  av a  2  s  .  c om*/

    ManagementGui.get().onWindowResized(Window.getClientWidth(), Window.getClientHeight());
}

From source file:client.template.panel.LoggingPanel.java

License:Open Source License

public void onOpen(final DisclosureEvent event) {
    LoggingPanel.unread = 0;/*from  w  w w.  j ava 2 s .c  om*/
    LoggingPanel.isOpen = true;

    this.panel.getHeaderTextAccessor().setText(this.title);

    ManagementGui.get().onWindowResized(Window.getClientWidth(), Window.getClientHeight());
}

From source file:co.fxl.gui.gwt.GWTDisplay.java

License:Open Source License

@Override
public int width() {
    return Window.getClientWidth();
}