Example usage for org.eclipse.jface.viewers TableViewer TableViewer

List of usage examples for org.eclipse.jface.viewers TableViewer TableViewer

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TableViewer TableViewer.

Prototype

public TableViewer(Composite parent, int style) 

Source Link

Document

Creates a table viewer on a newly-created table control under the given parent.

Usage

From source file:com.android.sdkuilib.internal.repository.UpdateChooserDialog.java

License:Apache License

/**
 * Create the main content of the dialog.
 * See also {@link #createButtonBar(Composite)} below.
 *///  w  w  w. j av  a2s . 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*/));

    mTableViewPackage = new TableViewer(mTableGroup, SWT.BORDER | SWT.V_SCROLL | SWT.SINGLE);
    mTablePackage = mTableViewPackage.getTable();
    mTablePackage.setHeaderVisible(false);
    mTablePackage.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    mTablePackage.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onPackageSelected(); //$hide$
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            onPackageDoubleClick();
        }
    });

    mTableColum = new TableColumn(mTablePackage, SWT.NONE);
    mTableColum.setWidth(100);
    mTableColum.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.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onLicenseRadioSelected();
        }
    });

    mLicenseRadioReject = new Button(mPackageRootComposite, SWT.RADIO);
    mLicenseRadioReject.setText("Reject");
    mLicenseRadioReject.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onLicenseRadioSelected();
        }
    });

    Label placeholder = new Label(mPackageRootComposite, SWT.NONE);
    placeholder.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1));

    mLicenseRadioAcceptAll = new Button(mPackageRootComposite, SWT.RADIO);
    mLicenseRadioAcceptAll.setText("Accept All");
    mLicenseRadioAcceptAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onLicenseRadioSelected();
        }
    });

    mSashForm.setWeights(new int[] { 200, 300 });
}

From source file:com.android.traceview.PropertiesDialog.java

License:Apache License

@Override
protected Control createDialogArea(Composite parent) {
    Composite container = (Composite) super.createDialogArea(parent);
    GridLayout gridLayout = new GridLayout(1, false);
    gridLayout.marginWidth = 0;/*from  ww w .j a  v  a  2 s .c o m*/
    gridLayout.marginHeight = 0;
    gridLayout.horizontalSpacing = 0;
    gridLayout.verticalSpacing = 0;
    container.setLayout(gridLayout);

    TableViewer tableViewer = new TableViewer(container, SWT.HIDE_SELECTION | SWT.V_SCROLL | SWT.BORDER);
    tableViewer.getTable().setLinesVisible(true);
    tableViewer.getTable().setHeaderVisible(true);

    TableViewerColumn propertyColumn = new TableViewerColumn(tableViewer, SWT.NONE);
    propertyColumn.getColumn().setText("Property");
    propertyColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        @SuppressWarnings("unchecked")
        public String getText(Object element) {
            Entry<String, String> entry = (Entry<String, String>) element;
            return entry.getKey();
        }
    });
    propertyColumn.getColumn().setWidth(400);

    TableViewerColumn valueColumn = new TableViewerColumn(tableViewer, SWT.NONE);
    valueColumn.getColumn().setText("Value");
    valueColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        @SuppressWarnings("unchecked")
        public String getText(Object element) {
            Entry<String, String> entry = (Entry<String, String>) element;
            return entry.getValue();
        }
    });
    valueColumn.getColumn().setWidth(200);

    tableViewer.setContentProvider(new ArrayContentProvider());
    tableViewer.setInput(mProperties.entrySet().toArray());

    GridData gridData = new GridData();
    gridData.verticalAlignment = GridData.FILL;
    gridData.horizontalAlignment = GridData.FILL;
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;
    tableViewer.getControl().setLayoutData(gridData);

    return container;
}

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();/*w  ww  .  j a v  a2s .co  m*/

    // 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.dialogs.AddFeatureDialog.java

License:Open Source License

