Example usage for com.google.gwt.event.logical.shared ValueChangeEvent fire

List of usage examples for com.google.gwt.event.logical.shared ValueChangeEvent fire

Introduction

In this page you can find the example usage for com.google.gwt.event.logical.shared ValueChangeEvent fire.

Prototype

public static <T> void fire(HasValueChangeHandlers<T> source, T value) 

Source Link

Document

Fires a value change event on all registered handlers in the handler manager.

Usage

From source file:org.rstudio.core.client.widget.Toggle.java

License:Open Source License

public void setState(State state, boolean animate) {
    if (!indeterminateStateEnabled_ && state == State.INDETERMINATE) {
        assert false : "Attempted to set indeterminate state on binary toggle";
    }//from  ww w  .j  ava2 s . c  o  m

    if (animate)
        knob_.removeStyleName(styles_.transitionDisabled());
    else
        knob_.addStyleName(styles_.transitionDisabled());

    clearToggleStyles();

    switch (state) {
    case OFF:
        knob_.addStyleName(styles_.knobLeft());
        break;

    case INDETERMINATE:
        knob_.addStyleName(styles_.knobMiddle());
        break;

    case ON:
        knob_.addStyleName(styles_.knobRight());
        break;
    }

    if (state_ != state) {
        state_ = state;
        ValueChangeEvent.fire(this, state);
    }
}

From source file:org.rstudio.core.client.widget.ToolbarPopupMenuButton.java

License:Open Source License

public void setText(String text, boolean fireEvent) {
    boolean changed = !text_.equals(text);

    text_ = text;/*from w  w w  .j  a v  a2s  . com*/
    if (showText_) {
        super.setText(text);
    }

    if (changed && fireEvent)
        ValueChangeEvent.fire(ToolbarPopupMenuButton.this, text);
}

From source file:org.rstudio.core.client.widget.TriStateCheckBox.java

License:Open Source License

private void toggleState() {
    if (state_ == STATE_OFF)
        setState(STATE_ON);/*from   w w w .j  a v a  2  s.c o  m*/
    else if (state_ == STATE_INDETERMINATE)
        setState(STATE_OFF);
    else if (state_ == STATE_ON)
        setState(STATE_INDETERMINATE);

    ValueChangeEvent.fire(this, state_);
}

From source file:org.rstudio.studio.client.common.Value.java

License:Open Source License

public void setValue(T value, boolean fireEvents) {
    if (!areEqual(value_, value)) {
        value_ = value;//from  w ww  . j a  va 2  s .  com
        if (fireEvents)
            ValueChangeEvent.fire(this, value);
    }
}

From source file:org.rstudio.studio.client.common.Value.java

License:Open Source License

public void fireChangeEvent() {
    ValueChangeEvent.fire(this, value_);
}

From source file:org.rstudio.studio.client.pdfviewer.ui.PageNumberListBox.java

License:Open Source License

@Override
public void setValue(Integer value, boolean fireEvents) {
    if (value == null)
        value = 0;// ww w. j a v  a  2  s  .c om
    Integer other = getValue();
    if (other == null)
        other = 0;

    if (other.equals(value))
        return;

    if (value < 0)
        throw new ArrayIndexOutOfBoundsException();
    if (value > getItemCount())
        setPageCount(value);

    // If value is 0 (originally null) then this will be setSelectedIndex(-1),
    // which is desired.
    setSelectedIndex(value - 1);

    if (fireEvents)
        ValueChangeEvent.fire(this, value == 0 ? null : value);
}

From source file:org.rstudio.studio.client.workbench.views.environment.dataimport.DataImportOptionsUi.java

License:Open Source License

void triggerChange() {
    ValueChangeEvent.fire(this, getOptions());
}

From source file:org.rstudio.studio.client.workbench.views.output.markers.MarkerSetsToolbarButton.java

License:Open Source License

public void updateAvailableMarkerSets(String[] sets) {
    ToolbarPopupMenu menu = getMenu();/*w ww . j a v  a  2  s .c o m*/
    menu.clearItems();
    for (final String set : sets) {
        // command for selection
        Scheduler.ScheduledCommand cmd = new Scheduler.ScheduledCommand() {
            @Override
            public void execute() {
                ValueChangeEvent.fire(MarkerSetsToolbarButton.this, set);
            }
        };

        SafeHtml menuHTML = new SafeHtmlBuilder().appendHtmlConstant(set).toSafeHtml();
        menu.addItem(new MenuItem(menuHTML, cmd));

    }
}

