List of usage examples for org.eclipse.jface.viewers TreeViewer TreeViewer
public TreeViewer(Composite parent, int style)
From source file:com.android.hierarchyviewerlib.ui.PropertyViewer.java
License:Apache License
public PropertyViewer(Composite parent) { super(parent, SWT.NONE); setLayout(new FillLayout()); mTreeViewer = new TreeViewer(this, SWT.NONE); mTree = mTreeViewer.getTree();//w w w .java2s .c om mTree.setLinesVisible(true); mTree.setHeaderVisible(true); TreeColumn propertyColumn = new TreeColumn(mTree, SWT.NONE); propertyColumn.setText("Property"); TreeColumn valueColumn = new TreeColumn(mTree, SWT.NONE); valueColumn.setText("Value"); mValueColumn = new TreeViewerColumn(mTreeViewer, valueColumn); mPropertyValueEditingSupport = new PropertyValueEditingSupport(mTreeViewer); mValueColumn.setEditingSupport(mPropertyValueEditingSupport); mModel = TreeViewModel.getModel(); ContentProvider contentProvider = new ContentProvider(); mTreeViewer.setContentProvider(contentProvider); mTreeViewer.setLabelProvider(contentProvider); mTreeViewer.setInput(mModel); mModel.addTreeChangeListener(this); addDisposeListener(mDisposeListener); @SuppressWarnings("unused") TreeColumnResizer resizer = new TreeColumnResizer(this, propertyColumn, valueColumn); addControlListener(mControlListener); ImageLoader imageLoader = ImageLoader.getLoader(HierarchyViewerDirector.class); mImage = imageLoader.loadImage("picker.png", Display.getDefault()); //$NON-NLS-1$ treeChanged(); }
From source file:com.android.ide.eclipse.adt.internal.lint.LintList.java
License:Open Source License
LintList(IWorkbenchPartSite site, Composite parent, IMemento memento, boolean singleFile) { super(parent, SWT.NONE); mSingleFile = singleFile;/* w ww . jav a 2 s . c om*/ mMemento = memento; mSite = site; mRegistry = EclipseLintClient.getRegistry(); GridLayout gridLayout = new GridLayout(1, false); gridLayout.marginWidth = 0; gridLayout.marginHeight = 0; setLayout(gridLayout); mTreeViewer = new TreeViewer(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI); mTree = mTreeViewer.getTree(); mTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); createColumns(); mTreeViewer.setComparator(new TableComparator()); setSortIndicators(); mContentProvider = new ContentProvider(); mTreeViewer.setContentProvider(mContentProvider); mTree.setLinesVisible(true); mTree.setHeaderVisible(true); mTree.addControlListener(this); ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_BUILD | IResourceChangeEvent.POST_BUILD); // Workaround for https://bugs.eclipse.org/341865 mTree.addPaintListener(new PaintListener() { @Override public void paintControl(PaintEvent e) { mTreePainted = true; mTreeViewer.getTree().removePaintListener(this); } }); // Remember the most recently selected id category such that we can // attempt to reselect it after a refresh mTree.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { List<IMarker> markers = getSelectedMarkers(); if (markers.size() > 0) { mSelectedId = EclipseLintClient.getId(markers.get(0)); } } }); mTree.addTreeListener(new TreeListener() { @Override public void treeExpanded(TreeEvent e) { Object data = e.item.getData(); if (data instanceof IMarker) { String id = EclipseLintClient.getId((IMarker) data); if (id != null) { if (mExpandedIds == null) { mExpandedIds = new HashSet<String>(); } mExpandedIds.add(id); } } } @Override public void treeCollapsed(TreeEvent e) { if (mExpandedIds != null) { Object data = e.item.getData(); if (data instanceof IMarker) { String id = EclipseLintClient.getId((IMarker) data); if (id != null) { mExpandedIds.remove(id); } } } } }); }
From source file:com.android.ide.eclipse.adt.internal.preferences.LintPreferencePage.java
License:Open Source License
@Override public Control createContents(Composite parent) { IAdaptable resource = getElement();//from ww w . j av a 2 s . c o m if (resource != null) { mProject = (IProject) resource.getAdapter(IProject.class); } Composite container = new Composite(parent, SWT.NULL); container.setLayout(new GridLayout(2, false)); if (mProject != null) { Label projectLabel = new Label(container, SWT.CHECK); projectLabel.setLayoutData(new GridData(SWT.LEFT, SWT.BOTTOM, false, false, 1, 1)); projectLabel.setText("Project-specific configuration:"); mWorkspaceLink = new Link(container, SWT.NONE); mWorkspaceLink.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); mWorkspaceLink.setText("<a>Configure Workspace Settings...</a>"); mWorkspaceLink.addSelectionListener(this); } else { mCheckFileCheckbox = new Button(container, SWT.CHECK); mCheckFileCheckbox.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1)); mCheckFileCheckbox.setSelection(true); mCheckFileCheckbox.setText("When saving files, check for errors"); mCheckExportCheckbox = new Button(container, SWT.CHECK); mCheckExportCheckbox.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1)); mCheckExportCheckbox.setSelection(true); mCheckExportCheckbox .setText("Run full error check when exporting app and abort if fatal errors are found"); Label separator = new Label(container, SWT.SEPARATOR | SWT.HORIZONTAL); separator.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 2, 1)); Label checkListLabel = new Label(container, SWT.NONE); checkListLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1)); checkListLabel.setText("Issues:"); } mRegistry = EclipseLintClient.getRegistry(); mClient = new EclipseLintClient(mRegistry, mProject != null ? Collections.singletonList(mProject) : null, null, false); Project project = null; if (mProject != null) { File dir = AdtUtils.getAbsolutePath(mProject).toFile(); project = mClient.getProject(dir, dir); } mConfiguration = mClient.getConfigurationFor(project); mSearch = new Text(container, SWT.SEARCH | SWT.ICON_CANCEL | SWT.ICON_SEARCH); mSearch.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1)); mSearch.addSelectionListener(this); mSearch.addModifyListener(this); // Grab the Enter key such that pressing return in the search box filters (instead // of closing the options dialog) mSearch.setMessage("type filter text (use ~ to filter by severity, e.g. ~ignore)"); mSearch.addTraverseListener(new TraverseListener() { @Override public void keyTraversed(TraverseEvent e) { if (e.keyCode == SWT.CR) { updateFilter(); e.doit = false; } else if (e.keyCode == SWT.ARROW_DOWN) { // Allow moving from the search into the table if (mTree.getItemCount() > 0) { TreeItem firstCategory = mTree.getItem(0); if (firstCategory.getItemCount() > 0) { TreeItem first = firstCategory.getItem(0); mTree.setFocus(); mTree.select(first); } } } } }); mTreeViewer = new TreeViewer(container, SWT.BORDER | SWT.FULL_SELECTION); mTree = mTreeViewer.getTree(); GridData gdTable = new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1); gdTable.widthHint = 500; gdTable.heightHint = 160; mTree.setLayoutData(gdTable); mTree.setLinesVisible(true); mTree.setHeaderVisible(true); TreeViewerColumn column1 = new TreeViewerColumn(mTreeViewer, SWT.NONE); mIdColumn = column1.getColumn(); mIdColumn.setWidth(100); mIdColumn.setText("Id"); TreeViewerColumn column2 = new TreeViewerColumn(mTreeViewer, SWT.FILL); mNameColumn = column2.getColumn(); mNameColumn.setWidth(100); mNameColumn.setText("Name"); mTreeViewer.setContentProvider(new ContentProvider()); mTreeViewer.setLabelProvider(new LabelProvider()); mDetailsText = new Text(container, SWT.BORDER | SWT.READ_ONLY | SWT.WRAP | SWT.V_SCROLL | SWT.MULTI); GridData gdText = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 2); gdText.heightHint = 80; mDetailsText.setLayoutData(gdText); Label severityLabel = new Label(container, SWT.NONE); severityLabel.setText("Severity:"); mSeverityCombo = new Combo(container, SWT.READ_ONLY); mSeverityCombo.setItems(new String[] { "(Default)", "Fatal", "Error", "Warning", "Information", "Ignore" }); GridData gdSeverityCombo = new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1); gdSeverityCombo.widthHint = 90; mSeverityCombo.setLayoutData(gdSeverityCombo); mSeverityCombo.setText(""); mSeverityCombo.addSelectionListener(this); List<Issue> issues = mRegistry.getIssues(); for (Issue issue : issues) { Severity severity = mConfiguration.getSeverity(issue); mSeverities.put(issue, severity); } mInitialSeverities = new HashMap<Issue, Severity>(mSeverities); mTreeViewer.setInput(mRegistry); mTree.addSelectionListener(this); // Add a listener to resize the column to the full width of the table mTree.addControlListener(this); loadSettings(false); mTreeViewer.expandAll(); return container; }
From source file:com.android.ide.eclipse.auidt.internal.lint.LintList.java
License:Open Source License
LintList(IWorkbenchPartSite site, Composite parent, IMemento memento, boolean singleFile) { super(parent, SWT.NONE); mSingleFile = singleFile;/* w w w . j av a 2 s . c o m*/ mMemento = memento; mSite = site; mRegistry = EclipseLintClient.getRegistry(); GridLayout gridLayout = new GridLayout(1, false); gridLayout.marginWidth = 0; gridLayout.marginHeight = 0; setLayout(gridLayout); mTreeViewer = new TreeViewer(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI); mTree = mTreeViewer.getTree(); mTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); createColumns(); mTreeViewer.setComparator(new TableComparator()); setSortIndicators(); mContentProvider = new ContentProvider(); mTreeViewer.setContentProvider(mContentProvider); mTree.setLinesVisible(true); mTree.setHeaderVisible(true); mTree.addControlListener(this); ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_BUILD | IResourceChangeEvent.POST_BUILD); // Workaround for https://bugs.eclipse.org/341865 mTree.addPaintListener(new PaintListener() { @Override public void paintControl(PaintEvent e) { treePainted = true; mTreeViewer.getTree().removePaintListener(this); } }); // Remember the most recently selected id category such that we can // attempt to reselect it after a refresh mTree.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { List<IMarker> markers = getSelectedMarkers(); if (markers.size() > 0) { mSelectedId = EclipseLintClient.getId(markers.get(0)); } } }); mTree.addTreeListener(new TreeListener() { @Override public void treeExpanded(TreeEvent e) { Object data = e.item.getData(); if (data instanceof IMarker) { String id = EclipseLintClient.getId((IMarker) data); if (id != null) { if (mExpandedIds == null) { mExpandedIds = new HashSet<String>(); } mExpandedIds.add(id); } } } @Override public void treeCollapsed(TreeEvent e) { if (mExpandedIds != null) { Object data = e.item.getData(); if (data instanceof IMarker) { String id = EclipseLintClient.getId((IMarker) data); if (id != null) { mExpandedIds.remove(id); } } } } }); }
From source file:com.android.sdkuilib.internal.repository.SdkUpdaterChooserDialog.java
License:Apache License
/** * Create the main content of the dialog. * See also {@link #createButtonBar(Composite)} below. *///from ww w . j a va2 s . c om @Override public void createDialogContent(Composite parent) { // Sash form mSashForm = new SashForm(parent, SWT.NONE); mSashForm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1)); // Left part of Sash Form mTableGroup = new Group(mSashForm, SWT.NONE); mTableGroup.setText("Packages"); mTableGroup.setLayout(new GridLayout(1, false/*makeColumnsEqual*/)); mTreeViewPackage = new TreeViewer(mTableGroup, SWT.BORDER | SWT.V_SCROLL | SWT.SINGLE); mTreePackage = mTreeViewPackage.getTree(); mTreePackage.setHeaderVisible(false); mTreePackage.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); mTreePackage.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onPackageSelected(); //$hide$ } @Override public void widgetDefaultSelected(SelectionEvent e) { onPackageDoubleClick(); } }); mTreeColum = new TreeColumn(mTreePackage, SWT.NONE); mTreeColum.setWidth(100); mTreeColum.setText("Packages"); // Right part of Sash form mPackageRootComposite = new Composite(mSashForm, SWT.NONE); mPackageRootComposite.setLayout(new GridLayout(4, false/*makeColumnsEqual*/)); mPackageRootComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); mPackageTextGroup = new Group(mPackageRootComposite, SWT.NONE); mPackageTextGroup.setText("Package Description && License"); mPackageTextGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 4, 1)); mPackageTextGroup.setLayout(new GridLayout(1, false/*makeColumnsEqual*/)); mPackageText = new StyledText(mPackageTextGroup, SWT.MULTI | SWT.READ_ONLY | SWT.WRAP | SWT.V_SCROLL); mPackageText.setBackground(getParentShell().getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); mPackageText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); mLicenseRadioAccept = new Button(mPackageRootComposite, SWT.RADIO); mLicenseRadioAccept.setText("Accept"); mLicenseRadioAccept.setToolTipText("Accept this package."); mLicenseRadioAccept.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onLicenseRadioSelected(); } }); mLicenseRadioReject = new Button(mPackageRootComposite, SWT.RADIO); mLicenseRadioReject.setText("Reject"); mLicenseRadioReject.setToolTipText("Reject this package."); mLicenseRadioReject.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onLicenseRadioSelected(); } }); Link link = new Link(mPackageRootComposite, SWT.NONE); link.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, false, 1, 1)); final String printAction = "Print"; // extracted for NLS, to compare with below. link.setText(String.format("<a>Copy to clipboard</a> | <a>%1$s</a>", printAction)); link.setToolTipText("Copies all text and license to clipboard | Print using system defaults."); link.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { super.widgetSelected(e); if (printAction.equals(e.text)) { mPackageText.print(); } else { Point p = mPackageText.getSelection(); mPackageText.selectAll(); mPackageText.copy(); mPackageText.setSelection(p); } } }); mLicenseRadioAcceptLicense = new Button(mPackageRootComposite, SWT.RADIO); mLicenseRadioAcceptLicense.setText("Accept License"); mLicenseRadioAcceptLicense.setToolTipText("Accept all packages that use the same license."); mLicenseRadioAcceptLicense.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { onLicenseRadioSelected(); } }); mSashForm.setWeights(new int[] { 200, 300 }); }
From source file:com.android.traceview.ProfileView.java
License:Apache License
public ProfileView(Composite parent, TraceReader reader, SelectionController selectController) { super(parent, SWT.NONE); setLayout(new GridLayout(1, false)); this.mSelectionController = selectController; mSelectionController.addObserver(this); // Add a tree viewer at the top mTreeViewer = new TreeViewer(this, SWT.MULTI | SWT.NONE); mTreeViewer.setUseHashlookup(true);/*from w w w . j a v a 2 s. c o m*/ mProfileProvider = reader.getProfileProvider(); mProfileProvider.setTreeViewer(mTreeViewer); SelectionAdapter listener = mProfileProvider.getColumnListener(); final Tree tree = mTreeViewer.getTree(); tree.setHeaderVisible(true); tree.setLayoutData(new GridData(GridData.FILL_BOTH)); // Get the column names from the ProfileProvider String[] columnNames = mProfileProvider.getColumnNames(); int[] columnWidths = mProfileProvider.getColumnWidths(); int[] columnAlignments = mProfileProvider.getColumnAlignments(); for (int ii = 0; ii < columnWidths.length; ++ii) { TreeColumn column = new TreeColumn(tree, SWT.LEFT); column.setText(columnNames[ii]); column.setWidth(columnWidths[ii]); column.setMoveable(true); column.addSelectionListener(listener); column.setAlignment(columnAlignments[ii]); } // Add a listener to the tree so that we can make the row // height smaller. tree.addListener(SWT.MeasureItem, new Listener() { @Override public void handleEvent(Event event) { int fontHeight = event.gc.getFontMetrics().getHeight(); event.height = fontHeight; } }); mTreeViewer.setContentProvider(mProfileProvider); mTreeViewer.setLabelProvider(mProfileProvider.getLabelProvider()); mTreeViewer.setInput(mProfileProvider.getRoot()); // Create another composite to hold the label and text box Composite composite = new Composite(this, SWT.NONE); composite.setLayout(new GridLayout(2, false)); composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); // Add a label for the search box Label label = new Label(composite, SWT.NONE); label.setText("Find:"); // Add a text box for searching for method names mSearchBox = new Text(composite, SWT.BORDER); mSearchBox.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Display display = getDisplay(); mColorNoMatch = new Color(display, 255, 200, 200); mColorMatch = mSearchBox.getBackground(); mSearchBox.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent ev) { String query = mSearchBox.getText(); if (query.length() == 0) return; findName(query); } }); // Add a key listener to the text box so that we can clear // the text box if the user presses <ESC>. mSearchBox.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent event) { if (event.keyCode == SWT.ESC) { mSearchBox.setText(""); } else if (event.keyCode == SWT.CR) { String query = mSearchBox.getText(); if (query.length() == 0) return; findNextName(query); } } }); // Also add a key listener to the tree viewer so that the // user can just start typing anywhere in the tree view. tree.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent event) { if (event.keyCode == SWT.ESC) { mSearchBox.setText(""); } else if (event.keyCode == SWT.BS) { // Erase the last character from the search box String text = mSearchBox.getText(); int len = text.length(); String chopped; if (len <= 1) chopped = ""; else chopped = text.substring(0, len - 1); mSearchBox.setText(chopped); } else if (event.keyCode == SWT.CR) { String query = mSearchBox.getText(); if (query.length() == 0) return; findNextName(query); } else { // Append the given character to the search box String str = String.valueOf(event.character); mSearchBox.append(str); } event.doit = false; } }); // Add a selection listener to the tree so that the user can click // on a method that is a child or parent and jump to that method. mTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent ev) { ISelection sel = ev.getSelection(); if (sel.isEmpty()) return; if (sel instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) sel; Object element = selection.getFirstElement(); if (element == null) return; if (element instanceof MethodData) { MethodData md = (MethodData) element; highlightMethod(md, true); } if (element instanceof ProfileData) { MethodData md = ((ProfileData) element).getMethodData(); highlightMethod(md, true); } } } }); // Add a tree listener so that we can expand the parents and children // of a method when a method is expanded. mTreeViewer.addTreeListener(new ITreeViewerListener() { @Override public void treeExpanded(TreeExpansionEvent event) { Object element = event.getElement(); if (element instanceof MethodData) { MethodData md = (MethodData) element; expandNode(md); } } @Override public void treeCollapsed(TreeExpansionEvent event) { } }); tree.addListener(SWT.MouseDown, new Listener() { @Override public void handleEvent(Event event) { Point point = new Point(event.x, event.y); TreeItem treeItem = tree.getItem(point); MethodData md = mProfileProvider.findMatchingTreeItem(treeItem); if (md == null) return; ArrayList<Selection> selections = new ArrayList<Selection>(); selections.add(Selection.highlight("MethodData", md)); mSelectionController.change(selections, "ProfileView"); if (mMethodHandler != null && (event.stateMask & SWT.MOD1) != 0) { mMethodHandler.handleMethod(md); } } }); }
From source file:com.android.uiautomator.UiAutomatorView.java
License:Apache License
public UiAutomatorView(Composite parent, int style) { super(parent, SWT.NONE); setLayout(new FillLayout()); SashForm baseSash = new SashForm(this, SWT.HORIZONTAL); mOrginialCursor = getShell().getCursor(); mCrossCursor = new Cursor(getDisplay(), SWT.CURSOR_CROSS); mScreenshotComposite = new Composite(baseSash, SWT.BORDER); mStackLayout = new StackLayout(); mScreenshotComposite.setLayout(mStackLayout); // draw the canvas with border, so the divider area for sash form can be highlighted mScreenshotCanvas = new Canvas(mScreenshotComposite, SWT.BORDER); mStackLayout.topControl = mScreenshotCanvas; mScreenshotComposite.layout();/*from w ww .j a va 2s.c om*/ // set cursor when enter canvas mScreenshotCanvas.addListener(SWT.MouseEnter, new Listener() { @Override public void handleEvent(Event arg0) { getShell().setCursor(mCrossCursor); } }); mScreenshotCanvas.addListener(SWT.MouseExit, new Listener() { @Override public void handleEvent(Event arg0) { getShell().setCursor(mOrginialCursor); } }); mScreenshotCanvas.addMouseListener(new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { if (mModel != null) { mModel.toggleExploreMode(); redrawScreenshot(); } if (e.button == 3) { //set menus Menu menu = new Menu(mScreenshotCanvas); mScreenshotCanvas.setMenu(menu); Menu menu1 = new Menu(menu); Menu menu2 = new Menu(menu); Menu menu3 = new Menu(menu); Menu menu4 = new Menu(menu); Menu menu5 = new Menu(menu); Menu menu6 = new Menu(menu); Menu menu7 = new Menu(menu); Menu menu8 = new Menu(menu); Menu menu9 = new Menu(menu); //set items MenuItem item1 = new MenuItem(menu, SWT.CASCADE); MenuItem item2 = new MenuItem(menu, SWT.CASCADE); MenuItem item3 = new MenuItem(menu, SWT.CASCADE); MenuItem item4 = new MenuItem(menu, SWT.CASCADE); MenuItem item5 = new MenuItem(menu, SWT.CASCADE); MenuItem item6 = new MenuItem(menu, SWT.CASCADE); MenuItem item7 = new MenuItem(menu, SWT.CASCADE); MenuItem item8 = new MenuItem(menu, SWT.CASCADE); MenuItem item9 = new MenuItem(menu, SWT.CASCADE); MenuItem item43 = new MenuItem(menu, SWT.CASCADE); MenuItem item10 = new MenuItem(menu1, SWT.NONE); MenuItem item11 = new MenuItem(menu1, SWT.NONE); MenuItem item12 = new MenuItem(menu1, SWT.NONE); MenuItem item13 = new MenuItem(menu1, SWT.NONE); MenuItem item14 = new MenuItem(menu1, SWT.NONE); MenuItem item15 = new MenuItem(menu2, SWT.NONE); MenuItem item16 = new MenuItem(menu2, SWT.NONE); MenuItem item17 = new MenuItem(menu2, SWT.NONE); MenuItem item18 = new MenuItem(menu2, SWT.NONE); MenuItem item19 = new MenuItem(menu2, SWT.NONE); MenuItem item20 = new MenuItem(menu3, SWT.NONE); MenuItem item21 = new MenuItem(menu3, SWT.NONE); MenuItem item22 = new MenuItem(menu3, SWT.NONE); MenuItem item23 = new MenuItem(menu3, SWT.NONE); MenuItem item24 = new MenuItem(menu3, SWT.NONE); MenuItem item25 = new MenuItem(menu4, SWT.NONE); MenuItem item26 = new MenuItem(menu4, SWT.NONE); MenuItem item27 = new MenuItem(menu4, SWT.NONE); MenuItem item28 = new MenuItem(menu4, SWT.NONE); MenuItem item29 = new MenuItem(menu4, SWT.NONE); MenuItem item30 = new MenuItem(menu6, SWT.NONE); MenuItem item31 = new MenuItem(menu6, SWT.NONE); MenuItem item32 = new MenuItem(menu6, SWT.NONE); MenuItem item33 = new MenuItem(menu5, SWT.NONE); MenuItem item34 = new MenuItem(menu5, SWT.NONE); MenuItem item35 = new MenuItem(menu5, SWT.NONE); MenuItem item36 = new MenuItem(menu5, SWT.NONE); MenuItem item37 = new MenuItem(menu5, SWT.NONE); MenuItem item38 = new MenuItem(menu8, SWT.NONE); MenuItem item39 = new MenuItem(menu8, SWT.NONE); MenuItem item40 = new MenuItem(menu8, SWT.NONE); MenuItem item41 = new MenuItem(menu8, SWT.NONE); MenuItem item42 = new MenuItem(menu8, SWT.NONE); MenuItem item44 = new MenuItem(menu6, SWT.NONE); //set item text item1.setText("Click"); item2.setText("Click(Refresh)"); item3.setText("longClick"); item4.setText("longClick(Refresh)"); item5.setText("editText"); item6.setText("SystemCommand"); item7.setText("SystemCommand(Refresh)"); item43.setText("Sleep"); item8.setText("Check"); item9.setText("Find"); item10.setText("id"); item11.setText("text"); item12.setText("desc"); item13.setText("class"); item14.setText("xpath"); item15.setText("id"); item16.setText("text"); item17.setText("desc"); item18.setText("class"); item19.setText("xpath"); item20.setText("id"); item21.setText("text"); item22.setText("desc"); item23.setText("class"); item24.setText("xpath"); item25.setText("id"); item26.setText("text"); item27.setText("desc"); item28.setText("class"); item29.setText("xpath"); item30.setText("Home"); item31.setText("Back"); item32.setText("Power"); item33.setText("id"); item34.setText("text"); item35.setText("desc"); item36.setText("class"); item37.setText("xpath"); item38.setText("id"); item39.setText("text"); item40.setText("desc"); item41.setText("class"); item42.setText("xpath"); item44.setText("Other"); //bind menu item1.setMenu(menu1); //item2.setMenu(menu2); item3.setMenu(menu3); //item4.setMenu(menu4); item5.setMenu(menu5); item6.setMenu(menu6); //item7.setMenu(menu7); item8.setMenu(menu8); //item9.setMenu(menu9); //add item listener //click item10-14 item10.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String script = getScriptByAction(item10.getText(), item1.getText()); chargeText(script); //scriptTextarea.setText(script); } }); item11.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String script = getScriptByAction(item11.getText(), item1.getText()); chargeText(script); } }); item12.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String script = getScriptByAction(item12.getText(), item1.getText()); chargeText(script); } }); item13.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String script = getScriptByAction(item13.getText(), item1.getText()); chargeText(script); } }); item14.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String script = getScriptByAction(item14.getText(), item1.getText()); chargeText(script); } }); //click(refresh) item15-19 item2.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { objectClick(item2.getText(), ""); UiAutomatorViewer window = UiAutomatorViewer.getInstance(); ScreenshotAction screenshot = new ScreenshotAction(window, false); screenshot.run(); } }); //longclick item20-24 item20.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String script = getScriptByAction(item20.getText(), item3.getText()); chargeText(script); } }); item21.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String script = getScriptByAction(item21.getText(), item3.getText()); chargeText(script); } }); item22.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String script = getScriptByAction(item22.getText(), item3.getText()); chargeText(script); } }); item23.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String script = getScriptByAction(item23.getText(), item3.getText()); chargeText(script); } }); item24.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String script = getScriptByAction(item24.getText(), item3.getText()); chargeText(script); } }); //longclick(refresh) item4.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { objectClick(item4.getText(), ""); UiAutomatorViewer window = UiAutomatorViewer.getInstance(); ScreenshotAction screenshot = new ScreenshotAction(window, false); screenshot.run(); } }); //edittext item33-37 item33.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { InputDialog dialog = new InputDialog(getShell(), "please input id", "please input", null, null); if (dialog.open() == InputDialog.OK) { String script = getScriptByValue(item33.getText(), dialog.getValue()); chargeText(script); } } }); item34.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { InputDialog dialog = new InputDialog(getShell(), "please input text", "please input", null, null); if (dialog.open() == InputDialog.OK) { String script = getScriptByValue(item34.getText(), dialog.getValue()); chargeText(script); } } }); item35.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { InputDialog dialog = new InputDialog(getShell(), "please input desc", "please input", null, null); if (dialog.open() == InputDialog.OK) { String script = getScriptByValue(item35.getText(), dialog.getValue()); chargeText(script); } } }); item36.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { InputDialog dialog = new InputDialog(getShell(), "please input class", "please input", null, null); if (dialog.open() == InputDialog.OK) { String script = getScriptByValue(item36.getText(), dialog.getValue()); chargeText(script); } } }); item37.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { InputDialog dialog = new InputDialog(getShell(), "please input xpath", "please input", null, null); if (dialog.open() == InputDialog.OK) { String script = getScriptByValue(item37.getText(), dialog.getValue()); chargeText(script); } } }); //systemcommand item30.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String script = getScriptByCommand(item30.getText(), "3"); chargeText(script); } }); item31.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String script = getScriptByCommand(item31.getText(), "4"); chargeText(script); } }); item32.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String script = getScriptByCommand(item32.getText(), "26"); chargeText(script); } }); item44.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { InputDialog dialog = new InputDialog(getShell(), "please input text", "please input", null, null); if (dialog.open() == InputDialog.OK && dialog.getValue() != "") { String script = getScriptByCommand(item44.getText(), dialog.getValue()); chargeText(script); } else { //MessageDialog mdialog=new MessageDialog(getShell(), null, null, "please enter text", MessageDialog.WARNING, null, MessageDialog.WARNING); //mdialog.open(); dialog.open(); } } }); //systemcommand(refresh) item7.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { InputDialog dialog = new InputDialog(getShell(), "please input keyevent", "please input", null, null); if (dialog.open() == InputDialog.OK) { objectClick(item7.getText(), dialog.getValue()); UiAutomatorViewer window = UiAutomatorViewer.getInstance(); ScreenshotAction screenshot = new ScreenshotAction(window, false); screenshot.run(); } } }); } } private String getRes(String res) { String Res = ((UiNode) mModel.getSelectedNode()).getAttribute(res); return Res; } private String getScriptByAction(String id, String ac) { // TODO Auto-generated methoad stub String script = "driver"; String res = ""; switch (id) { case "id": res = getRes("resource-id"); script += ".findElementById(\"" + res + "\")."; script += chargeAction(ac); break; case "text": res = getRes("text"); script += ".findElementByText(\"" + res + "\")."; script += chargeAction(ac); break; case "class": res = getRes("class"); script += ".findElementByClassName(\"" + res + "\")."; script += chargeAction(ac); break; case "desc": res = getRes("content-desc"); script += ".findElementByContent(\"" + res + "\")."; script += chargeAction(ac); break; case "xpath": res = getRes("xpath"); script += ".findElementByXpath(\"" + res + "\")."; script += chargeAction(ac); break; } return script; } private String getScriptByCommand(String id, String value) { String script = "driver"; switch (id) { case "Home": script += ".sendKeys(\"" + value + "\")"; break; case "Back": script += ".sendKeys(\"" + value + "\")"; break; case "Power": script += ".sendKeys(\"" + value + "\")"; break; case "Other": script += ".sendKeys(\"" + value + "\")"; break; } return script; } private String getScriptByValue(String id, String value) { // TODO Auto-generated method stub String script = "driver"; String res = ""; switch (id) { case "id": res = getRes("resource-id"); script += ".findElementById(\"" + res + "\").sendKeys(\"" + value + "\")"; break; case "text": res = getRes("text"); script += ".findElementByText(\"" + res + "\").sendKeys(\"" + value + "\")"; break; case "class": res = getRes("class"); script += ".findElementByClassName(\"" + res + "\").sendKeys(\"" + value + "\")"; break; case "desc": res = getRes("content-desc"); script += ".findElementByContent(\"" + res + "\").sendKeys(\"" + value + "\")"; break; case "xpath": res = getRes("xpath"); script += ".findElementByXpath(\"" + res + "\").sendKeys(\"" + value + "\")"; break; } return script; } private String chargeAction(String ac) { String ca = ""; switch (ac) { case "Click": ca = "click();"; break; case "longClick": ca = "longclick();"; break; } return ca; } private void chargeText(String res) { if (scriptTextarea.getText().isEmpty()) { scriptTextarea.append(res); } else { scriptTextarea.append(System.getProperty("line.separator") + res); } } private void objectClick(String ac, String value) { Rectangle rect = mModel.getCurrentDrawingRect(); String adbStr = ""; switch (ac) { case "Click(Refresh)": adbStr = "adb shell input tap " + (rect.x + rect.width / 2) + " " + (rect.y + rect.height / 2); break; case "LongClick(Refresh)": adbStr = "adb shell input tap " + (rect.x + rect.width / 2) + " " + (rect.y + rect.height / 2); break; case "SystemCommand(Refresh)": adbStr = "adb shell input keyevent " + value + ""; break; } try { System.out.println(adbStr); Runtime.getRuntime().exec(adbStr); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); mScreenshotCanvas.setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); mScreenshotCanvas.addPaintListener(new PaintListener() { @Override public void paintControl(PaintEvent e) { if (mScreenshot != null) { updateScreenshotTransformation(); // shifting the image here, so that there's a border around screen shot // this makes highlighting red rectangles on the screen shot edges more visible Transform t = new Transform(e.gc.getDevice()); t.translate(mDx, mDy); t.scale(mScale, mScale); e.gc.setTransform(t); e.gc.drawImage(mScreenshot, 0, 0); // this resets the transformation to identity transform, i.e. no change // we don't use transformation here because it will cause the line pattern // and line width of highlight rect to be scaled, causing to appear to be blurry e.gc.setTransform(null); if (mModel.shouldShowNafNodes()) { // highlight the "Not Accessibility Friendly" nodes e.gc.setForeground(e.gc.getDevice().getSystemColor(SWT.COLOR_YELLOW)); e.gc.setBackground(e.gc.getDevice().getSystemColor(SWT.COLOR_YELLOW)); for (Rectangle r : mModel.getNafNodes()) { e.gc.setAlpha(50); e.gc.fillRectangle(mDx + getScaledSize(r.x), mDy + getScaledSize(r.y), getScaledSize(r.width), getScaledSize(r.height)); e.gc.setAlpha(255); e.gc.setLineStyle(SWT.LINE_SOLID); e.gc.setLineWidth(2); e.gc.drawRectangle(mDx + getScaledSize(r.x), mDy + getScaledSize(r.y), getScaledSize(r.width), getScaledSize(r.height)); } } // draw the search result rects if (mSearchResult != null) { for (BasicTreeNode result : mSearchResult) { if (result instanceof UiNode) { UiNode uiNode = (UiNode) result; Rectangle rect = new Rectangle(uiNode.x, uiNode.y, uiNode.width, uiNode.height); e.gc.setForeground(e.gc.getDevice().getSystemColor(SWT.COLOR_YELLOW)); e.gc.setLineStyle(SWT.LINE_DASH); e.gc.setLineWidth(1); e.gc.drawRectangle(mDx + getScaledSize(rect.x), mDy + getScaledSize(rect.y), getScaledSize(rect.width), getScaledSize(rect.height)); } } } // draw the mouseover rects Rectangle rect = mModel.getCurrentDrawingRect(); if (rect != null) { e.gc.setForeground(e.gc.getDevice().getSystemColor(SWT.COLOR_RED)); if (mModel.isExploreMode()) { // when we highlight nodes dynamically on mouse move, // use dashed borders e.gc.setLineStyle(SWT.LINE_DASH); e.gc.setLineWidth(1); } else { // when highlighting nodes on tree node selection, // use solid borders e.gc.setLineStyle(SWT.LINE_SOLID); e.gc.setLineWidth(2); } e.gc.drawRectangle(mDx + getScaledSize(rect.x), mDy + getScaledSize(rect.y), getScaledSize(rect.width), getScaledSize(rect.height)); } } } }); mScreenshotCanvas.addMouseMoveListener(new MouseMoveListener() { @Override public void mouseMove(MouseEvent e) { if (mModel != null) { int x = getInverseScaledSize(e.x - mDx); int y = getInverseScaledSize(e.y - mDy); // show coordinate coordinateLabel.setText(String.format("(%d,%d)", x, y)); if (mModel.isExploreMode()) { BasicTreeNode node = mModel.updateSelectionForCoordinates(x, y); if (node != null) { updateTreeSelection(node); } } } } }); mSetScreenshotComposite = new Composite(mScreenshotComposite, SWT.NONE); mSetScreenshotComposite.setLayout(new GridLayout()); final Button setScreenshotButton = new Button(mSetScreenshotComposite, SWT.PUSH); setScreenshotButton.setText("Specify Screenshot..."); setScreenshotButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent arg0) { FileDialog fd = new FileDialog(setScreenshotButton.getShell()); fd.setFilterExtensions(new String[] { "*.png" }); if (mModelFile != null) { fd.setFilterPath(mModelFile.getParent()); } String screenshotPath = fd.open(); if (screenshotPath == null) { return; } ImageData[] data; try { data = new ImageLoader().load(screenshotPath); } catch (Exception e) { return; } // "data" is an array, probably used to handle images that has multiple frames // i.e. gifs or icons, we just care if it has at least one here if (data.length < 1) { return; } mScreenshot = new Image(Display.getDefault(), data[0]); redrawScreenshot(); } }); // right sash is split into 2 parts: upper-right and lower-right // both are composites with borders, so that the horizontal divider can be highlighted by // the borders SashForm rightSash = new SashForm(baseSash, SWT.VERTICAL); // upper-right base contains the toolbar and the tree Composite upperRightBase = new Composite(rightSash, SWT.BORDER); upperRightBase.setLayout(new GridLayout(1, false)); ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT); toolBarManager.add(new ExpandAllAction(this)); toolBarManager.add(new ToggleNafAction(this)); ToolBar searchtoolbar = toolBarManager.createControl(upperRightBase); // add search box and navigation buttons for search results ToolItem itemSeparator = new ToolItem(searchtoolbar, SWT.SEPARATOR | SWT.RIGHT); searchTextarea = new Text(searchtoolbar, SWT.BORDER | SWT.SINGLE | SWT.SEARCH); searchTextarea.pack(); itemSeparator.setWidth(searchTextarea.getBounds().width); itemSeparator.setControl(searchTextarea); itemPrev = new ToolItem(searchtoolbar, SWT.SIMPLE); itemPrev.setImage(ImageHelper.loadImageDescriptorFromResource("images/prev.png").createImage()); itemNext = new ToolItem(searchtoolbar, SWT.SIMPLE); itemNext.setImage(ImageHelper.loadImageDescriptorFromResource("images/next.png").createImage()); itemDeleteAndInfo = new ToolItem(searchtoolbar, SWT.SIMPLE); itemDeleteAndInfo.setImage(ImageHelper.loadImageDescriptorFromResource("images/delete.png").createImage()); itemDeleteAndInfo.setToolTipText("Clear search results"); coordinateLabel = new ToolItem(searchtoolbar, SWT.SIMPLE); coordinateLabel.setText(""); coordinateLabel.setEnabled(false); // add search function searchTextarea.addKeyListener(new KeyListener() { @Override public void keyReleased(KeyEvent event) { if (event.keyCode == SWT.CR) { String term = searchTextarea.getText(); if (!term.isEmpty()) { if (term.equals(mLastSearchedTerm)) { nextSearchResult(); return; } clearSearchResult(); mSearchResult = mModel.searchNode(term); if (!mSearchResult.isEmpty()) { mSearchResultIndex = 0; updateSearchResultSelection(); mLastSearchedTerm = term; } } } } @Override public void keyPressed(KeyEvent event) { } }); SelectionListener l = new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent se) { if (se.getSource() == itemPrev) { prevSearchResult(); } else if (se.getSource() == itemNext) { nextSearchResult(); } else if (se.getSource() == itemDeleteAndInfo) { searchTextarea.setText(""); clearSearchResult(); } } }; itemPrev.addSelectionListener(l); itemNext.addSelectionListener(l); itemDeleteAndInfo.addSelectionListener(l); searchtoolbar.pack(); searchtoolbar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); mTreeViewer = new TreeViewer(upperRightBase, SWT.NONE); mTreeViewer.setContentProvider(new BasicTreeNodeContentProvider()); // default LabelProvider uses toString() to generate text to display mTreeViewer.setLabelProvider(new LabelProvider()); mTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { BasicTreeNode selectedNode = null; if (event.getSelection() instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object o = selection.getFirstElement(); if (o instanceof BasicTreeNode) { selectedNode = (BasicTreeNode) o; } } mModel.setSelectedNode(selectedNode); redrawScreenshot(); if (selectedNode != null) { loadAttributeTable(); } } }); Tree tree = mTreeViewer.getTree(); tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); // move focus so that it's not on tool bar (looks weird) tree.setFocus(); // lower-right base contains the detail group Composite lowerRightBase = new Composite(rightSash, SWT.BORDER); lowerRightBase.setLayout(new FillLayout()); Group grpNodeDetail = new Group(lowerRightBase, SWT.NONE); grpNodeDetail.setLayout(new FillLayout(SWT.HORIZONTAL)); grpNodeDetail.setText("Node Detail"); Composite tableContainer = new Composite(grpNodeDetail, SWT.NONE); TableColumnLayout columnLayout = new TableColumnLayout(); tableContainer.setLayout(columnLayout); mTableViewer = new TableViewer(tableContainer, SWT.NONE | SWT.FULL_SELECTION); Table table = mTableViewer.getTable(); table.setLinesVisible(true); // use ArrayContentProvider here, it assumes the input to the TableViewer // is an array, where each element represents a row in the table mTableViewer.setContentProvider(new ArrayContentProvider()); TableViewerColumn tableViewerColumnKey = new TableViewerColumn(mTableViewer, SWT.NONE); TableColumn tblclmnKey = tableViewerColumnKey.getColumn(); tableViewerColumnKey.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof AttributePair) { // first column, shows the attribute name return ((AttributePair) element).key; } return super.getText(element); } }); columnLayout.setColumnData(tblclmnKey, new ColumnWeightData(1, ColumnWeightData.MINIMUM_WIDTH, true)); TableViewerColumn tableViewerColumnValue = new TableViewerColumn(mTableViewer, SWT.NONE); tableViewerColumnValue.setEditingSupport(new AttributeTableEditingSupport(mTableViewer)); TableColumn tblclmnValue = tableViewerColumnValue.getColumn(); columnLayout.setColumnData(tblclmnValue, new ColumnWeightData(2, ColumnWeightData.MINIMUM_WIDTH, true)); tableViewerColumnValue.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof AttributePair) { // second column, shows the attribute value return ((AttributePair) element).value; } return super.getText(element); } }); SashForm downSash = new SashForm(baseSash, SWT.VERTICAL | SWT.BORDER); scriptTextarea = new Text(downSash, SWT.MULTI | SWT.BORDER | SWT.WRAP | SWT.V_SCROLL | SWT.READ_ONLY); downSash.setMaximizedControl(scriptTextarea); scriptTextarea.pack(); scriptTextarea.addKeyListener(new KeyListener() { @Override public void keyReleased(KeyEvent event) { if (event.keyCode == SWT.CR) { String lastterm = scriptTextarea.getText(); if (!lastterm.isEmpty()) { if (count == 0) { MessageDialog.openWarning(shell, "", ""); term = lastterm; scriptTextarea.setText(term); count++; } else { term += lastterm; scriptTextarea.setText(term); count++; } } } } @Override public void keyPressed(KeyEvent event) { } }); baseSash.setWeights(new int[] { 4, 3, 3 }); // sets the ratio of the vertical split: left 5 vs right 3 //baseSash.setWeights(new int[] {5,3}); }
From source file:com.apicloud.navigator.ui.editors.ConfigEditor.java
License:Open Source License
@Override public void createPartControl(Composite parent) { parent.setLayout(new GridLayout(1, false)); ScrolledComposite scrolledComposite = new ScrolledComposite(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); scrolledComposite.setExpandVertical(true); scrolledComposite.setExpandHorizontal(true); scrolledComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); formToolkit.adapt(scrolledComposite); formToolkit.paintBordersFor(scrolledComposite); scrolledComposite.setMinWidth(600);//from w ww . jav a2 s. com scrolledComposite.setMinHeight(1400); scrolledComposite.getVerticalBar().setIncrement(10); Composite composite_3 = new Composite(scrolledComposite, SWT.NONE); formToolkit.adapt(composite_3); formToolkit.paintBordersFor(composite_3); composite_3.setLayout(new GridLayout(1, false)); generalSection = new GeneralSectionBuilder(formToolkit, composite_3, this); generalSection.buildUI(); generalSection.bindData(config); Section preferenceSection = formToolkit.createSection(composite_3, Section.TWISTIE | Section.TITLE_BAR); preferenceSection.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); formToolkit.paintBordersFor(preferenceSection); preferenceSection.setText("\u504F\u597D\u8BBE\u7F6E"); preferenceSection.setExpanded(true); Composite preferenceComposite = formToolkit.createComposite(preferenceSection, SWT.NONE); preferenceComposite.setToolTipText(""); formToolkit.paintBordersFor(preferenceComposite); preferenceSection.setClient(preferenceComposite); preferenceComposite.setLayout(new GridLayout(2, false)); Label appBackground = new Label(preferenceComposite, SWT.NONE); appBackground.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false, 1, 1)); formToolkit.adapt(appBackground, true, true); appBackground.setText("appBackground:"); Composite appBackgroundComposite = new Composite(preferenceComposite, SWT.NONE); appBackgroundComposite.setLayout(new GridLayout(1, false)); appBackgroundComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); formToolkit.adapt(appBackgroundComposite); formToolkit.paintBordersFor(appBackgroundComposite); appBackgroundText = new Text(appBackgroundComposite, SWT.BORDER); GridData gd_appBackgroundText = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1); gd_appBackgroundText.widthHint = 200; appBackgroundText.setLayoutData(gd_appBackgroundText); appBackgroundText.setText(getPreferenceValue("appBackground", config) == null ? "" : getPreferenceValue("appBackground", config)); appBackgroundText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { String value = appBackgroundText.getText() == null ? "" : appBackgroundText.getText(); changePreferenceValue("appBackground", value); dirty = true; firePropertyChange(PROP_DIRTY); } }); formToolkit.adapt(appBackgroundText, true, true); Label windowBackground = new Label(preferenceComposite, SWT.NONE); windowBackground.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); formToolkit.adapt(windowBackground, true, true); windowBackground.setText("windowBackground:"); Composite windowBackgroundComposite = new Composite(preferenceComposite, SWT.NONE); windowBackgroundComposite.setLayout(new GridLayout(1, false)); windowBackgroundComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); formToolkit.adapt(windowBackgroundComposite); formToolkit.paintBordersFor(windowBackgroundComposite); windowBackgroundText = new Text(windowBackgroundComposite, SWT.BORDER); GridData gd_windowBackgroundText = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1); gd_windowBackgroundText.widthHint = 200; windowBackgroundText.setLayoutData(gd_windowBackgroundText); windowBackgroundText.setText(getPreferenceValue("windowBackground", config) == null ? "" : getPreferenceValue("windowBackground", config)); windowBackgroundText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { String value = windowBackgroundText.getText() == null ? "" : windowBackgroundText.getText(); changePreferenceValue("windowBackground", value); dirty = true; firePropertyChange(PROP_DIRTY); } }); formToolkit.adapt(windowBackgroundText, true, true); Label frameBackground = new Label(preferenceComposite, SWT.NONE); frameBackground.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); formToolkit.adapt(frameBackground, true, true); frameBackground.setText("frameBackgroundColor:"); Composite frameBackgroundComposite = new Composite(preferenceComposite, SWT.NONE); frameBackgroundComposite.setLayout(new GridLayout(6, false)); frameBackgroundComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); formToolkit.adapt(frameBackgroundComposite); formToolkit.paintBordersFor(frameBackgroundComposite); frameBackgroundText = new Text(frameBackgroundComposite, SWT.BORDER); GridData gd_frameBackgroundText = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1); gd_frameBackgroundText.widthHint = 200; frameBackgroundText.setLayoutData(gd_frameBackgroundText); frameBackgroundText.setText(getPreferenceValue("frameBackgroundColor", config) == null ? "" : getPreferenceValue("frameBackgroundColor", config)); frameBackgroundText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { String value = frameBackgroundText.getText() == null ? "" : frameBackgroundText.getText(); changePreferenceValue("frameBackgroundColor", value); dirty = true; firePropertyChange(PROP_DIRTY); } }); formToolkit.adapt(frameBackgroundText, true, true); Label lblNewLabel_4 = new Label(frameBackgroundComposite, SWT.NONE); formToolkit.adapt(lblNewLabel_4, true, true); new Label(frameBackgroundComposite, SWT.NONE); new Label(frameBackgroundComposite, SWT.NONE); new Label(frameBackgroundComposite, SWT.NONE); new Label(frameBackgroundComposite, SWT.NONE); Label pageBounce = new Label(preferenceComposite, SWT.NONE); pageBounce.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); formToolkit.adapt(pageBounce, true, true); pageBounce.setText("pageBounce:"); Composite pageBounceComposite = new Composite(preferenceComposite, SWT.NONE); pageBounceComposite.setLayout(new GridLayout(2, false)); pageBounceComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); formToolkit.adapt(pageBounceComposite); formToolkit.paintBordersFor(pageBounceComposite); pageBounceButton_ok = new Button(pageBounceComposite, SWT.RADIO | SWT.RIGHT); pageBounceButton_ok.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { changePreferenceValue("pageBounce", "true"); dirty = true; firePropertyChange(PROP_DIRTY); } }); pageBounceButton_ok.setAlignment(SWT.LEFT); formToolkit.adapt(pageBounceButton_ok, true, true); pageBounceButton_ok.setText("true"); pageBounceButton_cancel = new Button(pageBounceComposite, SWT.RADIO); if (Boolean.parseBoolean(getPreferenceValue("pageBounce", config) == null ? "false" : getPreferenceValue("pageBounce", config))) { pageBounceButton_ok.setSelection(true); changePreferenceValue("pageBounce", "true"); } else { pageBounceButton_cancel.setSelection(true); changePreferenceValue("pageBounce", "false"); } pageBounceButton_cancel.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { changePreferenceValue("pageBounce", "false"); dirty = true; firePropertyChange(PROP_DIRTY); } }); formToolkit.adapt(pageBounceButton_cancel, true, true); pageBounceButton_cancel.setText("false"); Label hScrollBarEnabled = new Label(preferenceComposite, SWT.NONE); hScrollBarEnabled.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); formToolkit.adapt(hScrollBarEnabled, true, true); hScrollBarEnabled.setText("hScrollBarEnabled:"); Composite hScrollBarEnabledComposite = new Composite(preferenceComposite, SWT.NONE); hScrollBarEnabledComposite.setLayout(new GridLayout(2, false)); hScrollBarEnabledComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); formToolkit.adapt(hScrollBarEnabledComposite); formToolkit.paintBordersFor(hScrollBarEnabledComposite); hScrollBarEnabledButton_ok = new Button(hScrollBarEnabledComposite, SWT.RADIO | SWT.RIGHT); hScrollBarEnabledButton_ok.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { changePreferenceValue("hScrollBarEnabled", "true"); dirty = true; firePropertyChange(PROP_DIRTY); } }); hScrollBarEnabledButton_ok.setAlignment(SWT.LEFT); formToolkit.adapt(hScrollBarEnabledButton_ok, true, true); hScrollBarEnabledButton_ok.setText("true"); hScrollBarEnabledButton_cancel = new Button(hScrollBarEnabledComposite, SWT.RADIO); if (Boolean.parseBoolean(getPreferenceValue("hScrollBarEnabled", config) == null ? "false" : getPreferenceValue("hScrollBarEnabled", config))) { hScrollBarEnabledButton_ok.setSelection(true); changePreferenceValue("hScrollBarEnabled", "true"); } else { hScrollBarEnabledButton_cancel.setSelection(true); changePreferenceValue("hScrollBarEnabled", "false"); } hScrollBarEnabledButton_cancel.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { changePreferenceValue("hScrollBarEnabled", "false"); dirty = true; firePropertyChange(PROP_DIRTY); } }); formToolkit.adapt(hScrollBarEnabledButton_cancel, true, true); hScrollBarEnabledButton_cancel.setText("false"); Label vScrollBarEnabled = new Label(preferenceComposite, SWT.NONE); vScrollBarEnabled.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); formToolkit.adapt(vScrollBarEnabled, true, true); vScrollBarEnabled.setText("vScrollBarEnabled:"); Composite vScrollBarEnabledComposite = new Composite(preferenceComposite, SWT.NONE); vScrollBarEnabledComposite.setLayout(new GridLayout(2, false)); vScrollBarEnabledComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); formToolkit.adapt(vScrollBarEnabledComposite); formToolkit.paintBordersFor(vScrollBarEnabledComposite); vScrollBarEnabledButton_ok = new Button(vScrollBarEnabledComposite, SWT.RADIO | SWT.RIGHT); vScrollBarEnabledButton_ok.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { changePreferenceValue("vScrollBarEnabled", "true"); dirty = true; firePropertyChange(PROP_DIRTY); } }); vScrollBarEnabledButton_ok.setAlignment(SWT.LEFT); formToolkit.adapt(vScrollBarEnabledButton_ok, true, true); vScrollBarEnabledButton_ok.setText("true"); vScrollBarEnabledButton_cancel = new Button(vScrollBarEnabledComposite, SWT.RADIO); if (Boolean.parseBoolean(getPreferenceValue("vScrollBarEnabled", config) == null ? "false" : getPreferenceValue("vScrollBarEnabled", config))) { vScrollBarEnabledButton_ok.setSelection(true); changePreferenceValue("vScrollBarEnabled", "true"); } else { vScrollBarEnabledButton_cancel.setSelection(true); changePreferenceValue("vScrollBarEnabled", "false"); } vScrollBarEnabledButton_cancel.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { changePreferenceValue("vScrollBarEnabled", "false"); dirty = true; firePropertyChange(PROP_DIRTY); } }); formToolkit.adapt(vScrollBarEnabledButton_cancel, true, true); vScrollBarEnabledButton_cancel.setText("false"); Label fullScreen = new Label(preferenceComposite, SWT.NONE); fullScreen.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); formToolkit.adapt(fullScreen, true, true); fullScreen.setText("fullScreen:"); Composite fullScreenComposite = new Composite(preferenceComposite, SWT.NONE); fullScreenComposite.setLayout(new GridLayout(2, false)); fullScreenComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); formToolkit.adapt(fullScreenComposite); formToolkit.paintBordersFor(fullScreenComposite); fullScreenButton_ok = new Button(fullScreenComposite, SWT.RADIO | SWT.RIGHT); fullScreenButton_ok.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { changePreferenceValue("fullScreen", "true"); dirty = true; firePropertyChange(PROP_DIRTY); } }); fullScreenButton_ok.setAlignment(SWT.LEFT); formToolkit.adapt(fullScreenButton_ok, true, true); fullScreenButton_ok.setText("true"); fullScreenButton_cancel = new Button(fullScreenComposite, SWT.RADIO); if (Boolean.parseBoolean(getPreferenceValue("fullScreen", config) == null ? "false" : getPreferenceValue("fullScreen", config))) { fullScreenButton_ok.setSelection(true); changePreferenceValue("fullScreen", "true"); } else { fullScreenButton_cancel.setSelection(true); changePreferenceValue("fullScreen", "false"); } fullScreenButton_cancel.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { changePreferenceValue("fullScreen", "false"); dirty = true; firePropertyChange(PROP_DIRTY); } }); formToolkit.adapt(fullScreenButton_cancel, true, true); fullScreenButton_cancel.setText("false"); Label ios7 = new Label(preferenceComposite, SWT.NONE); ios7.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); formToolkit.adapt(ios7, true, true); ios7.setText("IOS7StatusBarAppearance:"); Composite ios7Composite = new Composite(preferenceComposite, SWT.NONE); ios7Composite.setLayout(new GridLayout(2, false)); ios7Composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); formToolkit.adapt(ios7Composite); formToolkit.paintBordersFor(ios7Composite); ios7Button_ok = new Button(ios7Composite, SWT.RADIO | SWT.RIGHT); ios7Button_ok.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { changePreferenceValue("iOS7StatusBarAppearance", "true"); dirty = true; firePropertyChange(PROP_DIRTY); } }); ios7Button_ok.setAlignment(SWT.LEFT); formToolkit.adapt(ios7Button_ok, true, true); ios7Button_ok.setText("true"); ios7Button_cancel = new Button(ios7Composite, SWT.RADIO); if (Boolean.parseBoolean(getPreferenceValue("iOS7StatusBarAppearance", config) == null ? "false" : getPreferenceValue("iOS7StatusBarAppearance", config))) { ios7Button_ok.setSelection(true); changePreferenceValue("iOS7StatusBarAppearance", "true"); } else { ios7Button_cancel.setSelection(true); changePreferenceValue("iOS7StatusBarAppearance", "false"); } ios7Button_cancel.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { changePreferenceValue("iOS7StatusBarAppearance", "false"); dirty = true; firePropertyChange(PROP_DIRTY); } }); formToolkit.adapt(ios7Button_cancel, true, true); ios7Button_cancel.setText("false"); Label autoLaunch = new Label(preferenceComposite, SWT.NONE); autoLaunch.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); formToolkit.adapt(autoLaunch, true, true); autoLaunch.setText("autoLaunch:"); Composite autoLaunchComposite = new Composite(preferenceComposite, SWT.NONE); autoLaunchComposite.setLayout(new GridLayout(2, false)); autoLaunchComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); formToolkit.adapt(autoLaunchComposite); formToolkit.paintBordersFor(autoLaunchComposite); autoLaunchButton_ok = new Button(autoLaunchComposite, SWT.RADIO | SWT.RIGHT); autoLaunchButton_ok.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { changePreferenceValue("autoLaunch", "true"); dirty = true; firePropertyChange(PROP_DIRTY); } }); autoLaunchButton_ok.setAlignment(SWT.LEFT); formToolkit.adapt(autoLaunchButton_ok, true, true); autoLaunchButton_ok.setText("true"); autoLaunchButton_cancel = new Button(autoLaunchComposite, SWT.RADIO); if (Boolean.parseBoolean(getPreferenceValue("autoLaunch", config) == null ? "false" : getPreferenceValue("autoLaunch", config))) { autoLaunchButton_ok.setSelection(true); changePreferenceValue("autoLaunch", "true"); } else { autoLaunchButton_cancel.setSelection(true); changePreferenceValue("autoLaunch", "false"); } autoLaunchButton_cancel.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { changePreferenceValue("autoLaunch", "false"); dirty = true; firePropertyChange(PROP_DIRTY); } }); formToolkit.adapt(autoLaunchButton_cancel, true, true); autoLaunchButton_cancel.setText("false"); Label autoUpdate = new Label(preferenceComposite, SWT.NONE); autoUpdate.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); formToolkit.adapt(autoUpdate, true, true); autoUpdate.setText("autoUpdate:"); Composite autoUpdateComposite = new Composite(preferenceComposite, SWT.NONE); autoUpdateComposite.setLayout(new GridLayout(2, false)); autoUpdateComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); formToolkit.adapt(autoUpdateComposite); formToolkit.paintBordersFor(autoUpdateComposite); autoUpdateButton_ok = new Button(autoUpdateComposite, SWT.RADIO | SWT.RIGHT); autoUpdateButton_ok.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { changePreferenceValue("autoUpdate", "true"); dirty = true; firePropertyChange(PROP_DIRTY); } }); autoUpdateButton_ok.setAlignment(SWT.LEFT); formToolkit.adapt(autoUpdateButton_ok, true, true); autoUpdateButton_ok.setText("true"); autoUpdateButton_cancel = new Button(autoUpdateComposite, SWT.RADIO); if (Boolean.parseBoolean(getPreferenceValue("autoUpdate", config) == null ? "false" : getPreferenceValue("autoUpdate", config))) { autoUpdateButton_ok.setSelection(true); changePreferenceValue("autoUpdate", "true"); } else { autoUpdateButton_cancel.setSelection(true); changePreferenceValue("autoUpdate", "false"); } autoUpdateButton_cancel.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { changePreferenceValue("autoUpdate", "false"); dirty = true; firePropertyChange(PROP_DIRTY); } }); formToolkit.adapt(autoUpdateButton_cancel, true, true); autoUpdateButton_cancel.setText("false"); Label smartUpdate = new Label(preferenceComposite, SWT.NONE); smartUpdate.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); formToolkit.adapt(smartUpdate, true, true); smartUpdate.setText("smartUpdate:"); Composite smartUpdateComposite = new Composite(preferenceComposite, SWT.NONE); smartUpdateComposite.setLayout(new GridLayout(2, false)); smartUpdateComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); formToolkit.adapt(smartUpdateComposite); formToolkit.paintBordersFor(smartUpdateComposite); smartUpdateButton_ok = new Button(smartUpdateComposite, SWT.RADIO | SWT.RIGHT); smartUpdateButton_ok.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { changePreferenceValue("smartUpdate", "true"); dirty = true; firePropertyChange(PROP_DIRTY); } }); smartUpdateButton_ok.setAlignment(SWT.LEFT); formToolkit.adapt(smartUpdateButton_ok, true, true); smartUpdateButton_ok.setText("true"); smartUpdateButton_cancel = new Button(smartUpdateComposite, SWT.RADIO); if (Boolean.parseBoolean(getPreferenceValue("smartUpdate", config) == null ? "false" : getPreferenceValue("smartUpdate", config))) { smartUpdateButton_ok.setSelection(true); changePreferenceValue("smartUpdate", "true"); } else { smartUpdateButton_cancel.setSelection(true); changePreferenceValue("smartUpdate", "false"); } smartUpdateButton_cancel.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { changePreferenceValue("smartUpdate", "false"); dirty = true; firePropertyChange(PROP_DIRTY); } }); formToolkit.adapt(smartUpdateButton_cancel, true, true); smartUpdateButton_cancel.setText("false"); Section featureSection = formToolkit.createSection(composite_3, Section.TWISTIE | Section.TITLE_BAR); GridData gd_featureSection = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1); gd_featureSection.heightHint = 112; featureSection.setLayoutData(gd_featureSection); formToolkit.paintBordersFor(featureSection); featureSection.setText(Messages.FEATURESETUP); featureSection.setExpanded(true); Composite composite_8 = new Composite(featureSection, SWT.NONE); formToolkit.adapt(composite_8); formToolkit.paintBordersFor(composite_8); featureSection.setClient(composite_8); composite_8.setLayout(new GridLayout(1, false)); Label lblNewLabel_1 = new Label(composite_8, SWT.NONE); lblNewLabel_1.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1)); formToolkit.adapt(lblNewLabel_1, true, true); lblNewLabel_1.setText(Messages.SYSTEMINFO); Composite composite = new Composite(composite_8, SWT.NONE); GridData gd_composite = new GridData(SWT.CENTER, SWT.CENTER, true, false, 1, 1); gd_composite.widthHint = 380; composite.setLayoutData(gd_composite); formToolkit.adapt(composite); formToolkit.paintBordersFor(composite); final Label addFeatureLabel = formToolkit.createLabel(composite, "", SWT.NONE); addFeatureLabel.setImage(Activator.getImage("icons/addfeature.png")); addFeatureLabel.setBounds(0, 0, 90, 26); addFeatureLabel.addMouseListener(new MouseAdapter() { public void mouseUp(MouseEvent e) { AddFeatureDialog dialog = new AddFeatureDialog(getSite().getShell(), ConfigEditor.this, treeViewer, config); dialog.open(); } }); addFeatureLabel.addMouseTrackListener(new MouseTrackListener() { @Override public void mouseHover(MouseEvent e) { addFeatureLabel.setImage(Activator.getImage("icons/addfeaturefocus.png")); } @Override public void mouseExit(MouseEvent e) { addFeatureLabel.setImage(Activator.getImage("icons/addfeature.png")); } @Override public void mouseEnter(MouseEvent e) { addFeatureLabel.setImage(Activator.getImage("icons/addfeaturefocus.png")); } }); final Label addParamLabel = formToolkit.createLabel(composite, "", SWT.NONE); addParamLabel.setImage(Activator.getImage("icons/addParam.png")); addParamLabel.setBounds(95, 0, 90, 26); addParamLabel.addMouseListener(new MouseAdapter() { public void mouseUp(MouseEvent e) { if (config.getFeatures().size() == 0) { MessageDialog.openInformation(getSite().getShell(), Messages.PackageAppItemDialog_INFO, Messages.ADDFEATURE); return; } CreateParamDialog dialog = new CreateParamDialog(getSite().getShell(), ConfigEditor.this, treeViewer, config); dialog.open(); } }); addParamLabel.addMouseTrackListener(new MouseTrackListener() { @Override public void mouseHover(MouseEvent e) { addParamLabel.setImage(Activator.getImage("icons/addParamfocus.png")); } @Override public void mouseExit(MouseEvent e) { addParamLabel.setImage(Activator.getImage("icons/addParam.png")); } @Override public void mouseEnter(MouseEvent e) { addParamLabel.setImage(Activator.getImage("icons/addParamfocus.png")); } }); final Label deleteNodeLabel = formToolkit.createLabel(composite, "", SWT.NONE); deleteNodeLabel.setImage(Activator.getImage("icons/deleteNode.png")); deleteNodeLabel.setBounds(290, 0, 90, 26); deleteNodeLabel.addMouseListener(new MouseAdapter() { public void mouseUp(MouseEvent e) { if (treeViewer.getSelection() == null) return; IStructuredSelection ss = (StructuredSelection) treeViewer.getSelection(); if (ss.getFirstElement() instanceof TreeNode) { TreeNode node = (TreeNode) ss.getFirstElement(); if (node.getValue() instanceof Feature) { config.getFeatures().remove((Feature) node.getValue()); } if (node.getValue() instanceof Param) { TreeNode parent = node.getParent(); Feature feature = (Feature) parent.getValue(); Param param = (Param) node.getValue(); feature.removeParams(param); } dirty = true; firePropertyChange(PROP_DIRTY); treeViewer.setInput(config.createTreeNode()); treeViewer.refresh(); } } }); deleteNodeLabel.addMouseTrackListener(new MouseTrackListener() { @Override public void mouseHover(MouseEvent e) { deleteNodeLabel.setImage(Activator.getImage("icons/deleteNodefocus.png")); } @Override public void mouseExit(MouseEvent e) { deleteNodeLabel.setImage(Activator.getImage("icons/deleteNode.png")); } @Override public void mouseEnter(MouseEvent e) { deleteNodeLabel.setImage(Activator.getImage("icons/deleteNodefocus.png")); } }); treeViewer = new TreeViewer(composite_8, SWT.BORDER | SWT.FULL_SELECTION); Tree tree = treeViewer.getTree(); tree.setLinesVisible(true); tree.setHeaderVisible(true); GridData gd_tree = new GridData(SWT.CENTER, SWT.FILL, true, true, 1, 1); gd_tree.heightHint = 112; tree.setLayoutData(gd_tree); formToolkit.paintBordersFor(tree); this.treeViewer.setContentProvider(new TreeNodeContentProvider()); TreeViewerColumn treeViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE); TreeColumn trclmnNewColumn = treeViewerColumn.getColumn(); trclmnNewColumn.setWidth(180); trclmnNewColumn.setText("\u540D\u79F0"); treeViewerColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { TreeNode treeNode = TreeNode.class.cast(element); if (treeNode.getValue() instanceof Feature) { return ((Feature) treeNode.getValue()).getName(); } if (treeNode.getValue() instanceof Param) { return ((Param) treeNode.getValue()).getName(); } return element.toString(); } }); TreeViewerColumn treeViewerColumn_1 = new TreeViewerColumn(treeViewer, SWT.NONE); TreeColumn trclmnNewColumn_1 = treeViewerColumn_1.getColumn(); trclmnNewColumn_1.setWidth(180); trclmnNewColumn_1.setText("\u503C"); treeViewerColumn_1.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { TreeNode treeNode = TreeNode.class.cast(element); if (treeNode.getValue() instanceof Feature) { return ""; } if (treeNode.getValue() instanceof Param) { return ((Param) treeNode.getValue()).getValue(); } return element.toString(); } }); this.treeViewer.setInput(config.createTreeNode()); treeViewer.setColumnProperties(new String[] { "name", "value" }); CellEditor[] treeViewer_editors = new CellEditor[tree.getColumnCount()]; treeViewer_editors[0] = new TextCellEditor(tree); treeViewer_editors[1] = new TextCellEditor(tree); treeViewer.setCellEditors(treeViewer_editors); treeViewer.setCellModifier(new ICellModifier() { @Override public boolean canModify(Object element, String property) { TreeNode treeNode = TreeNode.class.cast(element); if (treeNode.getValue() instanceof Feature && property.equals("value")) { //$NON-NLS-1$ return false; } if (property.equals("name")) return false; return true; } @Override public Object getValue(Object element, String property) { Object value = ""; //$NON-NLS-1$ TreeNode treeNode = TreeNode.class.cast(element); if (treeNode.getValue() instanceof Feature) { Feature feautre = Feature.class.cast(treeNode.getValue()); if (property.equals("name")) { value = feautre.getName(); } } if (treeNode.getValue() instanceof Param) { Param param = Param.class.cast(treeNode.getValue()); if (property.equals("name")) { value = param.getName(); } else if (property.equals("value")) { value = param.getValue(); } } return value; } @Override public void modify(Object element, String property, Object value) { TreeItem item = (TreeItem) element; Object o = item.getData(); TreeNode treeNode = TreeNode.class.cast(o); if (treeNode.getValue() instanceof Feature) { Feature feautre = Feature.class.cast(treeNode.getValue()); if (property.equals("name")) { if ("".equals(value)) { MessageDialog.openInformation(null, Messages.AddFeatureDialog_INFORMATION, Messages.CreateFeatureDialog_FEATURE_NMAE_NOT_NULL); } else { if (!feautre.getName().equals((String) value)) { feautre.setName((String) value); dirty = true; firePropertyChange(PROP_DIRTY); treeViewer.refresh(); } } } } if (treeNode.getValue() instanceof Param) { Param param = Param.class.cast(treeNode.getValue()); if (property.equals("name")) { if ("".equals(value)) { MessageDialog.openInformation(null, Messages.PackageAppItemDialog_INFO, Messages.PARAMNAMEISNULL); } else { if (!param.getName().equals((String) value)) { param.setName((String) value); dirty = true; firePropertyChange(PROP_DIRTY); treeViewer.refresh(); } } } else if (property.equals("value")) { if ("".equals(value)) { MessageDialog.openInformation(null, Messages.PackageAppItemDialog_INFO, Messages.PARAMNAMEISNULL); } else { if (!param.getValue().equals((String) value)) { param.setValue((String) value); dirty = true; firePropertyChange(PROP_DIRTY); treeViewer.refresh(); } } } } } }); final Section sctnNewSection_1 = formToolkit.createSection(composite_3, Section.TWISTIE | Section.TITLE_BAR); GridData gd_sctnNewSection_1 = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1); gd_sctnNewSection_1.heightHint = 73; sctnNewSection_1.setLayoutData(gd_sctnNewSection_1); formToolkit.paintBordersFor(sctnNewSection_1); sctnNewSection_1.setText(Messages.PERMISSIONSETTINGS); sctnNewSection_1.setExpanded(true); Composite composite_5 = formToolkit.createComposite(sctnNewSection_1, SWT.NONE); formToolkit.paintBordersFor(composite_5); sctnNewSection_1.setClient(composite_5); composite_5.setLayout(new GridLayout(3, false)); Label lblNewLabel_2 = new Label(composite_5, SWT.NONE); lblNewLabel_2.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, false, 3, 1)); formToolkit.adapt(lblNewLabel_2, true, true); lblNewLabel_2.setText(Messages.PERMISSIONINFO); tableViewer_1 = new TableViewer(composite_5, SWT.BORDER | SWT.FULL_SELECTION); table_1 = tableViewer_1.getTable(); table_1.setLinesVisible(true); table_1.setHeaderVisible(true); GridData gd_table_1 = new GridData(SWT.RIGHT, SWT.CENTER, true, false, 1, 1); gd_table_1.heightHint = 250; table_1.setLayoutData(gd_table_1); formToolkit.paintBordersFor(table_1); TableViewerColumn tableViewerColumn_2 = new TableViewerColumn(tableViewer_1, SWT.NONE); TableColumn tblclmnNewColumn_2 = tableViewerColumn_2.getColumn(); tblclmnNewColumn_2.setResizable(false); tblclmnNewColumn_2.setMoveable(false); tblclmnNewColumn_2.setWidth(160); tblclmnNewColumn_2.setText(Messages.STARTED); tableViewerColumn_2.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Permission) element).getName(); } }); tableViewer_1.setContentProvider(new ArrayContentProvider()); tableViewer_1.setInput(config.getPermissions()); tableViewer_1.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { StructuredSelection ss = (StructuredSelection) event.getSelection(); Permission p = (Permission) ss.getFirstElement(); config.getPermissions().remove(p); tableViewer_1.setInput(config.getPermissions()); tableViewer_3.setInput(getUnauthorized(config)); sctnNewSection_1.setExpanded(false); sctnNewSection_1.setExpanded(true); dirty = true; firePropertyChange(PROP_DIRTY); } }); table_1.addFocusListener(new FocusListener() { @Override public void focusLost(FocusEvent e) { sctnNewSection_1.setExpanded(false); sctnNewSection_1.setExpanded(true); } @Override public void focusGained(FocusEvent e) { sctnNewSection_1.setExpanded(false); sctnNewSection_1.setExpanded(true); } }); Label lblNewLabel = new Label(composite_5, SWT.NONE); lblNewLabel.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1)); formToolkit.adapt(lblNewLabel, true, true); lblNewLabel.setText(Messages.CHANGEBUTTON); tableViewer_3 = new TableViewer(composite_5, SWT.BORDER | SWT.FULL_SELECTION); table_3 = tableViewer_3.getTable(); table_3.setLinesVisible(true); table_3.setHeaderVisible(true); table_3.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, true, false, 1, 1)); formToolkit.paintBordersFor(table_3); TableViewerColumn tableViewerColumn = new TableViewerColumn(tableViewer_3, SWT.NONE); TableColumn tableColumn = tableViewerColumn.getColumn(); tableColumn.setResizable(false); tableColumn.setMoveable(false); tableColumn.setWidth(160); tableColumn.setText(Messages.UNSTARTED); tableViewerColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Permission) element).getName(); } }); tableViewer_3.setContentProvider(new ArrayContentProvider()); tableViewer_3.setInput(getUnauthorized(config)); tableViewer_3.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { StructuredSelection ss = (StructuredSelection) event.getSelection(); Permission p = (Permission) ss.getFirstElement(); config.getPermissions().add(p); tableViewer_1.setInput(config.getPermissions()); tableViewer_3.setInput(getUnauthorized(config)); sctnNewSection_1.setExpanded(false); sctnNewSection_1.setExpanded(true); dirty = true; firePropertyChange(PROP_DIRTY); } }); table_3.addFocusListener(new FocusListener() { @Override public void focusLost(FocusEvent e) { sctnNewSection_1.setExpanded(false); sctnNewSection_1.setExpanded(true); } @Override public void focusGained(FocusEvent e) { sctnNewSection_1.setExpanded(false); sctnNewSection_1.setExpanded(true); } }); Section sctnNewSection = formToolkit.createSection(composite_3, Section.TWISTIE | Section.TITLE_BAR); sctnNewSection.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); formToolkit.paintBordersFor(sctnNewSection); sctnNewSection.setText(Messages.ACCESSSETTINGS); sctnNewSection.setExpanded(true); Composite composite_9 = formToolkit.createComposite(sctnNewSection, SWT.NONE); formToolkit.paintBordersFor(composite_9); sctnNewSection.setClient(composite_9); composite_9.setLayout(new GridLayout(1, false)); Label lblNewLabel_9 = new Label(composite_9, SWT.NONE); lblNewLabel_9.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1)); formToolkit.adapt(lblNewLabel_9, true, true); lblNewLabel_9.setText(Messages.ACCESSSINFO); Composite composite_2 = formToolkit.createComposite(composite_9, SWT.NONE); composite_2.setLayout(null); GridData gd_composite_2 = new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1); gd_composite_2.widthHint = 380; composite_2.setLayoutData(gd_composite_2); formToolkit.paintBordersFor(composite_2); final Label addLabel = formToolkit.createLabel(composite_2, "", SWT.NONE); addLabel.setImage(Activator.getImage("icons/add.png")); addLabel.setBounds(0, 0, 55, 26); addLabel.addMouseListener(new MouseAdapter() { public void mouseUp(MouseEvent e) { Access a = new Access(); a.setOrigin("*"); config.getAccesses().add(a); tableViewer_2.setInput(config.getAccesses()); tableViewer_2.refresh(); dirty = true; firePropertyChange(PROP_DIRTY); } }); addLabel.addMouseTrackListener(new MouseTrackListener() { @Override public void mouseHover(MouseEvent e) { addLabel.setImage(Activator.getImage("icons/addfocus.png")); } @Override public void mouseExit(MouseEvent e) { addLabel.setImage(Activator.getImage("icons/add.png")); } @Override public void mouseEnter(MouseEvent e) { addLabel.setImage(Activator.getImage("icons/addfocus.png")); } }); final Label deleteLabel = formToolkit.createLabel(composite_2, "", SWT.NONE); deleteLabel.setImage(Activator.getImage("icons/delete.png")); deleteLabel.setBounds(60, 0, 55, 26); deleteLabel.addMouseListener(new MouseAdapter() { public void mouseUp(MouseEvent e) { StructuredSelection ss = (StructuredSelection) tableViewer_2.getSelection(); if (ss.getFirstElement() == null) { return; } Access a = (Access) ss.getFirstElement(); config.getAccesses().remove(a); tableViewer_2.refresh(); dirty = true; firePropertyChange(PROP_DIRTY); } }); deleteLabel.addMouseTrackListener(new MouseTrackListener() { @Override public void mouseHover(MouseEvent e) { deleteLabel.setImage(Activator.getImage("icons/deletefocus.png")); } @Override public void mouseExit(MouseEvent e) { deleteLabel.setImage(Activator.getImage("icons/delete.png")); } @Override public void mouseEnter(MouseEvent e) { deleteLabel.setImage(Activator.getImage("icons/deletefocus.png")); } }); tableViewer_2 = new TableViewer(composite_9, SWT.BORDER | SWT.FULL_SELECTION); table_2 = tableViewer_2.getTable(); table_2.setLinesVisible(true); table_2.setHeaderVisible(true); GridData gd_table_2 = new GridData(SWT.CENTER, SWT.CENTER, true, false, 1, 1); gd_table_2.heightHint = 120; table_2.setLayoutData(gd_table_2); formToolkit.paintBordersFor(table_2); TableViewerColumn tableViewerColumn_3 = new TableViewerColumn(tableViewer_2, SWT.NONE); TableColumn tblclmnNewColumn_3 = tableViewerColumn_3.getColumn(); tblclmnNewColumn_3.setWidth(360); tblclmnNewColumn_3.setText(Messages.SOURCE); tableViewerColumn_3.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Access) element).getOrigin(); } }); tableViewer_2.setContentProvider(new ArrayContentProvider()); tableViewer_2.setInput(config.getAccesses()); tableViewer_2.setColumnProperties(new String[] { "origin" }); CellEditor[] tableViewer2_editor = new CellEditor[table_2.getColumnCount()]; tableViewer2_editor[0] = new TextCellEditor(table_2); tableViewer_2.setCellEditors(tableViewer2_editor); tableViewer_2.setCellModifier(new ICellModifier() { @Override public boolean canModify(Object element, String property) { return true; } @Override public Object getValue(Object element, String property) { Object value = ""; //$NON-NLS-1$ Access access = Access.class.cast(element); if (property.equals("origin")) { value = access.getOrigin(); } return value; } @Override public void modify(Object element, String property, Object value) { TableItem item = (TableItem) element; Object o = item.getData(); Access access = Access.class.cast(o); if (property.equals("origin")) { if ("".equals(value)) { MessageDialog.openInformation(null, Messages.AddFeatureDialog_INFORMATION, Messages.PERMISSIONISNULL); } else { if (!access.getOrigin().equals((String) value)) { access.setOrigin((String) value); dirty = true; firePropertyChange(PROP_DIRTY); tableViewer_2.refresh(); } } } } }); scrolledComposite.setMinSize(new Point(700, 1500)); scrolledComposite.setContent(composite_3); }
From source file:com.application.areca.launcher.gui.composites.AbstractTargetTreeComposite.java
License:Open Source License
public AbstractTargetTreeComposite(Composite parent, boolean multi, boolean addPath) { super(parent, SWT.NONE); width = addPath ? 2 : 1;/*w w w . ja va 2 s .c o m*/ GridLayout layout = new GridLayout(width, false); layout.marginWidth = 0; layout.marginHeight = 0; setLayout(layout); int style = SWT.BORDER; if (multi) { style |= SWT.MULTI; } if (addPath) { // txtPath = new Combo(this, SWT.DROP_DOWN); // txtPath.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); // txtPath.setToolTipText(ResourceManager.instance().getLabel("mainpanel.wspath.tt")); // txtPath.addKeyListener(new KeyListener() { // public void keyReleased(KeyEvent arg0) { // if (arg0.character == '\r') { // Application.getInstance().openWorkspace(txtPath.getText()); // } // } // // public void keyPressed(KeyEvent arg0) { // } // }); // txtPath.addListener(SWT.Selection, new Listener() { // public void handleEvent(Event arg0) { // Application.getInstance().openWorkspace(txtPath.getText()); // } // }); // //txtPath.setVisible(false); workSpaceLabel = new Label(this, SWT.NONE); workSpaceLabel.setToolTipText(ResourceManager.instance().getLabel("mainpanel.wspath.tt")); workSpaceLabel.setText(ResourceManager.instance().getLabel("common.workspace.label")); workSpaceLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false)); //btnWsp = new Button(this, SWT.PUSH); //btnWsp.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false)); //btnWsp.setText(ResourceManager.instance().getLabel("common.browseaction.label")); //btnWsp.setToolTipText(AppActionReferenceHolder.AC_OPEN.getToolTip()); //btnWsp.addSelectionListener(AppActionReferenceHolder.AC_OPEN); //btnWsp.setVisible(false); workSpaceValue = new Label(this, SWT.NONE); workSpaceValue.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false)); //workSpaceValue.setText( Application.getInstance().getMainWindow().get); //workSpaceValue.setText(ResourceManager.instance().getLabel("common.browseaction.label")); workSpaceValue.setToolTipText(AppActionReferenceHolder.AC_OPEN.getToolTip()); } viewer = new TreeViewer(this, style); tree = viewer.getTree(); tree.addMouseListener(this); tree.addListener(SWT.Selection, this); tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, width, 1)); refresh(); }
From source file:com.application.areca.launcher.gui.composites.ArchiveExplorer.java
License:Open Source License
public ArchiveExplorer(Composite parent, boolean aggregated) { super(parent, SWT.NONE); try {/*from w ww .j a va 2s . c om*/ this.aggregated = aggregated; setLayout(new FillLayout()); TreeViewer viewer = new TreeViewer(this, SWT.BORDER | SWT.MULTI); tree = viewer.getTree(); tree.setLinesVisible(AbstractWindow.getTableLinesVisible()); tree.setHeaderVisible(true); tree.addMouseListener(this); tree.addListener(SWT.Selection, this); TreeColumn column1 = new TreeColumn(tree, SWT.LEFT); column1.setText(RM.getLabel("mainpanel.name.label")); column1.setWidth(AbstractWindow.computeWidth(400)); TreeColumn column2 = new TreeColumn(tree, SWT.LEFT); column2.setText(RM.getLabel("mainpanel.size.label")); column2.setWidth(AbstractWindow.computeWidth(120)); viewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { TreeItem item = tree.getSelection()[0]; if (item.getExpanded()) { item.setExpanded(false); handleExpansion(item, false); } else { handleExpansion(item, true); item.setExpanded(true); } } }); TreeListener listener = new TreeListener() { public void treeCollapsed(TreeEvent arg0) { TreeItem item = (TreeItem) arg0.item; handleExpansion(item, false); } public void treeExpanded(TreeEvent event) { TreeItem item = (TreeItem) event.item; handleExpansion(item, true); } }; tree.addTreeListener(listener); } catch (RuntimeException e) { Application.getInstance().handleException(e); throw e; } }