private TableViewer createTable(TabFolder tabFolder, TabItem systemItem) {
    TableViewer tableViewer = new TableViewer(tabFolder, SWT.BORDER | SWT.FULL_SELECTION);
    final Table table = tableViewer.getTable();
    table.addListener(SWT.MeasureItem, new Listener() {
        @Override/*from ww  w .ja  v  a 2 s .c  o m*/
        public void handleEvent(Event event) {
            event.height = 30;

        }
    });
    table.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {

            TableItem[] ti = table.getSelection();
            Feature f = (Feature) ti[0].getData();
            selectFeature = f;
            lblParamkey.setText("       urlScheme");
            lblParamvalue.setText("     apiKey");
            if (f.getName().equals("weiXin") || f.getName().equals("sinaWeiBo") || f.getName().equals("qq")) {
                lblParamkey.setVisible(true);
                text_urlScheme.setVisible(true);
                lblParamvalue.setVisible(true);
                text_apiKey.setVisible(true);
            } else if (f.getName().equals("baiduLocation")) {
                lblParamkey.setVisible(false);
                text_urlScheme.setVisible(false);
                lblParamvalue.setVisible(true);
                text_apiKey.setVisible(true);
            } else if (f.getName().equals("aliPay")) {
                lblParamkey.setVisible(true);
                text_urlScheme.setVisible(true);
                lblParamvalue.setVisible(false);
                text_apiKey.setVisible(false);
            } else if (f.getName().equals("baiduMap")) {
                lblParamkey.setText("androidAPIKey");
                lblParamvalue.setText("iosAPIKey");
                lblParamkey.setVisible(true);
                text_urlScheme.setVisible(true);
                lblParamvalue.setVisible(true);
                text_apiKey.setVisible(true);
            } else {
                lblParamkey.setVisible(false);
                text_urlScheme.setVisible(false);
                lblParamvalue.setVisible(false);
                text_apiKey.setVisible(false);
            }

        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {

        }
    });
    systemItem.setControl(tableViewer.getTable());
    TableViewerColumn tableViewerColumn_name = new TableViewerColumn(tableViewer, SWT.NONE);
    TableColumn tableColumn_name = tableViewerColumn_name.getColumn();
    tableColumn_name.setWidth(150);
    tableViewerColumn_name.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((Feature) element).getName();
        }

    });

    TableViewerColumn tableViewerColumn_desc = new TableViewerColumn(tableViewer, SWT.NONE);
    TableColumn tableColumn_desc = tableViewerColumn_desc.getColumn();
    tableColumn_desc.setWidth(310);
    tableViewerColumn_desc.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((Feature) element).getDesc();
        }

    });
    TableViewerColumn tableViewerColumn_ios = new TableViewerColumn(tableViewer, SWT.NONE);
    TableColumn tableColumn_ios = tableViewerColumn_ios.getColumn();
    tableColumn_ios.setWidth(20);
    tableViewerColumn_ios.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return null;
        }

        @Override
        public Image getImage(Object element) {
            return ((Feature) element).isIos() ? AuthenticActivator.getImage("icons/ios.png")
                    : super.getImage(element);
        }
    });

    TableViewerColumn tableViewerColumn_android = new TableViewerColumn(tableViewer, SWT.NONE);
    TableColumn tableColumn_android = tableViewerColumn_android.getColumn();
    tableColumn_android.setWidth(20);
    tableViewerColumn_android.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            return null;
        }

        @Override
        public Image getImage(Object element) {
            return ((Feature) element).isAndroid() ? AuthenticActivator.getImage("icons/android.png")
                    : super.getImage(element);
        }
    });

    tableViewer.setContentProvider(new ArrayContentProvider());
    return tableViewer;
}

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 ww  w.  j av a 2  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.apicloud.navigator.ui.wizards.TempleteFarmeWizardPage.java

License:Open Source License

