Example usage for com.google.gwt.user.client Timer schedule

List of usage examples for com.google.gwt.user.client Timer schedule

Introduction

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

Prototype

public synchronized void schedule(int delayMs) 

Source Link

Document

Schedules a timer to elapse in the future.

Usage

From source file:cz.fi.muni.xkremser.editor.client.presenter.CreateStructurePresenter.java

License:Open Source License

@Override
public void onAddImages(final TileGrid tileGrid, final Menu menu) {
    MenuItem[] items = menu.getItems();
    if (!CreateStructureView.ID_SEL_ALL.equals(items[3].getAttributeAsObject(CreateStructureView.ID_NAME))) {
        throw new IllegalStateException("Inconsistent gui.");
    }//from www.  j  a va  2  s.  co  m
    items[3].addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {

        @Override
        public void onClick(MenuItemClickEvent event) {
            tileGrid.selectAllRecords();
        }
    });
    if (!CreateStructureView.ID_SEL_NONE.equals(items[4].getAttributeAsObject(CreateStructureView.ID_NAME))) {
        throw new IllegalStateException("Inconsistent gui.");
    }
    items[4].addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {

        @Override
        public void onClick(MenuItemClickEvent event) {
            tileGrid.deselectAllRecords();
        }
    });
    if (!CreateStructureView.ID_SEL_INV.equals(items[5].getAttributeAsObject(CreateStructureView.ID_NAME))) {
        throw new IllegalStateException("Inconsistent gui.");
    }
    items[5].addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {

        @Override
        public void onClick(MenuItemClickEvent event) {
            Record[] selected = tileGrid.getSelection();
            tileGrid.selectAllRecords();
            tileGrid.deselectRecords(selected);
        }
    });
    if (!CreateStructureView.ID_COPY.equals(items[7].getAttributeAsObject(CreateStructureView.ID_NAME))) {
        throw new IllegalStateException("Inconsistent gui.");
    }
    items[7].addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {

        @Override
        public void onClick(MenuItemClickEvent event) {
            getView().toClipboard(tileGrid.getSelection());
        }
    });
    if (!CreateStructureView.ID_PASTE.equals(items[8].getAttributeAsObject(CreateStructureView.ID_NAME))) {
        throw new IllegalStateException("Inconsistent gui.");
    }
    items[8].addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {

        @Override
        public void onClick(MenuItemClickEvent event) {
            getView().addUndoRedo(getView().getTileGrid().getData(), true, false);
            final Record[] data = getView().fromClipboard();
            final boolean progressbar = data.length > Constants.CLIPBOARD_MAX_WITHOUT_PROGRESSBAR;
            final Progressbar hBar1 = progressbar ? new Progressbar() : null;
            if (progressbar) {
                hBar1.setHeight(24);
                hBar1.setVertical(false);
                hBar1.setPercentDone(0);
                getView().getPopupPanel().setWidget(hBar1);
                getView().getPopupPanel().setVisible(true);
                getView().getPopupPanel().center();
                alreadyDone = 0;
                Timer timer = new Timer() {

                    @Override
                    public void run() {
                        hBar1.setPercentDone(((100 * (alreadyDone + 1)) / data.length));
                        tileGrid.addData(((ScanRecord) data[alreadyDone]).deepCopy());
                        if (++alreadyDone != data.length) {
                            schedule(15);
                        } else {
                            getView().getPopupPanel().setVisible(false);
                            getView().getPopupPanel().hide();
                        }
                    }
                };
                timer.schedule(40);
            } else {
                for (int i = 0; i < data.length; i++) {
                    tileGrid.addData(((ScanRecord) data[i]).deepCopy());
                }
            }
        }
    });
    if (!CreateStructureView.ID_DELETE.equals(items[9].getAttributeAsObject(CreateStructureView.ID_NAME))) {
        throw new IllegalStateException("Inconsistent gui.");
    }

    items[9].addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {

        @Override
        public void onClick(MenuItemClickEvent event) {
            getView().addUndoRedo(getView().getTileGrid().getData(), true, false);
            tileGrid.removeSelectedData();
        }
    });

    getView().getTileGrid().addSelectionChangedHandler(new SelectionChangedHandler() {

        @Override
        public void onSelectionChanged(SelectionChangedEvent event) {
            Record[] selection = getView().getTileGrid().getSelection();
            if (selection != null && selection.length > 0) {
                leftPresenter.getView().getKeepCheckbox().enable();
            } else {
                leftPresenter.getView().getKeepCheckbox().disable();
            }
        }
    });

    if (!leftPresenter.getView().hasCreateButtonAClickHandler()) {
        leftPresenter.getView().getCreateButton().addClickHandler(new ClickHandler() {

            @Override
            public void onClick(ClickEvent event) {
                addNewStructure();
            }
        });
        leftPresenter.getView().setCreateButtonHasAClickHandler();
    }
}

From source file:cz.fi.muni.xkremser.editor.client.presenter.HomePresenter.java

License:Open Source License

@Override
protected void onBind() {
    super.onBind();
    checkAvailability();/*  w  w w  .j a va2s .co m*/
    getView().getCheckAvailability().addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            getView().setLoading();
            Timer timer = new Timer() {

                @Override
                public void run() {
                    checkAvailability();
                }
            };
            timer.schedule(100);
        }
    });
    getView().getOpen().addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            evaluateUuid();
        }
    });
    getView().getUuid().addKeyPressHandler(new KeyPressHandler() {

        @Override
        public void onKeyPress(KeyPressEvent event) {
            if (event.getKeyName().equals("Enter") && !getView().getOpen().getDisabled()) {
                evaluateUuid();
            }
        }
    });
    getView().getUuidItem().addChangedHandler(new ChangedHandler() {

        @Override
        public void onChanged(ChangedEvent event) {
            String text = (String) event.getValue();
            if (text != null && !"".equals(text)) {
                getView().getOpen().setDisabled(false);
            } else {
                getView().getOpen().setDisabled(true);
            }
        }
    });
}

From source file:cz.fi.muni.xkremser.editor.client.presenter.HomePresenter.java

License:Open Source License

/**
 * Check availability.//from  www . j  ava 2 s.c o  m
 */
