Example usage for org.eclipse.jface.dialogs IPageChangingListener IPageChangingListener

List of usage examples for org.eclipse.jface.dialogs IPageChangingListener IPageChangingListener

Introduction

In this page you can find the example usage for org.eclipse.jface.dialogs IPageChangingListener IPageChangingListener.

Prototype

IPageChangingListener

Source Link

Usage

From source file:com.google.gdt.eclipse.gph.wizards.AbstractWizardPage.java

License:Open Source License

public final void createControl(Composite parent) {
    Control contents = createPageContents(parent);

    setControl(contents);//from   w  ww.  j a v a  2 s  .  c  o m

    IWizardContainer container = getWizard().getContainer();

    if (container instanceof WizardDialog) {
        WizardDialog dialog = (WizardDialog) container;

        dialog.addPageChangingListener(new IPageChangingListener() {
            public void handlePageChanging(PageChangingEvent event) {
                if (event.getCurrentPage() == AbstractWizardPage.this
                        && event.getTargetPage() != getPreviousPage()) {
                    if (!exitingPage()) {
                        event.doit = false;
                    }
                }
            }
        });
    }
}

From source file:com.google.gdt.eclipse.managedapis.ui.ApiImportWizard.java

License:Open Source License

@Override
public void addPages() {
    if (getContainer() instanceof WizardDialog) {
        WizardDialog dialog = (WizardDialog) getContainer();

        dialog.addPageChangingListener(new IPageChangingListener() {
            public void handlePageChanging(PageChangingEvent event) {
                if (event.getCurrentPage() == projectSelectionPage && event.getTargetPage() == apiListingPage) {
                    event.doit = updateFromProjectSelectionPage();
                }//from w  w  w .  j a v  a 2 s  .  c o m
            }
        });
    }

    ImageDescriptor wizardIcon = null;

    try {
        wizardIcon = resources.getManagedApiImportIcon();
    } catch (MalformedURLException e) {
        ManagedApiLogger.warn("Unable to load Managed Api icon due to malformed URL");
    }

    // Add a project selection page.
    if (project == null) {
        projectSelectionPage = new ProjectSelectionPage(this, wizardIcon);

        addPage(projectSelectionPage);
    }

    // Add the API listings page.
    apiListingPage = new ApiListingPage("GoogleApiPage", managedApiListingSourceFactory);
    apiListingPage.setImageDescriptor(wizardIcon);
    apiListingPage.setResources(resources);

    addPage(apiListingPage);
}

From source file:com.htmlhifive.tools.wizard.ui.page.ConfirmLicensePage.java

License:Apache License

/**
 * {@inheritDoc}//from w  w w.jav  a 2  s. co  m
 * 
 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
 */
@Override
public void createControl(Composite parent) {

    logger.log(Messages.TR0011, getClass().getSimpleName(), "createControl");

    container = new ConfirmLicenseComposite(parent, SWT.NONE);
    setControl(container);

    // ????.
    container.addListener(UIEventHelper.SET_PAGE_COMPLETE, new Listener() {

        @Override
        public void handleEvent(Event event) {

            setPageComplete(event.doit);
        }
    });

    // ???.
    ((IPageChangeProvider) getContainer()).addPageChangedListener(new IPageChangedListener() {
        @Override
        public void pageChanged(PageChangedEvent event) {

            if (event.getSelectedPage() == ConfirmLicensePage.this && event.getSource() == getContainer()) {

                setLiceseContents();

            }
        }
    });

    // ??.
    ((WizardDialog) getContainer()).addPageChangingListener(new IPageChangingListener() {

        @Override
        public void handlePageChanging(PageChangingEvent event) {

            //            // ?.
            //            if (!initFlag && event.getCurrentPage() != getNextPage()
            //                  && event.getTargetPage() == StructureSelectPage.this) {
            //               // ???.
            //               container.setProjectName("hifive-web");
            //
            //               // ?.
            //               container.setInputComboZip();
            //               initFlag = true;
            //               return;
            //            }

            // ??.
            //if (event.getCurrentPage() == ConfirmLicensePage.this && event.getTargetPage() == getPreviousPage()) {
            if (event.getCurrentPage() == ConfirmLicensePage.this) {
                container.rejected();
                container.setLiceseContents();
            }

        }
    });

}

