본문 바로가기

IT/JAVA,RCP,SWT,GEF,Plugin 개발

기초공부5 – Preference 화면 만들기

반응형

환경 설정 값을 저장하기 위해서는 AbstractUIPlugin을 상속받는 IPreferenceStore 을 통해 값을 저장한다.

개발환경은 다음과 같다.

OS : Window10

Eclipse : Luna Service Release 2 (4.4.2)

   

개발은 다음과 같다.

New Plug-in Project

    Project name : com.me.it

    ->Next

    Content

        ID : com.me.it    

        Version : 1.0.0.qualifier

        Name : it

        Vender : ME

        Execution Enviroment Java-SE1.7

    ->Next

    Templates

        Create a plug-in using one of the templates 체크

Plug-in with a view 선택

    ->Next

    Main View Settings

        Java Package Name : com.me.it.views

        View Class Name : MyViews

        View Name : My Views

        View Category ID : com.me.it

        View Category Name : MyCategory

        Table viewer 선택

    ->Finish

 

구현 순서는 다음과 같다.

  1. plugin.xml에 extension 선언 -> 2. plugin.xml 에 선언한 Class 파일 만들기 -> 3. 필드 추가 -> 4. Run

 

  1. plugin.xml에 extension 선언

    <!-- My Pages -->

    <extension point = "org.eclipse.ui.preferencePages">

        <page name ="MyPage"     class="com.me.it.MyPreferencePage"

            id="com.me.it.MyPreferencePage.page"/>

    </extension>

  1. Class 파일 만들기
    1. 1. 에서 선언한 com.me.it.MyPreferencePage 만들어 주면된다.
    2. Preferenece 기능을 구현하기 위해서는 extends FieldEditorPreferencePage implements IWorkbenchPreferencePage 선언해야 한다.

public class MyPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {

…….. }

  1. 필드 추가
    1. FieldEditorPreferencePage IWorkbenchPreferencePage 선언 함으로써 createFieldEditors() init(IWorkbench e) 구현해야한다.
      1. createFieldEditors 함수는 필드를 추가하는 기능이다. 필드란 텍스트, 컴보박스 등을 얘기한다.
      2. init 초기화, Preference 선언하는 기능을 한다.
    2. createFieldsEditors 구현

protected void createFieldEditors() {

        // TODO Auto-generated method stub

        //Integer 받는 필드를 추가하는 예시이다.

        addField(new IntegerFieldEditor("IntegerField", "Label Text", getFieldEditorParent()));

    }

 

public void init(IWorkbench arg0) {

        // TODO Auto-generated method stub

        //Preference 선언하는 것이다.

        setPreferenceStore(Activator.getDefault().getPreferenceStore());

        

    }

 

  • 필드 종류

필드 종류는 9가지가 된다.

  • BooleanFieldEditor - booleans
  • IntegerFieldEditor - integers
  • StringFieldEditor - text strings
  • RadioGroupFieldEditor - enumerations
  • ColorFieldEditor - RGB colors
  • FontFieldEditor - fonts
  • DirectoryFieldEditor - directories
  • FileFieldEditor - files
  • PathEditor - paths

[eclipse API]

 

  1. Run을 하면 새로 뜨는 eclipse의 Window - > Preferences를 보면 MyPage 새롭게 나온다.
    1. 1.plugin.xml에서 정의한 page 이름이 이다.