private void checkAvailability() {
    final DispatchRequest krameriusRequest = dispatcher.execute(
            new CheckAvailabilityAction(CheckAvailability.KRAMERIUS_ID),
            new DispatchCallback<CheckAvailabilityResult>() {

                @Override
                public void callback(CheckAvailabilityResult result) {
                    String krameriusURL = result.getUrl();
                    getView().refreshKramerius(result.isAvailability(), krameriusURL);
                    if (krameriusURL == null || "".equals(krameriusURL)) {
                        SC.warn("Please set " + EditorClientConfiguration.Constants.KRAMERIUS_HOST
                                + " in system configuration.");
                    }
                }

                @Override
                public void callbackError(Throwable t) {
                    super.callbackError(t, "Kramerius " + lang.notRunning());
                    getView().refreshKramerius(false, null);
                }
            });
    final DispatchRequest fedoraRequest = dispatcher.execute(
            new CheckAvailabilityAction(CheckAvailability.FEDORA_ID),
            new DispatchCallback<CheckAvailabilityResult>() {

                @Override
                public void callback(CheckAvailabilityResult result) {
                    String fedoraURL = result.getUrl();
                    getView().refreshFedora(result.isAvailability(), fedoraURL);
                    if (fedoraURL == null || "".equals(fedoraURL)) {
                        SC.warn("Please set " + EditorClientConfiguration.Constants.FEDORA_HOST
                                + " in system configuration.");
                    }
                }

                @Override
                public void callbackError(Throwable t) {
                    super.callbackError(t, "Fedora " + lang.notRunning());
                    getView().refreshFedora(false, null);
                }
            });
    Timer timer = new Timer() {

        @Override
        public void run() {
            if (krameriusRequest.isPending()) {
                krameriusRequest.cancel();
                getView().refreshKramerius(false, null);
            }
            if (fedoraRequest.isPending()) {
                fedoraRequest.cancel();
                getView().refreshFedora(false, null);
            }
        }
    };
    timer.schedule(7000);
}

From source file:cz.fi.muni.xkremser.editor.client.presenter.ModifyPresenter.java

License:Open Source License

@Override
public void onAddDigitalObject(final TileGrid tileGrid, final Menu menu) {
    MenuItem[] items = menu.getItems();
    if (!ModifyView.ID_EDIT.equals(items[0].getAttributeAsObject(ModifyView.ID_NAME))) {
        throw new IllegalStateException("Inconsistent gui.");
    }/*from w  ww.  java  2  s . c  om*/
    items[0].addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {

        @Override
        public void onClick(MenuItemClickEvent event) {
            String uuidToEdit = tileGrid.getSelection()[0].getAttribute(Constants.ATTR_UUID);
            placeManager.revealRelativePlace(
                    new PlaceRequest(NameTokens.MODIFY).with(Constants.URL_PARAM_UUID, uuidToEdit));
        }
    });
    if (!ModifyView.ID_SEL_ALL.equals(items[2].getAttributeAsObject(ModifyView.ID_NAME))) {
        throw new IllegalStateException("Inconsistent gui.");
    }
    items[2].addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {

        @Override
        public void onClick(MenuItemClickEvent event) {
            tileGrid.selectAllRecords();
        }
    });
    if (!ModifyView.ID_SEL_NONE.equals(items[3].getAttributeAsObject(ModifyView.ID_NAME))) {
        throw new IllegalStateException("Inconsistent gui.");
    }
    items[3].addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {

        @Override
        public void onClick(MenuItemClickEvent event) {
            tileGrid.deselectAllRecords();
        }
    });
    if (!ModifyView.ID_SEL_INV.equals(items[4].getAttributeAsObject(ModifyView.ID_NAME))) {
        throw new IllegalStateException("Inconsistent gui.");
    }
    items[4].addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {

        @Override
        public void onClick(MenuItemClickEvent event) {
            Record[] selected = tileGrid.getSelection();
            tileGrid.selectAllRecords();
            tileGrid.deselectRecords(selected);
        }
    });
    if (!ModifyView.ID_COPY.equals(items[6].getAttributeAsObject(ModifyView.ID_NAME))) {
        throw new IllegalStateException("Inconsistent gui.");
    }
    items[6].addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {

        @Override
        public void onClick(MenuItemClickEvent event) {
            getView().toClipboard(tileGrid.getSelection());
        }
    });
    if (!ModifyView.ID_PASTE.equals(items[7].getAttributeAsObject(ModifyView.ID_NAME))) {
        throw new IllegalStateException("Inconsistent gui.");
    }
    items[7].addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {

        @Override
        public void onClick(MenuItemClickEvent event) {
            final Record[] data = getView().fromClipboard();
            final boolean progressbar = data.length > Constants.CLIPBOARD_MAX_WITHOUT_PROGRESSBAR;
            final Progressbar hBar1 = progressbar ? new Progressbar() : null;
            if (progressbar) {
                hBar1.setHeight(24);
                hBar1.setVertical(false);
                hBar1.setPercentDone(0);
                getView().getPopupPanel().setWidget(hBar1);
                getView().getPopupPanel().setVisible(true);
                getView().getPopupPanel().center();
                done = 0;
                Timer timer = new Timer() {

                    @Override
                    public void run() {
                        hBar1.setPercentDone(((100 * (done + 1)) / data.length));
                        tileGrid.addData(((ContainerRecord) data[done]).deepCopy());
                        if (++done != data.length) {
                            schedule(15);
                        } else {
                            getView().getPopupPanel().setVisible(false);
                            getView().getPopupPanel().hide();
                        }
                    }
                };
                timer.schedule(40);
            } else {
                for (int i = 0; i < data.length; i++) {
                    tileGrid.addData(((ContainerRecord) data[i]).deepCopy());
                }
            }
        }
    });
    if (!ModifyView.ID_DELETE.equals(items[8].getAttributeAsObject(ModifyView.ID_NAME))) {
        throw new IllegalStateException("Inconsistent gui.");
    }

    items[8].addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {

        @Override
        public void onClick(MenuItemClickEvent event) {
            tileGrid.removeSelectedData();
        }
    });
    items[9].addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {

        @Override
        public void onClick(MenuItemClickEvent event) {
            if (tileGrid.getSelection().length > 1) {
                SC.warn(lang.deleteOne());
            } else {
                removeDigitalObject(tileGrid.getSelection()[0].getAttribute(Constants.ATTR_UUID));
            }
        }
    });
}

From source file:cz.fi.muni.xkremser.editor.client.view.CreateStructureView.java

License:Open Source License

public void initModsOrDc() {
    if (metadataPanelShown) {
        topTabSet = new EditorTabSet();
        topTabSet.setTabBarPosition(Side.TOP);
        topTabSet.setWidth100();//from w  ww .j a  va2s . c  o  m
        topTabSet.setHeight100();
        topTabSet.setAnimateTabScrolling(true);
        topTabSet.setShowPaneContainerEdges(false);
        final Tab moTab = new Tab("MODS", "pieces/16/piece_blue.png");
        moTab.setAttribute("id", "mods");
        DCTab dcTab = new DCTab(getUiHandlers().getDc());
        topTabSet.setDcTab(dcTab);
        topTabSet.setTabs(dcTab, moTab);
        topTabSet.addTabSelectedHandler(new TabSelectedHandler() {

            @Override
            public void onTabSelected(final TabSelectedEvent event) {
                if ("mods".equals(event.getTab().getAttribute("id")) && event.getTab().getPane() == null) {
                    final ModalWindow mw = new ModalWindow(topTabSet);
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    Timer timer = new Timer() {

                        @Override
                        public void run() {
                            ModsTab modsTab = new ModsTab(1, getUiHandlers().getMods());
                            VLayout modsLayout = modsTab.getModsLayout();
                            topTabSet.setModsTab(modsTab);
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(event.getTab().getID(), modsLayout);
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                }
            }
        });
        metadataPanel.addMember(topTabSet);
    }
}

From source file:cz.fi.muni.xkremser.editor.client.view.ModifyView.java

License:Open Source License

@Override
public void addDigitalObject(final String uuid, DigitalObjectDetail detail, boolean refresh,
        boolean storedDigitalObject) {
    final DublinCore dc = detail.getDc();
    final ModsCollectionClient mods = detail.getMods();
    String foxmlString = detail.getFoxmlString();
    String ocr = detail.getOcr();
    DigitalObjectModel model = detail.getModel();

    final EditorTabSet topTabSet = new EditorTabSet();
    topTabSet.setTabBarPosition(Side.TOP);
    topTabSet.setWidth100();//w w  w  .  ja  va2  s  .com
    topTabSet.setHeight100();
    topTabSet.setAnimateTabScrolling(true);
    topTabSet.setShowPaneContainerEdges(false);
    int insertPosition = -1;
    topTabSet.setStoredDigitalObject(storedDigitalObject);

    topTabSet.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            isSecondFocused = (topTabSet == topTabSet2);
            changeFocus();
        }
    });

    if (refresh) {
        EditorTabSet toDelete = openedObjectsTabsets.get(uuid);
        if (toDelete != null) {
            insertPosition = layout.getMemberNumber(toDelete);
            layout.removeMember(toDelete);
            removeTuple(toDelete);
            toDelete.destroy();
        } else {
            refresh = false;
        }
    }
    makeTuple(uuid, topTabSet);
    topTabSet.setLockInfo(detail.getLockInfo());

    List<DigitalObjectModel> models = NamedGraphModel.getChildren(model);
    List<Tab> containerTabs = new ArrayList<Tab>();
    if (models != null) { // has any containers (if not, it is a page)
        Map<String, String> labels = new HashMap<String, String>();
        labels.put(DigitalObjectModel.INTERNALPART.getValue(), lang.internalparts());
        labels.put(DigitalObjectModel.MONOGRAPHUNIT.getValue(), lang.monographunits());
        labels.put(DigitalObjectModel.PERIODICALITEM.getValue(), lang.periodicalitems());
        labels.put(DigitalObjectModel.PERIODICALVOLUME.getValue(), lang.periodicalvolumes());
        int i = 0;
        for (DigitalObjectModel md : models) {
            Tab containerTab = null;
            if (md.equals(DigitalObjectModel.PAGE)) {
                containerTab = new Tab(lang.pages(), "pieces/16/pawn_red.png");
                containerTab.setWidth(lang.pages().length() * 6 + 35);
            } else {
                containerTab = new Tab(labels.get(md.getValue()),
                        "pieces/16/cubes_" + (i == 0 ? "green" : i == 1 ? "blue" : "yellow") + ".png");
                containerTab.setWidth(((labels.get(md.getValue())).length() * 6) + 30);
            }
            containerTab.setAttribute(TAB_INITIALIZED, topTabSet.isStoredDigitalObject());
            containerTab.setAttribute(ID_MODEL, md.getValue());
            containerTabs.add(containerTab);
            i++;
        }
        topTabSet.setItemTab(containerTabs);
    }
    Map<String, String> labelsSingular = new HashMap<String, String>();
    labelsSingular.put(DigitalObjectModel.INTERNALPART.getValue(), lang.internalpart());
    labelsSingular.put(DigitalObjectModel.MONOGRAPH.getValue(), lang.monograph());
    labelsSingular.put(DigitalObjectModel.MONOGRAPHUNIT.getValue(), lang.monographunit());
    labelsSingular.put(DigitalObjectModel.PAGE.getValue(), lang.page());
    labelsSingular.put(DigitalObjectModel.PERIODICAL.getValue(), lang.periodical());
    labelsSingular.put(DigitalObjectModel.PERIODICALITEM.getValue(), lang.periodicalitem());
    labelsSingular.put(DigitalObjectModel.PERIODICALVOLUME.getValue(), lang.periodicalvolume());
    String previewPID = DigitalObjectModel.PAGE.equals(model) ? uuid : detail.getFirstPageURL();
    topTabSet.setModsCollection(mods);
    topTabSet.setDc(dc);
    // grr, defensive
    String pageType = (DigitalObjectModel.PAGE.equals(model) && mods != null && mods.getMods() != null
            && mods.getMods().size() > 0 && mods.getMods().get(0) != null
            && mods.getMods().get(0).getPart() != null && mods.getMods().get(0).getPart().size() > 0
            && mods.getMods().get(0).getPart().get(0) != null
            && mods.getMods().get(0).getPart().get(0).getType() != null
            && !"".equals(mods.getMods().get(0).getPart().get(0).getType().trim()))
                    ? mods.getMods().get(0).getPart().get(0).getType()
                    : null;
    final InfoTab infoTab = new InfoTab("Info", "pieces/16/cubes_all.png", lang, detail,
            labelsSingular.get(model.getValue()), pageType, previewPID) {

        @Override
        protected void getCurrentLockInfo() {
            getUiHandlers().getLockDigitalObjectInformation(topTabSet, false);
        }
    };
    topTabSet.setInfoTab(infoTab);
    infoTab.getQuickEdit().addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            showBasicModsWindow(topTabSet);
        }
    });

    final Tab dublinTab = new DCTab("DC", "pieces/16/piece_green.png");
    dublinTab.setAttribute(TAB_INITIALIZED, topTabSet.isStoredDigitalObject());
    dublinTab.setAttribute(ID_TAB, ID_DC);
    topTabSet.setDcTab((DCTab) dublinTab);

    final Tab moTab = new Tab("MODS", "pieces/16/piece_blue.png");
    moTab.setAttribute(TAB_INITIALIZED, topTabSet.isStoredDigitalObject());
    moTab.setAttribute(ID_TAB, ID_MODS);
    topTabSet.setModsTab(moTab);

    final Tab descriptionTab = new Tab(lang.description(), "pieces/16/pieces.png");
    descriptionTab.setAttribute(TAB_INITIALIZED, false);
    descriptionTab.setAttribute(ID_TAB, ID_DESC);
    descriptionTab.setWidth(100);

    Tab thumbTab = null;
    boolean picture = model.equals(DigitalObjectModel.PAGE);
    Tab ocTab = picture ? new Tab("OCR", "pieces/16/pawn_white.png") : null;

    Tab fullTab = null;
    if (picture) {
        DynamicForm form = new DynamicForm();
        form.setWidth100();
        form.setHeight100();
        TextAreaItem ocrItem = new TextAreaItem();
        ocrItem.setWidth("600");
        ocrItem.setHeight("*");
        ocrItem.setShowTitle(false);
        ocrItem.setValue(ocr != null ? ocr : "");
        topTabSet.setOriginalOcrContent(ocr != null ? ocr : "");
        form.setItems(ocrItem);
        ocTab.setPane(form);
        topTabSet.setOcrContent(ocrItem);

        thumbTab = new Tab(lang.thumbnail(), "pieces/16/pawn_yellow.png");
        thumbTab.setWidth((lang.thumbnail().length() * 6) + 30);
        final Image full2 = new Image(
                Constants.SERVLET_IMAGES_PREFIX + Constants.SERVLET_THUMBNAIL_PREFIX + "/" + uuid);
        final Img image = new Img(Constants.SERVLET_THUMBNAIL_PREFIX + "/" + uuid, full2.getWidth(),
                full2.getHeight());
        image.setAnimateTime(500);
        image.addClickHandler(new ClickHandler() {

            private boolean turn = false;

            @Override
            public void onClick(ClickEvent event) {
                if (turn) {
                    image.animateRect(5, 5, full2.getWidth(), full2.getHeight());
                } else {
                    image.animateRect(5, 5, full2.getWidth() * 2, full2.getHeight() * 2);
                }
                turn = !turn;
            }
        });
        thumbTab.setPane(image);
        fullTab = new Tab(lang.fullImg(), "pieces/16/pawn_yellow.png");
        fullTab.setWidth((lang.fullImg().length() * 6) + 30);
        fullTab.setAttribute(ID_TAB, ID_FULL);
    }

    Tab foxmlTab = null;
    boolean fox = foxmlString != null && !"".equals(foxmlString);
    if (fox) {
        foxmlTab = new Tab("FOXML", "pieces/16/cube_frame.png");
        HTMLFlow l = new HTMLFlow("<code>" + foxmlString + "</code>");
        l.setCanSelectText(true);
        foxmlTab.setPane(l);
    }

    List<Tab> tabList = new ArrayList<Tab>();
    tabList.add(infoTab);
    if (containerTabs != null && containerTabs.size() > 0)
        tabList.addAll(containerTabs);
    tabList.addAll(Arrays.asList(dublinTab, moTab, descriptionTab));
    if (picture) {
        tabList.add(ocTab);
        tabList.add(thumbTab);
        tabList.add(fullTab);
    }
    if (fox)
        tabList.add(foxmlTab);

    topTabSet.setTabs(tabList.toArray(new Tab[] {}));

    topTabSet.addTabSelectedHandler(new TabSelectedHandler() {

        @Override
        public void onTabSelected(final TabSelectedEvent event) {
            isSecondFocused = topTabSet == topTabSet2;
            changeFocus();
            // TODO: string(ID_MODS) -> int
            if (ID_MODS.equals(event.getTab().getAttribute(ID_TAB)) && event.getTab().getPane() == null) {
                final ModalWindow mw = new ModalWindow(topTabSet);
                mw.setLoadingIcon("loadingAnimation.gif");
                mw.show(true);
                Timer timer = new Timer() {

                    @Override
                    public void run() {
                        ModsTab t = new ModsTab(1, mods);
                        VLayout modsLayout = t.getModsLayout();
                        topTabSet.setModsTab(t);
                        TabSet ts = event.getTab().getTabSet();
                        ts.setTabPane(event.getTab().getID(), modsLayout);
                        t.setAttribute(TAB_INITIALIZED, true);
                        mw.hide();
                    }
                };
                timer.schedule(25);
            } else if (ID_DC.equals(event.getTab().getAttribute(ID_TAB)) && event.getTab().getPane() == null) {
                final ModalWindow mw = new ModalWindow(topTabSet);
                mw.setLoadingIcon("loadingAnimation.gif");
                mw.show(true);
                Timer timer = new Timer() {

                    @Override
                    public void run() {
                        DCTab t = new DCTab(dc);
                        topTabSet.setDcTab(t);
                        TabSet ts = event.getTab().getTabSet();
                        ts.setTabPane(event.getTab().getID(), t.getPane());
                        t.setAttribute(TAB_INITIALIZED, true);
                        mw.hide();
                    }
                };
                timer.schedule(25);
            } else if (event.getTab().getAttribute(ID_MODEL) != null && event.getTab().getPane() == null) {
                final ModalWindow mw = new ModalWindow(topTabSet);
                mw.setLoadingIcon("loadingAnimation.gif");
                mw.show(true);
                Timer timer = new Timer() {

                    @Override
                    public void run() {
                        if (!((EditorTabSet) event.getTab().getTabSet()).isStoredDigitalObject()) {
                            getUiHandlers().getStream(uuid,
                                    DigitalObjectModel.parseString(event.getTab().getAttribute(ID_MODEL)),
                                    event.getTab().getTabSet());
                        }
                        mw.hide();
                    }
                };
                timer.schedule(25);
            } else if (ID_FULL.equals(event.getTab().getAttribute(ID_TAB))
                    && event.getTab().getPane() == null) {
                final ModalWindow mw = new ModalWindow(topTabSet);
                mw.setLoadingIcon("loadingAnimation.gif");
                mw.show(true);
                ImagePreloader.load(Constants.SERVLET_IMAGES_PREFIX + Constants.SERVLET_FULL_PREFIX + '/' + uuid
                        + "?" + Constants.URL_PARAM_NOT_SCALE + "=true", new ImageLoadHandler() {

                            @Override
                            public void imageLoaded(final ImageLoadEvent event1) {
                                if (!event1.isLoadFailed()) {
                                    final int width = event1.getDimensions().getWidth();
                                    final int height = event1.getDimensions().getHeight();
                                    Timer timer = new Timer() {

                                        @Override
                                        public void run() {
                                            final Img full = new Img(
                                                    Constants.SERVLET_FULL_PREFIX + '/' + uuid + "?"
                                                            + Constants.URL_PARAM_NOT_SCALE + "=true",
                                                    width, height);
                                            full.draw();
                                            full.addClickHandler(new ClickHandler() {

                                                private boolean turn = true;

                                                @Override
                                                public void onClick(final ClickEvent event2) {
                                                    if (turn) {
                                                        full.animateRect(5, 5, width / 2, height / 2);
                                                    } else {
                                                        full.animateRect(5, 5, width, height);
                                                    }
                                                    turn = !turn;
                                                }
                                            });
                                            TabSet ts = event.getTab().getTabSet();
                                            ts.setTabPane(event.getTab().getID(), full);
                                            mw.hide();
                                        }
                                    };
                                    timer.schedule(20);
                                }
                            }
                        });

            } else if (ID_DESC.equals(event.getTab().getAttribute(ID_TAB))
                    && event.getTab().getPane() == null) {
                getUiHandlers().getDescription(uuid, event.getTab().getTabSet(), event.getTab().getID());
                event.getTab().setAttribute(TAB_INITIALIZED, true);
            }
        }
    });

    // MENU
    final Menu menu = getMenu(topTabSet, model, dc, mods);
    IMenuButton menuButton = new IMenuButton("Menu", menu);
    menuButton.setWidth(60);
    menuButton.setHeight(16);
    menuButton.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            IMenuButton eventButton = (IMenuButton) event.getSource();

            EditorTabSet ts = null;
            for (MenuItem item : eventButton.getMenu().getItems()) {
                if (ts == null) {
                    ts = (EditorTabSet) item.getAttributeAsObject(ID_TABSET);
                }

                if (item.getAttributeAsObject(ID_MENU_ITEM) instanceof ATTR_MENU_ITEM) {

                    ATTR_MENU_ITEM attrItem = (ATTR_MENU_ITEM) item.getAttributeAsObject(ID_MENU_ITEM);

                    String lockOwner = ts.getLockInfo().getLockOwner();
                    if (lockOwner != null) {

                        if ("".equals(lockOwner)) {
                            if (ATTR_MENU_ITEM.LOCK == attrItem) {
                                item.setTitle(lang.updateLock());
                            } else
                                item.setEnabled(true);
                        } else {
                            if (ATTR_MENU_ITEM.LOCK == attrItem) {
                                item.setTitle(lang.lockItem());
                            }
                            item.setEnabled(false);
                        }

                    } else {
                        if (ATTR_MENU_ITEM.UNLOCK == attrItem) {
                            item.setEnabled(false);
                        } else {
                            if (ATTR_MENU_ITEM.LOCK == attrItem) {
                                item.setTitle(lang.lockItem());
                            }
                            item.setEnabled(true);
                        }
                    }
                    if (ATTR_MENU_ITEM.REFRESH == attrItem) {
                        if (ts.isStoredDigitalObject()) {
                            item.setEnabled(false);
                        } else
                            item.setEnabled(true);
                    }
                }
            }
            eventButton.getMenu().redraw();
        }
    });

    final ImgButton closeButton = new ImgButton();
    closeButton.setSrc("[SKIN]headerIcons/close.png");
    closeButton.setSize(16);
    // closeButton.setShowFocused(false);
    closeButton.setShowRollOver(true);
    closeButton.setCanHover(true);
    closeButton.setShowDownIcon(false);
    closeButton.setShowDown(false);
    closeButton.setHoverOpacity(75);
    closeButton.setHoverStyle("interactImageHover");
    closeButton.addHoverHandler(new HoverHandler() {

        @Override
        public void onHover(HoverEvent event) {
            closeButton.setPrompt(lang.closeHoover() + " Ctrl+Alt+C");
        }
    });

    closeButton.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            close(topTabSet);
        }
    });
    topTabSet.setTabBarControls(TabBarControls.TAB_SCROLLER, TabBarControls.TAB_PICKER, menuButton,
            closeButton);
    topTabSet.setAnimateTabScrolling(true);

    layout.setMembersMargin(15);
    if (!refresh) {
        if (isSecondFocused || topTabSet1 == null) {

            if (topTabSet1 != null) {
                EditorTabSet toDelete = topTabSet1;
                layout.removeMember(toDelete);
                removeTuple(toDelete);
                toDelete.destroy();
            }
            topTabSet1 = topTabSet;
            layout.addMember(topTabSet1, 0);
        } else {
            if (topTabSet2 != null) {
                EditorTabSet toDelete = topTabSet2;
                layout.removeMember(toDelete);
                removeTuple(toDelete);
                toDelete.destroy();
            }
            topTabSet2 = topTabSet;
            layout.addMember(topTabSet2, 1);
        }
        isSecondFocused = !isSecondFocused;
        changeFocus();
    } else if (insertPosition != -1) {
        if (insertPosition == 0) {
            topTabSet1 = topTabSet;
            layout.addMember(topTabSet1, 0);
        } else if (insertPosition == 1) {
            topTabSet2 = topTabSet;
            layout.addMember(topTabSet2, 1);
        }
    }
    if (storedDigitalObject) {
        for (List<DigitalObjectDetail> childrenDetails : detail.getAllItems()) {
            addAllStreams(childrenDetails, uuid);
        }
    }
    layout.redraw();
    getUiHandlers().onAddDigitalObject(uuid, closeButton);
}

From source file:cz.fi.muni.xkremser.editor.client.view.ModsTab.java

License:Open Source License

/**
 * Gets the mods tab set.//from   w  ww.  j av  a2s.c o m
 * 
 * @param modsTypeClient
 *        the mods type client
 * @param attributePresent
 *        the attribute present
 * @param relatedItem
 *        the related item
 * @param counter
 *        the counter
 * @return the mods tab set
 */
private VLayout getModsLayout(boolean attributePresent, RelatedItemTypeClient relatedItem, final int counter) {
    VLayout layout = new VLayout();

    if (attributePresent) {
        modsTypeClient_ = relatedItem == null ? null : relatedItem.getMods();
        @SuppressWarnings("serial")
        Attribute[] attributes = new Attribute[] {
                new Attribute(SelectItem.class, ModsConstants.TYPE, "Type", new HashMap<String, String>() {

                    {
                        put("", "This attribute will be omitted.");
                        put("preceding",
                                "Information concerning a predecessor to the resource (Equivalent to MARC 21 field 780).");
                        put("succeeding",
                                "Information concerning a successor to the resource (Equivalent to MARC 21 field 785).");
                        put("original",
                                "Information concerning an original form of the resource (Equivalent to MARC 21 fields 534, 786).");
                        put("host",
                                "Information concerning a host or parent resource for the resource described; this may be a parent collection (Equivalent to MARC 21 fields 760, 772, 773).");
                        put("constituent",
                                "Information concerning a constituent unit of the resource. This allows for more specific parsed information than may be used in <tableOfContents>. (Equivalent to MARC 21 fields 762, 770, 774; fields 700, 710, 711 with subfield $t).");
                        put("series", "Information concerning the series in which a resource is issued.");
                        put("otherVersion",
                                "Information concerning another version (i.e. change in intellectual content) of the resource (Equivalent to MARC 21 field 775).");
                        put("otherFormat",
                                "Information concerning another format (i.e. change in physical format) of the resource (Equivalent to MARC 21 field 776). ");
                        put("isReferencedBy",
                                "Citations or references to published bibliographic descriptions, reviews, abstracts, or indexes of the content of the resource (Roughly equivalent to MARC 21 field 510, but allows for additional parsing of data).");
                    }
                }, relatedItem == null ? "" : relatedItem.getType()),
                TabUtils.ATTR_XLINK(relatedItem == null ? "" : relatedItem.getXlink()),
                TabUtils.getDisplayLabel("Equivalent to MARC 21 fields 76X-78X subfields $i and $3.",
                        (relatedItem == null ? "" : relatedItem.getDisplayLabel())),
                TabUtils.ATTR_ID(relatedItem == null ? "" : relatedItem.getId()) };
        DynamicForm form = TabUtils.getAttributes(true, attributes);
        layout.addMember(form);
        relatedItemAttributeHolder.setAttributeForm(form);
    }

    final TabSet topTabSet = new TabSet();
    topTabSet.setTabBarPosition(Side.BOTTOM);
    topTabSet.setWidth100();
    final List<RelatedItemTypeClient> relatedItems = modsTypeClient_ == null ? null
            : modsTypeClient_.getRelatedItem();
    Tab name = new Tab("Name");
    name.setAttribute(TAB_TYPE, MODS_NAME);
    Tab type = new Tab("Type");
    type.setAttribute(TAB_TYPE, MODS_TYPE);
    Tab genre = new Tab("Genre");
    genre.setAttribute(TAB_TYPE, MODS_GENRE);
    Tab origin = new Tab("Origin");
    origin.setAttribute(TAB_TYPE, MODS_ORIGIN);
    Tab language = new Tab("Language");
    language.setAttribute(TAB_TYPE, MODS_LANG);
    Tab physical = new Tab("Physical desc.");
    physical.setAttribute(TAB_TYPE, MODS_PHYS);
    Tab abstractt = new Tab("Abstract");
    abstractt.setAttribute(TAB_TYPE, MODS_ABSTRACT);
    Tab toc = new Tab("Table of Con.");
    toc.setAttribute(TAB_TYPE, MODS_TOC);
    Tab audience = new Tab("Audience");
    audience.setAttribute(TAB_TYPE, MODS_TARGET);
    Tab note = new Tab("Note");
    note.setAttribute(TAB_TYPE, MODS_NOTE);
    Tab subject = new Tab("Subject");
    subject.setAttribute(TAB_TYPE, MODS_SUBJECT);
    Tab classification = new Tab("Classification");
    classification.setAttribute(TAB_TYPE, MODS_CLASS);
    Tab related = new Tab("Related Item");
    related.setAttribute(TAB_TYPE, MODS_RELATED);
    Tab identifier = new Tab("Identifier");
    identifier.setAttribute(TAB_TYPE, MODS_IDENTIFIER);
    Tab location = new Tab("Location");
    location.setAttribute(TAB_TYPE, MODS_LOCATION);
    Tab access = new Tab("Access Conditio");
    access.setAttribute(TAB_TYPE, MODS_ACCESS);
    Tab part = new Tab("Part");
    part.setAttribute(TAB_TYPE, MODS_PART);
    Tab extension = new Tab("Extension");
    extension.setAttribute(TAB_TYPE, MODS_EXTENSION);
    Tab record = new Tab("Record Info");
    record.setAttribute(TAB_TYPE, MODS_RECORD);

    Tab[] lazyTabs = new Tab[] {
            getTab(TabUtils.getTitleInfoStack(true,
                    modsTypeClient_ == null ? null : modsTypeClient_.getTitleInfo(), titleInfoHolders),
                    "Title Info"),
            name, type, genre, origin, language, physical, abstractt, toc, audience, note, subject,
            classification, related, identifier, location, access, part, extension, record };
    tabsInitialized[MODS_TITLE] = true;

    topTabSet.setTabs(lazyTabs);
    topTabSet.addTabSelectedHandler(new TabSelectedHandler() {

        public void onTabSelected(final TabSelectedEvent event) {

            if (event.getTab().getPane() == null) {
                final ModalWindow mw = new ModalWindow(topTabSet);
                Timer timer = null;
                switch (event.getTab().getAttributeAsInt(TAB_TYPE)) {

                case MODS_NAME:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getNameStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getName(), nameHolders),
                                    "Name");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_NAME, t.getPane());
                            tabsInitialized[MODS_NAME] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_TYPE:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getTypeOfResourceStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getTypeOfResource(),
                                    typeOfResourceHolders), "Type");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_TYPE, t.getPane());
                            tabsInitialized[MODS_TYPE] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_GENRE:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getGenreStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getGenre(), genreHolders),
                                    "Genre");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_GENRE, t.getPane());
                            tabsInitialized[MODS_GENRE] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_ORIGIN:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getOriginInfoStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getOriginInfo(),
                                    originInfoHolders), "Origin");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_ORIGIN, t.getPane());
                            tabsInitialized[MODS_ORIGIN] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_LANG:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getLanguageStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getLanguage(),
                                    languageHolders), "Language");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_LANG, t.getPane());
                            tabsInitialized[MODS_LANG] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_ABSTRACT:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getAbstractStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getAbstrac(),
                                    abstractHolders), "Abstract");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_ABSTRACT, t.getPane());
                            tabsInitialized[MODS_ABSTRACT] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_PHYS:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getPhysicalDescriptionStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getPhysicalDescription(),
                                    physicalDescriptionHolders), "Physical desc.");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_PHYS, t.getPane());
                            tabsInitialized[MODS_PHYS] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_TOC:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getTableOfContentsStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getTableOfContents(),
                                    tableOfContentsHolders), "Table of Con.");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_TOC, t.getPane());
                            tabsInitialized[MODS_TOC] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_TARGET:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(
                                    TabUtils.getTargetAudienceStack(true,
                                            modsTypeClient_ == null ? null
                                                    : modsTypeClient_.getTargetAudience(),
                                            audienceHolder),
                                    "Audience");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_TARGET, t.getPane());
                            tabsInitialized[MODS_TARGET] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_NOTE:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getNoteStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getNote(), noteHolders),
                                    "Note");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_NOTE, t.getPane());
                            tabsInitialized[MODS_NOTE] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_SUBJECT:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getSubjectStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getSubject(),
                                    subjectHolders), "Subject");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_SUBJECT, t.getPane());
                            tabsInitialized[MODS_SUBJECT] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_CLASS:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getClassificationStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getClassification(),
                                    classificationHolder), "Classification");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_CLASS, t.getPane());
                            tabsInitialized[MODS_CLASS] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_RELATED:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = null;
                            if (deep > 0) {
                                GetRelatedItem getRelatedItem = new GetRelatedItem();
                                getRelatedItem.setValues(relatedItems);
                                getRelatedItem.setHolders(relatedItemHolders);
                                t = getTab(TabUtils.getSomeStack(true, "Related Item", getRelatedItem),
                                        "Related Item");
                            } else {
                                t = MAX_DEEP(deep + ":" + counter);
                            }
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_RELATED, t.getPane());
                            tabsInitialized[MODS_RELATED] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_LOCATION:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getLocationStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getLocation(),
                                    locationHolders), "Location");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_LOCATION, t.getPane());
                            tabsInitialized[MODS_LOCATION] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_IDENTIFIER:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getIdentifierStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getIdentifier(),
                                    identifierHolder), "Identifier");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_IDENTIFIER, t.getPane());
                            tabsInitialized[MODS_IDENTIFIER] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_ACCESS:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getAccessConditionStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getAccessCondition(),
                                    accessConditionHolders), "Access Condition");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_ACCESS, t.getPane());
                            tabsInitialized[MODS_ACCESS] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_PART:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getPartStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getPart(), partHolders),
                                    "Part");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_PART, t.getPane());
                            tabsInitialized[MODS_PART] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_EXTENSION:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getExtensionStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getExtension(),
                                    extensionHolders), "Extension");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_EXTENSION, t.getPane());
                            tabsInitialized[MODS_EXTENSION] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_RECORD:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getRecordInfoStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getRecordInfo(),
                                    recordInfoHolders), "Record Info");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_RECORD, t.getPane());
                            tabsInitialized[MODS_RECORD] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;

                }
            }

        }
    });
    layout.addMember(topTabSet);
    return layout;
}

From source file:cz.fi.muni.xkremser.editor.client.view.other.InputQueueTree.java

License:Open Source License

private void getIngestInfo(final String path, final DispatchAsync dispatcher, final EventBus eventBus) {
    final ModalWindow mw = new ModalWindow(InputQueueTree.this);
    mw.setLoadingIcon("loadingAnimation.gif");
    mw.show(true);/*from   ww w.  j  ava  2s.c o  m*/
    Timer timer = new Timer() {

        @Override
        public void run() {
            GetIngestInfoAction ingestInfoAction = new GetIngestInfoAction(path);
            DispatchCallback<GetIngestInfoResult> ingestInfoCallback = new DispatchCallback<GetIngestInfoResult>() {

                @Override
                public void callback(GetIngestInfoResult result) {
                    mw.hide();
                    List<IngestInfo> ingestInfoList = result.getIngestInfo();
                    if (ingestInfoList.isEmpty()) {
                        EditorSC.operationFailed(lang, lang.noIngestFile());
                    } else {
                        IngestInfoWindow.setInstanceOf(ingestInfoList, lang, eventBus);
                    }
                }

                @Override
                public void callbackError(Throwable t) {
                    mw.hide();
                    super.callbackError(t);
                }
            };
            dispatcher.execute(ingestInfoAction, ingestInfoCallback);
        }
    };
    timer.schedule(25);
}