From source file:com.htmlhifive.tools.wizard.ui.page.StructureSelectPage.java

License:Apache License

/**
 * {@inheritDoc}/*from w w  w .  ja  v a 2  s  .c o  m*/
 */
@Override
public void createControl(Composite parent) {

    logger.log(Messages.TR0011, getClass().getSimpleName(), "createControl");

    container = new StructureSelectComposite(parent, SWT.NONE);
    setControl(container);

    // ????.
    container.addListener(UIEventHelper.SET_MESSAGE, new Listener() {

        @Override
        public void handleEvent(Event event) {

            // .
            setErrorMessage(event.text); // WizardPage

            // ?????????
            setPageComplete(event.text == null);
        }
    });
    container.addListener(UIEventHelper.PROJECT_CHANGE, new Listener() {

        @Override
        public void handleEvent(Event event) {

            StructureSelectPage.this.changeProject = true;

            JavaProjectWizardFirstPage javaProjectWizardFirstPage = (JavaProjectWizardFirstPage) getWizard()
                    .getPage(NewWizardMessages.JavaProjectWizardFirstPage_page_pageName);

            // ???.
            javaProjectWizardFirstPage.setName(getProjectName());

            StructureSelectPage.this.container.validatePage();

            ((LibraryImportPage) getNextPage()).setPageComplete(false);//false??????.
            getContainer().updateButtons();
        }
    });
    container.addListener(UIEventHelper.LIST_RELOAD, new Listener() {

        @Override
        public void handleEvent(Event event) {

            StructureSelectPage.this.refreshList = true;

            StructureSelectPage.this.container.validatePage();

            ((LibraryImportPage) getNextPage()).setPageComplete(false);//false??????.
            getContainer().updateButtons();
        }
    });

    // ???.
    ((IPageChangeProvider) getContainer()).addPageChangedListener(new IPageChangedListener() {
        @Override
        public void pageChanged(PageChangedEvent event) {

            if (!initFlag && event.getSelectedPage() == StructureSelectPage.this
                    && event.getSource() == getContainer()) {
                // ???.
                container.setProjectName("hifive-web");

                // ?.
                container.setInputComboZip();
                initFlag = true;
            }
            StructureSelectPage.this.container.validatePage();
        }
    });

    // ??.
    ((WizardDialog) getContainer()).addPageChangingListener(new IPageChangingListener() {

        @Override
        public void handlePageChanging(PageChangingEvent event) {

            //            // ?.
            //            if (!initFlag && event.getCurrentPage() != getNextPage()
            //                  && event.getTargetPage() == StructureSelectPage.this) {
            //               // ???.
            //               container.setProjectName("hifive-web");
            //
            //               // ?.
            //               container.setInputComboZip();
            //               initFlag = true;
            //               return;
            //            }
            // ??.
            if (event.getCurrentPage() == StructureSelectPage.this && event.getTargetPage() == getNextPage()) {

                if (StructureSelectPage.this.changeProject || StructureSelectPage.this.refreshList) {
                    //ConfirmLicensePage confirmLicensePage = (ConfirmLicensePage) getWizard().getPage(
                    //"confirmLicensePage");
                    LibraryImportPage libraryImportPage = (LibraryImportPage) getWizard()
                            .getPage("libraryImportPage");
                    //                  JavaProjectWizardFirstPage javaProjectWizardFirstPage = (JavaProjectWizardFirstPage) getWizard()
                    //                        .getPage(NewWizardMessages.JavaProjectWizardFirstPage_page_pageName);

                    //                  // ???.
                    //                  javaProjectWizardFirstPage.setName(getProjectName());

                    BaseProject baseProject = getBaseProject();
                    if (baseProject != null) {
                        if (libraryImportPage.initialize(null, getProjectName(),
                                baseProject.getDefaultJsLibPath(), refreshList)) {
                            // ?.
                            //confirmLicensePage.clearCategory();

                            StructureSelectPage.this.changeProject = false;
                        }
                    }
                }
            }

        }
    });

    //      // ???.
    //      container.setProjectName("hifive-web");
    //
    //      // ?.
    //      container.setInputComboZip();
}

