@Override protected Object createLowerView(Composite parent) { // Tree viewer for variable structure ... fTree = new Tree(parent, SWT.BORDER); fTree.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent arg0) { // https://jira.jboss.org/browse/JBIDE-7107 // update "OK" button enablement updateOkState(); } }); fTreeViewer = new TreeViewer(fTree); fTreeViewer.setContentProvider(treeContentProvider); fTreeViewer.setLabelProvider(new ModelTreeLabelProvider()); fTreeViewer.setInput(null); fTreeViewer.setAutoExpandLevel(getAutoExpandLevel()); // end tree viewer for variable structure GridData data = new GridData(); data.grabExcessVerticalSpace = true; data.grabExcessHorizontalSpace = true; data.horizontalAlignment = GridData.FILL; data.verticalAlignment = GridData.FILL; data.minimumHeight = 200; fTree.setLayoutData(data); return fTree; }
public TreeSources(ApplicationFactory factory, Composite parent) { super(parent); setLayout(new FillLayout()); tree = factory.createTree(this, SWT.MULTI); tree.setLinesVisible(false); createMenu(tree, factory); tree.addMouseListener( new MouseAdapter() { @SuppressWarnings("unused") public void mouseDown(MouseEvent arg0) { clickMouse = true; } }); tree.addTreeListener( new TreeAdapter() { @SuppressWarnings("unused") public void treeCollapsed(TreeEvent arg0) { clickMouse = false; } @SuppressWarnings("unused") public void treeExpanded(TreeEvent arg0) { clickMouse = false; } }); tree.addSelectionListener( new SelectionAdapter() { @SuppressWarnings("unused") public void widgetSelected(SelectionEvent event) { if (!clickMouse) return; clickMouse = false; if (tree.getSelectionCount() < 1) return; TreeItem selectedItem = tree.getSelection()[0]; TreeItem parentItem = selectedItem.getParentItem(); if (parentItem == null) { new LoadGroupCategorySource( TreeSources.this, new Worker[0], null, selectedItem.getText()); creator.selectData(new Worker[0], null, selectedItem.getText()); return; } String category = parentItem.getText(); String name = selectedItem.getText(); creator.setSource(null, category, name, false); } }); }
private void createDynamicGroup(Composite parent) { Composite c = new Composite(parent, SWT.NONE); c.setLayoutData(new GridData(GridData.FILL_BOTH)); c.setLayout(new GridLayout(2, true)); Label l1 = new Label(c, SWT.NONE); l1.setText("Templates"); l1.setFont(parent.getFont()); l1.setLayoutData(new GridData(GridData.BEGINNING)); rightLabel = new Label(c, SWT.NONE); rightLabel.setFont(parent.getFont()); rightLabel.setText("Description"); rightLabel.setLayoutData(new GridData(GridData.BEGINNING)); tree = new Tree(c, SWT.SINGLE | SWT.BORDER); tree.setLayoutData(new GridData(GridData.FILL_BOTH)); tree.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { TreeItem[] tis = tree.getSelection(); if (tis == null || tis.length == 0) return; String description = (String) tis[0].getData(K_DESC); if (description == null) { description = ""; } choice = tis[0]; right.setText(description); // switchTo((CWizardHandler) tis[0].getData(), (EntryDescriptor) tis[0].getData(DESC)); setPageComplete(validatePage()); } }); right = new Text(c, SWT.WRAP | SWT.BORDER); right.setEditable(false); l1.setFont(parent.getFont()); right.setLayoutData(new GridData(GridData.FILL_BOTH)); loadData(); }
/* * (non-Javadoc) * * @see org.eclipse.swt.widgets.Control#pack(boolean) */ @Override public void pack(boolean changed) { if (changed) { RootContainer root = RootContainer.getRoot(project); root.update(); table.clearAll(true); table.setItemCount(0); if (tableSelectionListener != null) { table.removeSelectionListener(tableSelectionListener); } setupClasspathInfo(table, root); makeChecksConsistentWithChildren(); expandAll(table.getItems()); if (tableSelectionListener == null) { tableSelectionListener = new TableSelectionListener(); table.addSelectionListener(tableSelectionListener); } } table.pack(changed); super.pack(changed); }
private void initBaseSitTreeBlock(Composite container) { // BaseSiteTreeGroup groupBaseSite = new Group(container, SWT.BORDER); groupBaseSite.setText("基站名称"); groupBaseSite.setLayoutData(BorderLayout.WEST); formToolkit.adapt(groupBaseSite); formToolkit.paintBordersFor(groupBaseSite); // BaseSiteTree treeBaseSite = new Tree(groupBaseSite, SWT.NONE); treeBaseSite.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { System.out.println(e.item.toString()); TreeItem etim = (TreeItem) e.item; setBaseID(etim.getText()); } }); contextService.LoadBaseSiteTree(treeBaseSite); treeBaseSite.setBounds(10, 20, 200, 650); formToolkit.paintBordersFor(treeBaseSite); }
/** * Create the main content for this information control. * * @param parent The parent composite * @return The control representing the main content. * @since 3.2 */ protected Control createDialogArea(Composite parent) { setfTreeViewer(createTreeViewer(parent, fTreeStyle)); final Tree tree = getfTreeViewer().getTree(); tree.addKeyListener( new KeyListener() { public void keyPressed(KeyEvent e) { if (e.character == 0x1B) // ESC dispose(); } public void keyReleased(KeyEvent e) { // do nothing } }); tree.addSelectionListener( new SelectionListener() { public void widgetSelected(SelectionEvent e) { // do nothing } public void widgetDefaultSelected(SelectionEvent e) { gotoSelectedElement(); } }); tree.addMouseMoveListener( new MouseMoveListener() { TreeItem fLastItem = null; public void mouseMove(MouseEvent e) { if (tree.equals(e.getSource())) { Object o = tree.getItem(new Point(e.x, e.y)); if (o instanceof TreeItem) { Rectangle clientArea = tree.getClientArea(); if (!o.equals(fLastItem)) { fLastItem = (TreeItem) o; tree.setSelection(new TreeItem[] {fLastItem}); } else if (e.y - clientArea.y < tree.getItemHeight() / 4) { // Scroll up Point p = tree.toDisplay(e.x, e.y); Item item = getfTreeViewer().scrollUp(p.x, p.y); if (item instanceof TreeItem) { fLastItem = (TreeItem) item; tree.setSelection(new TreeItem[] {fLastItem}); } } else if (clientArea.y + clientArea.height - e.y < tree.getItemHeight() / 4) { // Scroll down Point p = tree.toDisplay(e.x, e.y); Item item = getfTreeViewer().scrollDown(p.x, p.y); if (item instanceof TreeItem) { fLastItem = (TreeItem) item; tree.setSelection(new TreeItem[] {fLastItem}); } } } } } }); tree.addMouseListener( new MouseAdapter() { public void mouseUp(MouseEvent e) { if (tree.getSelectionCount() < 1) return; if (e.button != 1) return; if (tree.equals(e.getSource())) { Object o = tree.getItem(new Point(e.x, e.y)); TreeItem selection = tree.getSelection()[0]; if (selection.equals(o)) gotoSelectedElement(); } } }); installFilter(); addDisposeListener(this); return getfTreeViewer().getControl(); }
public ContactTab(final Composite composite) { super(composite, 0); this.setLayout(new GridLayout(1, false)); Composite containerHeaderSession = new Composite(this, SWT.NONE); containerHeaderSession.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); containerHeaderSession.setLayout(new GridLayout(2, false)); final Combo comboSession = new Combo(containerHeaderSession, SWT.DROP_DOWN | SWT.READ_ONLY); comboSession.add("分类1"); comboSession.add("分类2"); comboSession.add("分类3"); comboSession.add("分类4"); comboSession.select(0); final Label labelHeader1 = new Label(containerHeaderSession, SWT.NONE); labelHeader1.setText("共1人"); tree = new Tree( this, /*SWT.CHECK | */ SWT.VIRTUAL | SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); tree.setLinesVisible(true); tree.setHeaderVisible(true); // tree.setRedraw(true); tree.setLayoutData(new GridData(GridData.FILL_BOTH)); for (int i = 0; i < titles.length; i++) { TreeColumn column = new TreeColumn(tree, SWT.NONE); column.setText(titles[i]); } tree.addTreeListener( new TreeAdapter() { @Override public void treeCollapsed(TreeEvent e) { super.treeCollapsed(e); expand(); } @Override public void treeExpanded(TreeEvent e) { super.treeExpanded(e); expand(); } private void expand() { // System.out.println("expand..."); isExpanding = true; Display.getDefault() .timerExec( 500, new Runnable() { public void run() { isExpanding = false; // System.out.println("isGroupClick: " + isGroupClick); } }); } }); tree.addMouseListener( new MouseAdapter() { @Override public void mouseDown(MouseEvent event) { super.mouseDown(event); } @Override public void mouseDoubleClick(MouseEvent event) { super.mouseDoubleClick(event); Point point = new Point(event.x, event.y); TreeItem item = tree.getItem(point); // System.out.println("Mouse double click: " + item); if (item != null && item.getData() != null && isExpanding == false) { ContactInfoDialog dialog = new ContactInfoDialog(getParent().getShell(), ContactInfoComposite.TYPE_EDIT); ContactInfo info = (ContactInfo) item.getData(); dialog.setData(info); if (dialog.open() == ContactInfoDialog.OK) { AppData.getInstance().getMainWin().refreshContactData(true); } } } }); tree.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { if (event.detail == SWT.CHECK) { TreeItem item = (TreeItem) event.item; boolean checked = item.getChecked(); UIUtil.checkItems(item, checked); UIUtil.checkPath(item.getParentItem(), checked, false); } else { TreeItem item = (TreeItem) event.item; ContactInfo info = null; if (item != null && item.getData() != null) { info = (ContactInfo) item.getData(); } AppData.getInstance().getMainWin().showDetail(info); } } }); setupPopupMenu(); Composite containerHeaderEdit = new Composite(this, SWT.NONE); containerHeaderEdit.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); containerHeaderEdit.setLayout(new GridLayout(7, false)); final Label labelCatalog = new Label(containerHeaderEdit, SWT.PUSH); labelCatalog.setText("小类:"); final Combo comboCatalog = new Combo(containerHeaderEdit, SWT.DROP_DOWN | SWT.READ_ONLY); comboCatalog.add("小类1"); comboCatalog.add("小类2"); final Label labelSearch = new Label(containerHeaderEdit, SWT.PUSH); labelSearch.setText("联系人搜索:"); final Text textSearch = new Text(containerHeaderEdit, SWT.BORDER); textSearch.setLayoutData(new GridData(150, SWT.DEFAULT)); final Button buttonAdd = new Button(containerHeaderEdit, SWT.PUSH); buttonAdd.setText("新增..."); buttonAdd.setLayoutData(new GridData(100, SWT.DEFAULT)); buttonAdd.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { AppData.getInstance().getMainWin().addContact(); } }); final Button buttonImport = new Button(containerHeaderEdit, SWT.PUSH); buttonImport.setText("导入..."); buttonImport.setLayoutData(new GridData(100, SWT.DEFAULT)); final Button buttonExport = new Button(containerHeaderEdit, SWT.PUSH); buttonExport.setText("导出..."); buttonExport.setLayoutData(new GridData(100, SWT.DEFAULT)); if (!USE_PACK) { for (int i = 0; i < titles.length; i++) { if (i == 0) { tree.getColumn(i).setWidth(200); } else { tree.getColumn(i).setWidth(100); } } } if (USE_VIRTUAL) { tree.addListener( SWT.SetData, new Listener() { @Override public void handleEvent(Event event) { TreeItem item = (TreeItem) event.item; TreeItem parentItem = item.getParentItem(); String text = null; if (parentItem == null) { ContactGroupInfo groupInfo = groupInfoList.get(tree.indexOf(item)); text = groupInfo.getGroupName() + " (共" + groupInfo.getSize() + "人)"; item.setText(text); item.setItemCount(groupInfo.getSize()); item.setExpanded(true); } else { ContactGroupInfo groupInfo = groupInfoList.get(tree.indexOf(parentItem)); ContactInfo info = results.get(groupInfo.getIndex(parentItem.indexOf(item))); fillItem(item, info); } if (USE_PACK) { packTable(); } } }); } reloadData(false); }
@Override public void createPartControl(final Composite parent) { final GridData gridData1 = new GridData(); gridData1.horizontalAlignment = FILL; gridData1.verticalAlignment = GridData.CENTER; final GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 1; final GridData gridData = new GridData(); gridData.grabExcessVerticalSpace = true; gridData.horizontalAlignment = FILL; gridData.verticalAlignment = FILL; gridData.grabExcessHorizontalSpace = true; final Composite top = new Composite(parent, SWT.NONE); top.setLayout(gridLayout); labelTitre = new Label(top, SWT.NONE); labelTitre.setText("Navigateur"); labelTitre.setLayoutData(gridData1); tree = new Tree(top, SWT.MULTI); tree.setLayoutData(gridData); treeViewer = new TreeViewer(tree); getSite().setSelectionProvider(treeViewer); final Image fondImage = ImageReg.getImg(IMG_VIEW_BG); tree.setBackgroundImage(fondImage); tree.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent element) { labelTitre.setText(tree.getSelection()[0].getText()); try { getViewSite().getPage().showView(NAVIGATOR_VIEW_ID); } catch (PartInitException e) { e.printStackTrace(); } } }); applyNavigatorDoubleClick(tree, getSite().getWorkbenchWindow()); treeViewer.setLabelProvider(new NavigatorLabelProvider()); treeViewer.setContentProvider(createContentProvider()); final ProjectManager manager = getProjectManager(); manager.addProjectManagerListener(this); treeViewer.setInput(manager); defineWorkbenchPopupMenu(getSite(), treeViewer); initDragAndDrop(); applyTooltipNavigator(tree); final TreeEditor editor = new TreeEditor(tree); editor.horizontalAlignment = SWT.CENTER; editor.grabHorizontal = true; editor.grabVertical = true; tree.addKeyListener(new TreeEditing(tree, editor)); final Clipboard clipboard = new Clipboard(getSite().getShell().getDisplay()); final IActionBars bars = getViewSite().getActionBars(); bars.setGlobalActionHandler(CUT.getId(), new CutStepAction(treeViewer, clipboard)); bars.setGlobalActionHandler(COPY.getId(), new CopyStepAction(treeViewer, clipboard)); bars.setGlobalActionHandler(PASTE.getId(), new PasteTreeGadgetAction(treeViewer, clipboard)); }
public void display() throws Exception { /* * Create the display and shell. */ display = new Display(); final Shell shell = new Shell(display); GridLayout layout = new GridLayout(); layout.marginWidth = 0; layout.marginHeight = 0; layout.verticalSpacing = 3; shell.setLayout(layout); /* * Create a toolbar */ { ToolBar toolbar = new ToolBar(shell, SWT.FLAT | SWT.RIGHT | SWT.NO_FOCUS); toolbar.setForeground(display.getSystemColor(SWT.COLOR_RED)); toolbar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); ToolItem item = new ToolItem(toolbar, SWT.PUSH); item.setText("File"); item = new ToolItem(toolbar, SWT.PUSH); item.setText("Edit"); item = new ToolItem(toolbar, SWT.PUSH); item.setText("Help"); } if (styleSheetStream == null) { // Create Styles themes createThemesStyleComposite(shell); } /* * Create a sash form. */ SashForm form = new SashForm(shell, SWT.NONE); form.setLayoutData(new GridData(GridData.FILL_BOTH)); /* * Create the buddylist tree. */ { tree = new Tree(form, SWT.SINGLE); tree.addSelectionListener( new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { if (((TreeItem) e.item).getParentItem() != null) { try { createChatControl(e.item); } catch (Exception ex) { ex.printStackTrace(); } } } public void widgetSelected(SelectionEvent e) {} }); for (int i = 0; i < GROUPS.length; i++) { String g = GROUPS[i]; TreeItem parentItem = new TreeItem(tree, SWT.NONE); parentItem.setText(g); for (int j = 0; j < NAMES.length; j++) { String n = NAMES[j]; TreeItem item = new TreeItem(parentItem, SWT.NONE); item.setText(n); } parentItem.setExpanded(true); } } /* * Add the tabfolder */ { tabFolder = new CTabFolder(form, SWT.CLOSE); tabFolder.setUnselectedCloseVisible(true); tabFolder.setUnselectedImageVisible(true); form.setWeights(new int[] {30, 70}); // open a couple chats createChatControl(tree.getItem(0).getItems()[0]); createChatControl(tree.getItem(0).getItems()[1]); tabFolder.setSelection(tabFolder.getItem(0)); } /* * Create a statusbar */ { CLabel statusbar = new CLabel(shell, SWT.NONE); GridData gd = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); statusbar.setLayoutData(gd); statusbar.setText("Samantha Daryn is online"); } /* * StyleHelper is used to parse and apply styles. */ engine = getCSSEngine(); if (styleSheetStream != null) { engine.parseStyleSheet(styleSheetStream); engine.applyStyles(shell, true); } /* * Now we open the shell. */ shell.setSize(new Point(600, 600)); shell.open(); shell.setText("CSS Instant Messaging"); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
/** * Create contents of the dialog. * * @param parent */ protected Control createDialogArea(Composite parent) { final Composite container = (Composite) super.createDialogArea(parent); treeViewer = new TreeViewer(container, SWT.BORDER); Tree treeResrouceProviders = treeViewer.getTree(); treeResrouceProviders.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { updateSelectedElement(); updateOKButtonStatus(); } }); treeResrouceProviders.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); treeViewer.setContentProvider( new ITreeContentProvider() { public Object[] getChildren(Object o) { return createTreeItemList(o); } private Object[] createTreeItemList(Object o) { List<Object> list = new ArrayList<Object>(); if (o instanceof IDeveloperStudioProviderData[]) { IDeveloperStudioProviderData[] oo = (IDeveloperStudioProviderData[]) o; for (IDeveloperStudioProviderData data : oo) { IDeveloperStudioProvider provider = data.getProvider(); if (isChildElementsPresent(provider)) { list.add(data); } } } else if (o instanceof IDeveloperStudioProvider || o instanceof IDeveloperStudioProviderData) { IDeveloperStudioProvider provider = o instanceof IDeveloperStudioProvider ? (IDeveloperStudioProvider) o : ((IDeveloperStudioProviderData) o).getProvider(); IDeveloperStudioElement[] resources = provider.getElements(getFilters()); if (resources != null) { list.addAll(Arrays.asList(resources)); } IDeveloperStudioProvider[] categories = provider.getCategories(getFilters()); if (categories != null) { list.addAll(Arrays.asList(categories)); } } else if (o instanceof IDeveloperStudioElement) { IDeveloperStudioElement element = (IDeveloperStudioElement) o; list.addAll(Arrays.asList(element.getChildren(getFilters()))); } return list.toArray(); } private boolean isChildElementsPresent(IDeveloperStudioProvider provider) { IDeveloperStudioElement[] resources = provider.getElements(getFilters()); IDeveloperStudioProvider[] categories = provider.getCategories(getFilters()); return (resources != null && resources.length > 0) || (categories != null && categories.length > 0); } public Object getParent(Object arg0) { return null; } public boolean hasChildren(Object o) { if (o instanceof IDeveloperStudioProviderData[]) { return ((IDeveloperStudioProviderData[]) o).length > 0; } else if (o instanceof IDeveloperStudioProviderData) { IDeveloperStudioProviderData provider = (IDeveloperStudioProviderData) o; return isChildElementsPresent(provider.getProvider()); } else if (o instanceof IDeveloperStudioProvider) { IDeveloperStudioProvider provider = (IDeveloperStudioProvider) o; return isChildElementsPresent(provider); } else if (o instanceof IDeveloperStudioElement) { IDeveloperStudioElement element = (IDeveloperStudioElement) o; return element.hasChildren(getFilters()); } return false; } public Object[] getElements(Object o) { return getChildren(o); } public void dispose() { // TODO Auto-generated method stub } public void inputChanged(Viewer arg0, Object arg1, Object arg2) { // TODO Auto-generated method stub } }); treeViewer.setLabelProvider( new ILabelProvider() { public Image getImage(Object o) { if (o instanceof IDeveloperStudioProviderData) { IDeveloperStudioProviderData oo = (IDeveloperStudioProviderData) o; if (oo.getProvider().getIcon() != null) { return oo.getProvider().getIcon().createImage(); } } else if (o instanceof IDeveloperStudioProvider) { IDeveloperStudioProvider provider = (IDeveloperStudioProvider) o; if (provider.getIcon() != null) { return provider.getIcon().createImage(); } } else if (o instanceof IDeveloperStudioElement) { IDeveloperStudioElement resource = (IDeveloperStudioElement) o; if (resource.getIcon() != null) { return resource.getIcon().createImage(); } } return null; } public String getText(Object o) { if (o instanceof IDeveloperStudioProviderData) { IDeveloperStudioProviderData oo = (IDeveloperStudioProviderData) o; return oo.getName(); } else if (o instanceof IDeveloperStudioProvider) { IDeveloperStudioProvider provider = (IDeveloperStudioProvider) o; return provider.getText(); } else if (o instanceof IDeveloperStudioElement) { IDeveloperStudioElement resource = (IDeveloperStudioElement) o; return resource.getText(); } return null; } public void addListener(ILabelProviderListener arg0) {} public void dispose() {} public boolean isLabelProperty(Object arg0, String arg1) { return false; } public void removeListener(ILabelProviderListener arg0) {} }); List<Object> list = new ArrayList<Object>(); List<Class<?>> typesList = Arrays.asList(type); // IRegistryFile.class, IEsbEndpoint.class, IEsbSequence.class, IEsbLocalEntry.class if (typesList.contains(IRegistryFile.class)) { list.addAll(Arrays.asList(RegistryManager.getResourceProviders(true))); } if (typesList.contains(IEsbEndpoint.class)) { list.addAll(Arrays.asList(EsbConfigurationManager.getEndpointProviders(true))); } if (typesList.contains(IEsbSequence.class)) { list.addAll(Arrays.asList(EsbConfigurationManager.getSequenceProviders(true))); } if (typesList.contains(IEsbLocalEntry.class)) { list.addAll(Arrays.asList(EsbConfigurationManager.getLocalEntryProviders(true))); } treeViewer.setInput(list.toArray(new IDeveloperStudioProviderData[] {})); if (showOpenResourceCheckBox) { chkOpenResource = new Button(container, SWT.CHECK); chkOpenResource.setText("Open the resource for editing"); } if (showCreateNewResourceLink) { createNewLink = new Link(container, SWT.NONE); createNewLink.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { openNewResourceTemplateDialog(); } }); createNewLink.setText("<a>Create && point to a new DataMapper Configuration. </a>"); } return container; }
@Override protected void addToMainPage(Composite container) { super.addToMainPage(container); Group optionsGroup = new Group(container, SWT.NONE); optionsGroup.setLayoutData(new GridData(GridData.FILL_BOTH)); optionsGroup.setLayout(new GridLayout(1, true)); optionsGroup.setText( MakeUIPlugin.getResourceString( "WizardMakeProjectConversion.projectOptions.title")); //$NON-NLS-1$ Composite c = new Composite(optionsGroup, SWT.NONE); c.setLayoutData(new GridData(GridData.FILL_BOTH)); c.setLayout(new GridLayout(2, true)); specifyProjectTypeButton = new Button(c, SWT.CHECK); specifyProjectTypeButton.setText( MakeUIPlugin.getResourceString( "WizardMakeProjectConversion.projectOptions.projectType")); //$NON-NLS-1$ GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalSpan = 2; specifyProjectTypeButton.setLayoutData(gd); specifyProjectTypeButton.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { enableProjectTypeControls(specifyProjectTypeButton.getSelection()); } }); left_label = new Label(c, SWT.NONE); left_label.setText( MakeUIPlugin.getResourceString( "WizardMakeProjectConversion.projectOptions.projectTypeTable")); //$NON-NLS-1$ left_label.setFont(container.getFont()); left_label.setLayoutData(new GridData(GridData.BEGINNING)); right_label = new Label(c, SWT.NONE); right_label.setFont(container.getFont()); right_label.setLayoutData(new GridData(GridData.BEGINNING)); tree = new Tree(c, SWT.SINGLE | SWT.BORDER); tree.setLayoutData(new GridData(GridData.FILL_BOTH)); tree.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { TreeItem[] tis = tree.getSelection(); if (tis == null || tis.length == 0) return; switchTo( (CWizardHandler) tis[0].getData(), (EntryDescriptor) tis[0].getData(CDTMainWizardPage.DESC)); } }); right = new Composite(c, SWT.NONE); right.setLayoutData(new GridData(GridData.FILL_BOTH)); right.setLayout(new PageLayout()); show_sup = new Button(c, SWT.CHECK); show_sup.setSelection(true); show_sup.setText( MakeUIPlugin.getResourceString( "WizardMakeProjectConversion.projectOptions.showSuppressed")); //$NON-NLS-1$ gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalSpan = 2; show_sup.setLayoutData(gd); final IWizardItemsListListener filter = new IWizardItemsListListener() { // Show only category public List<EntryDescriptor> filterItems(List<? extends EntryDescriptor> items) { List<EntryDescriptor> results = new ArrayList<EntryDescriptor>(); for (EntryDescriptor entry : items) { if (entry.isCategory()) { results.add(entry); } } return results; } public boolean isCurrent() { return true; } public void toolChainListChanged(int count) { // Do nothing } }; show_sup.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (h_selected != null) h_selected.setSupportedOnly(show_sup.getSelection()); switchTo( CDTMainWizardPage.updateData(tree, right, show_sup, filter, null), CDTMainWizardPage.getDescriptor(tree)); } }); CDTPrefUtil.readPreferredTCs(); switchTo( CDTMainWizardPage.updateData(tree, right, show_sup, filter, null), CDTMainWizardPage.getDescriptor(tree)); specifyProjectTypeButton.setSelection(true); enableProjectTypeControls(true); }
private Section createFileSection(Composite container) { Section filesSection = toolkit.createSection( container, ExpandableComposite.TITLE_BAR | ExpandableComposite.CLIENT_INDENT); GridDataFactory.fillDefaults().grab(true, true).applyTo(filesSection); Composite filesArea = toolkit.createComposite(filesSection); filesSection.setClient(filesArea); toolkit.paintBordersFor(filesArea); GridLayoutFactory.fillDefaults().extendedMargins(2, 2, 2, 2).applyTo(filesArea); ToolBar filesToolbar = new ToolBar(filesSection, SWT.FLAT); filesSection.setTextClient(filesToolbar); PatternFilter patternFilter = new PatternFilter() { @Override protected boolean isLeafMatch(Viewer viewer, Object element) { if (element instanceof CommitItem) { CommitItem commitItem = (CommitItem) element; return wordMatches(commitItem.path); } return super.isLeafMatch(viewer, element); } }; patternFilter.setIncludeLeadingWildcard(true); FilteredCheckboxTree resourcesTreeComposite = new FilteredCheckboxTree(filesArea, toolkit, SWT.FULL_SELECTION, patternFilter) { @Override protected WorkbenchJob doCreateRefreshJob() { // workaround for file filter not having an explicit change // listener WorkbenchJob filterJob = super.doCreateRefreshJob(); filterJob.addJobChangeListener( new JobChangeAdapter() { public void done(IJobChangeEvent event) { if (event.getResult().isOK()) { getDisplay() .asyncExec( new Runnable() { public void run() { updateFileSectionText(); } }); } } }); return filterJob; } }; Tree resourcesTree = resourcesTreeComposite.getViewer().getTree(); resourcesTree.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TREE_BORDER); resourcesTreeComposite.setLayoutData( GridDataFactory.fillDefaults().hint(600, 200).grab(true, true).create()); resourcesTree.addSelectionListener(new CommitItemSelectionListener()); resourcesTree.setHeaderVisible(true); TreeColumn statCol = new TreeColumn(resourcesTree, SWT.LEFT); statCol.setText(UIText.CommitDialog_Status); statCol.setWidth(150); statCol.addSelectionListener(new HeaderSelectionListener(CommitItem.Order.ByStatus)); TreeColumn resourceCol = new TreeColumn(resourcesTree, SWT.LEFT); resourceCol.setText(UIText.CommitDialog_Path); resourceCol.setWidth(415); resourceCol.addSelectionListener(new HeaderSelectionListener(CommitItem.Order.ByFile)); filesViewer = resourcesTreeComposite.getCheckboxTreeViewer(); new TreeViewerColumn(filesViewer, statCol).setLabelProvider(createStatusLabelProvider()); new TreeViewerColumn(filesViewer, resourceCol).setLabelProvider(new CommitPathLabelProvider()); ColumnViewerToolTipSupport.enableFor(filesViewer); filesViewer.setContentProvider(new CommitFileContentProvider()); filesViewer.setUseHashlookup(true); IDialogSettings settings = org.eclipse.egit.ui.Activator.getDefault().getDialogSettings(); if (settings.get(SHOW_UNTRACKED_PREF) != null) { // note, no matter how the dialog settings are, if // the preferences force us to include untracked files // we must show them showUntracked = Boolean.valueOf(settings.get(SHOW_UNTRACKED_PREF)).booleanValue() || getPreferenceStore().getBoolean(UIPreferences.COMMIT_DIALOG_INCLUDE_UNTRACKED); } filesViewer.addFilter(new CommitItemFilter()); filesViewer.setInput(items.toArray()); MenuManager menuManager = new MenuManager(); menuManager.setRemoveAllWhenShown(true); menuManager.addMenuListener(createContextMenuListener()); filesViewer.getTree().setMenu(menuManager.createContextMenu(filesViewer.getTree())); filesViewer.addCheckStateListener( new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { updateFileSectionText(); } }); showUntrackedItem = new ToolItem(filesToolbar, SWT.CHECK); Image showUntrackedImage = UIIcons.UNTRACKED_FILE.createImage(); UIUtils.hookDisposal(showUntrackedItem, showUntrackedImage); showUntrackedItem.setImage(showUntrackedImage); showUntrackedItem.setToolTipText(UIText.CommitDialog_ShowUntrackedFiles); showUntrackedItem.setSelection(showUntracked); showUntrackedItem.addSelectionListener( new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { showUntracked = showUntrackedItem.getSelection(); filesViewer.refresh(true); updateFileSectionText(); updateMessage(); } }); ToolItem checkAllItem = new ToolItem(filesToolbar, SWT.PUSH); Image checkImage = UIIcons.CHECK_ALL.createImage(); UIUtils.hookDisposal(checkAllItem, checkImage); checkAllItem.setImage(checkImage); checkAllItem.setToolTipText(UIText.CommitDialog_SelectAll); checkAllItem.addSelectionListener( new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { filesViewer.setAllChecked(true); updateFileSectionText(); updateMessage(); } }); ToolItem uncheckAllItem = new ToolItem(filesToolbar, SWT.PUSH); Image uncheckImage = UIIcons.UNCHECK_ALL.createImage(); UIUtils.hookDisposal(uncheckAllItem, uncheckImage); uncheckAllItem.setImage(uncheckImage); uncheckAllItem.setToolTipText(UIText.CommitDialog_DeselectAll); uncheckAllItem.addSelectionListener( new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { filesViewer.setAllChecked(false); updateFileSectionText(); updateMessage(); } }); if (!allowToChangeSelection) { amendingItem.setSelection(false); amendingItem.setEnabled(false); showUntrackedItem.setSelection(false); showUntrackedItem.setEnabled(false); checkAllItem.setEnabled(false); uncheckAllItem.setEnabled(false); filesViewer.addCheckStateListener( new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { if (!event.getChecked()) filesViewer.setAllChecked(true); updateFileSectionText(); } }); filesViewer.setAllChecked(true); } else { final boolean includeUntracked = getPreferenceStore().getBoolean(UIPreferences.COMMIT_DIALOG_INCLUDE_UNTRACKED); for (CommitItem item : items) { if (!preselectAll && !preselectedFiles.contains(item.path)) continue; if (item.status == Status.ASSUME_UNCHANGED) continue; if (!includeUntracked && item.status == Status.UNTRACKED) continue; filesViewer.setChecked(item, true); } } statCol.pack(); resourceCol.pack(); return filesSection; }
/** * Create the composite. * * @param parent * @param style */ public RecoverData(Composite parent, int style) { super(parent, style); setLayout(new GridLayout(3, false)); tree = new Tree(this, SWT.BORDER); GridData gd_tree = new GridData(SWT.FILL, SWT.FILL, false, true, 1, 2); gd_tree.widthHint = 150; tree.setLayoutData(gd_tree); tree.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent arg0) { table.removeAll(); table.setItemCount(0); Display.getDefault() .syncExec( new Runnable() { @Override public void run() { populateTable(tree); } }); } }); ScrolledComposite scrolledComposite = new ScrolledComposite(this, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); GridData gd_scrolledComposite = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1); gd_scrolledComposite.widthHint = 140; gd_scrolledComposite.heightHint = 56; scrolledComposite.setLayoutData(gd_scrolledComposite); scrolledComposite.setExpandHorizontal(true); scrolledComposite.setExpandVertical(true); table = new Table(scrolledComposite, SWT.BORDER | SWT.FULL_SELECTION); table.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent arg0) { TableItem row = table.getItem(table.getSelectionIndex()); final String path = row.getText(2); Display.getDefault() .syncExec( new Runnable() { @Override public void run() { // hex.ViewHexDump(path); showHexDump(path); showPic(path); } }); } }); table.setHeaderVisible(true); table.setLinesVisible(true); TableColumn tblclmnFileName = new TableColumn(table, SWT.NONE); tblclmnFileName.setWidth(100); tblclmnFileName.setText("File Name"); TableColumn tblclmnSize = new TableColumn(table, SWT.NONE); tblclmnSize.setWidth(50); tblclmnSize.setText("Size"); TableColumn tblclmnPath = new TableColumn(table, SWT.NONE); tblclmnPath.setWidth(-245); tblclmnPath.setText("Path"); scrolledComposite.setContent(table); scrolledComposite.setMinSize(table.computeSize(SWT.DEFAULT, SWT.DEFAULT)); canvas = new Canvas(this, SWT.BORDER); canvas.setLayout(new GridLayout(1, false)); GridData gd_scrolledComposite_1 = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); gd_scrolledComposite_1.widthHint = 119; canvas.setLayoutData(gd_scrolledComposite_1); label = new Label(canvas, SWT.BORDER); label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); hexview = new HexViewer(this, SWT.NONE); hexview.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 2, 1)); }
/** * Create contents of the wizard. * * @param parent */ public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NULL); setControl(container); container.setLayout(new FormLayout()); treeViewer = new TreeViewer(container, SWT.BORDER); final Tree tree_Collection = treeViewer.getTree(); tree_Collection.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { str = treeViewer.getTree().getSelection()[0].getText(); } }); FormData fd_tree_Collection = new FormData(); fd_tree_Collection.top = new FormAttachment(0, 3); fd_tree_Collection.right = new FormAttachment(100); fd_tree_Collection.left = new FormAttachment(0, 3); tree_Collection.setLayoutData(fd_tree_Collection); tree_Collection.addMouseListener( new MouseAdapter() { @Override public void mouseDoubleClick(MouseEvent e) { TreeItem[] items = treeViewer.getTree().getSelection(); if (items[0].getExpanded()) { items[0].setExpanded(false); } else { treeViewer.expandToLevel(items[0].getData(), 1); } if (items[0].getText().equals("/...")) { String[] list; ExportActionWizard tes = (ExportActionWizard) getWizard(); list = tes.str.split("/"); String str = " /"; for (int i = 1; i < (list.length) - 1; i++) { str += list[i] + "/"; } tes.str = str; treeViewer.setInput(createDummyModel()); treeViewer.expandToLevel(2); } } }); treeViewer.setContentProvider(new CopyViewContentProvider()); treeViewer.setLabelProvider(new CopyViewLabelProvider()); treeViewer.setSorter(new NameSorter()); Composite composite = new Composite(container, SWT.NONE); fd_tree_Collection.bottom = new FormAttachment(composite, -1); FormData fd_composite = new FormData(); fd_composite.bottom = new FormAttachment(100, -10); fd_composite.top = new FormAttachment(100, -36); fd_composite.left = new FormAttachment(0, 14); fd_composite.right = new FormAttachment(100); composite.setLayoutData(fd_composite); composite.setLayout(new GridLayout(2, true)); btnall = new Button(composite, SWT.RADIO); btnall.setSelection(true); btnall.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); btnall.setText("All Entries"); btnsome = new Button(composite, SWT.RADIO); btnsome.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); btnsome.setText("Some Entries(Query)"); initTree(); }
@Override public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); container.setLayout(layout); layout.numColumns = 3; // layout.verticalSpacing = 5; Label label = new Label(container, SWT.NULL); label.setText(Messages.CmsisCodeTemplateNewWizardPage_Project); projectText = new Text(container, SWT.BORDER | SWT.SINGLE); projectText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); projectText.addModifyListener( new ModifyListener() { @Override public void modifyText(ModifyEvent e) { projectChanged(); } }); projectBrowse = new Button(container, SWT.PUSH); projectBrowse.setText(Messages.CmsisCodeTemplate_Browse); projectBrowse.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { handleProjectBrowse(); } }); fViewer = new TreeViewer( container, SWT.FULL_SELECTION | SWT.BORDER | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL); Tree tree = fViewer.getTree(); GridData gd_tree = new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1); gd_tree.heightHint = 300; tree.setLayoutData(gd_tree); tree.setHeaderVisible(true); tree.setLinesVisible(true); tree.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { Object obj = e.item.getData(); if (obj instanceof ICpCodeTemplate) { selectedCodeTemplate = (ICpCodeTemplate) obj; String[] codeTemplates = selectedCodeTemplate.getCodeTemplates(); if (codeTemplates.length == 0) { fileText.setEditable(false); fileText.setText(CmsisConstants.EMPTY_STRING); return; } fileText.setEditable(true); StringBuilder sb = new StringBuilder(Utils.extractFileName(codeTemplates[0])); for (int i = 1; i < codeTemplates.length; i++) { fileText.setEditable(false); sb.append(' '); sb.append(Utils.extractFileName(codeTemplates[i])); } fileText.setText(sb.toString()); } } }); TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT); column0.getColumn().setText(Messages.CmsisCodeTemplate_Component); column0.getColumn().setWidth(200); column0.setLabelProvider(new ComponentColumnLabelProvider()); TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.LEFT); column1.getColumn().setText(Messages.CmsisCodeTemplate_Name); column1.getColumn().setWidth(320); column1.setLabelProvider(new NameColumnLabelProvider()); fViewer.setContentProvider(new CodeTemplateContentProvider()); IRteProject rteProject = getRteProject(); if (rteProject != null) { ICpCodeTemplate codeTemplate = rteProject.getRteConfiguration().getCmsisCodeTemplate(); fViewer.setInput(codeTemplate); fViewer.getControl().setFocus(); } label = new Label(container, SWT.NULL); label.setText(Messages.CmsisCodeTemplate_Location); containerText = new Text(container, SWT.BORDER | SWT.SINGLE); containerText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); containerText.addModifyListener( new ModifyListener() { @Override public void modifyText(ModifyEvent e) { dialogChanged(); } }); containerBrowse = new Button(container, SWT.PUSH); containerBrowse.setText(Messages.CmsisCodeTemplate_Browse); containerBrowse.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { handleContainerBrowse(); } }); label = new Label(container, SWT.NULL); label.setText(Messages.CmsisCodeTemplate_FileName); fileText = new Text(container, SWT.BORDER | SWT.SINGLE); fileText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); fileText.addModifyListener( new ModifyListener() { @Override public void modifyText(ModifyEvent e) { dialogChanged(); } }); initialize(); projectChanged(); setControl(container); new Label(container, SWT.NONE); PlatformUI.getWorkbench() .getHelpSystem() .setHelp(parent.getParent(), IHelpContextIds.CODE_TEMPLATE_WIZARD); }
@Override protected Control createDialogArea(final Composite parent) { final Composite composite = (Composite) super.createDialogArea(parent); final Tree functionClausesTree; final Label label = new Label(composite, SWT.WRAP); label.setText("Please select the function clause which against should fold!"); final GridData minToksData = new GridData( GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER); minToksData.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH); label.setLayoutData(minToksData); label.setFont(parent.getFont()); functionClausesTree = new Tree(composite, SWT.BORDER); final GridData treeData = new GridData( GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER); treeData.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH); functionClausesTree.setLayoutData(treeData); try { final Collection<IErlModule> erlmodules = ErlangEngine.getInstance() .getModelUtilService() .getProject(GlobalParameters.getWranglerSelection().getErlElement()) .getModules(); for (final IErlModule m : erlmodules) { // must refresh the scanner! if ( /* !m.isStructureKnown() */ true) { // FIXME: not permitted operation m.open(null); } final TreeItem moduleName = new TreeItem(functionClausesTree, 0); moduleName.setText(m.getModuleName()); moduleName.setData(m); final List<IErlFunction> functions = filterFunctions(m.getChildren()); for (final IErlFunction f : functions) { final TreeItem functionName = new TreeItem(moduleName, 0); functionName.setText(f.getNameWithArity()); final List<IErlFunctionClause> clauses = filterClauses(f.getChildren()); functionName.setData(f); for (final IErlFunctionClause c : clauses) { final TreeItem clauseName = new TreeItem(functionName, 0); clauseName.setText(String.valueOf(c.getName())); clauseName.setData(c); } } } // listen to treeitem selection functionClausesTree.addSelectionListener( new SelectionListener() { @Override public void widgetDefaultSelected(final SelectionEvent e) {} // if a function or a function clause is selected, then // highlight it // and store the selection @Override public void widgetSelected(final SelectionEvent e) { final TreeItem[] selectedItems = functionClausesTree.getSelection(); if (selectedItems.length > 0) { final TreeItem treeItem = selectedItems[0]; final Object data = treeItem.getData(); if (data instanceof IErlFunctionClause) { // enable the ok button okButton.setEnabled(true); // highlight WranglerUtils.highlightSelection((IErlFunctionClause) data); // store functionClause = (IErlFunctionClause) data; } else { okButton.setEnabled(false); } } } }); } catch (final ErlModelException e) { ErlLogger.error(e); } applyDialogFont(composite); return composite; }
@Override protected void createContent(Composite parent) { fSashForm = new SashForm(parent, parent.getStyle()); fSashForm.setOrientation(SWT.VERTICAL); // update presentation context AbstractDebugView view = getViewToEmulate(); fContext = new PresentationContext(TCFModel.ID_EXPRESSION_HOVER); if (view != null) { // copy over properties IPresentationContext copy = ((TreeModelViewer) view.getViewer()).getPresentationContext(); try { String[] properties = copy.getProperties(); for (int i = 0; i < properties.length; i++) { String key = properties[i]; fContext.setProperty(key, copy.getProperty(key)); } } catch (NoSuchMethodError e) { // ignore } } fViewer = new TreeModelViewer(fSashForm, SWT.MULTI | SWT.VIRTUAL | SWT.FULL_SELECTION, fContext); fViewer.setAutoExpandLevel(fExpansionLevel); if (view != null) { // copy over filters StructuredViewer structuredViewer = (StructuredViewer) view.getViewer(); if (structuredViewer != null) { ViewerFilter[] filters = structuredViewer.getFilters(); for (int i = 0; i < filters.length; i++) { fViewer.addFilter(filters[i]); } } } fInputService = new ViewerInputService(fViewer, this); fTree = fViewer.getTree(); if (fShowDetailPane) { fDetailPaneComposite = SWTFactory.createComposite(fSashForm, 1, 1, GridData.FILL_BOTH); Layout layout = fDetailPaneComposite.getLayout(); if (layout instanceof GridLayout) { GridLayout gl = (GridLayout) layout; gl.marginHeight = 0; gl.marginWidth = 0; } fDetailPane = new DetailPaneProxy(new DetailPaneContainer()); fDetailPane.display(null); // Bring up the default pane so the // user doesn't see an empty // composite fTree.addSelectionListener( new SelectionListener() { public void widgetSelected(SelectionEvent e) { fDetailPane.display((IStructuredSelection) fViewer.getSelection()); } public void widgetDefaultSelected(SelectionEvent e) {} }); } initSashWeights(); // add update listener to auto-select and display details of root // expression fViewer.addViewerUpdateListener( new IViewerUpdateListener() { public void viewerUpdatesComplete() { fViewer .getDisplay() .timerExec( 100, new Runnable() { public void run() { if (fViewer.getControl().isDisposed()) return; TreeSelection selection = (TreeSelection) fViewer.getSelection(); if (selection.isEmpty()) selection = new TreeSelection(fViewer.getTopElementPath()); fViewer.setSelection(selection); if (fDetailPane != null) fDetailPane.display(selection); } }); } public void viewerUpdatesBegin() {} public void updateStarted(IViewerUpdate update) {} public void updateComplete(IViewerUpdate update) {} }); setBackgroundColor(getShell().getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND)); }
public void createControl(Composite parent) { final RepositoryUtil util = Activator.getDefault().getRepositoryUtil(); Composite main = new Composite(parent, SWT.NONE); // use zero spacing to save some real estate here GridLayoutFactory.fillDefaults().spacing(0, 0).applyTo(main); final Button internalModeButton = new Button(main, SWT.CHECK); internalModeButton.setText(UIText.ExistingOrNewPage_InternalModeCheckbox); internalModeButton.setToolTipText(UIText.ExistingOrNewPage_CreationInWorkspaceWarningTooltip); internalModeButton.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { internalMode = internalModeButton.getSelection(); updateControls(); } }); externalComposite = new Composite(main, SWT.NONE); GridDataFactory.fillDefaults().grab(true, true).applyTo(externalComposite); externalComposite.setLayout(new GridLayout(3, false)); new Label(externalComposite, SWT.NONE) .setText(UIText.ExistingOrNewPage_ExistingRepositoryLabel); final Combo existingRepoCombo = new Combo(externalComposite, SWT.READ_ONLY); GridDataFactory.fillDefaults().grab(true, false).applyTo(existingRepoCombo); final ComboViewer v = new ComboViewer(existingRepoCombo); v.setContentProvider(new RepoComboContentProvider()); v.setLabelProvider(new RepoComboLabelProvider()); v.setInput(new Object()); // the default ViewerSorter seems to do the right thing // i.e. sort as String v.setSorter(new ViewerSorter()); existingRepoCombo.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { selectedRepository = null; IStructuredSelection sel = (IStructuredSelection) v.getSelection(); setRepository((Repository) sel.getFirstElement()); updateControls(); } }); Button createRepoWizard = new Button(externalComposite, SWT.PUSH); createRepoWizard.setText(UIText.ExistingOrNewPage_CreateRepositoryButton); createRepoWizard.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { NewRepositoryWizard wiz = new NewRepositoryWizard(true); if (new WizardDialog(getShell(), wiz).open() == Window.OK) { v.refresh(); selectedRepository = wiz.getCreatedRepository(); v.setSelection(new StructuredSelection(selectedRepository)); updateControls(); } } }); new Label(externalComposite, SWT.NONE).setText(UIText.ExistingOrNewPage_WorkingDirectoryLabel); workDir = new Text(externalComposite, SWT.BORDER | SWT.READ_ONLY); GridDataFactory.fillDefaults().grab(true, false).applyTo(workDir); GridDataFactory.fillDefaults().applyTo(workDir); // leave the space between the "Create" and "Browse" buttons empty (i.e. // do not fill to the right border new Label(externalComposite, SWT.NONE); new Label(externalComposite, SWT.NONE).setText(UIText.ExistingOrNewPage_RelativePathLabel); relPath = new Text(externalComposite, SWT.BORDER); relPath.addModifyListener( new ModifyListener() { public void modifyText(ModifyEvent e) { updateControls(); } }); GridDataFactory.fillDefaults().grab(true, false).applyTo(relPath); browseRepository = new Button(externalComposite, SWT.PUSH); browseRepository.setEnabled(false); browseRepository.setText(UIText.ExistingOrNewPage_BrowseRepositoryButton); browseRepository.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { DirectoryDialog dlg = new DirectoryDialog(getShell()); dlg.setFilterPath(selectedRepository.getWorkTree().getPath()); String directory = dlg.open(); if (directory != null) { setRelativePath(directory); updateControls(); } } }); Table projectMoveTable = new Table(externalComposite, SWT.MULTI | SWT.FULL_SELECTION | SWT.CHECK | SWT.BORDER); projectMoveViewer = new CheckboxTableViewer(projectMoveTable); GridDataFactory.fillDefaults().span(3, 1).grab(true, true).applyTo(projectMoveTable); TableColumn tc; tc = new TableColumn(projectMoveTable, SWT.NONE); tc.setText(UIText.ExistingOrNewPage_ProjectNameColumnHeader); tc.setWidth(100); tc = new TableColumn(projectMoveTable, SWT.NONE); tc.setText(UIText.ExistingOrNewPage_CurrentLocationColumnHeader); tc.setWidth(250); tc = new TableColumn(projectMoveTable, SWT.NONE); tc.setText(UIText.ExistingOrNewPage_NewLocationTargetHeader); tc.setWidth(350); projectMoveTable.setHeaderVisible(true); projectMoveViewer.setContentProvider(ArrayContentProvider.getInstance()); projectMoveViewer.setLabelProvider(moveProjectsLabelProvider); projectMoveViewer.setInput(myWizard.projects); projectMoveViewer.addCheckStateListener( new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { updateControls(); } }); TableItem[] children = projectMoveViewer.getTable().getItems(); for (int i = 0; i < children.length; i++) { TableItem item = children[i]; IProject data = (IProject) item.getData(); RepositoryFinder repositoryFinder = new RepositoryFinder(data); repositoryFinder.setFindInChildren(false); try { Collection<RepositoryMapping> find = repositoryFinder.find(new NullProgressMonitor()); if (find.size() != 1) item.setChecked(true); } catch (CoreException e1) { item.setText(2, e1.getMessage()); } } parentRepoComposite = new Composite(main, SWT.NONE); parentRepoComposite.setLayout(new GridLayout(3, false)); GridDataFactory.fillDefaults().grab(true, true).applyTo(parentRepoComposite); tree = new Tree(parentRepoComposite, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION | SWT.CHECK); viewer = new CheckboxTreeViewer(tree); tree.setHeaderVisible(true); tree.setLayout(new GridLayout()); tree.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).span(3, 1).create()); viewer.addCheckStateListener( new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { if (event.getChecked()) { ProjectAndRepo checkable = (ProjectAndRepo) event.getElement(); for (TreeItem ti : tree.getItems()) { if (ti.getItemCount() > 0 || ((ProjectAndRepo) ti.getData()).getRepo().equals("")) // $NON-NLS-1$ ti.setChecked(false); for (TreeItem subTi : ti.getItems()) { IProject project = ((ProjectAndRepo) subTi.getData()).getProject(); if (checkable.getProject() != null && !subTi.getData().equals(checkable) && checkable.getProject().equals(project)) subTi.setChecked(false); } } } } }); TreeColumn c1 = new TreeColumn(tree, SWT.NONE); c1.setText(UIText.ExistingOrNewPage_HeaderProject); c1.setWidth(100); TreeColumn c2 = new TreeColumn(tree, SWT.NONE); c2.setText(UIText.ExistingOrNewPage_HeaderLocation); c2.setWidth(400); TreeColumn c3 = new TreeColumn(tree, SWT.NONE); c3.setText(UIText.ExistingOrNewPage_HeaderRepository); c3.setWidth(200); boolean allProjectsInExistingRepos = true; for (IProject project : myWizard.projects) { RepositoryFinder repositoryFinder = new RepositoryFinder(project); repositoryFinder.setFindInChildren(false); try { Collection<RepositoryMapping> mappings; mappings = repositoryFinder.find(new NullProgressMonitor()); Iterator<RepositoryMapping> mi = mappings.iterator(); RepositoryMapping m = mi.hasNext() ? mi.next() : null; if (m == null) { // no mapping found, enable repository creation TreeItem treeItem = new TreeItem(tree, SWT.NONE); updateProjectTreeItem(treeItem, project); treeItem.setText(1, project.getLocation().toOSString()); treeItem.setText(2, ""); // $NON-NLS-1$ treeItem.setData(new ProjectAndRepo(project, "")); // $NON-NLS-1$ allProjectsInExistingRepos = false; } else if (!mi.hasNext()) { // exactly one mapping found TreeItem treeItem = new TreeItem(tree, SWT.NONE); updateProjectTreeItem(treeItem, project); treeItem.setText(1, project.getLocation().toOSString()); fillTreeItemWithGitDirectory(m, treeItem, false); treeItem.setData(new ProjectAndRepo(project, m.getGitDirAbsolutePath().toOSString())); treeItem.setChecked(true); } else { TreeItem treeItem = new TreeItem(tree, SWT.NONE); updateProjectTreeItem(treeItem, project); treeItem.setText(1, project.getLocation().toOSString()); treeItem.setData(new ProjectAndRepo(project, "")); // $NON-NLS-1$ TreeItem treeItem2 = new TreeItem(treeItem, SWT.NONE); updateProjectTreeItem(treeItem2, project); fillTreeItemWithGitDirectory(m, treeItem2, true); treeItem2.setData(new ProjectAndRepo(project, m.getGitDirAbsolutePath().toOSString())); while (mi.hasNext()) { // fill in additional mappings m = mi.next(); treeItem2 = new TreeItem(treeItem, SWT.NONE); updateProjectTreeItem(treeItem2, project); fillTreeItemWithGitDirectory(m, treeItem2, true); treeItem2.setData( new ProjectAndRepo( m.getContainer().getProject(), m.getGitDirAbsolutePath().toOSString())); } treeItem.setExpanded(true); allProjectsInExistingRepos = false; } } catch (CoreException e) { TreeItem treeItem2 = new TreeItem(tree, SWT.BOLD | SWT.ITALIC); treeItem2.setText(e.getMessage()); } } createRepo = new Button(parentRepoComposite, SWT.PUSH); createRepo.setLayoutData(GridDataFactory.fillDefaults().create()); createRepo.setText(UIText.ExistingOrNewPage_CreateButton); createRepo.addSelectionListener( new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { File gitDir = new File(repositoryToCreate.getText(), Constants.DOT_GIT); try { Repository repository = FileRepositoryBuilder.create(gitDir); repository.create(); for (IProject project : getProjects(false).keySet()) { // If we don't refresh the project directories right // now we won't later know that a .git directory // exists within it and we won't mark the .git // directory as a team-private member. Failure // to do so might allow someone to delete // the .git directory without us stopping them. // (Half lie, we should optimize so we do not // refresh when the .git is not within the project) // if (!gitDir.toString().contains("..")) // $NON-NLS-1$ project.refreshLocal(IResource.DEPTH_ONE, new NullProgressMonitor()); } util.addConfiguredRepository(gitDir); } catch (IOException e1) { String msg = NLS.bind( UIText.ExistingOrNewPage_ErrorFailedToCreateRepository, gitDir.toString()); org.eclipse.egit.ui.Activator.handleError(msg, e1, true); } catch (CoreException e2) { String msg = NLS.bind(UIText.ExistingOrNewPage_ErrorFailedToRefreshRepository, gitDir); org.eclipse.egit.ui.Activator.handleError(msg, e2, true); } for (TreeItem ti : tree.getSelection()) { IPath projectPath = new Path(ti.getText(1)); IPath gitPath = new Path(gitDir.toString()); IPath relative = gitPath.makeRelativeTo(projectPath); ti.setText(2, relative.toOSString()); ((ProjectAndRepo) ti.getData()).repo = gitDir.toString(); ti.setChecked(true); } updateControls(); } }); repositoryToCreate = new Text(parentRepoComposite, SWT.SINGLE | SWT.BORDER); repositoryToCreate.setLayoutData( GridDataFactory.fillDefaults().grab(true, false).span(1, 1).create()); repositoryToCreate.addListener( SWT.Modify, new Listener() { public void handleEvent(Event e) { if (repositoryToCreate.getText().equals("")) { // $NON-NLS-1$ createRepo.setEnabled(false); return; } IPath fromOSString = Path.fromOSString(repositoryToCreate.getText()); createRepo.setEnabled( minumumPath.matchingFirstSegments(fromOSString) == fromOSString.segmentCount()); } }); dotGitSegment = new Label(parentRepoComposite, SWT.NONE); dotGitSegment.setEnabled(false); dotGitSegment.setText(File.separatorChar + Constants.DOT_GIT); dotGitSegment.setLayoutData( GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.CENTER).create()); tree.addSelectionListener( new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { tree.select((TreeItem) e.item); updateControls(); } }); Dialog.applyDialogFont(main); setControl(main); if (allProjectsInExistingRepos) { internalMode = true; internalModeButton.setSelection(true); updateControls(); } }
public RepositoryDirectoryInterface open() { dircolor = GUIResource.getInstance().getColorDirectory(); Shell parent = getParent(); shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MAX | SWT.MIN); props.setLook(shell); shell.setImage(GUIResource.getInstance().getImageSpoon()); shell.setText(BaseMessages.getString(PKG, "SelectDirectoryDialog.Dialog.Main.Title")); FormLayout formLayout = new FormLayout(); formLayout.marginWidth = Const.FORM_MARGIN; formLayout.marginHeight = Const.FORM_MARGIN; shell.setLayout(formLayout); // Tree wTree = new Tree(shell, SWT.SINGLE | SWT.BORDER); props.setLook(wTree); try { // We're terrible and load the entire repository, disable lazy loading if set if (rep instanceof RepositoryExtended) { RepositoryExtended repositoryExtended = (RepositoryExtended) this.rep; repositoryTree = repositoryExtended.loadRepositoryDirectoryTree(true); } else { repositoryTree = this.rep.loadRepositoryDirectoryTree(); } } catch (KettleException e) { new ErrorDialog( shell, BaseMessages.getString( PKG, "SelectDirectoryDialog.Dialog.ErrorRefreshingDirectoryTree.Title"), BaseMessages.getString( PKG, "SelectDirectoryDialog.Dialog.ErrorRefreshingDirectoryTree.Message"), e); return null; } if (!getData()) { return null; } // Buttons wOK = new Button(shell, SWT.PUSH); wOK.setText(BaseMessages.getString(PKG, "System.Button.OK")); wRefresh = new Button(shell, SWT.PUSH); wRefresh.setText(BaseMessages.getString(PKG, "System.Button.Refresh")); wCancel = new Button(shell, SWT.PUSH); wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel")); FormData fdTree = new FormData(); FormData fdOK = new FormData(); FormData fdRefresh = new FormData(); FormData fdCancel = new FormData(); int margin = 10; fdTree.left = new FormAttachment(0, 0); // To the right of the label fdTree.top = new FormAttachment(0, 0); fdTree.right = new FormAttachment(100, 0); fdTree.bottom = new FormAttachment(100, -50); wTree.setLayoutData(fdTree); fdOK.left = new FormAttachment(wTree, 0, SWT.CENTER); fdOK.bottom = new FormAttachment(100, -margin); wOK.setLayoutData(fdOK); fdRefresh.left = new FormAttachment(wOK, 10); fdRefresh.bottom = new FormAttachment(100, -margin); wRefresh.setLayoutData(fdRefresh); fdCancel.left = new FormAttachment(wRefresh, 10); fdCancel.bottom = new FormAttachment(100, -margin); wCancel.setLayoutData(fdCancel); // Add listeners wCancel.addListener( SWT.Selection, new Listener() { public void handleEvent(Event e) { dispose(); } }); // Add listeners wOK.addListener( SWT.Selection, new Listener() { public void handleEvent(Event e) { handleOK(); } }); wTree.addSelectionListener( new SelectionAdapter() { private String getSelectedPath(SelectionEvent selectionEvent) { TreeItem treeItem = (TreeItem) selectionEvent.item; String path; if (treeItem.getParentItem() == null) { path = treeItem.getText(); } else { path = ConstUI.getTreePath(treeItem, 0); } return path; } private boolean isSelectedPathRestricted(SelectionEvent selectionEvent) { String path = getSelectedPath(selectionEvent); boolean isRestricted = isRestrictedPath(path); return isRestricted; } public void widgetDefaultSelected(SelectionEvent selectionEvent) { if (isSelectedPathRestricted(selectionEvent)) { return; } handleOK(); } public void widgetSelected(SelectionEvent selectionEvent) { boolean restricted = isSelectedPathRestricted(selectionEvent); wOK.setEnabled(!restricted); } }); wRefresh.addListener( SWT.Selection, new Listener() { public void handleEvent(Event e) { getData(); } }); wTree.addMenuDetectListener( new MenuDetectListener() { public void menuDetected(MenuDetectEvent e) { setTreeMenu(); } }); BaseStepDialog.setSize(shell); shell.open(); Display display = parent.getDisplay(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } return selection; }
/** * Create the main content for this information control. * * @param parent The parent composite * @return The control representing the main content. */ @Override protected Control createDialogArea(Composite parent) { fTreeViewer = createTreeViewer(parent, fTreeStyle); DartX.todo(); // fCustomFiltersActionGroup = new CustomFiltersActionGroup(getId(), // fTreeViewer); final Tree tree = fTreeViewer.getTree(); tree.addKeyListener( new KeyListener() { @Override public void keyPressed(KeyEvent e) { if (e.character == 0x1B) { dispose(); } } @Override public void keyReleased(KeyEvent e) { // do nothing } }); tree.addSelectionListener( new SelectionListener() { @Override public void widgetDefaultSelected(SelectionEvent e) { gotoSelectedElement(); } @Override public void widgetSelected(SelectionEvent e) { // do nothing } }); tree.addMouseMoveListener( new MouseMoveListener() { TreeItem fLastItem = null; @Override public void mouseMove(MouseEvent e) { if (tree.equals(e.getSource())) { Object o = tree.getItem(new Point(e.x, e.y)); if (o instanceof TreeItem) { if (!o.equals(fLastItem)) { fLastItem = (TreeItem) o; tree.setSelection(new TreeItem[] {fLastItem}); } } } } }); tree.addMouseListener( new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { if (tree.getSelectionCount() < 1) { return; } if (e.button != 1) { return; } if (tree.equals(e.getSource())) { Object o = tree.getItem(new Point(e.x, e.y)); TreeItem selection = tree.getSelection()[0]; if (selection.equals(o)) { gotoSelectedElement(); } } } }); installFilter(); addDisposeListener(this); return fTreeViewer.getControl(); }