From source file:cz.fi.muni.xkremser.editor.client.view.other.ModsTab.java

License:Open Source License

/**
 * Gets the mods tab set./*  w  ww .ja v  a  2s.c  o  m*/
 * 
 * @param modsTypeClient
 *        the mods type client
 * @param attributePresent
 *        the attribute present
 * @param relatedItem
 *        the related item
 * @param counter
 *        the counter
 * @return the mods tab set
 */
private VLayout getModsLayout(boolean attributePresent, RelatedItemTypeClient relatedItem, final int counter) {
    VLayout layout = new VLayout();

    if (attributePresent) {
        modsTypeClient_ = relatedItem == null ? null : relatedItem.getMods();
        Map<String, String> tooltips = new HashMap<String, String>();
        tooltips.put("", "This attribute will be omitted.");
        tooltips.put("preceding",
                "Information concerning a predecessor to the resource (Equivalent to MARC 21 field 780).");
        tooltips.put("succeeding",
                "Information concerning a successor to the resource (Equivalent to MARC 21 field 785).");
        tooltips.put("original",
                "Information concerning an original form of the resource (Equivalent to MARC 21 fields 534, 786).");
        tooltips.put("host",
                "Information concerning a host or parent resource for the resource described; this may be a parent collection (Equivalent to MARC 21 fields 760, 772, 773).");
        tooltips.put("constituent",
                "Information concerning a constituent unit of the resource. This allows for more specific parsed information than may be used in <tableOfContents>. (Equivalent to MARC 21 fields 762, 770, 774; fields 700, 710, 711 with subfield $t).");
        tooltips.put("series", "Information concerning the series in which a resource is issued.");
        tooltips.put("otherVersion",
                "Information concerning another version (i.e. change in intellectual content) of the resource (Equivalent to MARC 21 field 775).");
        tooltips.put("otherFormat",
                "Information concerning another format (i.e. change in physical format) of the resource (Equivalent to MARC 21 field 776). ");
        tooltips.put("isReferencedBy",
                "Citations or references to published bibliographic descriptions, reviews, abstracts, or indexes of the content of the resource (Roughly equivalent to MARC 21 field 510, but allows for additional parsing of data).");

        Attribute[] attributes = new Attribute[] {
                new Attribute(SelectItem.class, ModsConstants.TYPE, "Type", tooltips,

                        relatedItem == null ? "" : relatedItem.getType()),
                TabUtils.ATTR_XLINK(relatedItem == null ? "" : relatedItem.getXlink()),
                TabUtils.getDisplayLabel("Equivalent to MARC 21 fields 76X-78X subfields $i and $3.",
                        (relatedItem == null ? "" : relatedItem.getDisplayLabel())),
                TabUtils.ATTR_ID(relatedItem == null ? "" : relatedItem.getId()) };
        DynamicForm form = TabUtils.getAttributes(true, attributes);
        layout.addMember(form);
        relatedItemAttributeHolder.setAttributeForm(form);
    }

    final TabSet topTabSet = new TabSet();
    topTabSet.setTabBarPosition(Side.TOP);
    topTabSet.setWidth100();
    final List<RelatedItemTypeClient> relatedItems = modsTypeClient_ == null ? null
            : modsTypeClient_.getRelatedItem();
    Tab name = new Tab("Name");
    name.setAttribute(TAB_TYPE, MODS_NAME);
    Tab type = new Tab("Type");
    type.setAttribute(TAB_TYPE, MODS_TYPE);
    Tab genre = new Tab("Genre");
    genre.setAttribute(TAB_TYPE, MODS_GENRE);
    Tab origin = new Tab("Origin");
    origin.setAttribute(TAB_TYPE, MODS_ORIGIN);
    Tab language = new Tab("Language");
    language.setAttribute(TAB_TYPE, MODS_LANG);
    Tab physical = new Tab("Physical desc.");
    physical.setAttribute(TAB_TYPE, MODS_PHYS);
    Tab abstractt = new Tab("Abstract");
    abstractt.setAttribute(TAB_TYPE, MODS_ABSTRACT);
    Tab toc = new Tab("Table of Con.");
    toc.setAttribute(TAB_TYPE, MODS_TOC);
    Tab audience = new Tab("Audience");
    audience.setAttribute(TAB_TYPE, MODS_TARGET);
    Tab note = new Tab("Note");
    note.setAttribute(TAB_TYPE, MODS_NOTE);
    Tab subject = new Tab("Subject");
    subject.setAttribute(TAB_TYPE, MODS_SUBJECT);
    Tab classification = new Tab("Classification");
    classification.setAttribute(TAB_TYPE, MODS_CLASS);
    Tab related = new Tab("Related Item");
    related.setAttribute(TAB_TYPE, MODS_RELATED);
    Tab identifier = new Tab("Identifier");
    identifier.setAttribute(TAB_TYPE, MODS_IDENTIFIER);
    Tab location = new Tab("Location");
    location.setAttribute(TAB_TYPE, MODS_LOCATION);
    Tab access = new Tab("Access Conditio");
    access.setAttribute(TAB_TYPE, MODS_ACCESS);
    Tab part = new Tab("Part");
    part.setAttribute(TAB_TYPE, MODS_PART);
    Tab extension = new Tab("Extension");
    extension.setAttribute(TAB_TYPE, MODS_EXTENSION);
    Tab record = new Tab("Record Info");
    record.setAttribute(TAB_TYPE, MODS_RECORD);

    Tab[] lazyTabs = new Tab[] {
            getTab(TabUtils.getTitleInfoStack(true,
                    modsTypeClient_ == null ? null : modsTypeClient_.getTitleInfo(), titleInfoHolders),
                    "Title Info"),
            name, type, genre, origin, language, physical, abstractt, toc, audience, note, subject,
            classification, related, identifier, location, access, part, extension, record };
    tabsInitialized[MODS_TITLE] = true;

    topTabSet.setTabs(lazyTabs);
    topTabSet.addTabSelectedHandler(new TabSelectedHandler() {

        @Override
        public void onTabSelected(final TabSelectedEvent event) {
            if (event.getTab().getPane() == null) {
                final ModalWindow mw = new ModalWindow(topTabSet);
                Timer timer = null;
                switch (event.getTab().getAttributeAsInt(TAB_TYPE)) {

                case MODS_NAME:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getNameStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getName(), nameHolders),
                                    "Name");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_NAME, t.getPane());
                            tabsInitialized[MODS_NAME] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_TYPE:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getTypeOfResourceStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getTypeOfResource(),
                                    typeOfResourceHolders), "Type");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_TYPE, t.getPane());
                            tabsInitialized[MODS_TYPE] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_GENRE:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getGenreStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getGenre(), genreHolders),
                                    "Genre");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_GENRE, t.getPane());
                            tabsInitialized[MODS_GENRE] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_ORIGIN:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getOriginInfoStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getOriginInfo(),
                                    originInfoHolders), "Origin");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_ORIGIN, t.getPane());
                            tabsInitialized[MODS_ORIGIN] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_LANG:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getLanguageStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getLanguage(),
                                    languageHolders), "Language");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_LANG, t.getPane());
                            tabsInitialized[MODS_LANG] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_ABSTRACT:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getAbstractStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getAbstrac(),
                                    abstractHolders), "Abstract");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_ABSTRACT, t.getPane());
                            tabsInitialized[MODS_ABSTRACT] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_PHYS:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getPhysicalDescriptionStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getPhysicalDescription(),
                                    physicalDescriptionHolders), "Physical desc.");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_PHYS, t.getPane());
                            tabsInitialized[MODS_PHYS] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_TOC:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getTableOfContentsStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getTableOfContents(),
                                    tableOfContentsHolders), "Table of Con.");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_TOC, t.getPane());
                            tabsInitialized[MODS_TOC] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_TARGET:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(
                                    TabUtils.getTargetAudienceStack(true,
                                            modsTypeClient_ == null ? null
                                                    : modsTypeClient_.getTargetAudience(),
                                            audienceHolder),
                                    "Audience");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_TARGET, t.getPane());
                            tabsInitialized[MODS_TARGET] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_NOTE:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getNoteStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getNote(), noteHolders),
                                    "Note");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_NOTE, t.getPane());
                            tabsInitialized[MODS_NOTE] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_SUBJECT:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getSubjectStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getSubject(),
                                    subjectHolders), "Subject");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_SUBJECT, t.getPane());
                            tabsInitialized[MODS_SUBJECT] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_CLASS:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getClassificationStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getClassification(),
                                    classificationHolder), "Classification");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_CLASS, t.getPane());
                            tabsInitialized[MODS_CLASS] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_RELATED:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = null;
                            if (deep > 0) {
                                GetRelatedItem getRelatedItem = new GetRelatedItem();
                                getRelatedItem.setValues(relatedItems);
                                getRelatedItem.setHolders(relatedItemHolders);
                                t = getTab(TabUtils.getSomeStack(true, "Related Item", getRelatedItem),
                                        "Related Item");
                            } else {
                                t = MAX_DEEP(deep + ":" + counter);
                            }
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_RELATED, t.getPane());
                            tabsInitialized[MODS_RELATED] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_LOCATION:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getLocationStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getLocation(),
                                    locationHolders), "Location");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_LOCATION, t.getPane());
                            tabsInitialized[MODS_LOCATION] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_IDENTIFIER:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getIdentifierStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getIdentifier(),
                                    identifierHolder), "Identifier");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_IDENTIFIER, t.getPane());
                            tabsInitialized[MODS_IDENTIFIER] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_ACCESS:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getAccessConditionStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getAccessCondition(),
                                    accessConditionHolders), "Access Condition");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_ACCESS, t.getPane());
                            tabsInitialized[MODS_ACCESS] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_PART:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getPartStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getPart(), partHolders),
                                    "Part");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_PART, t.getPane());
                            tabsInitialized[MODS_PART] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_EXTENSION:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getExtensionStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getExtension(),
                                    extensionHolders), "Extension");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_EXTENSION, t.getPane());
                            tabsInitialized[MODS_EXTENSION] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;
                case MODS_RECORD:
                    mw.setLoadingIcon("loadingAnimation.gif");
                    mw.show(true);
                    timer = new Timer() {

                        @Override
                        public void run() {
                            Tab t = getTab(TabUtils.getRecordInfoStack(true,
                                    modsTypeClient_ == null ? null : modsTypeClient_.getRecordInfo(),
                                    recordInfoHolders), "Record Info");
                            TabSet ts = event.getTab().getTabSet();
                            ts.setTabPane(MODS_RECORD, t.getPane());
                            tabsInitialized[MODS_RECORD] = true;
                            mw.hide();
                        }
                    };
                    timer.schedule(25);
                    break;

                }
            }

        }
    });
    layout.addMember(topTabSet);
    return layout;
}

