📄 projectmanager.java
字号:
package org.jawin.browser.project;
import org.jawin.browser.util.FileUtilities;
import java.io.*;
import org.jawin.browser.log.Log;
/**
* Manages a loaded project file and exposes it to the gui
*
* <p>Title: Jawin Code Generation GUI</p>
* <p>Description: GUI for exploring type libraries and generating Java code</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: Open Source Incentive</p>
*
* @author Josh Passenger
* @version 1.0
*/
public class ProjectManager
{
private static ProjectManager instance = null;
private ProjectParser parser = new ProjectParser();
private Project currentProject = null;
private ProjectManager()
{
}
public static synchronized void initialize()
{
instance = new ProjectManager();
}
public static ProjectManager getInstance()
{
if (instance == null)
{
throw new IllegalStateException("ProjectManager.getInstance() ProjectManager was not initialized");
}
return instance;
}
public void setProject(Project newProject)
{
currentProject = newProject;
}
public void loadProject(String projectFile)
{
currentProject = parser.parseProjectFile(projectFile);
currentProject.setProjectFile(projectFile);
}
public Project getCurrentProject()
{
return currentProject;
}
public void saveCurrentProject()
{
StringBuffer buffer = new StringBuffer();
currentProject.toXML(buffer);
try
{
FileUtilities.writeBytes(buffer.toString().getBytes(), currentProject.getProjectFile());
}
catch (IOException io)
{
Log.getInstance().exception("ProjectManager.saveCurrentProject() failed to save project file to: " + currentProject.getProjectFile(), io);
}
}
public void saveCurrentProjectAs(String newLocation) throws IOException
{
currentProject.setProjectFile(newLocation);
saveCurrentProject();
}
public void createProject(File newProjectFile)
{
Project project = new Project(newProjectFile.getAbsolutePath());
setProject(project);
saveCurrentProject();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -