EclipseRCP 환경설정 페이지 사용하기(EclipseRCP Preference Page)[Preference Page,이클립스 RCP,eclipse RCP]

이미지출처 : www.mobilefish.com

EclipseRCP 환경설정 페이지 사용하기(EclipseRCP Preference Page)







1. add (org.eclipse.ui.preferencePages)extension to plugin.xml

- plugin.xml파일에 환경설정 확장점을 추가해준다.

2. create new class that implements IWorkbenchPreferencePage

- IWorkbenchPreferencePage를 구현한 클래스를 생성한다.

3. If you need to adjust, you can make Preference constants and Preference initializer classes.

- 필요하다면, 환경설정 상수나, 초기화 클래스관련 클래스를 생성할 수 있습니다.

범위 : 기본, 환경, 인스턴스

scopes : default , configuration , instance



Preference.java


Code:

public class PreferencePage
  extends FieldEditorPreferencePage
  implements IWorkbenchPreferencePage {
 
  public PreferencePage() {
    super(GRID);
    setPreferenceStore(Plugin.getDefault().getPreferenceStore());
    setDescription("Preferences");
  }

 

  public void createFieldEditors() {

    String[] filterExtension = { "*.file extension" };

    addField(new DirectoryFieldEditor(PreferenceConstants.DIR_PATH,         "&Directory preference:", getFieldEditorParent()));

                      FileFieldEditor filePathPrefEditor = new FileFieldEditor(PreferenceConstants.FILE_PATH,

        "&File Path preference:", getFieldEditorParent());

    filePathPrefEditor.setFileExtensions(filterExtension);

    addField(filePathPrefEditor);

    addField(

      new BooleanFieldEditor(

        PreferenceConstants.P_BOOLEAN,

        "&An example of a boolean preference",

        getFieldEditorParent()));

 

    addField(new RadioGroupFieldEditor(

        PreferenceConstants.P_CHOICE,

      "An example of a multiple-choice preference",

      1,

      new String[][] { { "&Choice 1", "choice1" }, {

        "C&hoice 2", "choice2" }

    }, getFieldEditorParent()));

    addField(

      new StringFieldEditor(PreferenceConstants.P_STRING, "A &text preference:", getFieldEditorParent()));

  }

 

  /* (non-Javadoc)

   * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)

   */

  public void init(IWorkbench workbench) {

  }

 

}

PreferenceConstants.java


Code:










public class PreferenceConstants {
  public static final String DIR_PATH = "dirPath";
  public static final String FILE_PATH = "filePath";
 
  public static final String P_PATH = "pathPreference";
  public static final String P_BOOLEAN = "booleanPreference";
  public static final String P_CHOICE = "choicePreference";
  public static final String P_STRING = "stringPreference";
}

PreferenceInitializer.java


Code:







public class PreferenceInitializer extends AbstractPreferenceInitializer {
  public void initializeDefaultPreferences() {
    IPreferenceStore store = Plugin.getDefault().getPreferenceStore();
    store.setDefault(PreferenceConstants.DIR_PATH,"C:\\Program Files");
  }
}


RadioGroupFieldEditor 사용팁

만약 아직 지원하지 않는 값을 사용자가 클릭했을 경우,

다음과 같이 propertyChange를 overriding하여 필드값을 Initializer에서 설정해준 값으로 불러와 변경시키는 방법을 사용 하면된다.



Code:

public void propertyChange(PropertyChangeEvent event) {
    super.propertyChange(event);
    if(event.getProperty().equals(FieldEditor.VALUE)) {
      if(event.getSource() instanceof RadioGroupFieldEditor) {
        if(!event.getNewValue().equals("available value")){
          Dialog.showWarningMessageDialog(getFieldEditorParent(), "Not available", "Sorry, Now available only for available value.");
          RadioGroupFieldEditor radioGroupEditor = (RadioGroupFieldEditor) event.getSource();
          radioGroupEditor .loadDefault();
        }   

      }

    }

  }



by


Tags : , , , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

EclipseRCP 백그라운드잡 템플릿 (EclipseRCP Background Job Template)[Background Job,이클립스 RCP,eclipse RCP]

이미지출처 : www.mobilefish.com

EclipseRCP 백그라운드잡 템플릿 (EclipseRCP Background Job Template)







Code:

Job job = new Job("Title") {
          protected IStatus run(IProgressMonitor monitor) {
           monitor.beginTask(TaskName, totalWork);
              monitor.subTask(SubTaskName);
                  monitor.worked(work);
                  if (monitor.isCanceled()){
                    return Status.CANCEL_STATUS;
                  }
//                  try { Thread.sleep(1000); } catch (Exception e) { }
                        Display.getDefault().asyncExec(new Runnable() {
                           public void run() {
                                           //  UI Update Jobs
                           }
                        });
                 
               return endJob(monitor);
            }
         };
 
