List of usage examples for com.google.gwt.user.client DOM clone
public static Element clone(Element elem, boolean deep)
From source file:ch.unifr.pai.twice.dragndrop.client.MPDragNDrop.java
License:Apache License
/** * Invoked when a drag starts. This method handles the full dragging * // ww w . j a v a2s .c o m * @param w * - the widget to be dragged * @param deviceId * - the deviceId of the device dragging the widget * @param offsetX * @param offsetY * @param conf * @param dragProxyTemplate */ protected void startDrag(Widget w, String deviceId, int offsetX, int offsetY, DragConfiguration conf, Element dragProxyTemplate) { MultiCursorController.getInstance().notifyCursor(deviceId, "startDrag"); if (conf == null) conf = DragConfiguration.withProxy(); if (conf.getDragNDropHandler() != null) { conf.getDragNDropHandler().onStartDrag(deviceId, w); } conf.setDragProxy(DOM.clone( dragProxyTemplate == null ? w.getElement() : (com.google.gwt.user.client.Element) dragProxyTemplate, true)); conf.getDragProxy().addClassName("drag-proxy"); conf.getDragProxy().getStyle().setPosition(Position.ABSOLUTE); RootPanel.getBodyElement().appendChild(conf.getDragProxy()); conf.getDragProxy().getStyle().setLeft(w.getElement().getAbsoluteLeft(), Unit.PX); conf.getDragProxy().getStyle().setTop(w.getElement().getAbsoluteTop(), Unit.PX); conf.getDragProxy().getStyle().setPosition(Position.ABSOLUTE); // DOM.eventPreventDefault((Event) event.getNativeEvent()); if (activeHandlers.isEmpty()) addEventPreview(); MPDragNDrop d = createDragNDrop(); d.initialize(w, offsetX, offsetY, conf); activeHandlers.put(deviceId, d); if (!conf.isWithProxy()) { w.getElement().getStyle().setDisplay(Display.BLOCK); } else { w.addStyleName(DRAGGINGSTYLENAME); } }
From source file:com.google.appinventor.client.widgets.ClonedWidget.java
License:Open Source License
private ClonedWidget(Element origElement) { setElement(DOM.clone(origElement, true)); }
From source file:org.jahia.ajax.gwt.client.widget.edit.mainarea.SimpleModuleDragSource.java
License:Open Source License
@Override protected void onDragStart(DNDEvent e) { super.onDragStart(e); List<GWTJahiaNode> l = new ArrayList<GWTJahiaNode>(); MainModule mainModule = getModule().getMainModule(); Set<Module> moduleSet = new HashSet<Module>(); if (e.isControlKey() || mainModule.getSelections().containsKey(module)) { moduleSet.addAll(mainModule.getSelections().keySet()); }// w w w .j av a 2 s . c o m moduleSet.add(module); for (Module m : moduleSet) { if (m.isDraggable()) { if (PermissionsUtils.isPermitted("jcr:removeNode", m.getNode()) && !m.getNode().isLocked()) { e.setCancelled(false); e.setData(this); e.setOperation(DND.Operation.COPY); if (getStatusText() == null) { e.getStatus().update(DOM.clone(m.getHtml().getElement(), true)); e.getStatus().setData("element", m.getHtml().getElement()); DOM.setStyleAttribute(m.getHtml().getElement(), "display", "none"); } } else { e.setCancelled(true); } Selection selection = mainModule.getSelections().get(m); if (selection != null) { selection.hide(); } l.add(m.getNode()); } } if (!l.isEmpty()) { e.getStatus().setData(EditModeDNDListener.SOURCE_TYPE, EditModeDNDListener.SIMPLEMODULE_TYPE); e.getStatus().setData(EditModeDNDListener.SOURCE_MODULES, moduleSet); e.getStatus().setData(EditModeDNDListener.SOURCE_NODES, l); } }
From source file:org.nsesa.editor.gwt.an.amendments.client.handler.common.content.AkomaNtoso20AmendmentBuilder.java
License:EUPL
public OverlayWidget build() { final Counter idGenerator = new Counter(); final AkomaNtoso akomaNtoso = new AkomaNtoso(); final Amendment root = akomaNtoso.setAmendment(new Amendment()); // meta/*from w w w .j av a 2s . com*/ final Identification identification = new Identification(); // final String formattedDate = DateTimeFormat.getFormat(DateTimeFormat.PredefinedFormat.ISO_8601).format(new Date()); final String formattedDate = DateTimeFormat.getFormat("yyyy-MM-dd").format(new Date()); identification.setFRBRWork(new FRBRWork() { { setFRBRthis(new FRBRthis().valueAttr(s("TODO"))); addFRBRuri(new FRBRuri().valueAttr(s("TODO"))); addFRBRdate(new FRBRdate().dateAttr(d(formattedDate)).nameAttr(s("instantiation"))); addFRBRauthor(new FRBRauthor().hrefAttr(u("#refTodo"))); setFRBRcountry(new FRBRcountry().valueAttr(s("TODO"))); } }); identification.setFRBRExpression(new FRBRExpression() { { setFRBRthis(new FRBRthis().valueAttr(s("TODO"))); addFRBRuri(new FRBRuri().valueAttr(s("TODO"))); addFRBRdate(new FRBRdate().dateAttr(d(formattedDate)).nameAttr(s("instantiation"))); addFRBRauthor(new FRBRauthor().hrefAttr(u("#refTodo"))); addFRBRauthor(new FRBRauthor().hrefAttr(u("#refTodo"))); addFRBRlanguage(new FRBRlanguage().languageAttr(l(languageIso))); } }); identification.setFRBRManifestation(new FRBRManifestation() { { setFRBRthis(new FRBRthis().valueAttr(s("TODO"))); addFRBRuri(new FRBRuri().valueAttr(s("TODO"))); addFRBRdate(new FRBRdate().dateAttr(d(formattedDate)).nameAttr(s("instantiation"))); addFRBRauthor(new FRBRauthor().hrefAttr(u("#refTodo"))); } }); final Meta meta = new Meta(); root.setMeta(meta); meta.setIdentification(identification).sourceAttr(u("http://at4am.org/")); References references = new References(); references.addTLCOrganization(new TLCOrganization().idAttr(id("ep-parliament")) .showAsAttr(s("European Parliament")).hrefAttr(u("http://www.europarl.europa.eu"))); // keep a reference to the amended document if (documentController != null) { String documentId = documentController.getDocument().getDocumentID(); final boolean isRemote = documentId.startsWith("http://") || documentId.startsWith("https://"); if (isRemote) { references.addActiveRef( new ActiveRef(u(documentId), id(documentId.substring(documentId.lastIndexOf("/") + 1)), s(documentController.getDocument().getName()))); } else { references.addActiveRef(new ActiveRef(u("http://at4am.org/xml/"), id(documentId), s(documentController.getDocument().getName()))); } } for (final PersonDTO authorial : authors) { final IDSimpleType idSimpleType = new IDSimpleType(); idSimpleType.setValue("person-" + authorial.getPersonID()); final StringSimpleType stringSimpleType = new StringSimpleType(); stringSimpleType.setValue(authorial.getDisplayName()); final AnyURISimpleType anyURISimpleType = new AnyURISimpleType(); anyURISimpleType.setValue("urn:lex:eu:parliament:codict:person:" + authorial.getPersonID()); references.addTLCPerson( new TLCPerson().idAttr(idSimpleType).showAsAttr(stringSimpleType).hrefAttr(anyURISimpleType)); } meta.addReferences(references).sourceAttr(u("http://at4am.org/")); // preface; final P p = new P(); for (final PersonDTO authorial : authors) { final DocProponent docProponent = new DocProponent() .refersToAttr(u("#person-" + authorial.getPersonID())); docProponent.html(authorial.getDisplayName()); p.addDocProponent(docProponent); } root.setPreface(new Preface()).addContainer( new Container().idAttr(id("container-" + idGenerator.incrementAndGet())).nameAttr(s("authors"))) .addP(p); // amendment body final AmendmentBody amendmentBody = root.setAmendmentBody(new AmendmentBody()); amendmentBody.addAmendmentHeading(new AmendmentHeading()).addBlock(new Block()).nameAttr(s("heading")) .html(TextUtils.capitalize(location)); // amendment content final AmendmentContent amendmentContent = amendmentBody.addAmendmentContent(new AmendmentContent()); amendmentContent.addBlock(new Block()).nameAttr(s("versionTitle")).html("Text proposed"); amendmentContent.addBlock(new Block()).nameAttr(s("versionTitle")).html("Amendment"); final Mod mod = amendmentContent.addBlock(new Block()).nameAttr(s("changeBlock")).addMod(new Mod()) .idAttr(id("mod-" + idGenerator.incrementAndGet())); // original content final QuotedStructure quotedStructureOriginal = mod.addQuotedStructure(new QuotedStructure()) .idAttr(id("quotedStructure-" + idGenerator.incrementAndGet())); final com.google.gwt.user.client.Element cloneOriginal = DOM.clone(overlayWidget.asWidget().getElement(), false); cloneOriginal.setInnerHTML(originalText); final OverlayWidget overlayedOriginal = overlayFactory.getAmendableWidget(cloneOriginal); quotedStructureOriginal.addOverlayWidget(overlayedOriginal); // amendment content final QuotedStructure quotedStructureAmendment = mod.addQuotedStructure(new QuotedStructure()) .idAttr(id("quotedStructure-" + idGenerator.incrementAndGet())); final com.google.gwt.user.client.Element clone = DOM.clone(overlayWidget.asWidget().getElement(), false); clone.setInnerHTML(amendmentText); final OverlayWidget overlayed = overlayFactory.getAmendableWidget(clone); if (modifyIds) { modifyIds(overlayed); } quotedStructureAmendment.addOverlayWidget(overlayed); // amendment notes mod.addAuthorialNote(new AuthorialNote()).idAttr(id("note-" + idGenerator.incrementAndGet())).addP(new P()) .html(notes); // amendment justification if (justification != null && !"".equalsIgnoreCase(justification.trim())) { final AmendmentJustification amendmentJustification = new AmendmentJustification(); amendmentJustification.addBlock(new Block()).nameAttr(s("justificationHeading")).html("Justification"); amendmentJustification.addP(new P()).html(justification); amendmentBody.addAmendmentJustification(amendmentJustification); } akomaNtoso.addOverlayWidget(root); return akomaNtoso; }
From source file:org.nsesa.editor.gwt.an.drafting.client.ui.main.document.DraftingDocumentController.java
License:EUPL
@Override public void registerListeners() { documentScrollToEventHandlerRegistration = clientFactory.getEventBus() .addHandler(DocumentScrollToEvent.TYPE, new DocumentScrollToEventHandler() { @Override/* ww w .j a v a2 s . c o m*/ public void onEvent(DocumentScrollToEvent event) { sourceFileController.scrollTo(event.getTarget(), event.getOffset()); } }); // forward the resize event resizeEventHandlerRegistration = clientFactory.getEventBus().addHandler(ResizeEvent.TYPE, new ResizeEventHandler() { @Override public void onEvent(ResizeEvent event) { documentEventBus.fireEvent(event); view.setDocumentHeight(event.getHeight()); } }); rteStructureChangedEventHandlerRegistration = clientFactory.getEventBus() .addHandler(RTEStructureChangedEvent.TYPE, new RTEStructureChangedEventHandler() { @Override public void onEvent(final RTEStructureChangedEvent event) { clientFactory.getScheduler().scheduleDeferred(new Scheduler.ScheduledCommand() { @Override public void execute() { handleRTEOverlayWidgetModify(event.getOverlayWidget()); } }); } }); selectionEventHandlerRegistration = clientFactory.getEventBus().addHandler(SelectionEvent.TYPE, new SelectionEventHandler() { @Override public void onEvent(SelectionEvent event) { if (event.getSelection().getRange() != null && !"".equalsIgnoreCase(event.getSelection().getRange().getText().trim())) { setCurrentSelectionRange(event.getSelection().getRange()); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Current selection: " + (currentSelectionRange != null ? currentSelectionRange.getHtmlText() : "<<null>>")); } } } }); overlayWidgetSelectEventHandlerRegistration = documentEventBus.addHandler(OverlayWidgetSelectEvent.TYPE, new OverlayWidgetSelectEventHandler() { @Override public void onEvent(OverlayWidgetSelectEvent event) { final OverlayWidget activeOverlayWidget = event.getOverlayWidget(); sourceFileController.setActiveOverlayWidget(activeOverlayWidget); sourceController.setOverlayWidget(activeOverlayWidget); if (activeOverlayWidget != null) { final OverlayWidget block = AkomaNtosoUtil.findEnclosingBlock(activeOverlayWidget); if (block != null) { //actionBarCreatePanelController.setOverlayWidget(block); //actionBarController.attach(block, DraftingDocumentController.this); // actionBarController.setLocation(locator.getLocation(block, document.getLanguageIso(), true)); numberingController.setOverlayWidget(block); } pickerController.setOverlayWidget(activeOverlayWidget); pathController.setOverlayWidget(activeOverlayWidget); // set the cursor final Range browserRange = Selection.getBrowserRange(); if (browserRange != null) { final OverlayWidgetHolder holder = new OverlayWidgetHolder(); activeOverlayWidget.walk(new OverlayWidgetWalker.DefaultOverlayWidgetVisitor() { @Override public boolean visit(OverlayWidget visited) { if (holder.getOverlayWidget() == null /* only find the first one */ && visited.getOverlayElement() .getClassName().contains("caretPosition")) { holder.setOverlayWidget(visited); return false; } return true; } }); if (holder.getOverlayWidget() == null) { activeOverlayWidget.walk(new OverlayWidgetWalker.DefaultOverlayWidgetVisitor() { @Override public boolean visit(OverlayWidget visited) { if (holder.getOverlayWidget() == null /* only find the first one */ && activeOverlayWidget != visited) { if (AkomaNtosoUtil.representsNum(visited)) { holder.setOverlayWidget(visited.getNextSibling( new OverlayWidgetSelector.AnyOverlayWidgetSelector())); } return false; } return true; } }); } final OverlayWidget toFocus = holder.getOverlayWidget() != null ? holder.getOverlayWidget() : activeOverlayWidget; activeOverlayWidget.getOverlayElement().focus(); final Text text = NodeUtil.getText(toFocus.getOverlayElement(), true); if (text != null) { final String trimmedContent = text.getData().trim(); if (toFocus.getOverlayElement().getClassName().contains("caretPosition") || (trimmedContent.startsWith("{")) && trimmedContent.endsWith("}")) { Selection.getSelection().setRange(new Range(new RangeEndPoint(text, true), new RangeEndPoint(text, false))); } } else { // no text part found? Hmmm ... } // clean up the caret position toFocus.getOverlayElement().removeClassName("caretPosition"); } } } }); numberingTypeEventHandlerRegistration = documentEventBus.addHandler(OverlayWidgetNumberingTypeEvent.TYPE, new OverlayWidgetNumberingTypeEventHandler() { @Override public void onEvent(OverlayWidgetNumberingTypeEvent event) { event.getOverlayWidget().setOrigin(OverlayWidgetOrigin.GENERATED); setNumbering(event.getOverlayWidget().getParentOverlayWidget(), event.getNumberingType()); } }); formatEventHandlerRegistration = documentEventBus.addHandler(OverlayWidgetFormatEvent.TYPE, new OverlayWidgetFormatEventHandler() { @Override public void onEvent(OverlayWidgetFormatEvent event) { event.getOverlayWidget().setOrigin(OverlayWidgetOrigin.GENERATED); setFormat(event.getOverlayWidget().getParentOverlayWidget(), event.getFormat()); } }); // forward the critical error event criticalEventHandlerRegistration = documentEventBus.addHandler(CriticalErrorEvent.TYPE, new CriticalErrorEventHandler() { @Override public void onEvent(CriticalErrorEvent event) { clientFactory.getEventBus().fireEvent(event); } }); // forward the confirmation event confirmationEventHandlerRegistration = documentEventBus.addHandler(ConfirmationEvent.TYPE, new ConfirmationEventHandler() { @Override public void onEvent(ConfirmationEvent event) { clientFactory.getEventBus().fireEvent(event); } }); // forward the notification event to the parent event bus notificationEventHandlerRegistration = documentEventBus.addHandler(NotificationEvent.TYPE, new NotificationEventHandler() { @Override public void onEvent(NotificationEvent event) { clientFactory.getEventBus().fireEvent(event); } }); // handle requests to switch the document tabs switchTabEventHandlerRegistration = documentEventBus.addHandler(SwitchTabEvent.TYPE, new SwitchTabEventHandler() { @Override public void onEvent(SwitchTabEvent event) { view.switchToTab(event.getTabIndex()); } }); documentToggleStructureEventHandler = documentEventBus.addHandler(DocumentToggleStructureEvent.TYPE, new DocumentToggleStructureEventHandler() { @Override public void onEvent(DocumentToggleStructureEvent event) { applyState(StructureViewMode.KEY, new ActiveState(event.isToggle())); } }); overlayWidgetModifyHandlerRegistration = documentEventBus.addHandler(OverlayWidgetModifyEvent.TYPE, new OverlayWidgetModifyEventHandler() { @Override public void onEvent(OverlayWidgetModifyEvent event) { documentEventBus.fireEvent(new OverlayWidgetSelectEvent(event.getOverlayWidget(), DraftingDocumentController.this)); } }); overlayWidgetDeleteHandlerRegistration = documentEventBus.addHandler(OverlayWidgetDeleteEvent.TYPE, new OverlayWidgetDeleteEventHandler() { @Override public void onEvent(OverlayWidgetDeleteEvent event) { handleOverlayWidgetDelete(event.getOverlayWidget()); } }); overlayWidgetNewEventHandlerRegistration = documentEventBus.addHandler(OverlayWidgetNewEvent.TYPE, new OverlayWidgetNewEventHandler() { @Override public void onEvent(final OverlayWidgetNewEvent event) { final OverlayWidget activeOverlayWidget = sourceFileController.getActiveOverlayWidget(); if (AkomaNtosoUtil.representsBlock(activeOverlayWidget)) { OverlayWidget result = event.getChild(); result.setOrigin(OverlayWidgetOrigin.GENERATED); OverlaySnippet snippet = overlaySnippetFactory.getSnippet(activeOverlayWidget); if (snippet != null) { overlaySnippetEvaluator.addEvaluator(new DefaultNumEvaluator(clientFactory, overlayWidgetInjectionStrategy, locator, result, event.getParentOverlayWidget(), event.getReference())); final String content = snippet.getContent(overlaySnippetEvaluator); if (content != null) { result.getOverlayElement().setInnerHTML(content); result.getChildOverlayWidgets().clear(); result = overlayFactory.getAmendableWidget(result.getOverlayElement()); overlayWidgetInjectionStrategy.injectAsSibling(activeOverlayWidget, result); result.walk(new OverlayWidgetWalker.DefaultOverlayWidgetVisitor() { @Override public boolean visit(OverlayWidget visited) { //if (AkomaNtosoUtil.representsBlock(visited)) { visited.setUIListener(sourceFileController); //} return super.visit(visited); } }); // make sure we can edit this result.setAmendable(true); markOverlayWidgetAsAmendable(result); documentEventBus.fireEvent( new OverlayWidgetSelectEvent(result, DraftingDocumentController.this)); reCalculateNumbering(activeOverlayWidget.getParentOverlayWidget()); redrawOutline(activeOverlayWidget.getRoot()); } } } } }); // listen for keyboard combos keyComboHandlerRegistration = clientFactory.getEventBus().addHandler(KeyComboEvent.TYPE, new KeyComboEventHandler() { @Override public void onEvent(KeyComboEvent event) { event.getNativeEvent().preventDefault(); final OverlayWidget activeOverlayWidget = sourceFileController.getActiveOverlayWidget(); if (ctrlEnter.equals(event.getKeyCombo())) { // ------------- CTRL + ENTER ------------- if (!actionBarCreatePanelControllerPopup.isShowing()) { if (activeOverlayWidget != null) { actionBarCreatePanelController.setOverlayWidget(activeOverlayWidget); actionBarCreatePanelControllerPopup .showRelativeTo(actionBarController.getView().getChildHandler()); actionBarCreatePanelController.getView().asWidget().setVisible(true); actionBarCreatePanelControllerPopup.show(); actionBarCreatePanelFocusPanel.setFocus(true); } } } else if (escape.equals(event.getKeyCombo())) { // ------------- Escape ------------- if (actionBarCreatePanelControllerPopup.isShowing()) { actionBarCreatePanelControllerPopup.hide(); actionBarCreatePanelFocusPanel.setFocus(false); } else { cancelModify(); } } else if (ctrlS.equals(event.getKeyCombo())) { // ------------- CTRL + s ------------- final String content = formatter .format(sourceFileController.getOverlayWidgets().get(0)); serviceFactory.getGwtDocumentService().saveDocumentContent( clientFactory.getClientContext(), document.getDocumentID(), content, new AsyncCallback<Void>() { @Override public void onFailure(Throwable caught) { clientFactory.getEventBus().fireEvent( new CriticalErrorEvent("Could not save document.", caught)); } @Override public void onSuccess(Void result) { // all fine! clientFactory.getEventBus().fireEvent( new NotificationEvent("Document successfully saved.")); } }); } else if (downArrow.equals(event.getKeyCombo())) { // ------------- Down arrow ------------- if (actionBarCreatePanelControllerPopup.isShowing()) { actionBarCreatePanelFocusPanel.setFocus(true); actionBarCreatePanelController.highlightNext(); } else { final OverlayWidget next = activeOverlayWidget != null ? activeOverlayWidget.next(upDownOverlayWidgetSelector) : sourceFileController.getOverlayWidgets().get(0); if (next != null) { documentEventBus.fireEvent( new OverlayWidgetSelectEvent(next, DraftingDocumentController.this)); clientFactory.getEventBus().fireEvent(new DocumentScrollToEvent(next.asWidget(), DraftingDocumentController.this, false, SCROLL_TO_OFFSET)); } } } else if (upArrow.equals(event.getKeyCombo())) { // ------------- Up arrow ------------- if (actionBarCreatePanelControllerPopup.isShowing()) { actionBarCreatePanelFocusPanel.setFocus(true); actionBarCreatePanelController.highlightPrevious(); } else { if (activeOverlayWidget != null) { final OverlayWidget previous = activeOverlayWidget .previous(upDownOverlayWidgetSelector); if (previous != null) { documentEventBus.fireEvent(new OverlayWidgetSelectEvent(previous, DraftingDocumentController.this)); clientFactory.getEventBus() .fireEvent(new DocumentScrollToEvent(previous.asWidget(), DraftingDocumentController.this, false, SCROLL_TO_OFFSET)); } } } } else if (enter.equals(event.getKeyCombo())) { // ------------- Single ENTER ------------- if (actionBarCreatePanelControllerPopup.isShowing()) { actionBarCreatePanelControllerPopup.hide(); // there is no need to scroll into document // clientFactory.getEventBus().fireEvent(new DocumentScrollToEvent(activeOverlayWidget.asWidget(), DraftingDocumentController.this, false, SCROLL_TO_OFFSET)); final OverlayWidget selectedSibling = actionBarCreatePanelController .getSelectedSibling(); if (selectedSibling != null) { LOG.info("Selected as sibling: " + selectedSibling); final com.google.gwt.user.client.Element clone = DOM .clone(selectedSibling.asWidget().getElement(), true); final OverlayWidget cloneSibling = overlayFactory.getAmendableWidget(clone); // number and format get given by the siblings // but they need to be explicitly set to null cloneSibling.setNumberingType( actionBarCreatePanelController.getSelectedSibling().getNumberingType()); cloneSibling.setFormat( actionBarCreatePanelController.getSelectedSibling().getFormat()); documentEventBus.fireEvent( new OverlayWidgetNewEvent(activeOverlayWidget.getParentOverlayWidget(), activeOverlayWidget, cloneSibling)); } final OverlayWidget selectedChild = actionBarCreatePanelController .getSelectedChild(); if (selectedChild != null) { LOG.info("Selected as child: " + selectedChild); final com.google.gwt.user.client.Element clone = DOM .clone(selectedChild.asWidget().getElement(), true); final OverlayWidget cloneChild = overlayFactory.getAmendableWidget(clone); cloneChild.setNumberingType( actionBarCreatePanelController.getSelectedChild().getNumberingType()); cloneChild.setFormat( actionBarCreatePanelController.getSelectedChild().getFormat()); documentEventBus.fireEvent(new OverlayWidgetNewEvent(activeOverlayWidget, activeOverlayWidget, cloneChild)); } } else if (activeOverlayWidget != null) { // we might not have selected a block, so go up final OverlayWidget block = AkomaNtosoUtil.findEnclosingBlock(activeOverlayWidget); if (block != null) { OverlayWidget result = overlayFactory .getAmendableWidget(block.getNamespaceURI(), block.getType()); result.setOrigin(OverlayWidgetOrigin.GENERATED); OverlaySnippet snippet = overlaySnippetFactory.getSnippet(block); if (snippet != null) { overlaySnippetEvaluator.addEvaluator(new DefaultNumEvaluator(clientFactory, overlayWidgetInjectionStrategy, locator, result, block.getParentOverlayWidget(), block)); final String content = snippet.getContent(overlaySnippetEvaluator); if (content != null) { result.getOverlayElement().setInnerHTML(content); result.getChildOverlayWidgets().clear(); result = overlayFactory.getAmendableWidget(result.getOverlayElement()); overlayWidgetInjectionStrategy.injectAsSibling(block, result); result.walk(new OverlayWidgetWalker.DefaultOverlayWidgetVisitor() { @Override public boolean visit(OverlayWidget visited) { // if (AkomaNtosoUtil.representsBlock(visited)) { visited.setUIListener(sourceFileController); // } return super.visit(visited); } }); // make sure we can edit this result.setAmendable(true); markOverlayWidgetAsAmendable(result); documentEventBus.fireEvent(new OverlayWidgetSelectEvent(result, DraftingDocumentController.this)); reCalculateNumbering(block.getParentOverlayWidget()); redrawOutline(block.getRoot()); } } } } } else if (tab.equals(event.getKeyCombo())) { // ------------- Single TAB ------------- } else if (delete.equals(event.getKeyCombo())) { // ------------- DELETE ------------- if (activeOverlayWidget != null) { handleOverlayWidgetDelete(activeOverlayWidget); restoreFocusOnViewPort(); } } else if (altUpArrow.equals(event.getKeyCombo())) { // ------------- CTRL + Up arrow ------------- if (activeOverlayWidget != null) { if (mover.canMoveUp(activeOverlayWidget)) { activeOverlayWidget.moveUp(); clientFactory.getScheduler().scheduleDeferred(new Scheduler.ScheduledCommand() { @Override public void execute() { documentEventBus.fireEvent(new OverlayWidgetSelectEvent( activeOverlayWidget, DraftingDocumentController.this)); clientFactory.getEventBus().fireEvent(new DocumentScrollToEvent( activeOverlayWidget.asWidget(), DraftingDocumentController.this, false, SCROLL_TO_OFFSET)); // TODO schedule via timer reCalculateNumbering(activeOverlayWidget.getParentOverlayWidget()); redrawOutline(activeOverlayWidget.getRoot()); } }); } } } else if (altDownArrow.equals(event.getKeyCombo())) { // ------------- CTRL + Down arrow ------------- if (activeOverlayWidget != null) { if (mover.canMoveDown(activeOverlayWidget)) { activeOverlayWidget.moveDown(); clientFactory.getScheduler().scheduleDeferred(new Scheduler.ScheduledCommand() { @Override public void execute() { documentEventBus.fireEvent(new OverlayWidgetSelectEvent( activeOverlayWidget, DraftingDocumentController.this)); clientFactory.getEventBus().fireEvent(new DocumentScrollToEvent( activeOverlayWidget.asWidget(), DraftingDocumentController.this, false, SCROLL_TO_OFFSET)); // TODO schedule via timer reCalculateNumbering(activeOverlayWidget.getParentOverlayWidget()); redrawOutline(activeOverlayWidget.getRoot()); } }); } } } } }); draftingToggleEventHandlerRegistration = clientFactory.getEventBus() .addHandler(VisualStructureToggleEvent.TYPE, new VisualStructureToggleEventHandler() { @Override public void onEvent(VisualStructureToggleEvent event) { //inlineEditorController.getRichTextEditor().toggleVisualStructure(event.isShown()); } }); draftingAttributesToggleEventHandlerRegistration = clientFactory.getEventBus().addHandler( VisualStructureAttributesToggleEvent.TYPE, new VisualStructureAttributesToggleEventHandler() { @Override public void onEvent(VisualStructureAttributesToggleEvent event) { //inlineEditorController.getRichTextEditor().toggleVisualStructureAttributes(event.isShown()); } }); }
From source file:org.nsesa.editor.gwt.dialog.client.ui.handler.create.AmendmentDialogCreateController.java
License:EUPL
/** * Validates the content before saving//from w w w . j a v a 2 s. c o m * * @return True if the content is valid */ protected boolean validate() { //validate the overlay String content = view.getAmendmentContent(); //replace all validation-error class names with empty content = content.replaceAll("validation-error", ""); final com.google.gwt.user.client.Element clone = DOM .clone(dialogContext.getOverlayWidget().asWidget().getElement(), false); clone.setInnerHTML(content); OverlayWidget overlayWidget = overlayFactory.getAmendableWidget(clone); ValidationResult validationResult = overlayWidgetValidator.validate(overlayWidget); boolean isValid = validationResult.isSuccessful(); if (!isValid) { OverlayWidget invalidWidget = validationResult.getInvalidWidget(); if (invalidWidget != null) { //mark the widget as invalid invalidWidget.getOverlayElement().addClassName("validation-error"); invalidWidget.getOverlayElement().setAttribute("error", validationResult.getErrorMessage()); } else { overlayWidget.getOverlayElement().addClassName("validation-error"); overlayWidget.getOverlayElement().setAttribute("error", validationResult.getErrorMessage()); } view.setAmendmentContent(overlayWidget.getOverlayElement().getInnerHTML()); } return isValid; }
From source file:org.nsesa.editor.gwt.dialog.client.ui.handler.modify.AmendmentDialogModifyController.java
License:EUPL
/** * Validates the content before saving/*from w w w. j a v a 2 s .c om*/ * * @return True if content is valid */ protected boolean validate() { //validate the overlay String content = view.getAmendmentContent(); //replace all validation-error class names with empty string content = content.replaceAll("validation-error", ""); final com.google.gwt.user.client.Element clone = DOM .clone(dialogContext.getOverlayWidget().asWidget().getElement(), false); clone.setInnerHTML(content); OverlayWidget clonedOverlayWidgetToValidate = overlayFactory.getAmendableWidget(clone); ValidationResult validationResult = overlayWidgetValidator.validate(clonedOverlayWidgetToValidate); boolean isValid = validationResult.isSuccessful(); if (!isValid) { OverlayWidget invalidWidget = validationResult.getInvalidWidget(); if (invalidWidget != null) { //mark the widget as invalid invalidWidget.getOverlayElement().addClassName("validation-error"); invalidWidget.getOverlayElement().setAttribute("error", validationResult.getErrorMessage()); } else { clonedOverlayWidgetToValidate.getOverlayElement().addClassName("validation-error"); clonedOverlayWidgetToValidate.getOverlayElement().setAttribute("error", validationResult.getErrorMessage()); } view.setAmendmentContent(clonedOverlayWidgetToValidate.getOverlayElement().getInnerHTML()); // view.getRichTextEditor().setOverlayWidget(clonedOverlayWidgetToValidate); } return isValid; }
From source file:org.nsesa.editor.gwt.dialog.client.ui.handler.move.action.BeforeAfterActionBarController.java
License:EUPL
protected Element createPlaceHolder(boolean before) { Element div = DOM.clone(toMove.asWidget().getElement(), true); DOM.sinkEvents(div, Event.MOUSEEVENTS | Event.BUTTON_LEFT); DOM.setEventListener(div, createEventListener(div, before)); div.getStyle().setOpacity(0.2);/*ww w . j a v a 2s . co m*/ return div; }
From source file:org.pentaho.gwt.widgets.client.listbox.DefaultListItem.java
License:Open Source License
private void formatWidget(HorizontalPanel panel) { panel.sinkEvents(Event.MOUSEEVENTS); if (img != null) { Image i = new Image(img.getUrl(), img.getOriginLeft(), img.getOriginTop(), img.getWidth(), img.getHeight());// www .ja va2s. c o m panel.add(i); panel.setCellVerticalAlignment(i, HasVerticalAlignment.ALIGN_MIDDLE); i.getElement().getStyle().setProperty("marginRight", "5px"); //$NON-NLS-1$ //$NON-NLS-2$ } else if (extraWidget != null) { Element ele = DOM.clone(extraWidget.getElement(), true); Widget w = new WrapperWidget(ele); panel.add(w); panel.setCellVerticalAlignment(w, HasVerticalAlignment.ALIGN_MIDDLE); w.getElement().getStyle().setProperty("marginRight", "5px"); //$NON-NLS-1$ //$NON-NLS-2$ } Label label = new Label(text); label.getElement().getStyle().setProperty("cursor", "pointer"); //$NON-NLS-1$ //$NON-NLS-2$ label.setWidth("100%"); //$NON-NLS-1$ SimplePanel sp = new SimplePanel(); sp.getElement().getStyle().setProperty("overflowX", "auto"); //$NON-NLS-1$ //$NON-NLS-2$ sp.add(label); panel.add(sp); panel.setCellWidth(sp, "100%"); //$NON-NLS-1$ panel.setCellVerticalAlignment(label, HasVerticalAlignment.ALIGN_MIDDLE); ElementUtils.preventTextSelection(panel.getElement()); // label.setStylePrimaryName("custom-list-item"); //$NON-NLS-1$ panel.setWidth("100%"); //$NON-NLS-1$ }
From source file:org.pentaho.gwt.widgets.client.utils.ElementUtils.java
License:Open Source License
public static Rectangle getSize(com.google.gwt.user.client.Element ele) { Rectangle r = new Rectangle(); r.width = ele.getOffsetWidth();//from ww w .j a va 2s. c om r.height = ele.getOffsetHeight(); // If the element is not on the DOM, or not visible, browsers may not be able to calculate the size // Clone the element and put it in the "sandbox" to grab the size. if (r.width == 0 && r.height == 0) { com.google.gwt.user.client.Element e = DOM.clone(ele, true); sandbox.getElement().appendChild(e); r.width = e.getOffsetWidth(); r.height = e.getOffsetHeight(); sandbox.getElement().removeChild(e); } return r; }