Search in sources :

Example 1 with SelectionButtonDialogField

use of org.eclipse.jdt.internal.ui.wizards.dialogfields.SelectionButtonDialogField in project eclipse-integration-commons by spring-projects.

the class ProjectAndPreferencePage method createDescriptionLabel.

@Override
protected Label createDescriptionLabel(Composite parent) {
    fParentComposite = parent;
    if (isProjectPreferencePage()) {
        Composite composite = new Composite(parent, SWT.NONE);
        composite.setFont(parent.getFont());
        GridLayout layout = new GridLayout();
        layout.marginHeight = 0;
        layout.marginWidth = 0;
        layout.numColumns = 2;
        composite.setLayout(layout);
        composite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
        IDialogFieldListener listener = new IDialogFieldListener() {

            public void dialogFieldChanged(DialogField field) {
                enableProjectSpecificSettings(((SelectionButtonDialogField) field).isSelected());
            }
        };
        fUseProjectSettings = new SelectionButtonDialogField(SWT.CHECK);
        fUseProjectSettings.setDialogFieldListener(listener);
        fUseProjectSettings.setLabelText("Enable pr&oject specific settings");
        fUseProjectSettings.doFillIntoGrid(composite, 1);
        LayoutUtil.setHorizontalGrabbing(fUseProjectSettings.getSelectionButton(null));
        if (offerLink()) {
            fChangeWorkspaceSettings = createLink(composite, "Configure Workspace Settings...");
            fChangeWorkspaceSettings.setLayoutData(new GridData(SWT.END, SWT.CENTER, false, false));
        } else {
            LayoutUtil.setHorizontalSpan(fUseProjectSettings.getSelectionButton(null), 2);
        }
        Label horizontalLine = new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL);
        horizontalLine.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 2, 1));
        horizontalLine.setFont(composite.getFont());
    }
    return super.createDescriptionLabel(parent);
}
Also used : IDialogFieldListener(org.eclipse.jdt.internal.ui.wizards.dialogfields.IDialogFieldListener) GridLayout(org.eclipse.swt.layout.GridLayout) Composite(org.eclipse.swt.widgets.Composite) GridData(org.eclipse.swt.layout.GridData) Label(org.eclipse.swt.widgets.Label) SelectionButtonDialogField(org.eclipse.jdt.internal.ui.wizards.dialogfields.SelectionButtonDialogField) DialogField(org.eclipse.jdt.internal.ui.wizards.dialogfields.DialogField) SelectionButtonDialogField(org.eclipse.jdt.internal.ui.wizards.dialogfields.SelectionButtonDialogField)

Example 2 with SelectionButtonDialogField

use of org.eclipse.jdt.internal.ui.wizards.dialogfields.SelectionButtonDialogField in project jbosstools-hibernate by jbosstools.

the class CodeGenerationSettingsTab method createControl.

