반응형

RCP

    RCP ActivePage Hide and Show

    IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();IViewReference viewReference = activePage.findViewReference(ContentTreeViewer.ID);if (viewReference == null) {try {activePage.showView(ContentTreeViewer.ID);} catch (PartInitException e) {LOGGER.error("OpenSlipView Error : " , e);}} else {activePage.hideView(viewReference);}

    RCP ProgressDialog를 이용한 TableViewer 데이터 엑셀로 내보내기

    public void processExcelExport(ExcelExportActionNotification object) { Display.getDefault().syncExec(new Runnable() { public void run() { try { FileDialog fd = new FileDialog(object.getTable().getControl().getShell(), SWT.SAVE); fd.setText("Save"); fd.setFilterPath("C:/"); String[] filterExt = {"*.xls", "*.*" }; fd.setFilterExtensions(filterExt); String path = fd.open(); if (path == null || path..

    JFACE new Window의 다이얼로그 생성

    독립창으로 다이얼로그 생성새로운 독립창에 dialog를 생성하고 싶은 경우에는 다음과 같이 설정한다. 예를들어 a 라는 다이얼로그를 생성할 때, parent Shell을 null 값을 전달하며 새로운 창에 다이얼로그가 생성된다. Dialog a = new Dialog(null);a.open(); 생성된 다이얼로그는 독립된 task bar에 아이콘을 가지게 된다. 다른 창보다 강제로 상위에 표시a.forceActive();a.forceFocus(); blocking 해제 방법a.setBlockOnOpen(false);

    RCP workbench 글로벌 후크

    글로벌 application의 키, 마우스 이벤트를 감지하기 위해서는 워크벤치에서 activeWorkbenchWindow의 shell에서 getdisplay().addfilter를 통해 등록을 해줘야 한다. addFilter(swt.keydown, new listener() {Public void handle(event e) { }} Shell에 있는 filter에 있는 리스너는 다른 위젯 리스너에 도달하기전에 모든 이벤트를 먼저 필터한다. 그렇기 때문에 해당 이벤트 필터는 다른 이벤트를 못가게 막을 수도 있고 이벤트 사이에 필드를 지정할 수 있다. 그래서 event 필터는 강력하지만 위험하다. 그래서 잘 하지않는다.

    shell Listener

    shell에 리스너를 추가하여 shell이 최소화 되었을 때, 다시 최대화 되었을 때, 활성화 됬을 때 종료됬을 때 등 shell 자체의 이벤트에 대한 리스너를 설정할 수 있다. shell.addShellListener(new ShellListener() { public void shellActivated(ShellEvent event) { System.out.println("activate"); } public void shellClosed(ShellEvent arg0) { System.out.println("close"); } public void shellDeactivated(ShellEvent arg0) { } public void shellDeiconified(ShellEvent arg0) { ..

    RCP ActivePage에 특정 View 열기

    RCP ActivePage에 특정 View 열기 IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();IViewReference viewReference = activePage.findViewReference(SlipView.ID); if (viewReference == null) { try { activePage.showView(SlipView.ID); } catch (PartInitException e) { LOGGER.error("OpenSlipView Error : " , e); }}

    rcp 구조 및 기초

    WorkbenchAdvisor( 대상 선정)WorkbenchAdvisor는 애플리케이션 생명 주기의 각 단계전에 작업을 처리한다.어떻게 그리고 누구를 그릴지 설정한다. Public class ExampleAdvisor extends WorkbenchAdvisor{Public String getInitialWindowPerspectiveID() {} Public void preWindow(IWorkbenchWindowConfigurer configurer) // 워크 벤치 외양에 대한 설정{Configurer.setText("test");Configurer.setInitialSize(new Point(10,10)_); } } preStartup() 시작전에 나타낼 부분 사용prewindowOpen() 윈도..

    스플래시 이미지를 png 파일로 할 수 없는이유

    Look here http://wiki.eclipse.org/Equinox_Launcherfor some details on the -showsplash argument which controls the initialdisplaying of the splash screen in the launcher. There are really three phases to the splash screen when eclipse starts:1) Native code, before java starts2) Java calling out to Native code from Main, before OSGi starts3) Java code working through SWT, after workbench starts Fo..

    대용량 테이블 조회가 가능한 Nattable 예제 실행 방법

    TableViewer로는 대용량 데이터를 가져오는데 한계가 있다. 그래서 이클립스에서 제공하는 nattable을 사용하면 조금 더 빠르게 대용량 데이터를 가져올 수 있다. 그 nattable의 예제와 소스코드를 볼 수 있는 방법을 소개한다. 첨부된 파일 두개를 모두 다운 받고 cmd 창에서 다음 명령어를 실행시킨다. java -cp org.eclipse.swt.win32.win32.x86_64-4.3.jar;NatTableExamples-0.9.0.jar org.eclipse.nebula.widgets.nattable.examples.NatTableExamples 관련 주소https://eclipse.org/nattable/documentation.php?page=getting_started

    OSGI & Platform

    OSGI?다양한 이클립스의 런타임 매커니즘을 하나로 묶어서 사용할 수 있도록 만든 런타임 모델이 OSGI 런타임 모델이다. Platform현재 실행중인 이클립스 환경에 대한 정보를 제공한다. 이 클래스를 사용해 설치되어 있는 플러그인(번들),. 확장, 확장점, 명령행 인자 , 작업관리자 등의 정보를 얻을 수 있다.Ex ) getProduct() 현재 실행 중인 이클립스 제품 정보를 반환한다.

반응형