Package com.gstaykov.pscoder.editor

Source Code of com.gstaykov.pscoder.editor.PowershellEditor

/*
* Copyright 2008 Georgi Staykov
*
* This file is part of pscoder.
*
* pscoder is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* pscoder is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with pscoder.  If not, see <http://www.gnu.org/licenses/>.
*/

package com.gstaykov.pscoder.editor;

import org.eclipse.core.commands.IHandler;
import org.eclipse.jface.action.IAction;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.contexts.IContextService;
import org.eclipse.ui.editors.text.TextEditor;
import org.eclipse.ui.handlers.IHandlerService;
import org.eclipse.ui.texteditor.ContentAssistAction;
import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;

import com.gstaykov.pscoder.editor.handlers.CommentHandler;
import com.gstaykov.pscoder.editor.handlers.GoToDefinitionHandler;
import com.gstaykov.pscoder.editor.handlers.QuickOutlineHandler;
import com.gstaykov.pscoder.editor.handlers.RebuildCADHandler;

public class PowershellEditor extends TextEditor {
    private static final String EDITOR_CONTEXT_ID = "com.gstaykov.pscoder.editor";
   
   
  protected void initializeEditor() {
    super.initializeEditor();
    setSourceViewerConfiguration(new PowershellSourceViewerConfiguration());
  }
 
  protected void createActions() {
      super.createActions();
     
      IAction action = new ContentAssistAction(PowershellResourceBundle.getResourceBundle(), "ContentAssistProposal.", this);
      action.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
      setAction("ContentAssistProposal", action);
  }
 
  @Override
  public void createPartControl(Composite parent) {
      super.createPartControl(parent);
     
      activateContext();
      activateHandlers();
  }
 
  private void activateContext() {
        IContextService contextService = (IContextService)getSite().getService(IContextService.class);
        contextService.activateContext(EDITOR_CONTEXT_ID);
  }
 
  private void activateHandlers() {
      IHandlerService handlerService = (IHandlerService)getSite().getService(IHandlerService.class);
      IHandler rebuildCAD = new RebuildCADHandler();
      handlerService.activateHandler("com.gstaykov.pscoder.rebuildcad", rebuildCAD);

        IHandler commentHandler = new CommentHandler();
        handlerService.activateHandler("com.gstaykov.pscoder.addcomment", commentHandler);

        IHandler goToDefinitionHandler = new GoToDefinitionHandler();
        handlerService.activateHandler("com.gstaykov.pscoder.gotodefinition", goToDefinitionHandler);

        IHandler quickOutlineHandler = new QuickOutlineHandler();
        handlerService.activateHandler("com.gstaykov.pscoder.quickoutline", quickOutlineHandler);       
  }
}
TOP

Related Classes of com.gstaykov.pscoder.editor.PowershellEditor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.