//         job.setUser(true);
         job.schedule();
 
   public boolean isModal(Job job) {
          Boolean isModal = (Boolean)job.getProperty(
                                 IProgressConstants.PROPERTY_IN_DIALOG);
          if(isModal == null) return false;
          return isModal.booleanValue();
       }
   protected  Action getCompletedAction() {
      return new Action("View status") {
        public void run() {
         
          MessageDialog.openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
                  dialogTitle,
                  dialogContent);
        }
      };
    }
   
    protected  void showResults() {
          Display.getDefault().asyncExec(new Runnable() {
             public void run() {
                getCompletedAction().run();
             }
          });
       }
   
    protected IStatus endJob(IProgressMonitor monitor) {
    if (isModal(this)) {
          // The progress dialog is still open so
          // just open the message
          showResults();
       } else {
       setProperty(IProgressConstants.KEEP_PROPERTY, Boolean.TRUE);
       setProperty(IProgressConstants.ACTION_PROPERTY,
              getCompletedAction());
       }
      monitor.done();
       return Status.OK_STATUS;
      
  }



by


Tags : , , , , , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

대용량 텍스트 편집기. 대용량 문서 에디터 이엠에디터(EmEditor Text Editor)[Emeditor,large file,대용량 텍스트 편집,이엠에디터,대용량 문서 에디터]

이미지출처 : www.emeditor.com

