<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    9910

    單飛

       :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
        public static String convertRGB2HexString(RGB theRGB) {
            
    int val = (theRGB.red << 16+ (theRGB.green << 8+ theRGB.blue;
            String result 
    = Integer.toHexString(val);
            String answer 
    = "000000";
            answer 
    = answer.substring(06 - result.length()) + result;
            
    return answer;
        }
    public static RGB convertHexString2RGB(String colorText) {
            RGB color = null;
            if (!isNullOrEmpty(colorText))
                try {
                    int colorValue = Integer.parseInt(colorText, 16);
                    int r = colorValue >> 16 & 0xff;
                    int g = colorValue >> 8 & 0xff;
                    int b = colorValue & 0xff;
                    color = new RGB(r, g, b);
                } catch (NumberFormatException _ex) {
                }
            return color;
        }
    public static String getWindowsSystem32Path() {
            String path = null;
            try {
                String windir = System.getenv("WinDir");
                if (windir != null && windir.length() > 0)
                    path = windir + "\\system32";
            } catch (Throwable _ex) {
            }
            if (path == null) {
                path = "C:\\windows\\system32";
                File windowsFolder = new File(path);
                if (!windowsFolder.exists())
                    path = "C:\\winnt\\system32";
            }
            return path;
        }
        public static void appendToConsole(ILaunch theDebugElement,
                final String theMessage) {
            if (theMessage == null || theMessage.length() == 0)
                return;
            IConsole console = getConsole(theDebugElement);
            if (console != null && (console instanceof TextConsole)) {
                final IDocument consoleDoc = ((TextConsole) console).getDocument();
                if (consoleDoc != null) {
                    final int length = consoleDoc.getLength();
                    Runnable runnable = new Runnable() {

                        public void run() {
                            try {
                                consoleDoc.replace(length, 0, theMessage);
                            } catch (BadLocationException e) {
                               
                            }
                        }

                    };
                    SWTUtil.postOnDisplayQueue(runnable);
                }
            }
        }

        public static void postOnDisplayQueue(Runnable runnable) {
            IWorkbench workbench = PlatformUI.getWorkbench();
            IWorkbenchWindow windows[] = workbench.getWorkbenchWindows();
            if (windows != null && windows.length > 0) {
                Display display = windows[0].getShell().getDisplay();
                display.asyncExec(runnable);
            } else {
                runnable.run();
            }
        }

    public static boolean isWindowsPlatform() {
            return Platform.getOS().equals("win32");
        }

        public static IConsole getConsole(ILaunch theLaunch) {
            return DebugUITools.getConsole(theLaunch.getProcesses()[0]);
        }
        public static void reselectProject(IWorkbenchPart part, IAction action,
                ISelection selection) {
            if ((action instanceof ObjectPluginAction)
                    && (part instanceof ISetSelectionTarget) && selection != null)
                ((ISetSelectionTarget) part).selectReveal(selection);
        }

    public static boolean showPreferencePage(Shell shell, String id,
                IPreferencePage page) {
            final IPreferenceNode targetNode = new PreferenceNode(id, page);
            PreferenceManager manager = new PreferenceManager();
            manager.addToRoot(targetNode);
            final PreferenceDialog dialog = new PreferenceDialog(shell, manager);
            final boolean result[] = new boolean[1];
            BusyIndicator.showWhile(shell.getDisplay(), new Runnable() {

                public void run() {
                    dialog.create();
                    dialog.setMessage(targetNode.getLabelText());
                    result[0] = dialog.open() == 0;
                }

            });
            return result[0];
        }


    public static ImageDescriptor getEditorImageDescriptor(String theFilename) {
            if (isNullOrEmpty(theFilename)) {
                return null;
            } else {
                ImageDescriptor imgDescriptor = getWorkbench().getEditorRegistry()
                        .getImageDescriptor(theFilename.trim());
                return imgDescriptor;
            }
        }
        public static void openView(final String theViewId) {
            SWTUtil.invokeOnDisplayThread(new Runnable() {

                public void run() {
                    try {
                        IWorkbenchPage activePage = Util.getActivePage();
                        activePage.showView(theViewId);
                    } catch (Exception ex) {
                        CorePlugin.log("Unable to open view " + theViewId, ex);
                    }
                }

            });
        }

        public static void invokeOnDisplayThread(Runnable runnable) {
            IWorkbench workbench = PlatformUI.getWorkbench();
            IWorkbenchWindow windows[] = workbench.getWorkbenchWindows();
            if (windows != null && windows.length > 0) {
                Display display = windows[0].getShell().getDisplay();
                display.syncExec(runnable);
            } else {
                runnable.run();
            }
        }

        public static boolean openLink(String url) {
            if (isWindowsPlatform() || isMacPlatform())
                return Program.launch(url);
            try {
                Runtime.getRuntime().exec("mozilla " + url);
            } catch (IOException _ex) {
                return false;
            }
            return true;
        }



        public static void openPropertiesView() {
            openView("org.eclipse.ui.views.PropertySheet");
        }
        public static Color getColor(RGB rgb) {
            if (rgb == null)
                return null;
            Color color = JFaceResources.getColorRegistry().get(rgb.toString());
            if (color == null) {
                JFaceResources.getColorRegistry().put(rgb.toString(), rgb);
                color = JFaceResources.getColorRegistry().get(rgb.toString());
            }
            return color;
        }

        public static boolean hasBuilder(IProjectDescription theProjectDescription,
                String theBuilderId) {
            if (theProjectDescription == null || isNullOrEmpty(theBuilderId))
                return false;
            boolean result = false;
            ICommand commands[] = theProjectDescription.getBuildSpec();
            for (int i = 0; i < commands.length && !result; i++)
                result = commands[i].getBuilderName().equals(theBuilderId);

            return result;
        }

        public static boolean hasBuilder(IProject theProject, String theBuilderId) {
            if (theProject == null || isNullOrEmpty(theBuilderId))
                return false;
            boolean result = false;
            try {
                result = hasBuilder(theProject.getDescription(), theBuilderId);
            } catch (CoreException _ex) {
            }
            return result;
        }

        public static FilenameFilter getTldFilenameFilter() {
            FilenameFilter filter = new FilenameFilter() {

                public boolean accept(File theDir, String theName) {
                    return theName.toLowerCase().endsWith("tld");
                }

            };
            return filter;
        }
        public static FilenameFilter getJarZipFilenameFilter() {
            FilenameFilter filter = new FilenameFilter() {

                public boolean accept(File theDir, String theName) {
                    return theName.toLowerCase().endsWith("jar")
                            || theName.toLowerCase().endsWith("zip");
                }

            };
            return filter;
        }
        public static int getButtonWidthHint(Button button) {
            button.setFont(JFaceResources.getDialogFont());
            PixelConverter converter = new PixelConverter(button);
            int widthHint = converter.convertHorizontalDLUsToPixels(61);
            return Math.max(widthHint, button.computeSize(-1, -1, true).x);
        }

        public static int getButtonHeightHint(Button button) {
            button.setFont(JFaceResources.getDialogFont());
            PixelConverter converter = new PixelConverter(button);
            return converter.convertVerticalDLUsToPixels(14);
        }
    public static Button createPushButton(Composite parent, String label,
                Image image) {
            Button button = new Button(parent, 8);
            button.setFont(parent.getFont());
            if (image != null)
                button.setImage(image);
            if (label != null)
                button.setText(label);
            GridData gd = new GridData();
            button.setLayoutData(gd);
            return button;
        }

        public static void createVerticalSpacer(Composite comp, int colSpan) {
            Label label = new Label(comp, 0);
            GridData gd = new GridData();
            gd.horizontalSpan = colSpan;
            label.setLayoutData(gd);
        }
    package com.ceopen.tools.core.util;

    import java.util.ArrayList;

    import org.eclipse.core.resources.ICommand;
    import org.eclipse.core.resources.IProject;
    import org.eclipse.core.resources.IProjectDescription;
    import org.eclipse.core.resources.ResourcesPlugin;
    import org.eclipse.core.runtime.CoreException;
    import org.eclipse.core.runtime.IPath;
    import org.eclipse.core.runtime.IProgressMonitor;

    import com.ceopen.tools.core.CorePlugin;

    public class ProjectUtil {

        public ProjectUtil() {
        }

        public static void addNatures(String addNatureIds[], IProject project,
                IProgressMonitor monitor) throws CoreException {
            IProjectDescription description = project.getDescription();
            String prevIds[] = description.getNatureIds();
            String newNatures[] = new String[prevIds.length + addNatureIds.length];
            boolean needToAdd[] = new boolean[addNatureIds.length];
            for (int i = 0; i < addNatureIds.length; i++)
                needToAdd[i] = !project.hasNature(addNatureIds[i]);

            int newNatureIndex = 0;
            for (int i = 0; i < addNatureIds.length; i++)
                if (needToAdd[i])
                    newNatures[newNatureIndex++] = addNatureIds[i];

            for (int i = 0; i < prevIds.length; i++)
                newNatures[newNatureIndex++] = prevIds[i];

            String sizedNewNatures[] = new String[newNatureIndex];
            System.arraycopy(newNatures, 0, sizedNewNatures, 0, newNatureIndex);
            description.setNatureIds(sizedNewNatures);
            project.setDescription(description, monitor);
        }

        public static void removeNature(String theNatureId, IProject project,
                IProgressMonitor monitor) {

            try {
                if (!project.hasNature(theNatureId))
                    return;

                IProjectDescription description = project.getDescription();
                String prevIds[] = description.getNatureIds();
                String newNatures[] = new String[prevIds.length - 1];
                boolean found = false;
                int i = 0;
                int j = 0;
                for (; i < prevIds.length; i++)
                    if (!prevIds[i].equals(theNatureId))
                        newNatures[j++] = prevIds[i];
                    else
                        found = true;

                if (found) {
                    description.setNatureIds(newNatures);
                    project.setDescription(description, monitor);
                }
            } catch (CoreException ex) {
                CorePlugin.log("Error - ", ex);
            }
            return;
        }

        public static ICommand getBuilderCommand(String theBuilderId,
                IProjectDescription theDescription) throws CoreException {
            if (theBuilderId == null || theBuilderId.length() == 0
                    || theDescription == null)
                return null;
            ICommand commands[] = theDescription.getBuildSpec();
            for (int i = 0; i < commands.length; i++)
                if (commands[i].getBuilderName().equals(theBuilderId))
                    return commands[i];

            return null;
        }

        public static void setBuilderCommand(IProjectDescription theDescription,
                ICommand theNewCommand) throws CoreException {
            if (theDescription == null || theNewCommand == null)
                return;
            ICommand oldCommands[] = theDescription.getBuildSpec();
            ICommand oldCommand = getBuilderCommand(theNewCommand.getBuilderName(),
                    theDescription);
            ICommand newCommands[] = (ICommand[]) null;
            if (oldCommand == null) {
                newCommands = new ICommand[oldCommands.length + 1];
                System
                        .arraycopy(oldCommands, 0, newCommands, 0,
                                oldCommands.length);
                newCommands[oldCommands.length] = theNewCommand;
            } else {
                int i = 0;
                for (int max = oldCommands.length; i < max; i++) {
                    if (oldCommands[i] != oldCommand)
                        continue;
                    oldCommands[i] = theNewCommand;
                    break;
                }

                newCommands = oldCommands;
            }
            theDescription.setBuildSpec(newCommands);
        }

        public static void removeBuilderCommand(IProjectDescription theDescription,
                String theBuilderName) throws CoreException {
            if (theDescription == null || theBuilderName == null)
                return;
            ICommand oldCommands[] = theDescription.getBuildSpec();
            ICommand newCommands[] = new ICommand[oldCommands.length - 1];
            boolean found = false;
            int i = 0;
            int j = 0;
            for (; i < oldCommands.length; i++)
                if (!oldCommands[i].getBuilderName().equals(theBuilderName))
                    newCommands[j++] = oldCommands[i];
                else
                    found = true;

            if (found)
                theDescription.setBuildSpec(newCommands);
        }

        public static IProject[] getProjects() {
            return ResourcesPlugin.getWorkspace().getRoot().getProjects();
        }

        public static IProject getProject(String theProjectName) {
            if (Util.isNullOrEmpty(theProjectName)) {
                return null;
            } else {
                IProject project = ResourcesPlugin.getWorkspace().getRoot()
                        .getProject(theProjectName);
                return project.exists() ? project : null;
            }
        }

        public static IProject getProject(IPath thePath) {
            org.eclipse.core.resources.IResource res = ResourcesPlugin
                    .getWorkspace().getRoot().findMember(thePath);
            return res == null || !(res instanceof IProject) ? null
                    : (IProject) res;
        }

        public static IProject[] getProjectsWithNature(String theNatureId) {
            IProject projects[] = getProjects();
            if (projects.length == 0)
                return projects;
            ArrayList list = new ArrayList(projects.length);
            for (int i = 0; i < projects.length; i++)
                try {
                    IProject prj = projects[i];
                    boolean hasNature = prj.isAccessible()
                            && prj.hasNature(theNatureId);
                    if (hasNature)
                        list.add(projects[i]);
                } catch (CoreException _ex) {
                }

            return list.isEmpty() ? new IProject[0] : (IProject[]) list
                    .toArray(new IProject[list.size()]);
        }

        public static IProject[] getProjectsWithoutNature(String theNatureId) {
            IProject projects[] = getProjects();
            if (projects.length == 0)
                return projects;
            ArrayList list = new ArrayList(projects.length);
            for (int i = 0; i < projects.length; i++)
                try {
                    boolean hasNature = projects[i].getProject().hasNature(
                            theNatureId);
                    if (!hasNature)
                        list.add(projects[i]);
                } catch (CoreException _ex) {
                }

            return list.isEmpty() ? new IProject[0] : (IProject[]) list
                    .toArray(new IProject[list.size()]);
        }

        public static boolean projectHasNature(IProject theProject, String theNature) {
            boolean result = false;
            try {
                result = theProject != null && !Util.isNullOrEmpty(theNature)
                        && theProject.hasNature(theNature);
            } catch (CoreException _ex) {
            }
            return result;
        }
    }
    public static void openView(final String theViewId) {
            SWTUtil.invokeOnDisplayThread(new Runnable() {

                public void run() {
                    try {
                        IWorkbenchPage activePage = Util.getActivePage();
                        activePage.showView(theViewId);
                    } catch (Exception ex) {
                        CorePlugin.log("Unable to open view " + theViewId, ex);
                    }
                }

            });
        }

        public static void openPropertiesView() {
            openView("org.eclipse.ui.views.PropertySheet");
        }
    public static String getEditorId(IFile file) {
            return getEditorId(file, true);
        }

        public static String getEditorId(IFile file,
                boolean refDefaultTextIfNoEditor) {
            return getEditorId(file.getName(), refDefaultTextIfNoEditor);
        }

        public static String getEditorId(String fileName) {
            return getEditorId(fileName, true);
        }

        public static String getEditorId(String fileName,
                boolean refDefaultTextIfNoEditor) {
            String result = null;
            IWorkbench workbench = PlatformUI.getWorkbench();
            IEditorRegistry editorRegistry = workbench.getEditorRegistry();
            IEditorDescriptor descriptor = editorRegistry
                    .getDefaultEditor(fileName);
            if (descriptor != null)
                result = descriptor.getId();
            else if (refDefaultTextIfNoEditor)
                result = "org.eclipse.ui.DefaultTextEditor";
            return result;
        }

        public static IStatus openEditor(IFile theFile, String theEditorId) {
            return openEditor(((IEditorInput) (new FileEditorInput(theFile))),
                    theEditorId);
        }

        public static IStatus openEditor(IEditorInput theInput, String theEditorId) {
            IStatus result = Util.getOKStatus();
            try {
                Util.getActivePage().openEditor(theInput, theEditorId);
            } catch (PartInitException e) {
                result = new Status(4, "com.eao.studio.core", 0,
                        "Unable to open editor.", e);
            }
            return result;
        }

        public static IStatus openDefaultEditor(IFile theFile) {
            return openEditor(theFile, getEditorId(theFile));
        }

        public static IStatus openDefaultEditor(IEditorInput theInput) {
            return openEditor(theInput, getEditorId(theInput.getName()));
        }

        public static void saveAllResources() {
            IWorkbenchWindow windows[] = PlatformUI.getWorkbench()
                    .getWorkbenchWindows();
            for (int i = 0; i < windows.length; i++) {
                IWorkbenchPage pages[] = windows[i].getPages();
                for (int j = 0; j < pages.length; j++) {
                    IWorkbenchPage page = pages[j];
                    IEditorPart editors[] = page.getDirtyEditors();
                    for (int k = 0; k < editors.length; k++) {
                        IEditorPart editor = editors[k];
                        editor.doSave(new NullProgressMonitor());
                    }

                }

            }

        }

        public static boolean hasDirtyEditors() {
            IWorkbenchWindow windows[] = PlatformUI.getWorkbench()
                    .getWorkbenchWindows();
            for (int i = 0; i < windows.length; i++) {
                IWorkbenchPage pages[] = windows[i].getPages();
                for (int j = 0; j < pages.length; j++) {
                    IWorkbenchPage page = pages[j];
                    IEditorPart editors[] = page.getDirtyEditors();
                    if (editors != null && editors.length > 0)
                        return true;
                }

            }

            return false;
        }

        public static IFile getWorkspaceFile(File file) {
            return getWorkspaceFile(((IPath) (new Path(file.getAbsolutePath()))));
        }

        public static IFile getWorkspaceFile(IPath location) {
            IWorkspace workspace = ResourcesPlugin.getWorkspace();
            IFile files[] = workspace.getRoot().findFilesForLocation(location);
            return files != null && files.length != 0 ? files[0] : null;
        }

        public static IEditorInput createEditorInput(File file) {
            IFile workspaceFile = getWorkspaceFile(file);
            if (workspaceFile != null)
                return new FileEditorInput(workspaceFile);
            else
                return null;       
        }

        public static IEditorPart getEditorForInput(IEditorInput editorInput,
                IWorkbenchPage returnEditorPage[]) {
            IEditorPart result = null;
            IWorkbenchWindow windows[] = Util.getWorkbench().getWorkbenchWindows();
            for (int i = 0; i < windows.length && result == null; i++) {
                IWorkbenchPage pages[] = windows[i].getPages();
                for (int j = 0; j < pages.length; j++) {
                    IEditorPart part = pages[j].findEditor(editorInput);
                    if (part == null)
                        continue;
                    result = part;
                    returnEditorPage[0] = pages[j];
                    break;
                }

            }

            return result;
        }

        private static IEditorReference[] getEditorReferencesForInput(
                IEditorInput input, IWorkbenchPage page[]) {
            IEditorReference result[] = new IEditorReference[0];
            IWorkbenchWindow windows[] = Util.getWorkbench().getWorkbenchWindows();
            for (int i = 0; i < windows.length && result.length == 0; i++) {
                IWorkbenchPage pages[] = windows[i].getPages();
                for (int j = 0; j < pages.length; j++) {
                    IEditorReference references[] = pages[j].findEditors(input,
                            null, 1);
                    if (references.length <= 0)
                        continue;
                    result = references;
                    page[0] = pages[j];
                    break;
                }

            }

            return result;
        }

        public static void closeEditorForInput(final IEditorInput theInput,
                boolean shouldCloseAsync) {
            Runnable runnable = new Runnable() {

                public void run() {
                    IWorkbenchPage page[] = new IWorkbenchPage[1];
                    IEditorPart part = EditorUtil.getEditorForInput(theInput, page);
                    if (page[0] != null && part != null)
                        page[0].closeEditor(part, false);
                }

            };
            if (shouldCloseAsync)
                SWTUtil.postOnDisplayQueue(runnable);
            else
                runnable.run();
        }

        public static IFile pickFile(IContainer container, List selection,
                ViewerFilter filter) {
            ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(
                    getActiveShell(), new WorkbenchLabelProvider(),
                    new WorkbenchContentProvider());
            if (filter != null)
                dialog.addFilter(filter);
            dialog.setAllowMultiple(false);
            dialog.setDoubleClickSelects(true);
            dialog.setInput(container);
            dialog.setValidator(new SingleFileSelectionValidator());
            dialog.setInitialElementSelections(selection);
            IFile file;
            if (dialog.open() == 0) {
                Object result[] = dialog.getResult();
                file = (IFile) result[0];
            } else {
                file = null;
            }
            return file;
        }

        public static void disableAllControls(Control control) {
            if (control == null)
                return;
            control.setEnabled(false);
            if (control instanceof Composite) {
                Composite composite = (Composite) control;
                Control children[] = composite.getChildren();
                for (int i = 0; i < children.length; i++) {
                    Control control2 = children[i];
                    disableAllControls(control2);
                }

            }
        }

        public static InputStream createStream(Object obj) {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            try {
                ObjectOutputStream oos = new ObjectOutputStream(baos);
                oos.writeObject(obj);
                oos.close();
                ByteArrayInputStream bais = new ByteArrayInputStream(baos
                        .toByteArray());
                return bais;
            } catch (IOException e) {
                Logger.error(CorePlugin.getDefault(), e.getMessage(), e);
            }
            return new ByteArrayInputStream(new byte[0]);
        }

        public static Properties readProperties(File file) {
            Properties props = new Properties();
            InputStream input = null;
            try {
                input = new BufferedInputStream(new FileInputStream(file));
                props.load(input);
            } catch (Exception _ex) {
            } finally {
                if (input != null)
                    try {
                        input.close();
                    } catch (IOException _ex) {
                    }
            }
            return props;
        }

        public static void saveProperties(Properties props, File file) {
            FileOutputStream out = null;
            try {
                out = new FileOutputStream(file);
                props.store(out, null);
            } catch (Exception _ex) {

            } finally {
                if (out != null) {
                    try {
                        out.close();
                    } catch (IOException e) {

                    }
                }
            }

        }

        public static String convertClassname2FilePath(String theJavaClassname,
                boolean keepExtension) {
            new StringBuffer(theJavaClassname.length() + 10);
            int extSeparatorIdx = theJavaClassname.lastIndexOf('.');
            char chars[] = theJavaClassname.toCharArray();
            for (int i = 0; i < extSeparatorIdx - 1; i++) {
                char ch = chars[i];
                if (ch == '.')
                    chars[i] = '/';
            }

            int endCharIdx = keepExtension ? theJavaClassname.length()
                    : extSeparatorIdx;
            return String.valueOf(chars, 0, endCharIdx);
        }
    public static void transferStreams(InputStream source,
                OutputStream destination) throws IOException {
            if (source == null || destination == null)
                return;
            byte buffer[] = new byte[8192];
            int bytesRead = source.read(buffer);
            if (bytesRead == -1)
                return;
            destination.write(buffer, 0, bytesRead);

            try {
                source.close();
            } catch (IOException _ex) {
            }
            try {
                destination.close();
            } catch (IOException _ex) {
            }
            return;
        }
        public static String toUpperFirst(String var) {
            char[] arrays = var.toCharArray();
            char first = arrays[0];
            char c = String.valueOf(first).toUpperCase().toCharArray()[0];
            arrays[0] = c;
            return String.valueOf(arrays);
        }
        public static String toLowerFirst(String var) {
            char[] arrays = var.toCharArray();
            char first = arrays[0];
            char c = String.valueOf(first).toLowerCase().toCharArray()[0];
            arrays[0] = c;
            return String.valueOf(arrays);
        }
        public static String[] split(String str) {
            return str.split("\\.");
        }
    public static String replaceAllString(String src, String from, String to) {
            return replaceAllString(src, from, to, -1);
        }

        public static String replaceAllString(String s, String s1, String s2, int i) {
            if (s == null || s.length() <= 0)
                return s;
            StringBuffer stringbuffer = new StringBuffer();
            if (i < 0) {
                int j;
                while ((j = s.indexOf(s1)) >= 0) {
                    stringbuffer.append(s.substring(0, j));
                    stringbuffer.append(s2);
                    s = s.substring(j + s1.length());
                }
                stringbuffer.append(s);
            } else {
                int k = 0;
                int l;
                while ((l = s.indexOf(s1)) >= 0) {
                    k++;
                    stringbuffer.append(s.substring(0, l));
                    if (k == i)
                        stringbuffer.append(s2);
                    else
                        stringbuffer.append(s1);
                    s = s.substring(l + s1.length());
                }
                stringbuffer.append(s);
            }
            return stringbuffer.toString();
        }
    protected void openResource(final IFile resource) {
            final IWorkbenchPage activePage = JavaPlugin.getActivePage();
            if (activePage != null) {
                Display display = getShell().getDisplay();
                if (display != null)
                    display.asyncExec(new Runnable() {

                        public void run() {
                            try {
                                IDE.openEditor(activePage, resource, true);
                            } catch (PartInitException e) {
                                JavaPlugin.log(e);
                            }
                        }

                    });
            }
        }
    public static void reparent(Control child, Composite newParent) {
            child.setParent(newParent);
            newParent.layout(true);
            newParent.redraw();
        }
        public static void saveAllResources() {
            IWorkbenchWindow windows[] = PlatformUI.getWorkbench().getWorkbenchWindows();
            for (int i = 0; i < windows.length; i++) {
                IWorkbenchPage pages[] = windows[i].getPages();
                for (int j = 0; j < pages.length; j++) {
                    IWorkbenchPage page = pages[j];
                    IEditorPart editors[] = page.getDirtyEditors();
                    for (int k = 0; k < editors.length; k++) {
                        IEditorPart editor = editors[k];
                        editor.doSave(new NullProgressMonitor());
                    }

                }

            }

        }
        public static boolean hasDirtyEditors() {
            IWorkbenchWindow windows[] = PlatformUI.getWorkbench().getWorkbenchWindows();
            for (int i = 0; i < windows.length; i++) {
                IWorkbenchPage pages[] = windows[i].getPages();
                for (int j = 0; j < pages.length; j++) {
                    IWorkbenchPage page = pages[j];
                    IEditorPart editors[] = page.getDirtyEditors();
                    if (editors != null && editors.length > 0)
                        return true;
                }

            }

            return false;
        }
    public static IEditorInput createEditorInput(File file) {
            IFile workspaceFile = getWorkspaceFile(file);
            if (workspaceFile != null)
                return new FileEditorInput(workspaceFile);
            else
                return null;
        }
    public static IFile getWorkspaceFile(File file) {
            return getWorkspaceFile(((IPath) (new Path(file.getAbsolutePath()))));
        }
        public static IFile getWorkspaceFile(IPath location) {
            IWorkspace workspace = ResourcesPlugin.getWorkspace();
            IFile files[] = workspace.getRoot().findFilesForLocation(location);
            return files != null && files.length != 0 ? files[0] : null;
        }
        public static void closeEditorForInput(final IEditorInput theInput, boolean shouldCloseAsync) {
            Runnable runnable = new Runnable() {

                public void run() {
                    IWorkbenchPage page[] = new IWorkbenchPage[1];
                    IEditorPart part = EditorUtil.getEditorForInput(theInput, page);
                    if (page[0] != null && part != null)
                        page[0].closeEditor(part, false);
                }

            };
            if (shouldCloseAsync)
                UIUtil.postOnDisplayQueue(runnable);
            else
                runnable.run();
        }

        private static IEditorReference[] getEditorReferencesForInput(IEditorInput input, IWorkbenchPage page[]) {
            IEditorReference result[] = new IEditorReference[0];
            IWorkbenchWindow windows[] = Util.getWorkbench().getWorkbenchWindows();
            for (int i = 0; i < windows.length && result.length == 0; i++) {
                IWorkbenchPage pages[] = windows[i].getPages();
                for (int j = 0; j < pages.length; j++) {
                    IEditorReference references[] = pages[j].findEditors(input, null, 1);
                    if (references.length <= 0)
                        continue;
                    result = references;
                    page[0] = pages[j];
                    break;
                }

            }

            return result;
        }

        public static IEditorPart getEditorForInput(IEditorInput editorInput, IWorkbenchPage returnEditorPage[]) {
            IEditorPart result = null;
            IWorkbenchWindow windows[] = Util.getWorkbench().getWorkbenchWindows();
            for (int i = 0; i < windows.length && result == null; i++) {
                IWorkbenchPage pages[] = windows[i].getPages();
                for (int j = 0; j < pages.length; j++) {
                    IEditorPart part = pages[j].findEditor(editorInput);
                    if (part == null)
                        continue;
                    result = part;
                    returnEditorPage[0] = pages[j];
                    break;
                }

            }

            return result;
        }
    public static void copyFile(String source_name, String dest_name) throws Exception {
            File source_file = new File(source_name);
            File destination_file = new File(dest_name);
            FileInputStream source = null;
            FileOutputStream destination = null;
            try {
                if (!source_file.exists() || !source_file.isFile())
                    throw new Exception("copyFile: no such source file: " + source_name);
                if (!source_file.canRead())
                    throw new Exception("copyFile: source file is unreadable: " + source_name);
                source = new FileInputStream(source_file);
                destination = new FileOutputStream(destination_file);
                byte buffer[] = new byte[1024];
                do {
                    int bytes_read = source.read(buffer);
                    if (bytes_read == -1)
                        break;
                    destination.write(buffer, 0, bytes_read);
                    destination.flush();
                } while (true);
            } catch (Exception e) {
                throw new Exception(e);
            } finally {
                if (source != null)
                    try {
                        source.close();
                    } catch (Exception _ex) {
                    }
                if (destination != null)
                    try {
                        destination.close();
                    } catch (Exception _ex) {
                    }
            }
            return;
        }
        public static boolean createFile(String strFullPath) throws Exception {
            try {
                if (strFullPath == null)
                    return false;
                if (fileExisted(strFullPath))
                    return false;
                File file = new File(strFullPath);
                File parent = file.getParentFile();
                if (!parent.exists())
                    parent.mkdirs();
                return file.createNewFile();
            } catch (Exception e) {
                throw new Exception(e);
            }
        }


    posted on 2009-03-18 15:02 單飛 閱讀(401) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 成人自慰女黄网站免费大全| 久久精品国产亚洲Aⅴ香蕉| 两个人看www免费视频| 一本天堂ⅴ无码亚洲道久久| 久久精品亚洲综合| 亚洲人午夜射精精品日韩| 免费无码又爽又刺激毛片| 免费观看国产网址你懂的| 无码成A毛片免费| 成全视频高清免费观看电视剧| 另类图片亚洲校园小说区| 中文有码亚洲制服av片| 亚洲伊人久久精品| 久久久国产精品亚洲一区| 亚洲热妇无码AV在线播放| 亚洲国产综合久久天堂| 国产免费观看网站| 日本xxwwxxww在线视频免费| 无码国产精品一区二区免费I6| 亚洲最大免费视频网| 一级特黄aa毛片免费观看| 少妇性饥渴无码A区免费| 久久嫩草影院免费看夜色| 一级毛片无遮挡免费全部| 九九视频高清视频免费观看| 黄色免费网址大全| 免费人成网站永久| 免费在线人人电影网| 人人爽人人爽人人片A免费| 特级av毛片免费观看| 曰批全过程免费视频免费看| 美女的胸又黄又www网站免费| 久久精品国产亚洲av天美18| 久久综合亚洲色hezyo| 午夜在线亚洲男人午在线| xvideos永久免费入口| 99精品免费视频| 最近中文字幕大全免费版在线| a级片在线免费看| 99热免费在线观看| 最近高清中文字幕无吗免费看|