From source file:org.rstudio.studio.client.workbench.views.source.editors.text.AceEditor.java

License:Open Source License

@Inject
public AceEditor() {
    widget_ = new AceEditorWidget();
    ElementIds.assignElementId(widget_.getElement(), ElementIds.SOURCE_TEXT_EDITOR);

    completionManager_ = new NullCompletionManager();
    diagnosticsBgPopup_ = new DiagnosticsBackgroundPopup(this);

    RStudioGinjector.INSTANCE.injectMembers(this);

    widget_.addValueChangeHandler(new ValueChangeHandler<Void>() {
        public void onValueChange(ValueChangeEvent<Void> evt) {
            ValueChangeEvent.fire(AceEditor.this, null);
        }//from   w ww .  j  av  a  2 s .  co  m
    });

    widget_.addFoldChangeHandler(new FoldChangeEvent.Handler() {
        @Override
        public void onFoldChange(FoldChangeEvent event) {
            AceEditor.this.fireEvent(new FoldChangeEvent());
        }
    });

    addCapturingKeyDownHandler(new KeyDownHandler() {
        @Override
        public void onKeyDown(KeyDownEvent event) {
            int mod = KeyboardShortcut.getModifierValue(event.getNativeEvent());
            if (mod == KeyboardShortcut.CTRL) {
                switch (event.getNativeKeyCode()) {
                case 'U':
                    event.preventDefault();
                    InputEditorUtil.yankBeforeCursor(AceEditor.this, true);
                    break;
                case 'K':
                    event.preventDefault();
                    InputEditorUtil.yankAfterCursor(AceEditor.this, true);
                    break;
                case 'Y':
                    event.preventDefault();
                    Position start = getSelectionStart();
                    InputEditorUtil.pasteYanked(AceEditor.this);
                    indentPastedRange(Range.fromPoints(start, getSelectionEnd()));
                    break;
                }
            }

        }
    });

    addPasteHandler(new PasteEvent.Handler() {
        @Override
        public void onPaste(PasteEvent event) {
            if (completionManager_ != null)
                completionManager_.onPaste(event);

            final Position start = getSelectionStart();

            Scheduler.get().scheduleDeferred(new ScheduledCommand() {
                @Override
                public void execute() {
                    Range range = Range.fromPoints(start, getSelectionEnd());
                    indentPastedRange(range);
                }
            });
        }
    });

    // handle click events
    addAceClickHandler(new AceClickEvent.Handler() {
        @Override
        public void onClick(AceClickEvent event) {
            fixVerticalOffsetBug();
            if (DomUtils.isCommandClick(event.getNativeEvent())) {
                // eat the event so ace doesn't do anything with it
                event.preventDefault();
                event.stopPropagation();

                // set the cursor position
                setCursorPosition(event.getDocumentPosition());

                // go to function definition
                fireEvent(new CommandClickEvent());
            } else {
                // if the focus in the Help pane or another iframe
                // we need to make sure to get it back
                WindowEx.get().focus();
            }
        }
    });

    lastCursorChangedTime_ = 0;
    addCursorChangedHandler(new CursorChangedHandler() {
        @Override
        public void onCursorChanged(CursorChangedEvent event) {
            fixVerticalOffsetBug();
            clearLineHighlight();
            lastCursorChangedTime_ = System.currentTimeMillis();
        }
    });

    lastModifiedTime_ = 0;
    addValueChangeHandler(new ValueChangeHandler<Void>() {
        @Override
        public void onValueChange(ValueChangeEvent<Void> event) {
            lastModifiedTime_ = System.currentTimeMillis();
            clearDebugLineHighlight();
        }
    });
}

From source file:org.rstudio.studio.client.workbench.views.source.editors.text.AceEditorWidget.java

License:Open Source License