Emurasoft EmEditor(http://www.emeditor.com/)

EmEditor Text Editor is a lightweight yet extendable, easy-to-use text editor for Windows. EmEditor is very customizable, and it supports Unicode and powerful macros. EmEditor is certified for Windows Vista! The x64 Edition is also available! The portable version is also available for USB drive setup!



거의 600메가에 다다르는 대용량 텍스트를 약간 손봐야 할 일이 생겨서,

(Editplus,MSWord,한글에서 시도를 해봤으나, 파일을 열다가 피토하고 쓰러졌다.)



대용량 텍스트를 안정적으로 편집할 수 있는 편집기를 찾다가 찾아낸 텍스트 에디터 EmEditor.



대용량 파일 편집에 특화되어 있다고 한다.



Emurasoft 사이트에서 30일 트라이얼 버젼을 다운로드 받을 수 있다.



Find and Replace(마음에 드는 기능) ★★★★★

EmEditor



반복되는 특정부분을 찾아서 몽땅 원하는 텍스트로 바꾸려고 할때, 보통 텍스트 에디터들에서는 한줄을 기준으로 이 일을 한다. 하지만, EmEditor에서는 Regular Expression(정규표현식)을 지원한다!


이엠에디터(EMeditor)는 정말 마음에 드는 텍스트 에디터다.:D



by


Tags : , , , , , , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

유니버설 스튜디오 (Universal studio) [헐리우드,LA,유니버설 스튜디오,여행,로스엔젤레스,미국,Los angeles,universal studio]

이미지출처 : alonsorincon.wordpress.com

많은 영화의 셋트장이 있는 유니버설 스튜디오!

인증샷 - 유니버설 스튜디오 (Universal studio) [헐리우드,LA,유니버설 스튜디오,여행,로스엔젤레스,미국,Los angeles,universal studio]

[입구]



뭐 특별한게 있겠나 싶었지만, 들어가보니 재미있는것들이 많았다.



영화들을 테마로 시나리오를 탄탄하게 짜서, 체험하는곳도 있고, 공연도 있고, 즐거웠다.



다양한 특수효과, 특수분장의 비밀(?)도 알게되고, 3D로 보는 터미네이터도 색다른 재미가 있었다.



파이어웍스(Fireworks) - 유니버설 스튜디오 (Universal studio) [파이어웍스,fireworks,헐리우드,LA,유니버설 스튜디오,여행,로스엔젤레스,미국,Los angeles,universal studio]

[불을 이용한 특수효과 체험 - fireworks]



이곳에는 탈만한 놀이기구는 몇개 없었는데 그중에 하나인 쥬라기공원은 후름라이드같은 물에서 가는 놀이기구다. 배타고 가고있으면 목도리도마뱀같은놈들이 입에서 물을 쏴대서 옷이 다 젖게 되므로, 잘 마르는 옷을 입고가는게 좋다. 놀이기구 앞에서 우비를 팔지만, 그거까지 사서 입고 싶진 않았다.



쥬라기 공원 (Jurassic park) - 유니버설 스튜디오 (Universal studio) [헐리우드,LA,유니버설 스튜디오,여행,로스엔젤레스,미국,Los angeles,universal studio]

[쥬라기공원 - jurassic park]



신기했던것중에 하나는, 에스컬레이터가 꽤 길었는데, 똥싸지 말라는 표지판이 있었다.

아무리 급하더라도 화장실에 가서 일을 보도록 하자.



에스컬레이터 표지판 - 유니버설 스튜디오 (Universal studio) [헐리우드,LA,유니버설 스튜디오,여행,로스엔젤레스,미국,Los angeles,universal studio]

[에스컬레이터 표지판 대변금지 - No put shit here?]



가장 재미있던것은 버스로 하는 세트 투어! 정말 다양한 영화 셋트를 볼 수 있었고, 버스가 가는길에도 여러가지 이벤트가 벌어졌다.



분수셋트 - 유니버설 스튜디오 (Universal studio) [헐리우드,LA,유니버설 스튜디오,여행,로스엔젤레스,미국,Los angeles,universal studio]

[공포영화 수십편에 등장했다는 분수셋트]



추락한 비행기 - 유니버설 스튜디오 (Universal studio) [헐리우드,LA,유니버설 스튜디오,여행,로스엔젤레스,미국,Los angeles,universal studio]

[비행기 추락?!]



각 체험별로 시간대를 잘 맞추면, 다양하게 잘 구경하고 올 수 있다.:D



by


Tags : , , , , , , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

샌디에고 씨월드(Seaworld - San diego) [샌디에고,씨월드,수족관,수중생물,테마파크,san diego,seaworld,theme park]

이미지출처 : tulipfleurs.wordpress.com

켈리포니아 여행에서 처음으로 방문했던곳은 샌디에고에 있는 Seaworld였다.

수중생물들만으로 이렇게 큰 공원을 만들어 놓은것에 놀랐다.



나중에 먼훗날에 결혼하고 아이가 생기면, 애 데리고 오면 참 좋겠다는 생각이 들었다.



아무래도 이곳에서 가장 볼만한건 역시 고래?고래?고래!




상어(shark) - 샌디에고 씨월드(Seaworld - San diego) [상어,shark,샌디에고,씨월드,수족관,수중생물,테마파크,san diego,seaworld,theme park]

[얘는 고래가 아니라 상어 - It’s not a whale.]



하얀 돌고래(Whitre whale) - 샌디에고 씨월드(Seaworld - San diego) [하얀 돌고래,white whale,샌디에고,씨월드,수족관,수중생물,테마파크,san diego,seaworld,theme park]

[얘는 귀여운 하얀 돌고래 - White whale.]



범고래(Killer whale) - 샌디에고 씨월드(Seaworld - San diego) [범고래,killer whale,샌디에고,씨월드,수족관,수중생물,테마파크,san diego,seaworld,theme park]

[얘는 대빵 범고래 - killer whale.]



돌고래 쇼도 보고, 샤무(Shamu)라고 유명한 엄청 큰 범고래 쇼도 보았는데, 애가 컨디션이 안좋은지, 별로 많은걸 보여주지 않고 들어갔다. 하긴 하루에 몇탕씩 쇼할라면 힘들기도 할꺼 같아서 아쉬운 마음을 뒤로하고 나왔다.



샤무 쇼 (Shamu show) - 샌디에고 씨월드(Seaworld - San diego) [범고래,killer whale,샤무,shamu,샌디에고,씨월드,수족관,수중생물,테마파크,san diego,seaworld,theme park]

[샤무 쇼! - Shamu show]



내가 좋아하는 물개들은 아쉽게도 사진을 찍어오지 못했는데, 그 소리만큼은 아직도 귓속에 생생하게 남아있다. ‘옹옹옹옹~~ 옹옹~ 옹옹~’ 귀여운것들..



물개만큼 귀엽진 않지만 나름 도도하게 서있는 황제팽귄들도 보았다.



황제팽귄(Emperor penguin) - 샌디에고 씨월드(Seaworld - San diego) [황제팽귄,Emperor penguin,샌디에고,씨월드,수족관,수중생물,테마파크,san diego,seaworld,theme park]

[황제팽귄 - Emperor penguin]



그리고 좋았던건 돌고래나 가오리등을 만져볼 수 있는 장소가 있다는건데, 돌고래는 워낙 팬클럽이 진을치고 있어서 조금 한가한 가오리를 만져보았는데, 엄청 부드러웠다. 꼭 순두부 만지는 느낌?! 어쨌거나 다양한 바다생물들을 볼 수 있었던 괜찮은 곳이었다.



새 - 샌디에고 씨월드(Seaworld - San diego) [샌디에고,씨월드,수족관,수중생물,테마파크,san diego,seaworld,theme park]

[물속의 가오리를 바라보고있는 새]



뭐 사실 이곳에 감동할만한 볼거리는 없지만, 귀여운 녀석들이 가득하다.



충분히 가볼만한 가치가 있는곳.



샌디에고에 가게되면 한번쯤 들러보시라~!



—-


Open english content






by


Tags : , , , , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!