]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - eclipse/plugins/org.argeo.slc.ide.ui/src/main/java/org/argeo/slc/ide/ui/launch/osgi/OsgiBootMainTab.java
Improve SLC launch plugin
[gpl/argeo-slc.git] / eclipse / plugins / org.argeo.slc.ide.ui / src / main / java / org / argeo / slc / ide / ui / launch / osgi / OsgiBootMainTab.java
index cbe41cdc9d3a1f5ecd4fca93095b5e21b448305e..5e5ae50507bd63a637a6df77f8c51a7fdadbf811 100644 (file)
@@ -33,36 +33,26 @@ public class OsgiBootMainTab extends AbstractLaunchConfigurationTab implements
 
        private Text additionalProgramArgs;
 
+       private final Boolean isEclipse;
+
+       public OsgiBootMainTab(Boolean isEclipse) {
+               super();
+               this.isEclipse = isEclipse;
+       }
+
        public void createControl(Composite parent) {
                Composite container = new Composite(parent, SWT.NONE);
                container.setLayout(new GridLayout());
                container.setLayoutData(new GridData(GridData.FILL_BOTH));
 
-               createGeneral(container);
                createAdditionalProgramArgs(container);
                createAdditionalVmArgumentBlock(container);
+               createAdvanced(container);
                Dialog.applyDialogFont(container);
                setControl(container);
        }
 
-       protected void createGeneral(Composite parent) {
-               Group container = new Group(parent, SWT.NONE);
-               container.setText("General");
-               GridLayout layout = new GridLayout();
-               layout.numColumns = 2;
-               container.setLayout(layout);
-               container.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-               syncBundles = new Button(container, SWT.CHECK);
-               syncBundles.addSelectionListener(listener);
-               new Label(container, SWT.NONE)
-                               .setText("Keep bundles in line with target platform and workspace (recommended)");
-               clearDataDirectory = new Button(container, SWT.CHECK);
-               clearDataDirectory.addSelectionListener(listener);
-               new Label(container, SWT.NONE)
-                               .setText("Clear data directory before launch");
-       }
-
+       /** Init UI for programs arguments */
        protected void createAdditionalProgramArgs(Composite parent) {
                Group container = new Group(parent, SWT.NONE);
                container.setText("Additional Program Arguments");
@@ -81,6 +71,7 @@ public class OsgiBootMainTab extends AbstractLaunchConfigurationTab implements
                additionalProgramArgs.addModifyListener(listener);
        }
 
+       /** Init UI for VM arguments */
        protected void createAdditionalVmArgumentBlock(Composite parent) {
                Group container = new Group(parent, SWT.NONE);
                container.setText("Additional VM Arguments");
@@ -98,6 +89,26 @@ public class OsgiBootMainTab extends AbstractLaunchConfigurationTab implements
                additionalVmArgs.setLayoutData(gd);
                additionalVmArgs.addModifyListener(listener);
 
+       }
+
+       /** Init UI for Advanced section */
+       protected void createAdvanced(Composite parent) {
+               Group container = new Group(parent, SWT.NONE);
+               container.setText("Advanced");
+               GridLayout layout = new GridLayout();
+               layout.numColumns = 2;
+               container.setLayout(layout);
+               container.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+               syncBundles = new Button(container, SWT.CHECK);
+               syncBundles.addSelectionListener(listener);
+               new Label(container, SWT.NONE)
+                               .setText("Keep bundles in line with target platform and workspace (recommended)");
+               clearDataDirectory = new Button(container, SWT.CHECK);
+               clearDataDirectory.addSelectionListener(listener);
+               new Label(container, SWT.NONE)
+                               .setText("Clear data directory before launch");
+
                addJvmPaths = new Button(container, SWT.CHECK);
                addJvmPaths.addSelectionListener(listener);
                new Label(container, SWT.NONE)
@@ -136,20 +147,20 @@ public class OsgiBootMainTab extends AbstractLaunchConfigurationTab implements
 
        public void performApply(ILaunchConfigurationWorkingCopy configuration) {
                // System.out.println("performApply");
-               configuration.setAttribute(ATTR_SYNC_BUNDLES, syncBundles
-                               .getSelection());
+               configuration.setAttribute(ATTR_SYNC_BUNDLES,
+                               syncBundles.getSelection());
                configuration.setAttribute(ATTR_CLEAR_DATA_DIRECTORY,
                                clearDataDirectory.getSelection());
 
                configuration.setAttribute(ATTR_ADDITIONAL_PROGRAM_ARGS,
                                additionalProgramArgs.getText());
-               configuration.setAttribute(ATTR_ADDITIONAL_VM_ARGS, additionalVmArgs
-                               .getText());
-               configuration.setAttribute(ATTR_ADD_JVM_PATHS, addJvmPaths
-                               .getSelection());
+               configuration.setAttribute(ATTR_ADDITIONAL_VM_ARGS,
+                               additionalVmArgs.getText());
+               configuration.setAttribute(ATTR_ADD_JVM_PATHS,
+                               addJvmPaths.getSelection());
                // writeProperties(configuration);
 
-               OsgiLaunchHelper.updateLaunchConfiguration(configuration);
+               OsgiLaunchHelper.updateLaunchConfiguration(configuration, isEclipse);
        }
 
        public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {