List of usage examples for com.google.gwt.user.client Timer schedule
public synchronized void schedule(int delayMs)
From source file:cz.fi.muni.xkremser.editor.client.view.window.RemoveDigitalObjectWindow.java
License:Open Source License
@SuppressWarnings("static-access") private RemoveDigitalObjectWindow(final String uuid, final LangConstants lang, final DispatchAsync dispatcher, EventBus eventBus) {// w ww . j av a2 s. c o m super(180, 570, lang.removeItem() + ": " + uuid, eventBus, 60); this.lang = lang; this.uuid = uuid; this.dispatcher = dispatcher; this.eventBus = eventBus; this.countOfThreeDots = 0; this.isDeleting = false; setEdgeOffset(15); itemList = new ArrayList<RemoveDigitalObjectWindow.ItemImgButton>(); lowestLevel = 1; setShowMaximizeButton(true); HTMLFlow removeWarning = new HTMLFlow( HtmlCode.bold(lang.deleteWarningWant() + ": " + uuid + " " + lang.deleteWarningExplore())); removeWarning.setExtraSpace(5); Button explore = new Button(); explore.setTitle(lang.explore()); explore.setLayoutAlign(Alignment.CENTER); warningLayout.addMember(removeWarning); Layout rootItemLayout = new HLayout(); rootItemLayout.addMember(explore); warningLayout.addMember(rootItemLayout); explore.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { mw.setLoadingIcon("loadingAnimation.gif"); mw.show(true); Timer timer = new Timer() { @Override public void run() { callServer(); } }; timer.schedule(25); } }); warningLayout.addMember(new ButtonsLayout(true)); mainLayout.addMember(warningLayout); mainLayout.setAutoHeight(); mainLayout.setAutoWidth(); addItem(mainLayout); centerInPage(); show(); explore.focus(); }
From source file:cz.fi.muni.xkremser.editor.client.view.window.UniversalWindow.java
License:Open Source License
public UniversalWindow(int height, int width, String title, EventBus eventBus, final int milisToWait) { this.eventBus = eventBus; setMembersMargin(10);//w ww. ja va2s . co m setHeight(height); setWidth(width); setCanDragResize(true); setShowEdges(true); setTitle(title); setShowMinimizeButton(false); setIsModal(true); setShowModalMask(true); addCloseClickHandler(new CloseClickHandler() { @Override public void onCloseClick(CloseClientEvent event) { hide(); } }); eventBus.addHandler(EscKeyPressedEvent.getType(), new EscKeyPressedHandler() { @Override public void onEscKeyPressed(final EscKeyPressedEvent event) { Timer t = new Timer() { @Override public void run() { if (UniversalWindow.this != null && UniversalWindow.this.isCreated() && !event.isCancelled()) { UniversalWindow.this.hide(); event.cancel(); } } }; t.schedule(milisToWait); } }); }
From source file:cz.mzk.editor.client.presenter.CreateStructurePresenter.java
License:Open Source License
/** * /*from w ww . j av a 2 s. c om*/ */ private void processImages() { String title = null; if (bundle != null && bundle.getDc() != null && bundle.getDc().getTitle() != null && bundle.getDc().getTitle().size() > 0) { title = bundle.getDc().getTitle().get(0); } final ScanFolderAction action = new ScanFolderAction(model, inputPath, title); final DispatchCallback<ScanFolderResult> callback = new DispatchCallback<ScanFolderResult>() { private volatile int done = 0; private int total = 0; private volatile boolean isDone = false; @Override public void callback(final ScanFolderResult result) { getEventBus().fireEvent(new RefreshTreeEvent(Constants.NAME_OF_TREE.INPUT_QUEUE)); ServerActionResult serverActionResult = result.getServerActionResult(); if (serverActionResult.getServerActionResult() == Constants.SERVER_ACTION_RESULT.OK) { if (result != null && result.getToAdd() != null && !result.getToAdd().isEmpty()) { initializeConversion(result); } else if (result != null && result.getItems() != null && !result.getItems().isEmpty()) { doTheRest(result.getItems()); } else { EditorSC.operationFailed(lang, ""); } } else if (serverActionResult .getServerActionResult() == Constants.SERVER_ACTION_RESULT.WRONG_FILE_NAME) { SC.ask(lang.wrongFileName() + serverActionResult.getMessage(), new BooleanCallback() { @Override public void execute(Boolean value) { if (value != null && value && result != null && result.getToAdd() != null && !result.getToAdd().isEmpty()) { initializeConversion(result); } } }); } else if (serverActionResult.getServerActionResult() == Constants.SERVER_ACTION_RESULT.OK_PDF) { handlePdf(result); } } private void initializeConversion(final ScanFolderResult result) { final DispatchCallback<InitializeConversionResult> callback = new DispatchCallback<InitializeConversionResult>() { @Override public void callback(InitializeConversionResult initResult) { if (initResult != null && initResult.isSuccess()) { convert(result); } else { SC.ask("Someone else is now running the conversion task. Please wait a second. Do you want to try it again?", new BooleanCallback() { @Override public void execute(Boolean value) { if (value != null && value) { initializeConversion(result); } } }); } } @Override public void callbackError(Throwable t) { SC.say("Someone else is now running the conversion task."); } }; dispatcher.execute(new InitializeConversionAction(true), callback); } private void endConversion() { final DispatchCallback<InitializeConversionResult> callback = new DispatchCallback<InitializeConversionResult>() { @Override public void callback(InitializeConversionResult result) { if (result != null && !result.isSuccess()) { SC.warn("Some images were not converted."); } } @Override public void callbackError(Throwable t) { SC.say("Someone else is now running the conversion task."); } }; dispatcher.execute(new InitializeConversionAction(false), callback); } private void convert(ScanFolderResult result) { final List<ImageItem> itemList = result == null ? null : result.getItems(); final List<ImageItem> toAdd = result == null ? null : result.getToAdd(); if (toAdd != null && !toAdd.isEmpty()) { SetEnabledHotKeysEvent.fire(CreateStructurePresenter.this, false); int lastItem = toAdd.size(); boolean progressbar = lastItem > 5; final Progressbar hBar1 = progressbar ? new Progressbar() : null; if (progressbar) { done = 0; total = lastItem; hBar1.setHeight(24); hBar1.setVertical(false); hBar1.setPercentDone(0); getView().getPopupPanel().setAutoHideEnabled(false); getView().getPopupPanel().setWidget(hBar1); getView().getPopupPanel().setVisible(true); getView().getPopupPanel().center(); Timer timer = new Timer() { @Override public void run() { for (ImageItem item : toAdd) { convertItem(item, hBar1, itemList); } } }; timer.schedule(40); } else { for (ImageItem item : toAdd) { convertItem(item, hBar1, itemList); } } } else { doTheRest(itemList); } } @Override public void callbackError(final Throwable t) { if (t.getMessage() != null && t.getMessage().length() > 0 && t.getMessage().charAt(0) == Constants.SESSION_EXPIRED_FLAG) { SC.confirm(lang.sessionExpired(), new BooleanCallback() { @Override public void execute(Boolean value) { if (value != null && value) { ClientUtils.redirect(t.getMessage().substring(1)); } } }); } else { SC.ask(t.getMessage() + " " + lang.mesTryAgain(), new BooleanCallback() { @Override public void execute(Boolean value) { if (value != null && value) { processImages(); } } }); } getView().getPopupPanel().setAutoHideEnabled(true); getView().getPopupPanel().setVisible(false); getView().getPopupPanel().hide(); } private void doTheRest(List<ImageItem> itemList) { ScanRecord[] items = null; if (itemList != null && itemList.size() > 0) { items = new ScanRecord[itemList.size()]; for (int i = 0, total = itemList.size(); i < total; i++) { ScanRecord record = new ScanRecord(String.valueOf(i + 1), model, itemList.get(i).getIdentifier(), Constants.PAGE_TYPES.NP.toString()); if (itemList.get(i).getMimeType() != null) { record.setAttribute(Constants.ATTR_ADITIONAL_INFO_OR_OCR, itemList.get(i).getMimeType()); record.setAttribute(Constants.ATTR_MODEL_ID, "track"); record.setAttribute(Constants.ATTR_NOTE_OR_INT_SUBTITLE, itemList.get(i).getLength()); record.setAttribute(Constants.ATTR_NAME, itemList.get(i).getName()); } items[i] = record; } if (config.getHostname() == null || "".equals(config.getHostname().trim())) { EditorSC.compulsoryConfigFieldWarn(EditorClientConfiguration.Constants.HOSTNAME, EditorSC.ConfigFieldType.STRING, lang); } getView().onAddImages(DigitalObjectModel.PAGE.getValue(), items, config.getHostname(), false, false); } if (!"icons/16/structure.png" .equals(leftPresenter.getView().getSubelementsGrid().getFolderIcon())) { leftPresenter.getView().getSubelementsGrid().setFolderIcon("icons/16/structure.png"); leftPresenter.getView().getSubelementsGrid().redraw(); } leftPresenter.getView().getSectionStack().getSection(1).setTitle(lang.createSubStructure()); getView().getPopupPanel().setAutoHideEnabled(true); getView().getPopupPanel().setWidget(null); getView().getPopupPanel().setVisible(false); getView().getPopupPanel().hide(); SetEnabledHotKeysEvent.fire(CreateStructurePresenter.this, true); getView().getPagesTabSet().addTabSelectedHandler(new TabSelectedHandler() { @Override public void onTabSelected(TabSelectedEvent event) { if (event.getTab().getAttributeAsString(Constants.ATTR_TAB_ID) .equals(Constants.SELECTED_PAGES_TAB)) { pages = getView().getTileGrid().getData(); setSelectedTreePages(); getView().setUndoRedoButtonsDisabled(true); createAtOnceButton.disable(); ChangeFocusedTabSetEvent.fire(CreateStructurePresenter.this, null, false); } else { getView().getTileGrid().setData(pages); getView().setUndoRedoButtonsDisabled(false); createAtOnceButton.enable(); ChangeFocusedTabSetEvent.fire(CreateStructurePresenter.this, null, true); } } }); } private void convertItem(ImageItem item, final Progressbar hBar1, final List<ImageItem> itemList) { ConvertToJPEG2000Action action = new ConvertToJPEG2000Action(item); final DispatchCallback<ConvertToJPEG2000Result> callback = new DispatchCallback<ConvertToJPEG2000Result>() { @Override public void callback(ConvertToJPEG2000Result result) { done++; if (hBar1 != null) { hBar1.setPercentDone(((100 * (done + 1)) / total)); } if (done >= total && !isDone) { synchronized (LOCK) { if (done >= total && !isDone) { endConversion(); doTheRest(itemList); isDone = true; } } } } @Override public void callbackError(Throwable t) { // unable to convert images to JPEG 2000 install the libraries bitch! if (!isDone) { synchronized (LOCK) { if (!isDone) { endConversion(); doTheRest(itemList); isDone = true; } } } } }; dispatcher.execute(action, callback); } }; Image loader = new Image("images/loadingAnimation3.gif"); getView().getPopupPanel().setWidget(loader); getView().getPopupPanel().setVisible(true); getView().getPopupPanel().center(); dispatcher.execute(action, callback); }
From source file:cz.mzk.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 w ww . jav a2 s .com*/ 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(getView().deepCopyScanRecord(data[alreadyDone]));//((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(getView().deepCopyScanRecord(data[i]));//((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); if (getView().isChosenSelectedPagesTab()) { Map<String, Integer> recordIdAndItsNewValue = new HashMap<String, Integer>(); for (Record recToDel : tileGrid.getSelection()) { recordIdAndItsNewValue.put(recToDel.getAttribute(Constants.ATTR_ID), 0); } getEventBus().fireEvent(new ChangeStructureTreeItemEvent( STRUCTURE_TREE_ITEM_ACTION.DELETE_RECORD, recordIdAndItsNewValue)); } tileGrid.removeSelectedData(); } }); if (!leftPresenter.getSequentialCreateLayout().hasCreateButtonAClickHandler()) { leftPresenter.getSequentialCreateLayout().getCreateButton().addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { String message = leftPresenter.getSequentialCreateLayout().verify(); if (message == null) { addNewStructure(); } else { SC.warn(message); } } }); leftPresenter.getSequentialCreateLayout().setCreateButtonHasAClickHandler(); } }
From source file:cz.mzk.editor.client.presenter.HomePresenter.java
License:Open Source License
@Override protected void onBind() { super.onBind(); checkAvailability();/*from ww w.j ava2 s . c o 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); } } }); dispatcher.execute(new HasUserRightsAction(new EDITOR_RIGHTS[] { EDITOR_RIGHTS.LONG_RUNNING_PROCESS }), new DispatchCallback<HasUserRightsResult>() { @Override public void callback(HasUserRightsResult result) { if (result.getOk()[0]) { getView().showSheduler(); getView().getScheduler().addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { new SchedulerWindow(getEventBus(), lang, dispatcher, messageBus); } }); } } }); }
From source file:cz.mzk.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 w w . ja v a 2 s . co m 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.Builder().nameToken(NameTokens.MODIFY) .with(Constants.URL_PARAM_UUID, uuidToEdit).build()); } }); 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.mzk.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.setModel(model);/*from w ww . j a v a 2 s. c o m*/ topTabSet.setTabBarPosition(Side.TOP); topTabSet.setWidth100(); topTabSet.setHeight100(); topTabSet.setAnimateTabScrolling(true); topTabSet.setShowPaneContainerEdges(false); topTabSet.setPdf(detail.isPdf()); 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.ARTICLE.getValue(), lang.article()); 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()); labels.put(DigitalObjectModel.SOUNDRECORDING.getValue(), lang.soundrecording()); labels.put(DigitalObjectModel.SOUND_UNIT.getValue(), lang.soundUnit()); labels.put(DigitalObjectModel.TRACK.getValue(), lang.track()); 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()); labelsSingular.put(DigitalObjectModel.ARTICLE.getValue(), lang.article()); labelsSingular.put(DigitalObjectModel.MANUSCRIPT.getValue(), lang.manuscript()); labelsSingular.put(DigitalObjectModel.ARCHIVE.getValue(), lang.archive()); labelsSingular.put(DigitalObjectModel.MAP.getValue(), lang.map()); labelsSingular.put(DigitalObjectModel.SUPPLEMENT.getValue(), lang.supplement()); labelsSingular.put(DigitalObjectModel.GRAPHIC.getValue(), lang.graphic()); labelsSingular.put(DigitalObjectModel.SOUNDRECORDING.getValue(), lang.soundrecording()); labelsSingular.put(DigitalObjectModel.SOUND_UNIT.getValue(), lang.soundUnit()); labelsSingular.put(DigitalObjectModel.TRACK.getValue(), lang.track()); 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() { EditorTabSet tabSet = (EditorTabSet) event.getTab().getTabSet(); if (!tabSet.isStoredDigitalObject()) { DigitalObjectModel selectedTabModel = DigitalObjectModel .parseString(event.getTab().getAttribute(ID_MODEL)); if (selectedTabModel != DigitalObjectModel.PAGE || !tabSet.isPdf()) { getUiHandlers().getStream(uuid, selectedTabModel, tabSet); } else { event.getTab().setPane(new PdfViewerPane(uuid, true)); } } 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, dc, mods, model); 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.mzk.editor.client.view.other.UserStatisticsLayout.java
License:Open Source License
private void showChartAndTable(final String[] intervalsOrNames, final Integer[] values, final HashMap<String, Integer[]> userValues, final boolean showCharts) { final Runnable runnable = new Runnable() { @Override/*from w ww . j av a 2 s . c o m*/ public void run() { if (showCharts) { int pieIndex = chartsLayout.getMemberNumber(htmlPieFlow); htmlPieFlow.removeFromParent(); if (pieIndex < 0) { chartsLayout.addMember(htmlPieFlow); } else { chartsLayout.addMember(htmlPieFlow, pieIndex); } int index = chartsLayout.getMemberNumber(htmlLineFlow); htmlLineFlow.removeFromParent(); if (index < 0) { chartsLayout.addMember(htmlLineFlow); } else { chartsLayout.addMember(htmlLineFlow, index); } } else { removeMember(chartsLayout); } setWidth100(); if (userValues == null) { if (showCharts) { ChartUtils.drawPieChart(JSOHelper.convertToJavaScriptArray(intervalsOrNames), JSOHelper.convertToJavaScriptArray(values), values.length, PIE_CHART_NESTED_DIV_ID + userId, (int) (UserStatisticsLayout.this.getWidth() * PIE_SIZE_CONVERSION)); ChartUtils.drawLineChart(JSOHelper.convertToJavaScriptArray(intervalsOrNames), JSOHelper.convertToJavaScriptArray(values), values.length, LINE_CHART_NESTED_DIV_ID + userId, (int) (UserStatisticsLayout.this.getWidth() * LINE_BAR_SIZE_CONVERSION)); } else { setHeight(100); redraw(); } HashMap<String, Integer[]> userVal = new HashMap<String, Integer[]>(); userVal.put(userName, values); if (table == null) { table = new TableListGrid(intervalsOrNames, userVal); addMember(table); } } else { drawUnifyingChartsAndTables(intervalsOrNames, userValues, showCharts); } } }; VisualizationUtils.loadVisualizationApi(runnable, PieChart.PACKAGE); Window.addResizeHandler(new ResizeHandler() { @Override public void onResize(ResizeEvent event) { com.google.gwt.user.client.Timer timer = new com.google.gwt.user.client.Timer() { @Override public void run() { VisualizationUtils.loadVisualizationApi(runnable, com.google.gwt.visualization.client.visualizations.PieChart.PACKAGE); } }; timer.schedule(1); } }); }
From source file:cz.mzk.editor.client.view.other.UserStatisticsLayout.java
License:Open Source License
private void drawUnifyingChartsAndTables(final String[] intervals, final HashMap<String, Integer[]> userValues, final boolean showCharts) { final String[] allNames = new String[userValues.size()]; final Integer[] allValues = new Integer[userValues.size()]; int index = 0; for (String user : userValues.keySet()) { allNames[index] = user;/*from ww w . ja va 2 s . co m*/ int sumCount = 0; for (int value : userValues.get(user)) { sumCount += value; } allValues[index++] = sumCount; } if (showCharts) { setHeight(userValues.size() * 30 + 280); } else { setHeight(userValues.size() * 25 + 30); redraw(); } Timer timer = new Timer() { @Override public void run() { if (showCharts) { ChartUtils.drawPieChart(JSOHelper.convertToJavaScriptArray(allNames), JSOHelper.convertToJavaScriptArray(allValues), allNames.length, PIE_CHART_NESTED_DIV_ID + userId, (int) (UserStatisticsLayout.this.getWidth() * PIE_SIZE_CONVERSION)); ChartUtils.drawBarChart(JSOHelper.convertToJavaScriptArray(allNames), JSOHelper.convertToJavaScriptArray(allValues), allNames.length, LINE_CHART_NESTED_DIV_ID + userId, (int) (UserStatisticsLayout.this.getWidth() * LINE_BAR_SIZE_CONVERSION)); } if (table == null) { table = new TableListGrid(intervals, userValues); addMember(table); } } }; timer.schedule(100); }
From source file:cz.mzk.editor.client.view.window.UniversalWindow.java
License:Open Source License
public UniversalWindow(int height, int width, String title, EventBus eventBus, final int milisToWait) { this.eventBus = eventBus; setMembersMargin(10);// w ww . j ava 2 s. c o m setHeight(height); setWidth(width); setCanDragResize(true); setShowEdges(true); setTitle(title); setShowMinimizeButton(false); setIsModal(true); setShowModalMask(true); addCloseClickHandler(new CloseClickHandler() { @Override public void onCloseClick(CloseClickEvent event) { hide(); } }); eventBus.addHandler(EscKeyPressedEvent.getType(), new EscKeyPressedHandler() { @Override public void onEscKeyPressed(final EscKeyPressedEvent event) { Timer t = new Timer() { @Override public void run() { if (UniversalWindow.this != null && UniversalWindow.this.isCreated() && !event.isCancelled()) { UniversalWindow.this.hide(); event.cancel(); } } }; t.schedule(milisToWait); } }); }