public void createControl(Composite parent) {
    // initializeDialogUnits(parent);
    final ScrolledComposite sc = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
    sc.setExpandHorizontal(true);
    sc.setExpandVertical(true);
    Composite container = new Composite(sc, SWT.NULL);
    sc.setContent(container);
    GridLayout layout = new GridLayout();
    container.setLayout(layout);
    layout.numColumns = 4;
    layout.verticalSpacing = 10;
    IDialogFieldListener fieldlistener = new IDialogFieldListener() {

        public void dialogFieldChanged(DialogField field) {
            dialogChanged();
        }
    };
    useExternalProcess = new SelectionButtonDialogField(SWT.CHECK);
    useExternalProcess.setDialogFieldListener(fieldlistener);
    useExternalProcess.setLabelText(HibernateConsoleMessages.CodeGenerationSettingsTab_use_generation_in_external_process);
    consoleConfigurationName = new ComboDialogField(SWT.READ_ONLY);
    consoleConfigurationName.setLabelText(HibernateConsoleMessages.CodeGenerationSettingsTab_console_configuration);
    ConsoleConfiguration[] cfg = LaunchHelper.findFilteredSortedConsoleConfigs();
    String[] names = new String[cfg.length + 1];
    names[0] = NULL_CONFIG;
    for (int i = 0; i < cfg.length; i++) {
        ConsoleConfiguration configuration = cfg[i];
        names[i + 1] = configuration.getName();
    }
    consoleConfigurationName.setItems(names);
    consoleConfigurationName.setDialogFieldListener(fieldlistener);
    outputdir = new StringButtonDialogField(new IStringButtonAdapter() {

        public void changeControlPressed(DialogField field) {
            // IPath[] paths = DialogSelectionHelper.chooseFileEntries(getShell(),  PathHelper.pathOrNull(outputdir.getText()), new IPath[0], "Select output directory", "Choose directory in which the generated files will be stored", new String[] {"cfg.xml"}, false, true, false);
            IPath[] paths = DialogSelectionHelper.chooseFolderEntries(getShell(), PathHelper.pathOrNull(outputdir.getText()), HibernateConsoleMessages.CodeGenerationSettingsTab_select_output_dir, HibernateConsoleMessages.CodeGenerationSettingsTab_choose_dir_for_generated_files, false);
            if (paths != null && paths.length == 1) {
                outputdir.setText(((paths[0]).toOSString()));
            }
        }
    });
    outputdir.setDialogFieldListener(fieldlistener);
    outputdir.setLabelText(HibernateConsoleMessages.CodeGenerationSettingsTab_output_dir);
    outputdir.setButtonLabel(HibernateConsoleMessages.CodeGenerationSettingsTab_browse);
    templatedir = new DirectoryBrowseField(null, null, HibernateConsoleMessages.CodeGenerationSettingsTab_select_template_dir, HibernateConsoleMessages.CodeGenerationSettingsTab_choose_dir_custom_templates);
    templatedir.setDialogFieldListener(fieldlistener);
    templatedir.setLabelText(HibernateConsoleMessages.CodeGenerationSettingsTab_template_directory);
    templatedir.setFilesystemBrowseLabel(HibernateConsoleMessages.CodeGenerationSettingsTab_filesystem);
    templatedir.setWorkspaceBrowseLabel(HibernateConsoleMessages.CodeGenerationSettingsTab_workspace);
    packageName = new StringDialogField();
    packageName.setDialogFieldListener(fieldlistener);
    packageName.setLabelText(HibernateConsoleMessages.CodeGenerationSettingsTab_package);
    reverseEngineeringStrategy = new StringButtonDialogField(new IStringButtonAdapter() {

        public void changeControlPressed(DialogField field) {
            IService service = getService();
            String string = DialogSelectionHelper.chooseImplementation(service.getReverseEngineeringStrategyClassName(), reverseEngineeringStrategy.getText(), HibernateConsoleMessages.CodeGenerationSettingsTab_choose_reverse_engineering_strategy, getShell());
            if (string != null) {
                reverseEngineeringStrategy.setText(string);
            }
        }
    });
    reverseEngineeringStrategy.setDialogFieldListener(fieldlistener);
    reverseEngineeringStrategy.setLabelText(HibernateConsoleMessages.CodeGenerationSettingsTab_reveng_strategy);
    reverseEngineeringStrategy.setButtonLabel(HibernateConsoleMessages.CodeGenerationSettingsTab_browse);
    reverseEngineeringSettings = new StringButtonDialogField(new IStringButtonAdapter() {

        public void changeControlPressed(DialogField field) {
            int defaultChoice = 0;
            IPath reverseEngineeringSettingsFile = getReverseEngineeringSettingsFile();
            if (reverseEngineeringSettingsFile == null) {
                defaultChoice = 0;
            } else {
                defaultChoice = 1;
            }
            MessageDialog dialog = new MessageDialog(getShell(), HibernateConsoleMessages.CodeGenerationSettingsTab_setup_reverse_engineering, null, HibernateConsoleMessages.CodeGenerationSettingsTab_do_you_want_create_reveng_xml, MessageDialog.QUESTION, new String[] { HibernateConsoleMessages.CodeGenerationSettingsTab_create_new, HibernateConsoleMessages.CodeGenerationSettingsTab_use_existing, IDialogConstants.CANCEL_LABEL }, defaultChoice);
            int answer = dialog.open();
            if (answer == 0) {
                // create new
                NewReverseEngineeringFileWizard wizard = new NewReverseEngineeringFileWizard();
                wizard.init(PlatformUI.getWorkbench(), selection);
                wizard.setSelectConfiguration(getConfigurationName());
                IWorkbenchWindow win = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
                WizardDialog wdialog = new WizardDialog(win.getShell(), wizard);
                // This opens a dialog
                wdialog.open();
                IPath createdFilePath = wizard.getCreatedFilePath();
                if (createdFilePath != null) {
                    reverseEngineeringSettings.setText(createdFilePath.toOSString());
                }
            } else if (answer == 1) {
                // use existing
                IPath[] paths = DialogSelectionHelper.chooseFileEntries(getShell(), reverseEngineeringSettingsFile, new IPath[0], HibernateConsoleMessages.CodeGenerationSettingsTab_select_reverse_engineering_settings_file, HibernateConsoleMessages.CodeGenerationSettingsTab_choose_file_read_reverse_settings, new String[] { HibernateConsoleMessages.CodeGenerationSettingsTab_reveng_xml_1 }, false, false, true);
                if (paths != null && paths.length == 1) {
                    reverseEngineeringSettings.setText(((paths[0]).toOSString()));
                }
            }
        }
    });
    reverseEngineeringSettings.setDialogFieldListener(fieldlistener);
    reverseEngineeringSettings.setLabelText(HibernateConsoleMessages.CodeGenerationSettingsTab_reveng_xml_2);
    reverseEngineeringSettings.setButtonLabel(HibernateConsoleMessages.CodeGenerationSettingsTab_setup);
    reverseengineer = new SelectionButtonDialogField(SWT.CHECK);
    reverseengineer.setLabelText(HibernateConsoleMessages.CodeGenerationSettingsTab_reverse_engineer_from_jdbc_connection);
    reverseengineer.setDialogFieldListener(fieldlistener);
    useOwnTemplates = new SelectionButtonDialogField(SWT.CHECK);
    useOwnTemplates.setDialogFieldListener(fieldlistener);
    useOwnTemplates.setLabelText(HibernateConsoleMessages.CodeGenerationSettingsTab_use_custom_templates);
    preferRawCompositeIds = new SelectionButtonDialogField(SWT.CHECK);
    preferRawCompositeIds.setLabelText(HibernateConsoleMessages.CodeGenerationSettingsTab_generate_basic_typed_composite_ids);
    preferRawCompositeIds.setSelection(true);
    preferRawCompositeIds.setDialogFieldListener(fieldlistener);
    autoManyToMany = new SelectionButtonDialogField(SWT.CHECK);
    autoManyToMany.setLabelText(HibernateConsoleMessages.CodeGenerationSettingsTab_detect_many_to_many_tables);
    autoManyToMany.setSelection(true);
    autoManyToMany.setDialogFieldListener(fieldlistener);
    autoOneToOne = new SelectionButtonDialogField(SWT.CHECK);
    autoOneToOne.setLabelText(HibernateConsoleMessages.CodeGenerationSettingsTab_detect_one_to_one_associations);
    autoOneToOne.setSelection(true);
    autoOneToOne.setDialogFieldListener(fieldlistener);
    autoVersioning = new SelectionButtonDialogField(SWT.CHECK);
    autoVersioning.setLabelText(HibernateConsoleMessages.CodeGenerationSettingsTab_detect_optimistic_lock_columns);
    autoVersioning.setSelection(true);
    autoVersioning.setDialogFieldListener(fieldlistener);
    useOwnTemplates.attachDialogField(templatedir);
    reverseengineer.attachDialogFields(new DialogField[] { packageName, preferRawCompositeIds, reverseEngineeringSettings, reverseEngineeringStrategy, autoManyToMany, autoOneToOne, autoVersioning });
    // do not show the option cause: JBIDE-8072
    // useExternalProcess.doFillIntoGrid(container, 4);
    useExternalProcess.setSelection(false);
    consoleConfigurationName.doFillIntoGrid(container, 4);
    Control[] controls = outputdir.doFillIntoGrid(container, 4);
    // Hack to tell the text field to stretch!
    ((GridData) controls[1].getLayoutData()).grabExcessHorizontalSpace = true;
    reverseengineer.doFillIntoGrid(container, 4);
    packageName.doFillIntoGrid(container, 4);
    reverseEngineeringSettings.doFillIntoGrid(container, 4);
    reverseEngineeringStrategy.doFillIntoGrid(container, 4);
    fillLabel(container);
    preferRawCompositeIds.doFillIntoGrid(container, 3);
    fillLabel(container);
    autoVersioning.doFillIntoGrid(container, 3);
    fillLabel(container);
    autoManyToMany.doFillIntoGrid(container, 3);
    fillLabel(container);
    autoOneToOne.doFillIntoGrid(container, 3);
    useOwnTemplates.doFillIntoGrid(container, 4);
    controls = templatedir.doFillIntoGrid(container, 4);
    // Hack to tell the text field to stretch!
    ((GridData) controls[1].getLayoutData()).grabExcessHorizontalSpace = true;
    sc.setMinSize(container.computeSize(SWT.DEFAULT, SWT.DEFAULT));
    dialogChanged();
    setControl(sc);
}
Also used : StringButtonDialogField(org.eclipse.jdt.internal.ui.wizards.dialogfields.StringButtonDialogField) IStringButtonAdapter(org.eclipse.jdt.internal.ui.wizards.dialogfields.IStringButtonAdapter) GridLayout(org.eclipse.swt.layout.GridLayout) Control(org.eclipse.swt.widgets.Control) ComboDialogField(org.eclipse.jdt.internal.ui.wizards.dialogfields.ComboDialogField) ScrolledComposite(org.eclipse.swt.custom.ScrolledComposite) MessageDialog(org.eclipse.jface.dialogs.MessageDialog) ComboDialogField(org.eclipse.jdt.internal.ui.wizards.dialogfields.ComboDialogField) StringDialogField(org.eclipse.jdt.internal.ui.wizards.dialogfields.StringDialogField) StringButtonDialogField(org.eclipse.jdt.internal.ui.wizards.dialogfields.StringButtonDialogField) SelectionButtonDialogField(org.eclipse.jdt.internal.ui.wizards.dialogfields.SelectionButtonDialogField) DialogField(org.eclipse.jdt.internal.ui.wizards.dialogfields.DialogField) SelectionButtonDialogField(org.eclipse.jdt.internal.ui.wizards.dialogfields.SelectionButtonDialogField) IService(org.jboss.tools.hibernate.runtime.spi.IService) IDialogFieldListener(org.eclipse.jdt.internal.ui.wizards.dialogfields.IDialogFieldListener) IWorkbenchWindow(org.eclipse.ui.IWorkbenchWindow) ConsoleConfiguration(org.hibernate.console.ConsoleConfiguration) Composite(org.eclipse.swt.widgets.Composite) ScrolledComposite(org.eclipse.swt.custom.ScrolledComposite) IPath(org.eclipse.core.runtime.IPath) StringDialogField(org.eclipse.jdt.internal.ui.wizards.dialogfields.StringDialogField) NewReverseEngineeringFileWizard(org.hibernate.eclipse.console.wizards.NewReverseEngineeringFileWizard) WizardDialog(org.eclipse.jface.wizard.WizardDialog)