public AceEditorWidget() {
    initWidget(new HTML());
    FontSizer.applyNormalFontSize(this);
    setSize("100%", "100%");

    capturingHandlers_ = new HandlerManager(this);
    addEventListener(getElement(), "keydown", capturingHandlers_);
    addEventListener(getElement(), "keyup", capturingHandlers_);
    addEventListener(getElement(), "keypress", capturingHandlers_);

    addStyleName("loading");

    editor_ = AceEditorNative.createEditor(getElement());
    editor_.manageDefaultKeybindings();// w  ww .j a v a  2  s .  c o  m
    editor_.getRenderer().setHScrollBarAlwaysVisible(false);
    editor_.setShowPrintMargin(false);
    editor_.setPrintMarginColumn(0);
    editor_.setHighlightActiveLine(false);
    editor_.setHighlightGutterLine(false);
    editor_.delegateEventsTo(AceEditorWidget.this);
    editor_.onChange(new CommandWithArg<AceDocumentChangeEventNative>() {
        public void execute(AceDocumentChangeEventNative changeEvent) {
            // Case 3815: It appears to be possible for change events to be
            // fired recursively, which exhausts the stack. This shouldn't 
            // happen, but since it has in at least one setting, guard against
            // recursion here.
            if (inOnChangeHandler_) {
                Debug.log("Warning: ignoring recursive ACE change event");
                return;
            }
            inOnChangeHandler_ = true;
            try {
                ValueChangeEvent.fire(AceEditorWidget.this, null);
                updateBreakpoints(changeEvent);
                updateAnnotations(changeEvent);

                // Immediately re-render on change if we have markers, to
                // ensure they're re-drawn in the correct locations.
                if (editor_.getSession().getMarkers(true).size() > 0) {
                    Scheduler.get().scheduleDeferred(new ScheduledCommand() {
                        @Override
                        public void execute() {
                            editor_.getRenderer().renderMarkers();
                        }
                    });
                }
            } catch (Exception ex) {
                Debug.log("Exception occurred during ACE change event: " + ex.getMessage());
            }
            inOnChangeHandler_ = false;
        }

    });
    editor_.onChangeFold(new Command() {
        @Override
        public void execute() {
            fireEvent(new FoldChangeEvent());
        }
    });
    editor_.onGutterMouseDown(new CommandWithArg<AceMouseEventNative>() {
        @Override
        public void execute(AceMouseEventNative arg) {
            // make sure the click is actually intended for the gutter
            com.google.gwt.dom.client.Element targetElement = Element.as(arg.getNativeEvent().getEventTarget());
            if (targetElement.getClassName().indexOf("ace_gutter-cell") < 0) {
                return;
            }

            NativeEvent evt = arg.getNativeEvent();

            // right-clicking shouldn't set a breakpoint
            if (evt.getButton() != NativeEvent.BUTTON_LEFT) {
                return;
            }

            // make sure that the click was in the left half of the element--
            // clicking on the line number itself (or the gutter near the 
            // text) shouldn't set a breakpoint.
            if (evt.getClientX() < (targetElement.getAbsoluteLeft() + (targetElement.getClientWidth() / 2))) {
                toggleBreakpointAtPosition(arg.getDocumentPosition());
            }
        }
    });
    editor_.getSession().getSelection().addCursorChangeHandler(new CommandWithArg<Position>() {
        public void execute(Position arg) {
            AceEditorWidget.this.fireEvent(new CursorChangedEvent(arg));
        }
    });
    AceEditorNative.addEventListener(editor_, "undo", new CommandWithArg<Void>() {
        public void execute(Void arg) {
            fireEvent(new UndoRedoEvent(false));
        }
    });
    AceEditorNative.addEventListener(editor_, "redo", new CommandWithArg<Void>() {
        public void execute(Void arg) {
            fireEvent(new UndoRedoEvent(true));
        }
    });
    AceEditorNative.addEventListener(editor_, "paste", new CommandWithArg<String>() {
        public void execute(String text) {
            fireEvent(new PasteEvent(text));
        }
    });
    AceEditorNative.addEventListener(editor_, "mousedown", new CommandWithArg<AceMouseEventNative>() {
        @Override
        public void execute(AceMouseEventNative event) {
            fireEvent(new AceClickEvent(event));
        }
    });
}