Search in sources :

Example 6 with IErlMemberSelection

use of org.erlide.wrangler.refactoring.selection.IErlMemberSelection in project erlide_eclipse by erlang.

the class RenameFunctionRefactoring method runAlternative.

@Override
public IRefactoringRpcMessage runAlternative(final IErlSelection selection) {
    final IErlMemberSelection sel = (IErlMemberSelection) selection;
    final IErlRange memberRange = sel.getMemberRange();
    return WranglerBackendManager.getRefactoringBackend().call("rename_fun_1_eclipse", "siisxi", sel.getFilePath(), memberRange.getStartLine(), memberRange.getStartCol(), userInput, sel.getSearchPath(), GlobalParameters.getTabWidth());
}
Also used : IErlRange(org.erlide.wrangler.refactoring.util.IErlRange) IErlMemberSelection(org.erlide.wrangler.refactoring.selection.IErlMemberSelection)

Example 7 with IErlMemberSelection

use of org.erlide.wrangler.refactoring.selection.IErlMemberSelection in project erlide_eclipse by erlang.

the class RenameFunctionRefactoring method getDefaultValue.

@Override
public String getDefaultValue() {
    final IErlMemberSelection sel = (IErlMemberSelection) GlobalParameters.getWranglerSelection();
    if (sel == null) {
        return "";
    }
    final RpcResult res = WranglerBackendManager.getRefactoringBackend().callWithoutParser("get_fun_name_eclipse", "siixi", sel.getFilePath(), sel.getSelectionRange().getStartLine(), sel.getSelectionRange().getStartCol(), sel.getSearchPath(), GlobalParameters.getTabWidth());
    if (res.getValue().getClass().equals(OtpErlangString.class)) {
        return ((OtpErlangString) res.getValue()).stringValue();
    }
    return "";
}
Also used : IErlMemberSelection(org.erlide.wrangler.refactoring.selection.IErlMemberSelection) RpcResult(org.erlide.runtime.rpc.RpcResult) OtpErlangString(com.ericsson.otp.erlang.OtpErlangString)

Example 8 with IErlMemberSelection

use of org.erlide.wrangler.refactoring.selection.IErlMemberSelection in project erlide_eclipse by erlang.

the class TupleFunctionParametersRefactoring method checkInitialConditions.

@Override
public RefactoringStatus checkInitialConditions(final IProgressMonitor pm) throws CoreException, OperationCanceledException {
    final IErlSelection sel = GlobalParameters.getWranglerSelection();
    if (sel instanceof IErlMemberSelection) {
        final SelectionKind kind = sel.getKind();
        if (kind == SelectionKind.FUNCTION_CLAUSE || kind == SelectionKind.FUNCTION) {
            final IErlMemberSelection s = (IErlMemberSelection) sel;
            numberOfTuplingParameters = calculateParametersNumber(WranglerUtils.getTextFromEditor(s.getSelectionRange(), s.getDocument()));
            if (numberOfTuplingParameters > 0) {
                return new RefactoringStatus();
            }
        }
    }
    return RefactoringStatus.createFatalErrorStatus("Please select function parameters!");
}
Also used : IErlMemberSelection(org.erlide.wrangler.refactoring.selection.IErlMemberSelection) RefactoringStatus(org.eclipse.ltk.core.refactoring.RefactoringStatus) IErlSelection(org.erlide.wrangler.refactoring.selection.IErlSelection) SelectionKind(org.erlide.wrangler.refactoring.selection.IErlSelection.SelectionKind)

Example 9 with IErlMemberSelection

use of org.erlide.wrangler.refactoring.selection.IErlMemberSelection in project erlide_eclipse by erlang.

the class FoldLocalExpressionRefactoring method checkInitialConditions.

/**
 * Preprocessing the file(s), and finding the candidates to fold.
 */
@Override
public RefactoringStatus checkInitialConditions(final IProgressMonitor pm) throws CoreException, OperationCanceledException {
    final IErlSelection selection = GlobalParameters.getWranglerSelection();
    if (!(selection instanceof IErlMemberSelection && (selection.getKind() == SelectionKind.FUNCTION || selection.getKind() == SelectionKind.FUNCTION_CLAUSE))) {
        return RefactoringStatus.createFatalErrorStatus("Please select an expression!");
    }
    final IErlMemberSelection sel = (IErlMemberSelection) selection;
    ExpressionPosRpcMessage m = new ExpressionPosRpcMessage();
    m = (ExpressionPosRpcMessage) WranglerBackendManager.getRefactoringBackend().callWithParser(m, "fold_expr_by_loc_eclipse", "siixi", sel.getFilePath(), sel.getMemberRange().getStartLine(), sel.getMemberRange().getStartCol(), sel.getSearchPath(), GlobalParameters.getTabWidth());
    if (m.isSuccessful()) {
        syntaxTree = m.getSyntaxTree();
        positions = m.getPositionDefinitions(sel.getDocument());
        selectedPositions = new ArrayList<>();
    } else {
        return RefactoringStatus.createFatalErrorStatus(m.getMessageString());
    }
    return new RefactoringStatus();
}
Also used : IErlMemberSelection(org.erlide.wrangler.refactoring.selection.IErlMemberSelection) RefactoringStatus(org.eclipse.ltk.core.refactoring.RefactoringStatus) IErlSelection(org.erlide.wrangler.refactoring.selection.IErlSelection) ExpressionPosRpcMessage(org.erlide.wrangler.refactoring.backend.internal.ExpressionPosRpcMessage)

