2010-12-02 4 views
0

を作成しようとしてい私はtesting.Iためのシンプルな自動化ツールを作成しようとしていますが、ネット上の簡単なチュートリアルシンプルGEF

を踏襲し、日食の景色をRCPを作成しました。今、私は単純なGEFを含めるようにしました

コンポーネントはビューに "ビューを作成できませんでした:プラグイン" GEFTutorial "はクラス" geftutorial.View "をインスタンス化できませんでした。

は、ここで私はここに戻って

を表示され、ビューの私のソースコードですview.myビュー上

private ScrollingGraphicalViewer viewer = new ScrollingGraphicalViewer(); 
private RootEditPart rootEditPart = new ScalableFreeformRootEditPart(); 
private EditPartFactory editPartFactory = new SimpleGEFEditPartFactory(); 

上記のすべての文の作成のコメントを外し場合は特に、私のソースコード

です。 java

package geftutorial; 

import org.eclipse.jface.viewers.IStructuredContentProvider; 

import org.eclipse.jface.viewers.ITableLabelProvider; 
import org.eclipse.jface.viewers.LabelProvider; 
import org.eclipse.jface.viewers.TableViewer; 
import org.eclipse.jface.viewers.Viewer; 
import org.eclipse.swt.SWT; 
import org.eclipse.swt.graphics.Color; 
import org.eclipse.swt.graphics.Image; 
import org.eclipse.swt.widgets.Composite; 
import org.eclipse.ui.ISharedImages; 
import org.eclipse.ui.PlatformUI; 
import org.eclipse.ui.part.ViewPart; 
import org.eclipse.gef.*; 
import org.eclipse.gef.editparts.ScalableFreeformRootEditPart; 
import org.eclipse.gef.ui.parts.ScrollingGraphicalViewer;  

public class View extends ViewPart { 
    public static final String ID = "GEFTutorial.view"; 

    //Use a standard Viewer for the Draw2d canvas 
    private ScrollingGraphicalViewer viewer = new ScrollingGraphicalViewer(); 
    //Use standard RootEditPart as holder for all other edit parts 
    private RootEditPart rootEditPart = new ScalableFreeformRootEditPart(); 
    //Custom made EditPartFactory, will automatically be called to create 
    //edit 
    // parts for model elements 
    private EditPartFactory editPartFactory = new SimpleGEFEditPartFactory(); 
    //The model 
    private SuperWidget model; 

    //private TableViewer viewer; 

    /** 
    * The content provider class is responsible for providing objects to the 
    * view. It can wrap existing objects in adapters or simply return objects 
    * as-is. These objects may be sensitive to the current input of the view, 
    * or ignore it and always show the same content (like Task List, for 
    * example). 
    */ 
    class ViewContentProvider implements IStructuredContentProvider { 
     public void inputChanged(Viewer v, Object oldInput, Object newInput) { 
     } 

     public void dispose() { 
     } 

     public Object[] getElements(Object parent) { 
      if (parent instanceof Object[]) { 
       return (Object[]) parent; 
      } 
      return new Object[0]; 
     } 
    } 

    class ViewLabelProvider extends LabelProvider implements 
      ITableLabelProvider { 
     public String getColumnText(Object obj, int index) { 
      return getText(obj); 
     } 

     public Image getColumnImage(Object obj, int index) { 
      return getImage(obj); 
     } 

     public Image getImage(Object obj) { 
      return PlatformUI.getWorkbench().getSharedImages().getImage(
        ISharedImages.IMG_OBJ_ELEMENT); 
     } 
    } 

    /** 
    * This is a callback that will allow us to create the viewer and initialize 
    * it. 
    */ 
    public void createPartControl(Composite parent) { 
     /*viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL 
       | SWT.V_SCROLL); 
     viewer.setContentProvider(new ViewContentProvider()); 
     viewer.setLabelProvider(new ViewLabelProvider()); 
     // Provide the input to the ContentProvider 
     viewer.setInput(new String[] {"One", "Two", "Three"}); 
     */ 



     //Create a dummy model 
     model = new SuperWidget("Model"); 
     model.createDummyModel(); 
     //Initialize the viewer, 'parent' is the 
     // enclosing RCP windowframe 
     viewer.createControl(parent); 
     viewer.setRootEditPart(rootEditPart); 
     viewer.setEditPartFactory(editPartFactory); 
     //Inject the model into the viewer, the viewer will 
     // traverse the model automatically 
     viewer.setContents(model); 
     //Set the view's background to white 
     viewer.getControl().setBackground(new Color(null, 255,255,255));    
    } 

    /** 
    * Passing the focus request to the viewer's control. 
    */ 
    public void setFocus() { 
     viewer.getControl().setFocus(); 
    } 
} 

誰かが私にこのことについての手がかりを与えることはできますか?私は

。私もちょうどGEFを学んでいるが、私が見たものから、GEFエディタが ViewPart(ビュー)ではありませんが、編集者、 EditPartを拡張:(

+0

は、スタックトレースがありましたか?エラーログビューで何か? –

答えて

0

RCPとGEFに新しいです私の現在進行中のGEFのチュートリアルをチェックhere。それがお役に立てば幸いです。

をあなたはまたeclipse websiteから他のGEFのチュートリアルにアクセスすることができます。

関連する問題