Package org.zanata.webtrans.client.view

Source Code of org.zanata.webtrans.client.view.TranslationEditorView

/*
* Copyright 2010, Red Hat, Inc. and individual contributors as indicated by the
* @author tags. See the copyright.txt file in the distribution for a full
* listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This software is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this software; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
* site: http://www.fsf.org.
*/
package org.zanata.webtrans.client.view;

import org.zanata.webtrans.client.resources.WebTransMessages;
import org.zanata.webtrans.client.ui.HasPager;
import org.zanata.webtrans.client.ui.Pager;
import com.google.gwt.core.shared.GWT;
import com.google.gwt.event.dom.client.BlurEvent;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.FocusEvent;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.user.client.ui.Anchor;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HasVisibility;
import com.google.gwt.user.client.ui.Widget;
import com.google.inject.Inject;

public class TranslationEditorView extends Composite implements
        TranslationEditorDisplay {
    private static TranslationEditorViewUiBinder uiBinder = GWT
            .create(TranslationEditorViewUiBinder.class);

    interface TranslationEditorViewUiBinder extends
            UiBinder<Widget, TranslationEditorView> {
    }

    @UiField(provided = true)
    Widget transUnitNavigationView;

    @UiField(provided = true)
    Widget transUnitsTableView;

    @UiField(provided = true)
    Pager pager;

    @UiField(provided = true)
    Widget transFilterView;

    @UiField
    Anchor refreshCurrentPage, resize;

    private Listener listener;

    private final WebTransMessages messages;

    private final static String STYLE_HIDE_SOUTHPANEL = "i--arrow-down";
    private final static String STYLE_RESTORE_SOUTHPANEL = "i--arrow-up";

    @Inject
    public TranslationEditorView(final WebTransMessages messages,
            TransFilterDisplay transFilterView,
            TransUnitNavigationDisplay transUnitNavigationView,
            TransUnitsTableDisplay transUnitsTableView) {
        this.pager = new Pager(messages);
        this.messages = messages;
        this.transFilterView = transFilterView.asWidget();
        this.transUnitNavigationView = transUnitNavigationView.asWidget();
        this.transUnitsTableView = transUnitsTableView.asWidget();

        initWidget(uiBinder.createAndBindUi(this));

        refreshCurrentPage.setTitle(messages.refreshCurrentPage());
        resize.setTitle(messages.hideSouthPanel());
        resize.addStyleName(STYLE_HIDE_SOUTHPANEL);
    }

    /**
     * return false if to be maximise, true for minimise
     *
     */
    @Override
    public boolean getAndToggleResizeButton() {
        if (resize.getStyleName().contains(STYLE_HIDE_SOUTHPANEL)) {
            resize.removeStyleName(STYLE_HIDE_SOUTHPANEL);
            resize.addStyleName(STYLE_RESTORE_SOUTHPANEL);
            resize.setTitle(messages.restoreSouthPanel());
            return false;
        } else {
            resize.removeStyleName(STYLE_RESTORE_SOUTHPANEL);
            resize.addStyleName(STYLE_HIDE_SOUTHPANEL);
            resize.setTitle(messages.hideSouthPanel());
            return true;
        }
    }

    @Override
    public HasVisibility getResizeButton() {
        return resize;
    }

    @Override
    public Widget asWidget() {
        return this;
    }

    @Override
    public HasPager getPageNavigation() {
        return pager;
    }

    @Override
    public boolean isPagerFocused() {
        return pager.isFocused();
    }

    @UiHandler("refreshCurrentPage")
    public void onRedrawCurrentPageClicked(ClickEvent event) {
        listener.refreshCurrentPage();
    }

    public void setListener(Listener listener) {
        this.listener = listener;
    }

    @UiHandler("pager")
    public void onPagerFocused(FocusEvent event) {
        listener.onPagerFocused();
    }

    @UiHandler("pager")
    public void onPagerBlurred(BlurEvent event) {
        listener.onPagerBlurred();
    }

    @UiHandler("pager")
    public void onPagerValueChanged(ValueChangeEvent<Integer> event) {
        listener.onPagerValueChanged(event.getValue());
    }

    @UiHandler("resize")
    public void onResizeIconClick(ClickEvent event) {
        listener.onResizeClicked();
    }

}
TOP

Related Classes of org.zanata.webtrans.client.view.TranslationEditorView

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.
ush(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-20639858-1', 'auto'); ga('send', 'pageview');