Example 10 with IErlMemberSelection

use of org.erlide.wrangler.refactoring.selection.IErlMemberSelection in project erlide_eclipse by erlang.

the class SelectionInputPage method createControl.

@Override
public void createControl(final Composite parent) {
    composite = new Composite(parent, SWT.NONE);
    inputLabel = new Label(composite, SWT.LEFT);
    inputLabel.setText(labelText);
    final GridData gridData = new GridData();
    gridData.horizontalAlignment = GridData.FILL;
    gridData.horizontalSpan = 2;
    inputLabel.setLayoutData(gridData);
    checkButtons = new HashMap<>();
    Button b;
    GridData gd;
    final IDocument doc = ((IErlMemberSelection) GlobalParameters.getWranglerSelection()).getDocument();
    for (final IErlRange r : refactoring.getPositions()) {
        b = new Button(composite, SWT.CHECK);
        b.setText(WranglerUtils.getTextFromEditor(r, doc) + " at " + r.toString());
        gd = new GridData();
        gd.horizontalAlignment = GridData.FILL;
        gd.horizontalSpan = 2;
        gd.grabExcessHorizontalSpace = true;
        b.setLayoutData(gd);
        checkButtons.put(b, r);
        final ExpressionCheckButtonListener l = new ExpressionCheckButtonListener(checkButtons);
        b.addMouseTrackListener(l);
    }
    final GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    composite.setLayout(layout);
    setControl(composite);
}
Also used : IErlRange(org.erlide.wrangler.refactoring.util.IErlRange) ExpressionCheckButtonListener(org.erlide.wrangler.refactoring.ui.ExpressionCheckButtonListener) GridLayout(org.eclipse.swt.layout.GridLayout) Composite(org.eclipse.swt.widgets.Composite) Button(org.eclipse.swt.widgets.Button) IErlMemberSelection(org.erlide.wrangler.refactoring.selection.IErlMemberSelection) Label(org.eclipse.swt.widgets.Label) GridData(org.eclipse.swt.layout.GridData) IDocument(org.eclipse.jface.text.IDocument)

Aggregations

IErlMemberSelection (org.erlide.wrangler.refactoring.selection.IErlMemberSelection)19 RefactoringStatus (org.eclipse.ltk.core.refactoring.RefactoringStatus)6 RpcResult (org.erlide.runtime.rpc.RpcResult)6 OtpErlangString (com.ericsson.otp.erlang.OtpErlangString)5 IErlSelection (org.erlide.wrangler.refactoring.selection.IErlSelection)5 OtpErlangList (com.ericsson.otp.erlang.OtpErlangList)4 ExpressionPosRpcMessage (org.erlide.wrangler.refactoring.backend.internal.ExpressionPosRpcMessage)4 WranglerRefactoringBackend (org.erlide.wrangler.refactoring.backend.internal.WranglerRefactoringBackend)4 WranglerRpcParsingException (org.erlide.wrangler.refactoring.exception.WranglerRpcParsingException)4 IErlRange (org.erlide.wrangler.refactoring.util.IErlRange)4 OtpErlangObject (com.ericsson.otp.erlang.OtpErlangObject)2 CostumWorkflowRefactoringWithPositionsSelection (org.erlide.wrangler.refactoring.core.CostumWorkflowRefactoringWithPositionsSelection)2 WranglerRefactoring (org.erlide.wrangler.refactoring.core.WranglerRefactoring)2 SelectionInputPage (org.erlide.wrangler.refactoring.ui.wizardpages.SelectionInputPage)2 OtpErlangException (com.ericsson.otp.erlang.OtpErlangException)1 OtpErlangFloat (com.ericsson.otp.erlang.OtpErlangFloat)1 OtpErlangInt (com.ericsson.otp.erlang.OtpErlangInt)1 OtpErlangRangeException (com.ericsson.otp.erlang.OtpErlangRangeException)1 OtpErlangTuple (com.ericsson.otp.erlang.OtpErlangTuple)1 ArrayList (java.util.ArrayList)1