private TableViewer createTable(Composite tabFolder) {
    TableViewer tableViewer = new TableViewer(tabFolder, SWT.BORDER | SWT.FULL_SELECTION);
    final Table table = tableViewer.getTable();
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    table.addListener(SWT.MeasureItem, new Listener() {
        @Override//from w w  w . j  a  va 2  s  .  c  o m
        public void handleEvent(Event event) {
            event.height = 30;

        }
    });
    table.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {

            TableItem[] ti = table.getSelection();
            page = (APICloudPage) ti[0].getData();
            lblNewLabel_3.setImage(AuthenticActivator.getImage(page.getReViewImage()));
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {

        }
    });
    TableViewerColumn tableViewerColumn_name = new TableViewerColumn(tableViewer, SWT.NONE);
    TableColumn tableColumn_name = tableViewerColumn_name.getColumn();
    tableColumn_name.setWidth(300);
    tableViewerColumn_name.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((APICloudPage) element).getName();
        }

    });

    tableViewer.setContentProvider(new ArrayContentProvider());
    return tableViewer;
}

From source file:com.application.areca.launcher.gui.AboutWindow.java

License:Open Source License

private void initPluginsContent(Composite composite) {
    Link lnk0 = new Link(composite, SWT.NONE);
    lnk0.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            try {
                ViewerHandlerHelper.getViewerHandler().browse(new URL(event.text));
            } catch (Exception e) {
                Logger.defaultLogger().error(e);
            }/*from   w  w w  .j  ava2 s.c o  m*/
        }
    });
    lnk0.setText("<A HREF=\"" + ArecaURLs.PLUGINS_URL + "\">" + RM.getLabel("plugins.getmore.label") + "</A>");
    lnk0.setLayoutData(new GridData(SWT.CENTER, SWT.BOTTOM, false, false));

    TableViewer viewer = new TableViewer(composite, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
    Table tblProc = viewer.getTable();

    GridLayout layout = new GridLayout();
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    composite.setLayout(layout);

    GridData dt = new GridData();
    dt.grabExcessHorizontalSpace = true;
    dt.grabExcessVerticalSpace = true;
    dt.verticalAlignment = SWT.FILL;
    dt.horizontalAlignment = SWT.FILL;
    dt.heightHint = heightHint;
    dt.widthHint = widthHint;

    tblProc.setLayoutData(dt);

    TableColumn col1 = new TableColumn(tblProc, SWT.NONE);
    col1.setText(RM.getLabel("plugins.name.label"));
    col1.setWidth(AbstractWindow.computeWidth(130));
    col1.setMoveable(true);

    TableColumn col2 = new TableColumn(tblProc, SWT.NONE);
    col2.setText(RM.getLabel("plugins.version.label"));
    col2.setWidth(AbstractWindow.computeWidth(70));
    col2.setMoveable(true);

    TableColumn col3 = new TableColumn(tblProc, SWT.NONE);
    col3.setText(RM.getLabel("plugins.location.label"));
    col3.setWidth(AbstractWindow.computeWidth(140));
    col3.setMoveable(true);

    TableColumn col4 = new TableColumn(tblProc, SWT.NONE);
    col4.setText(RM.getLabel("plugins.description.label"));
    col4.setWidth(AbstractWindow.computeWidth(200));
    col4.setMoveable(true);

    tblProc.setHeaderVisible(true);
    tblProc.setLinesVisible(AbstractWindow.getTableLinesVisible());

    Iterator iter = PluginRegistry.getInstance().getAll(Plugin.class, true).iterator();
    while (iter.hasNext()) {
        Plugin plg = (Plugin) iter.next();

        TableItem item = new TableItem(tblProc, SWT.NONE);
        item.setText(0, plg.getFullName());
        item.setText(1, plg.getVersionData().getVersionId());

        String path = plg.getPath() != null ? plg.getPath() : RM.getLabel("plugins.internal.label");
        item.setText(2, path);
        item.setText(3, plg.getDescription() == null ? plg.getFullName() : plg.getDescription());
    }

    Link lnk = DonationLink.build(composite);
    lnk.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
}

From source file:com.application.areca.launcher.gui.ArchiveWindow.java

License:Open Source License