Aggregations

DialogField (org.eclipse.jdt.internal.ui.wizards.dialogfields.DialogField)2 IDialogFieldListener (org.eclipse.jdt.internal.ui.wizards.dialogfields.IDialogFieldListener)2 SelectionButtonDialogField (org.eclipse.jdt.internal.ui.wizards.dialogfields.SelectionButtonDialogField)2 GridLayout (org.eclipse.swt.layout.GridLayout)2 Composite (org.eclipse.swt.widgets.Composite)2 IPath (org.eclipse.core.runtime.IPath)1 ComboDialogField (org.eclipse.jdt.internal.ui.wizards.dialogfields.ComboDialogField)1 IStringButtonAdapter (org.eclipse.jdt.internal.ui.wizards.dialogfields.IStringButtonAdapter)1 StringButtonDialogField (org.eclipse.jdt.internal.ui.wizards.dialogfields.StringButtonDialogField)1 StringDialogField (org.eclipse.jdt.internal.ui.wizards.dialogfields.StringDialogField)1 MessageDialog (org.eclipse.jface.dialogs.MessageDialog)1 WizardDialog (org.eclipse.jface.wizard.WizardDialog)1 ScrolledComposite (org.eclipse.swt.custom.ScrolledComposite)1 GridData (org.eclipse.swt.layout.GridData)1 Control (org.eclipse.swt.widgets.Control)1 Label (org.eclipse.swt.widgets.Label)1 IWorkbenchWindow (org.eclipse.ui.IWorkbenchWindow)1 ConsoleConfiguration (org.hibernate.console.ConsoleConfiguration)1 NewReverseEngineeringFileWizard (org.hibernate.eclipse.console.wizards.NewReverseEngineeringFileWizard)1 IService (org.jboss.tools.hibernate.runtime.spi.IService)1