From source file:com.nokia.testfw.codegen.ui.wizard.AbstractTemplateWizard.java

License:Open Source License

public void addPages() {
    if (iShowNewProjectPage) {
        iNewProjectPage = new NewProjectPage("Symbian Test Framework",
                "Create a new Symbian Test Framework project") {
            @Override//from  w w  w  .  j  av a2 s . c o m
            public void createControl(Composite parent) {
                super.createControl(parent);
                ((WizardDialog) getContainer()).addPageChangingListener(new IPageChangingListener() {
                    public void handlePageChanging(PageChangingEvent event) {
                        if (event.getCurrentPage() instanceof NewProjectPage) {
                            iProjectName = iNewProjectPage.getProjectName();
                            iProjectLocation = iNewProjectPage.getLocationPath().append(iProjectName)
                                    .toOSString();
                            iDataMap.put(PROJECT_NAME, iProjectName);
                        }
                    }
                });
            }
        };
        addPage(iNewProjectPage);

        iBuildTargetsPage = new BuildTargetsPage() {
            @Override
            public void createControl(Composite parent) {
                super.createControl(parent);
                ((WizardDialog) getContainer()).addPageChangingListener(new IPageChangingListener() {
                    public void handlePageChanging(PageChangingEvent event) {
                        if (event.getCurrentPage() instanceof BuildTargetsPage) {
                            iBuildConfigs = getSelectedBuildConfigs();
                            iDefaultSDK = iBuildConfigs.get(0).getSDK();
                            initPages();
                        }
                    }
                });
            }

            protected boolean validatePage() {
                boolean valid = super.validatePage();
                if (valid)
                    checkPathWithSDKs(iNewProjectPage.getLocationPath());
                return valid;
            }
        };
        addPage(iBuildTargetsPage);
    }
}

From source file:com.nokia.tools.variant.compare.ui.actions.ImportDataAction.java

License:Open Source License

public void run(IAction action) {

    final ImportDataWizard wizard;

    if (modelPart == null) {
        // no CPF is open
        wizard = new ImportDataWizard();
    } else {//from  w w  w  .j  a  v  a2 s  . com
        // Opened CPF is set as target
        wizard = new ImportDataWizard(modelPart);
        wizard.setTargetModel((ViewEditorModel) modelPart.getAdapter(ViewEditorModel.class));
    }

    IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    WizardDialog dialog = new WizardDialog(window.getShell(), wizard) {
        @Override
        protected void configureShell(Shell newShell) {
            super.configureShell(newShell);
            Image image = ExtendedImageRegistry.INSTANCE
                    .getImage(ImportDataUIPlugin.INSTANCE.getImage("copyvalues_16_tlb.png"));
            newShell.setImage(image);
        }
    };
    dialog.addPageChangingListener(new IPageChangingListener() {
        public void handlePageChanging(PageChangingEvent event) {
            if (event.getCurrentPage() == wizard.getPage(ImportDataWizardPageOne.PAGE_ID)) {
                try {
                    if (!wizard.isCpfOpened()) {
                        wizard.loadSourceAndTargetModel();
                    } else {
                        wizard.loadSourceModel();
                    }
                    event.doit = true;
                } catch (Exception ex) {
                    event.doit = false;
                    ((WizardPage) event.getCurrentPage()).setErrorMessage(ex.toString());
                }
            }
        }
    });

    GC gc = new GC(window.getShell());
    FontMetrics fm = gc.getFontMetrics();
    gc.dispose();
    int minWidth = Dialog.convertWidthInCharsToPixels(fm, 35);
    int minHeight = Dialog.convertHeightInCharsToPixels(fm, 25);
    dialog.setMinimumPageSize(minWidth, minHeight);
    dialog.open();

}