private void initDataPanel(Composite parent) {
    parent.setLayout(new FillLayout());
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(1, false));

    // TITLE/* w  w  w .  j a  va  2s .c o  m*/
    Text txtTitle = null;
    if (manifest != null && manifest.getTitle() != null && !manifest.getTitle().equals("")) {
        Group grpTitle = new Group(composite, SWT.NONE);
        grpTitle.setText(RM.removeDots(RM.getLabel("archivedetail.titlefield.label")));
        grpTitle.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
        grpTitle.setLayout(new GridLayout());

        txtTitle = new Text(grpTitle, SWT.BORDER);
        txtTitle.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
        txtTitle.setEditable(false);
    }

    // DATE
    Group grpDate = new Group(composite, SWT.NONE);
    grpDate.setText(RM.removeDots(RM.getLabel("archivedetail.datefield.label")));
    grpDate.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
    grpDate.setLayout(new GridLayout());

    Text txtDate = new Text(grpDate, SWT.BORDER);
    txtDate.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    txtDate.setEditable(false);

    // DESCRIPTION
    Text txtDescription = null;
    if (manifest != null && manifest.getDescription() != null && !manifest.getDescription().equals("")) {
        Group grpDescription = new Group(composite, SWT.NONE);
        grpDescription.setText(RM.removeDots(RM.getLabel("archivedetail.descriptionfield.label")));
        grpDescription.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
        grpDescription.setLayout(new GridLayout());

        txtDescription = new Text(grpDescription, SWT.BORDER | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL);
        GridData ldDescription = new GridData(SWT.FILL, SWT.FILL, true, true);
        ldDescription.heightHint = computeHeight(50);
        ldDescription.minimumHeight = computeHeight(50);
        txtDescription.setLayoutData(ldDescription);
        txtDescription.setEditable(false);
    }

    // PROPERTIES
    Group grpProperties = new Group(composite, SWT.NONE);
    grpProperties.setText(RM.removeDots(RM.getLabel("archivedetail.propertiesfield.label")));
    grpProperties.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    grpProperties.setLayout(new GridLayout());

    TableViewer viewer = new TableViewer(grpProperties,
            SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
    Table table = viewer.getTable();
    table.setLinesVisible(AbstractWindow.getTableLinesVisible());
    table.setHeaderVisible(true);
    GridData ldProperties = new GridData(SWT.FILL, SWT.FILL, true, true);
    ldProperties.minimumHeight = computeHeight(100);
    table.setLayoutData(ldProperties);
    TableColumn col1 = new TableColumn(table, SWT.NONE);
    col1.setWidth(AbstractWindow.computeWidth(300));
    col1.setText(RM.getLabel("archivedetail.propertycolumn.label"));
    col1.setMoveable(true);
    TableColumn col2 = new TableColumn(table, SWT.NONE);
    col2.setWidth(AbstractWindow.computeWidth(150));
    col2.setText(RM.getLabel("archivedetail.valuecolumn.label"));
    col2.setMoveable(true);

    // INIT DATA
    if (manifest != null) {
        if (txtTitle != null) {
            txtTitle.setText(manifest.getTitle() == null ? "" : manifest.getTitle());
        }
        txtDate.setText(manifest.getDate() == null ? "" : Utils.formatDisplayDate(manifest.getDate()));
        if (txtDescription != null) {
            txtDescription.setText(manifest.getDescription() == null ? "" : manifest.getDescription());
        }

        TableItem item0 = new TableItem(table, SWT.NONE);
        item0.setText(0, " ** Type ** ");
        item0.setText(1, manifest.getType() == Manifest.TYPE_BACKUP ? "Backup" : "Merge");

        Iterator iter = this.manifest.propertyIterator();
        while (iter.hasNext()) {
            String key = (String) iter.next();
            if (!key.equals("Source")) { // Hide old properties
                TableItem item = new TableItem(table, SWT.NONE);
                item.setText(0, key + " : ");
                item.setText(1, manifest.getStringProperty(key));
            }
        }
    }

    if (txtTitle != null) {
        txtTitle.forceFocus();
    } else {
        txtDate.forceFocus();
    }

    composite.pack();
}

