Widoki
Widoki - wprowadzenie Do czego służą widoki?
Widoki - wprowadzenie
Widoki - wprowadzenie
Widoki - powtórka
Cykl życia init dispose createPartControl dispose Composite
Tworzenie nowego widoku
Tworzenie nowego widoku public class SuperViewPart extends ViewPart { public SuperViewPart(){ // TODO Auto-generated constr... } @Override public void createPartControl (Composite parent){ // TODO Auto-generated method stub public void setFocus() {
Tworzenie nowego widoku
Tworzenie kategorii
Osadzenie komponentów Label label; label = new Label(parent, SWT.NONE); label.setText("Selected component"); label.setText("Selected Super View");
Słuchanie public class SuperViewPart extends ViewPart implements ISelectionListener{ public void selectionChanged( IWorkbenchPart part, ISelection selection){ label.setText(selection.toString()); label.setToolTipText(part.getTitle()); } getSite().getPage(). addSelectionListener(this);
Działanie Akcje Toolbar MenuButton Context Menu Główne
Dodanie komendy Punkt org.eclipse.ui.commands New command, AbstractHandler Id, name, default handler public class HelloCommand extends AbstractHandler { public Object execute(ExecutionEvent event) throws ExecutionException { IWorkbenchWindow window = HandlerUtil .getActiveWorkbenchWindowChecked(event); MessageDialog.openInformation(window.getShell(), "?", "Hello"); return null; } public boolean isEnabled() { return true; }
Dodanie komendy
Toolbar
Toolbar
Tworzenie nowego widoku
MenuButton Copy-paste command
Popup Menu
Popup Menu MenuManager menuManager = new MenuManager(); label.setMenu( menuManager.createContextMenu(parent)); getSite() .registerContextMenu( menuManager, .getSelectionProvider() );
Main menu
Predefiniowane akcje IActionBars bars = getViewSite().getActionBars(); bars.setGlobalActionHandler( ActionFactory.COPY.getId(), new Action(){ @Override public void run() { MessageDialog.openInformation( parent.getShell(), "Copy", "To be done"); } });
Pytania
Pasek statusu
Sztuczne pozycje komend toolbar:org.eclipse.ui.main.toolbar popup:org.eclipse.ui.popup.any
Przechowywanie danych IMemento XMLMemento init(ViewPart, IMemento) saveState(IMemento)