From source file:com.symbian.tdep.templates.carbide.GenerateUnitFromPage.java

License:Open Source License

public void createControl(Composite aComposite) {
    initializeDialogUnits(aComposite);//from   www. j  a  va  2s .co m
    Composite lComposite = new Composite(aComposite, SWT.NONE);
    lComposite.setLayout(new GridLayout(1, true));
    lComposite.setLayoutData(new GridData(GridData.FILL_BOTH));

    setControl(lComposite);

    // Find ChooseProjectPage
    IWizardPage lpage = this;
    while ((lpage = lpage.getPreviousPage()) != null) {
        if (lpage instanceof ChooseProjectPage) {
            iChooseProjectPage = (ChooseProjectPage) lpage;
            break;
        }
    }

    // ProjectButton
    iProjectButton = new Button(lComposite, SWT.RADIO);
    iProjectButton.setText("From Hosting Project");
    GridData lGridData = new GridData(GridData.FILL_HORIZONTAL);
    iProjectButton.setLayoutData(lGridData);
    iProjectButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            if (!iChooseProjectPage.getProject().getName().equals(iHostProject.getName())) {
                iHostProject = iChooseProjectPage.getProject();
            }
            isChanged = true;
            setPageComplete(isPageComplete());
        }
    });

    // HeaderButton
    iHeaderButton = new Button(lComposite, SWT.RADIO);
    iHeaderButton.setText("From Header Files in \\epoc32\\include");
    lGridData = new GridData(GridData.FILL_HORIZONTAL);
    iHeaderButton.setLayoutData(lGridData);
    iHeaderButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            if (iHeaderButton.getSelection()) {
                iGroup.setEnabled(true);
                iHFList.setEnabled(true);
                iFileAddButton.setEnabled(true);
                if (iHFList.getSelectionCount() > 0) {
                    iFileEditButton.setEnabled(true);
                    iFileRemoveButton.setEnabled(true);
                }
                isChanged = true;
            } else {
                iGroup.setEnabled(false);
                iHFList.setEnabled(false);
                iFileAddButton.setEnabled(false);
                iFileEditButton.setEnabled(false);
                iFileRemoveButton.setEnabled(false);
            }
        }
    });

    iGroup = new Group(lComposite, SWT.SHADOW_ETCHED_IN);
    iGroup.setLayout(new GridLayout(5, true));
    iGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    iGroup.setEnabled(false);

    // Header Files List
    iHFList = new List(iGroup, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    lGridData = new GridData(GridData.FILL_HORIZONTAL);
    lGridData.horizontalSpan = 4;
    lGridData.verticalSpan = 8;
    iHFList.setLayoutData(lGridData);
    iHFList.setEnabled(false);
    iHFList.setData(new ArrayList<String>());
    iHFList.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            if (iHFList.getSelectionCount() > 0) {
                iFileEditButton.setEnabled(true);
                iFileRemoveButton.setEnabled(true);
            }
        }
    });
    iHFList.addMouseListener(new MouseAdapter() {
        public void mouseDoubleClick(MouseEvent event) {
            iFileEditButton.notifyListeners(SWT.Selection, null);
        }
    });

    // File Add Button
    iFileAddButton = new Button(iGroup, SWT.PUSH);
    iFileAddButton.setText("Add");
    iFileAddButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    iFileAddButton.setEnabled(false);
    iFileAddButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            if (iHeaderButton.getSelection()) {
                SetHeaderDialog dialog = new SetHeaderDialog(iFileAddButton.getShell(), null, null);
                if (dialog.open()) {
                    isChanged = true;
                    String lHeaderName = dialog.getHeader().trim();
                    String lLibName = dialog.getLib().trim();

                    String[] items = iHFList.getItems();
                    boolean lExist = false;
                    for (int i = 0; i < items.length; i++) {
                        if (items[i].equals(lHeaderName)) {
                            lExist = true;
                            ((ArrayList<String>) iHFList.getData()).set(i, lLibName);
                            iHFList.setItem(i, lHeaderName);
                            break;
                        }
                    }
                    if (lExist == false) {
                        iHFList.add(lHeaderName);
                        ((ArrayList<String>) iHFList.getData()).add(lLibName);
                    }
                    setPageComplete(isPageComplete());
                }
            }
        }
    });

    // File Edit Button
    iFileEditButton = new Button(iGroup, SWT.PUSH);
    iFileEditButton.setText("Edit");
    iFileEditButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    iFileEditButton.setEnabled(false);
    iFileEditButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            if (iHeaderButton.getSelection() && iHFList.getSelectionCount() > 0) {
                int[] index = iHFList.getSelectionIndices();
                String lHeaderName = iHFList.getItem(index[0]);
                String lLibName = ((ArrayList<String>) iHFList.getData()).get(index[0]);

                SetHeaderDialog dialog = new SetHeaderDialog(iFileAddButton.getShell(), lHeaderName, lLibName);
                if (dialog.open()) {
                    isChanged = true;
                    lHeaderName = dialog.getHeader().trim();
                    lLibName = dialog.getLib().trim();

                    iHFList.setItem(index[0], lHeaderName);
                    ((ArrayList<String>) iHFList.getData()).set(index[0], lLibName);
                }
            }
        }
    });

    // File Remove Button
    iFileRemoveButton = new Button(iGroup, SWT.PUSH);
    iFileRemoveButton.setText("Remove");
    iFileRemoveButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    iFileRemoveButton.setEnabled(false);
    iFileRemoveButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            if (iHeaderButton.getSelection() && iHFList.getSelectionCount() > 0) {
                int[] index = iHFList.getSelectionIndices();
                for (int i : index) {
                    ((ArrayList<String>) iHFList.getData()).remove(i);
                }
                iHFList.remove(index);
                iFileEditButton.setEnabled(false);
                iFileRemoveButton.setEnabled(false);
                isChanged = true;
                setPageComplete(isPageComplete());
            }
        }
    });

    // SEPARATOR
    Label lLabelSeparator = new Label(lComposite, SWT.SEPARATOR | SWT.HORIZONTAL);
    lLabelSeparator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    Label lLabelName = new Label(lComposite, SWT.NONE);
    lLabelName.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    lLabelName.setText("Target Name:");

    // Target file name
    iTextTarget = new Text(lComposite, SWT.BORDER);
    iTextTarget.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    iTextTarget.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent event) {
            String mmpFile = iTextTarget.getText().trim() + ".mmp";
            try {
                FindFileVisitor visitor = new FindFileVisitor(mmpFile);
                iHostProject.accept(visitor);
                if (visitor.getResult().size() > 0) {
                    iHasError = true;
                    iLabelError.setImage(PlatformUI.getWorkbench().getSharedImages()
                            .getImage(ISharedImages.IMG_OBJS_ERROR_TSK));
                    iLabelError.setText("Duplicate target name.");
                } else {
                    iHasError = false;
                    iLabelError.setImage(null);
                    iLabelError.setText(null);
                }
            } catch (CoreException ignore) {
            }
            setPageComplete(isPageComplete());
        }
    });

    iLabelError = new CLabel(lComposite, SWT.NONE);
    iLabelError.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    // init
    iProjectButton.setSelection(true);
    iHostProject = iChooseProjectPage.getProject();
    iTextTarget.setText("Test" + iHostProject.getName());

    ((WizardDialog) getContainer()).addPageChangingListener(new IPageChangingListener() {
        public void handlePageChanging(PageChangingEvent event) {
            IWizardPage lCurPage = (IWizardPage) event.getCurrentPage();
            IWizardPage lTarPage = (IWizardPage) event.getTargetPage();
            if (lTarPage instanceof GenerateUnitFromPage) {
                if (lCurPage instanceof ChooseTemplatePage) {
                    if (!iHostProject.getName().equals(iChooseProjectPage.getProject().getName())) {
                        isChanged = true;
                        iHostProject = iChooseProjectPage.getProject();
                        iTextTarget.setText("Test" + iHostProject.getName());
                    }
                } else {
                    isChanged = false;
                }
            }
            if (lCurPage instanceof GenerateUnitFromPage) {
                if (isChanged) {
                    iProjects.clear();
                    if (iProjectButton.getSelection()) {
                        iProjects.add(new ProjectItem(iHostProject));
                    } else {
                        String[] files = iHFList.getItems();
                        ArrayList<String> lLibList = (ArrayList<String>) iHFList.getData();

                        for (int i = 0; i < files.length; i++) {
                            iProjects.add(getProjectItem(files[i], lLibList.get(i), iHostProject));
                        }
                    }
                }
            }
        }
    });

}