From source file:cz.fi.muni.xkremser.editor.client.view.other.PageNumberingManager.java

License:Open Source License

public void shift(final int n, final boolean isShiftTo, final Canvas canvas) {
    final ModalWindow mw = new ModalWindow(canvas);
    mw.setLoadingIcon("loadingAnimation.gif");
    mw.show(true);//from   ww  w .j  av a2 s  .  c om

    Timer timer = new Timer() {

        @Override
        public void run() {
            Record[] selectedRecords = tileGrid.getSelection();
            tileGrid.selectAllRecords();
            Record[] allRecords = tileGrid.getSelection();
            int selLength = selectedRecords.length;
            int maxNumber = Integer.MIN_VALUE;
            int firstNumber = Integer.MIN_VALUE;
            int lastNumber = Integer.MIN_VALUE;

            if (selectedRecords != null && selectedRecords.length > 0) {
                int moveOver = n;

                if (isShiftTo) {
                    maxNumber = allRecords.length;
                    firstNumber = 0;
                    lastNumber = maxNumber;
                    int number = 0;

                    for (int i = 0; i < allRecords.length; i++) {
                        String startingNumber = allRecords[i].getAttributeAsString(Constants.ATTR_NAME);
                        int stringNumber = getPageNumberFromText(startingNumber);
                        if (stringNumber == Integer.MIN_VALUE) {
                            stringNumber = ++number;
                        } else {
                            number = stringNumber;
                        }
                        if (allRecords[i].equals(selectedRecords[0]))
                            firstNumber = stringNumber;
                        if (allRecords[i].equals(selectedRecords[selLength - 1]))
                            lastNumber = stringNumber;
                        if (maxNumber < firstNumber)
                            maxNumber = firstNumber;
                        allRecords[i].setAttribute(ATTR_STRING_NUMBER, stringNumber);
                    }
                    if (n != firstNumber) {
                        moveOver = n - firstNumber;
                    } else {
                        moveOver = 0;
                    }
                }

                if (moveOver == 0) {
                    tileGrid.selectRecords(selectedRecords);
                    mw.hide();
                    return;
                }

                if (moveOver < 0) {
                    shiftToLeft(moveOver, allRecords, selectedRecords, selLength, lastNumber);
                } else {
                    shiftToRight(moveOver, allRecords, selectedRecords, selLength, firstNumber, maxNumber);
                }
                tileGrid.removeSelectedData();
                tileGrid.setData(allRecords);
                tileGrid.selectRecords(selectedRecords);
            }
        }
    };
    timer.schedule(25);
    mw.hide();
}