com.risevision.viewer.client.widgets.oem.HelpFrameWidget.java Source code

Java tutorial

Introduction

Here is the source code for com.risevision.viewer.client.widgets.oem.HelpFrameWidget.java

Source

// Copyright  2010 - May 2014 Rise Vision Incorporated.
// Use of this software is governed by the GPLv3 license
// (reproduced in the LICENSE file).

package com.risevision.viewer.client.widgets.oem;

import com.google.gwt.dom.client.Style.Overflow;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.AbsolutePanel;
import com.google.gwt.user.client.ui.Frame;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.PopupPanel;

public class HelpFrameWidget extends PopupPanel {

    private static HelpFrameWidget instance;
    private AbsolutePanel outerPanel = new AbsolutePanel();
    private HTML closePanel = new HTML("<span style='cursor:pointer;font-size:26px;'>&times;</span>");
    protected Frame webPageFrame = new Frame("http://help.reach.network");
    private int w;
    private int h;

    public HelpFrameWidget() {
        super(true, false);

        prepareFrame();
    }

    public HelpFrameWidget(String pageUrl) {
        super(true, false);
        webPageFrame = new Frame(pageUrl);

        prepareFrame();
    }

    private void prepareFrame() {
        w = Window.getClientWidth() - 40;
        h = Window.getClientHeight() - 40;

        styleControls();

        add(outerPanel);

        outerPanel.add(webPageFrame, 0, 7);
        outerPanel.add(closePanel, w - 10, -17);

        initActions();
    }

    private void styleControls() {
        outerPanel.getElement().getStyle().setOverflow(Overflow.VISIBLE);
        webPageFrame.setSize(w + "px", h + "px");
        setSize((w + 2) + "px", (h + 10) + "px");

        addStyleName("rounded-border");
        addStyleName("gradient-overlay-up");

        getElement().getStyle().setProperty("zIndex", "999");
    }

    private void initActions() {
        closePanel.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                hide();
            }
        });
    }

    public static HelpFrameWidget getInstance() {
        try {
            if (instance == null)
                instance = new HelpFrameWidget();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return instance;
    }

    public void show() {
        super.show();
        super.setPopupPosition(10, 10);
    }
}