From source file:com.symbian.tdep.templates.carbide.GetTestableItemsUnitPage.java

License:Open Source License

/**
 * Implement method of IDialogPage to create UI of this wizard page
 *///w w  w  .  jav  a 2s.c  o  m
public void createControl(Composite aComposite) {
    initializeDialogUnits(aComposite);
    sProjects.clear();

    IWizardPage lpage = this;
    while ((lpage = lpage.getPreviousPage()) != null) {
        if (lpage instanceof GenerateUnitFromPage) {
            iGenerateUnitFromPage = (GenerateUnitFromPage) lpage;
            break;
        }
    }

    final Composite lComposite = new Composite(aComposite, SWT.NONE);
    {
        lComposite.setLayout(new GridLayout(1, false));
        lComposite.setLayoutData(new GridData(GridData.FILL_BOTH));

        setControl(lComposite);

        iCheckboxTreeViewer = new ContainerCheckedTreeViewer(lComposite, SWT.BORDER);

        // Content Provider
        iCheckboxTreeViewer.setContentProvider(new ClassMethodContentProvider());

        // Label Provider
        iCheckboxTreeViewer.setLabelProvider(new ClassMethodLabelProvider());

        iTree = iCheckboxTreeViewer.getTree();
        iTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

        // Add Checked Listener
        iCheckboxTreeViewer.addCheckStateListener(new ICheckStateListener() {
            public void checkStateChanged(CheckStateChangedEvent aChangedEvent) {
                ITestItem lITestItem = (ITestItem) aChangedEvent.getElement();
                lITestItem.setSelected(aChangedEvent.getChecked());
                setPageComplete(isPageComplete());
            }
        });
    }

    ((WizardDialog) getContainer()).addPageChangingListener(new IPageChangingListener() {
        public void handlePageChanging(PageChangingEvent event) {
            IWizardPage lCurPage = (IWizardPage) event.getCurrentPage();
            IWizardPage lTarPage = (IWizardPage) event.getTargetPage();
            if (lTarPage instanceof GetTestableItemsUnitPage) {
                if (lCurPage instanceof GenerateUnitFromPage) {
                    if (iGenerateUnitFromPage.isChanged() == false) {
                        return;
                    }
                    Set<ProjectItem> iProjects = (Set<ProjectItem>) iGenerateUnitFromPage.getPageValues()
                            .get(GenerateUnitFromPage.TESTPROJECTS);
                    iCheckboxTreeViewer.setInput(iProjects);
                    iCheckboxTreeViewer.setAllChecked(true);
                    iCheckboxTreeViewer.expandAll();
                }
            }
        }
    });

}

