2009-07-20 6 views
2

Eclipse RCP의 편집자와 연관된 기본 SAVE 및 CANCEL 단추가 있다고 생각합니다. 어떻게 이러한 버튼을 편집기에 표시 할 수 있습니까?Eclipse RCP : 편집기에서 기본 저장 버튼을 표시하는 방법은 무엇입니까?

기본적으로이 단추는 표시되지 않으며 편집기에 SAVE CANCEL 단추를 표시하려면 재정의해야하는 수퍼 클래스 메서드가있을 수 있습니다. 나는 그런 것을 들었음을 기억한다. (내가 틀릴 수도 있습니다)

어쨌든 우리는 이것을 어떻게합니까? (추신 : 나는 사용자 지정 SWT 단추를 찾고 이름을 '저장'. 편집기와 관련된 기본 SAVE 단추를 찾고 있는데 (그런 경우)).

답변

3

버튼은 편집자와 직접적인 관련이 없습니다.
당신은해야, described there)로 다음 commandId이 IWorkbenchActionDefinitionIds 예에서 찾을 수있는 표준 명령 ID로 설정하여

  • 메뉴 기여 추가 org.eclipse.ui.file.save

  • ApplicationActionBarAdvisor.makeActions에 명령을 작성하여 등록하십시오.

:
protected void makeActions(final IWorkbenchWindow window) { 
    // Creates the actions and registers them. 
    // Registering is needed to ensure that key bindings work. 
    // The corresponding commands keybindings are defined in the plugin.xml 
    // file. 
    // Registering also provides automatic disposal of the actions when 
    // the window is closed. 
    saveAction = ActionFactory.SAVE.create(window); 
    register(saveAction); 
} 
  • Editor 부분적으로 더러운 플래그를 추가하고 isDirty(), setDirty()clean() 방법을 구현한다. user s-d에서 업데이트 2013년 2월

:

참고 : 추가하기 ActionBarContributorsaveAction 인디고 R2 (3.7.2)에 따라 더 이상 필요 개의 RCP에 없습니다.
제안 편집에 대한 감사의-D @

public void commandStackChanged(EventObject event) { 
    firePropertyChange(PROP_DIRTY); 
    super.commandStackChanged(event); 
} 
+0

을 다음과 같이이의 menuContribution 추가 편집기의 doSave() 방법에 를 추가하고 commandStackChanged()를 대체하기에 충분하다. – VonC

관련 문제