From source file:com.application.areca.launcher.gui.CheckWindow.java

License:Open Source License

protected Control createContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(1, false);
    layout.verticalSpacing = 10;//from w  w  w .  j  a va 2 s  .c om
    composite.setLayout(layout);

    final Group grpLocation = new Group(composite, SWT.NONE);
    grpLocation.setText(RM.getLabel("check.location.label"));
    grpLocation.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    GridLayout grpLayout = new GridLayout(3, false);
    grpLayout.verticalSpacing = 0;
    grpLocation.setLayout(grpLayout);

    radUseDefaultLocation = new Button(grpLocation, SWT.RADIO);
    radUseDefaultLocation.setText(RM.getLabel("check.default.label"));
    radUseDefaultLocation.setToolTipText(RM.getLabel("check.default.tt"));
    radUseDefaultLocation.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 3, 1));
    monitorControl(SWT.Selection, radUseDefaultLocation);

    radUseSpecificLocation = new Button(grpLocation, SWT.RADIO);
    radUseSpecificLocation.setText(RM.getLabel("check.specific.label"));
    radUseSpecificLocation.setToolTipText(RM.getLabel("check.specific.tt"));
    radUseSpecificLocation.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
    monitorControl(SWT.Selection, radUseSpecificLocation);

    txtLocation = new Text(grpLocation, SWT.BORDER);
    GridData mainData2 = new GridData(SWT.FILL, SWT.CENTER, true, false);
    mainData2.widthHint = computeWidth(200);
    txtLocation.setLayoutData(mainData2);
    monitorControl(txtLocation);

    btnBrowse = new Button(grpLocation, SWT.PUSH);
    btnBrowse.setText(RM.getLabel("common.browseaction.label"));
    btnBrowse.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            String path = Application.getInstance().showDirectoryDialog(txtLocation.getText(),
                    CheckWindow.this);
            if (path != null) {
                txtLocation.setText(path);
            }
        }
    });
    btnBrowse.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));

    AbstractIncrementalFileSystemMedium medium = (AbstractIncrementalFileSystemMedium) target.getMedium();
    if (!medium.isImage()) {
        chkCheckSelectedEntries = new Button(composite, SWT.CHECK);
        chkCheckSelectedEntries.setText(RM.getLabel("check.checkselected.label"));
        chkCheckSelectedEntries.setToolTipText(RM.getLabel("check.checkselected.tt"));
        chkCheckSelectedEntries.setLayoutData(new GridData());
        monitorControl(SWT.Selection, chkCheckSelectedEntries);

        chkCheckSelectedEntries.setEnabled(medium.getHandler().autonomousArchives());
        chkCheckSelectedEntries.setSelection(medium.getHandler().autonomousArchives());
    }

    radUseDefaultLocation.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            switchLocation();
        }
    });

    radUseSpecificLocation.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            switchLocation();
        }
    });

    SavePanel pnlSave = new SavePanel(RM.getLabel("check.check.label"), this);
    pnlSave.setShowCancel(false);
    pnlSave.buildComposite(composite).setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
    btnSave = pnlSave.getBtnSave();

    // Result
    viewer = new TableViewer(composite, SWT.BORDER | SWT.SINGLE);
    table = viewer.getTable();
    table.setLinesVisible(AbstractWindow.getTableLinesVisible());
    table.setHeaderVisible(true);
    TableColumn col1 = new org.eclipse.swt.widgets.TableColumn(table, SWT.NONE);
    col1.setMoveable(true);
    TableColumn col2 = new org.eclipse.swt.widgets.TableColumn(table, SWT.NONE);
    col2.setMoveable(true);
    table.getColumn(0).setWidth(AbstractWindow.computeWidth(400));
    table.getColumn(1).setWidth(AbstractWindow.computeWidth(100));
    GridData dtTable = new GridData(SWT.FILL, SWT.FILL, true, true);
    dtTable.heightHint = computeHeight(200);
    table.setLayoutData(dtTable);

    result = new Label(composite, SWT.NONE);
    result.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

    // INIT DATA
    txtLocation.setText(
            ApplicationPreferences.getCheckSpecificLocation(application.getCurrentWorkspaceItem().getUid()));
    if (ApplicationPreferences.getCheckUseSpecificLocation(application.getCurrentWorkspaceItem().getUid())) {
        radUseSpecificLocation.setSelection(true);
    } else {
        radUseDefaultLocation.setSelection(true);
    }

    switchLocation();
    composite.pack();
    return composite;
}

From source file:com.application.areca.launcher.gui.composites.ArchivesViewComposite.java

License:Open Source License

public ArchivesViewComposite(Composite parent) {
    super(parent, SWT.NONE);
    GridLayout lyt = new GridLayout(6, false);
    lyt.marginHeight = 0;// ww  w. ja v a 2s  .c  o  m
    lyt.marginBottom = 2;
    lyt.verticalSpacing = 2;
    lyt.marginWidth = 0;
    setLayout(lyt);

    viewer = new TableViewer(this, SWT.BORDER | SWT.MULTI);
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            application.showArchiveDetail(null);
        }
    });

    table = viewer.getTable();
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 6, 1));
    table.setLinesVisible(AbstractWindow.getTableLinesVisible());
    table.setHeaderVisible(true);
    String[] titles = new String[] { ResourceManager.instance().getLabel("mainpanel.description.label"),
            ResourceManager.instance().getLabel("mainpanel.date.label"),
            ResourceManager.instance().getLabel("mainpanel.size.label") };

    for (int i = 0; i < titles.length; i++) {
        TableColumn column = new TableColumn(table, SWT.NONE);
        column.setText(titles[i]);
        column.setMoveable(true);
    }

    table.getColumn(1).setWidth(AbstractWindow.computeWidth(200));
    table.getColumn(0).setWidth(AbstractWindow.computeWidth(400));
    table.getColumn(2).setWidth(AbstractWindow.computeWidth(150));

    table.getColumn(2).setAlignment(SWT.RIGHT);
    table.addSelectionListener(this);
    //Menu menu =
    table.setMenu(MenuBuilder.buildActionContextMenu(getShell()));

    /*
    messageMainContainer = new Composite(this, SWT.NONE);
    messageMainContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 6, 1));
    GridLayout lytMsg = new GridLayout(1, false);
    lytMsg.marginHeight = 1;
    lytMsg.marginWidth = 1;
    messageMainContainer.setLayout(lytMsg);
     */

    Label lblIncrementalImg = new Label(this, SWT.NONE);
    lblIncrementalImg.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false));
    lblIncrementalImg.setImage(ArecaImages.ICO_FS_FOLDER);

    Label lblIncremental = new Label(this, SWT.NONE);
    lblIncremental.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false));
    lblIncremental.setText(ResourceManager.instance().getLabel("archivedetail.incremental.label"));

    Label lblDifferentialImg = new Label(this, SWT.NONE);
    lblDifferentialImg.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false));
    lblDifferentialImg.setImage(ArecaImages.ICO_FS_FOLDER_DIFFERENTIAL);

    Label lblDifferential = new Label(this, SWT.NONE);
    lblDifferential.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false));
    lblDifferential.setText(ResourceManager.instance().getLabel("archivedetail.differential.label"));

    Label lblFullImg = new Label(this, SWT.NONE);
    lblFullImg.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false));
    lblFullImg.setImage(ArecaImages.ICO_FS_FOLDER_FULL);

    Label lblFull = new Label(this, SWT.NONE);
    lblFull.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false));
    lblFull.setText(ResourceManager.instance().getLabel("archivedetail.full.label"));

    //parent.addListener(SWT.Selection, new Listener() {
    //public void handleEvent(Event event) {
    //Application.getInstance().setLatestVersionRecoveryMode(parent.getSelectionIndex() != 0);
    //}
    //});
}