From source file:com.symbian.tdep.templates.carbide.SetTestableItemsPage.java

License:Open Source License

/**
 * Implement method of IDialogPage to create UI of this wizard page
 *///from   w ww  . jav  a  2  s . com
public void createControl(Composite aComposite) {
    initializeDialogUnits(aComposite);

    IWizardPage lpage = this;
    while ((lpage = lpage.getPreviousPage()) != null) {
        if (lpage instanceof NewProjectPage) {
            iNewProjectPage = (NewProjectPage) lpage;
            break;
        }
    }

    final Composite lComposite = new Composite(aComposite, SWT.NONE);
    {
        lComposite.setLayout(new GridLayout(1, false));
        lComposite.setLayoutData(new GridData(GridData.FILL_BOTH));

        setControl(lComposite);

        iTreeViewer = new TreeViewer(lComposite, SWT.BORDER);

        // Content Provider
        iTreeViewer.setContentProvider(new ClassMethodContentProvider());

        // Label Provider
        iTreeViewer.setLabelProvider(new ClassMethodLabelProvider());

        // Selection Changed listener
        iTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
            public void selectionChanged(SelectionChangedEvent event) {
                checkButtonState();
            }
        });

        iTreeViewer.setComparator(new ViewerComparator());

        // Double Click Listener
        iTreeViewer.addDoubleClickListener(new IDoubleClickListener() {
            public void doubleClick(DoubleClickEvent event) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                iSelectedItem = (ITestItem) selection.getFirstElement();
                if (iSelectedItem instanceof ClassItem) {
                    iBtnEditClass.notifyListeners(SWT.Selection, null);
                }
                if (iSelectedItem instanceof MethodItem) {
                    iBtnEditMethod.notifyListeners(SWT.Selection, null);
                }
            }
        });
        iTree = iTreeViewer.getTree();
        iTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    }

    final Composite lBtnComposite = new Composite(lComposite, SWT.NONE);
    {
        lBtnComposite.setLayout(new GridLayout(3, true));
        lBtnComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

        // Add Class Button
        iBtnAddClass = new Button(lBtnComposite, SWT.PUSH);
        iBtnAddClass.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        iBtnAddClass.setText(Messages.getString("ClassDialog.AddClass"));
        iBtnAddClass.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                try {
                    ClassEditDialog dialog = new ClassEditDialog(lBtnComposite.getShell(),
                            Messages.getString("ClassDialog.AddClassTitle"), iProject);

                    if (dialog.open()) {
                        iProject.addChild(dialog.getClassItem());
                        iTreeViewer.add(iProject, dialog.getClassItem());
                        iTreeViewer.expandToLevel(dialog.getClassItem(), 0);
                    }
                    setPageComplete(isPageComplete());
                } catch (Exception e) {
                    e.printStackTrace();
                    IStatus lStatus = new Status(IStatus.WARNING, SetTestableItemsPage.class.getName(),
                            "Exception was thrown while adding class.", e);
                    TefTemplatesCarbidePlugin.getDefault().getLog().log(lStatus);
                }
            }
        });

        // Edit Class Button
        iBtnEditClass = new Button(lBtnComposite, SWT.PUSH);
        iBtnEditClass.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        iBtnEditClass.setText(Messages.getString("ClassDialog.EditClass"));
        iBtnEditClass.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                ClassItem item;
                if (iSelectedItem instanceof ClassItem) {
                    item = (ClassItem) iSelectedItem;
                } else {
                    item = (ClassItem) iSelectedItem.getParent();
                }
                ClassEditDialog dialog = new ClassEditDialog(lBtnComposite.getShell(),
                        Messages.getString("ClassDialog.EditClassTitle"), item);
                if (dialog.open()) {
                    iTreeViewer.update(item, null);
                }
                setPageComplete(isPageComplete());
            }
        });

        // Delete Class Button
        iBtnDeleteClass = new Button(lBtnComposite, SWT.PUSH);
        iBtnDeleteClass.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        iBtnDeleteClass.setText(Messages.getString("ClassDialog.DeleteClass"));
        iBtnDeleteClass.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                ClassItem item;
                if (iSelectedItem instanceof ClassItem) {
                    item = (ClassItem) iSelectedItem;
                } else {
                    item = (ClassItem) iSelectedItem.getParent();
                }
                boolean rlt = MessageDialog.openQuestion(lBtnComposite.getShell(),
                        Messages.getString("ClassDialog.ConfirmDelete"),
                        Messages.getString("ClassDialog.WhetherDeleteClass", item.getTestName()));
                if (rlt) {
                    ((ProjectItem) item.getParent()).removeChild(item);
                    iTreeViewer.remove(item);
                }
                setPageComplete(isPageComplete());
            }
        });

        // Add Method Button
        iBtnAddMethod = new Button(lBtnComposite, SWT.PUSH);
        iBtnAddMethod.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        iBtnAddMethod.setText(Messages.getString("MethodDialog.AddMethod"));
        iBtnAddMethod.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                try {
                    ClassItem item;
                    if (iSelectedItem instanceof ClassItem) {
                        item = (ClassItem) iSelectedItem;
                    } else {
                        item = (ClassItem) iSelectedItem.getParent();
                    }
                    MethodEditDialog dialog = new MethodEditDialog(lBtnComposite.getShell(),
                            Messages.getString("MethodDialog.AddMethodTitle"), item);
                    if (dialog.open()) {
                        item.addChild(dialog.getMethodItem());
                        iTreeViewer.add(item, dialog.getMethodItem());
                        iTreeViewer.expandToLevel(dialog.getMethodItem(), 0);
                    }
                    setPageComplete(isPageComplete());
                } catch (Exception e) {
                    IStatus lStatus = new Status(IStatus.WARNING, SetTestableItemsPage.class.getName(),
                            "Exception was thrown while adding method.", e);
                    TefTemplatesCarbidePlugin.getDefault().getLog().log(lStatus);
                }
            }
        });

        // Edit Method Button
        iBtnEditMethod = new Button(lBtnComposite, SWT.PUSH);
        iBtnEditMethod.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        iBtnEditMethod.setText(Messages.getString("MethodDialog.EditMethod"));
        iBtnEditMethod.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                MethodItem item = (MethodItem) iSelectedItem;
                MethodEditDialog dialog = new MethodEditDialog(lBtnComposite.getShell(),
                        Messages.getString("MethodDialog.EditMethodTitle"), item);
                if (dialog.open()) {
                    iTreeViewer.update(item, null);
                }
                setPageComplete(isPageComplete());
            }
        });

        // Delete Method Button
        iBtnDeleteMethod = new Button(lBtnComposite, SWT.PUSH);
        iBtnDeleteMethod.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        iBtnDeleteMethod.setText(Messages.getString("MethodDialog.DeleteMethod"));
        iBtnDeleteMethod.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                MethodItem item = (MethodItem) iSelectedItem;
                boolean rlt = MessageDialog.openQuestion(lBtnComposite.getShell(),
                        Messages.getString("MethodDialog.ConfirmDelete"),
                        Messages.getString("MethodDialog.WhetherDeleteMethod", item.getTestName()));
                if (rlt) {
                    ((ClassItem) item.getParent()).removeChild(item);
                    iTreeViewer.remove(item);
                }
                setPageComplete(isPageComplete());
            }
        });
    }

    ((WizardDialog) getContainer()).addPageChangingListener(new IPageChangingListener() {
        public void handlePageChanging(PageChangingEvent event) {
            IWizardPage lTarPage = (IWizardPage) event.getTargetPage();
            if (lTarPage instanceof SetTestableItemsPage) {
                iProject.setName(iNewProjectPage.getProjectName());
                iTreeViewer.refresh();
            }
        }
    });

    // Set Input
    Vector vector = new Vector();
    vector.add(iProject);
    iTreeViewer.setInput(vector);
    iTreeViewer.setSelection(new TreeSelection(new TreePath(new Object[] { iProject })));
}

From source file:com.vectrace.MercurialEclipse.wizards.ClonePage.java

License:Open Source License

private void hookNextButtonListener(Composite composite) {
    IWizardContainer container = getWizard().getContainer();
    if (!(container instanceof WizardDialog)) {
        return;//from ww w  .  j  ava2 s.c om
    }
    WizardDialog dialog = (WizardDialog) container;
    dialog.addPageChangingListener(new IPageChangingListener() {

        public void handlePageChanging(PageChangingEvent event) {
            if (event.getCurrentPage() == ClonePage.this
                    && event.getTargetPage() != ClonePage.this.getPreviousPage()) {
                // Only fire if we're transitioning forward from this page.
                event.doit = nextButtonPressed();
            }
        }
    });
}