X-Git-Url: http://secure.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/QuantumPlugin.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/QuantumPlugin.java index 140a149..5a8b0e9 100644 --- a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/QuantumPlugin.java +++ b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/QuantumPlugin.java @@ -5,18 +5,13 @@ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; +import java.net.MalformedURLException; import java.net.URL; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import com.quantum.model.BookmarkCollection; -import com.quantum.util.xml.XMLHelper; -import com.quantum.view.subset.SubsetContentProvider; - -import org.eclipse.core.resources.ISaveContext; -import org.eclipse.core.resources.ISaveParticipant; import org.eclipse.core.resources.ISavedState; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; @@ -25,10 +20,9 @@ import org.eclipse.core.runtime.IPluginDescriptor; import org.eclipse.core.runtime.Path; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferenceConverter; -import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.jface.resource.JFaceResources; import org.eclipse.swt.dnd.Clipboard; -import org.eclipse.swt.graphics.FontData; -import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.RGB; import org.eclipse.ui.IViewPart; import org.eclipse.ui.IWorkbench; @@ -41,16 +35,27 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.SAXException; +import com.quantum.model.BookmarkCollection; +import com.quantum.util.xml.XMLHelper; +import com.quantum.view.subset.SubsetContentProvider; + /** - * @author root * Main class of the quantum plugin, sets defaults, saves and recovers state. + * @author root */ public class QuantumPlugin extends AbstractUIPlugin { - public final static String PLUGIN_ID = "net.sourceforge.phpeclipse.quantum.sql"; + public final static String PLUGIN_ID = "net.sourceforge.phpeclipse.quantum.sql"; private static QuantumPlugin plugin; private Clipboard sysClip; - + /** + * + * TODO: BCH - this constructor has changed in Eclipse 3.0. This + * old version of the constructor is still necessary for running under + * Eclipse 2.x. + * + * @param descriptor + */ public QuantumPlugin(IPluginDescriptor descriptor) { super(descriptor); plugin = this; @@ -107,11 +112,10 @@ public class QuantumPlugin extends AbstractUIPlugin { */ public void startup() throws CoreException { super.startup(); - ISaveParticipant saveParticipant = new QuantumSaveParticipant(); ISavedState lastState = ResourcesPlugin.getWorkspace().addSaveParticipant( this, - saveParticipant); + new QuantumSaveParticipant()); if (lastState != null) { IPath location = lastState.lookup(new Path(Messages.getString("QuantumPlugin.saveDir"))); //$NON-NLS-1$ if (location != null) { @@ -124,14 +128,7 @@ public class QuantumPlugin extends AbstractUIPlugin { sysClip = new Clipboard(null); } - /* (non-Javadoc) - * @see org.eclipse.core.runtime.Plugin#shutdown() - */ - public void shutdown() throws CoreException { - super.shutdown(); -// sysClip.dispose(); - } - + /** * Write the bookmarks and subsets to a file, saving them for next use of the quantum plugin * @param target @@ -148,7 +145,7 @@ public class QuantumPlugin extends AbstractUIPlugin { FileWriter writer = new FileWriter(target); try { - XMLHelper.createDOMSerializer(writer).serialize(document); + XMLHelper.write(writer, document); } finally { writer.close(); } @@ -159,27 +156,11 @@ public class QuantumPlugin extends AbstractUIPlugin { } } - /** - * Gets an image descriptof from a file in the icons directory - * @param name of the file to get - * @return ImageDescriptor or null if not found - */ - public static ImageDescriptor getImageDescriptor(String name) { - ImageDescriptor descriptor = null; - try { - URL installURL = - QuantumPlugin.getDefault().getDescriptor().getInstallURL(); - URL url = new URL(installURL, Messages.getString("QuantumPlugin.iconsDir") + name); //$NON-NLS-1$ - descriptor = ImageDescriptor.createFromURL(url); - } catch (Exception e) { - e.printStackTrace(); - } - return descriptor; - } - public static Image getImage(String name) { - ImageDescriptor imageDescriptor = getImageDescriptor(name); - return imageDescriptor == null ? null : imageDescriptor.createImage(); - } + +// public static Image getImage(String name) { +// ImageDescriptor imageDescriptor = getImageDescriptor(name); +// return imageDescriptor == null ? null : imageDescriptor.createImage(); +// } protected void initializeDefaultPluginPreferences() { RGB BACKGROUND = new RGB(255, 255, 255); @@ -206,9 +187,11 @@ public class QuantumPlugin extends AbstractUIPlugin { getPreferenceStore().setDefault("quantum.string.bold", false); //$NON-NLS-1$ getPreferenceStore().setDefault("quantum.comment.bold", false); //$NON-NLS-1$ getPreferenceStore().setDefault("quantum.numeric.bold", false); //$NON-NLS-1$ - PreferenceConverter.setDefault(getPreferenceStore(), "quantum.font", (FontData) null); //$NON-NLS-1$ - getPreferenceStore().setDefault("com.quantum.model.Bookmark.queryHistorySize", 20); //$NON-NLS-1$ - + PreferenceConverter.setDefault(getPreferenceStore(), "quantum.font", //$NON-NLS-1$ + JFaceResources.getTextFont().getFontData()); + getPreferenceStore().setDefault("com.quantum.model.Bookmark.queryHistorySize", 20); //$NON-NLS-1$ + + getPreferenceStore().setDefault( "phpeclipse.sql.select.template", "$results = mysql_query(\"SELECT {0} FROM {1} WHERE {2} \");"); @@ -267,68 +250,27 @@ public class QuantumPlugin extends AbstractUIPlugin { return tableView; } - - - class QuantumSaveParticipant implements ISaveParticipant { - /** - * @see org.eclipse.core.resources.ISaveParticipant#doneSaving(ISaveContext) - */ - public void doneSaving(ISaveContext context) { - } - /** - * @see org.eclipse.core.resources.ISaveParticipant#prepareToSave(ISaveContext) - */ - public void prepareToSave(ISaveContext context) throws CoreException { - } - - /** - * @see org.eclipse.core.resources.ISaveParticipant#rollback(ISaveContext) - */ - public void rollback(ISaveContext context) { - } - - /** - * @see org.eclipse.core.resources.ISaveParticipant#saving(ISaveContext) - */ - public void saving(ISaveContext context) throws CoreException { - switch (context.getKind()) { - case ISaveContext.FULL_SAVE : - QuantumPlugin quantumPluginInstance = QuantumPlugin.getDefault(); - // save the plug in state - if (BookmarkCollection.getInstance().isAnythingChanged() - || SubsetContentProvider.getInstance().hasChanged()) { - - int saveNumber = context.getSaveNumber(); - String saveFileName = Messages.getString("QuantumPlugin.saveDir") + "-" + Integer.toString(saveNumber) + Messages.getString("QuantumPlugin.saveFileExtension"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - File f = quantumPluginInstance.getStateLocation().append(saveFileName).toFile(); - - // if we fail to write, an exception is thrown and we do not update the path - quantumPluginInstance.writeImportantState(f); - - context.map(new Path(Messages.getString("QuantumPlugin.saveDir")), new Path(saveFileName)); //$NON-NLS-1$ - context.needSaveNumber(); - - } else { - System.out.println("Not saving unchanged bookmarks"); //$NON-NLS-1$ - } - break; - case ISaveContext.PROJECT_SAVE : - // get the project related to this save operation - //IProject project = context.getProject(); - // save its information, if necessary - break; - case ISaveContext.SNAPSHOT : - // This operation needs to be really fast because - // snapshots can be requested frequently by the - // workspace. - break; - } - } - } /** * @return */ public Clipboard getSysClip() { return sysClip; } + protected void initializeImageRegistry(ImageRegistry registry) { + super.initializeImageRegistry(registry); + try { + ImageStore.initialize(registry, getIconLocation()); + } catch (MalformedURLException e) { + // this should never happen, but if it does, we don't get images. + } + } + + /** + * @return + * @throws MalformedURLException + */ + URL getIconLocation() throws MalformedURLException { + URL installURL = QuantumPlugin.getDefault().getDescriptor().getInstallURL(); + return new URL(installURL, "icons/"); + } } \ No newline at end of file