📄 xpluginmanager.java
字号:
/****************************************************************
* XBrowser - eXtended web Browser *
* *
* Copyright (c) 2000-2001 Armond Avanes *
* Refer to ReadMe & License files for more information *
* *
* *
* By: Armond Avanes *
* Armond555@yahoo.com & Armond333@yahoo.com *
* http://xbrowser.sourceforge.net/ *
*****************************************************************/
package xbrowser.plugin;
import java.util.*;
import xbrowser.*;
import xbrowser.util.*;
import xbrowser.plugin.event.*;
public final class XPluginManager
{
public void load()
{
try
{
String file_name = XProjectConstants.CONFIG_DIR+XRepository.getConfiguration().getPluginFileName();
XRepository.getConfiguration().getActivePluginSerializer().getSerializer().importPlugins(file_name, this);
}
catch( Exception e )
{
XRepository.getLogger().error(this, "An error occured on loading the plugins list!");
XRepository.getLogger().error(this, e);
plugins.clear();
//save();
}
}
public void save()
{
try
{
String file_name = XProjectConstants.CONFIG_DIR+XRepository.getConfiguration().getPluginFileName();
XRepository.getConfiguration().getActivePluginSerializer().getSerializer().exportPlugins(file_name, this);
}
catch( Exception e )
{
XRepository.getLogger().warning(this, "An error occured while saving the plugins list!");
XRepository.getLogger().warning(this, e);
}
}
public void addPlugin(XPluginObject plugin)
{
if( plugins.contains(plugin) )
return;
plugins.add(plugin);
plugin.init();
for( int i=0; i<pluginListeners.size(); i++ )
((XPluginListener)pluginListeners.get(i)).pluginAdded(plugin);
}
public void removePlugin(XPluginObject plugin)
{
if( !plugins.contains(plugin) )
return;
plugin.stop();
plugin.destroy();
plugins.remove(plugin);
for( int i=0; i<pluginListeners.size(); i++ )
((XPluginListener)pluginListeners.get(i)).pluginRemoved(plugin);
}
public Iterator getPlugins()
{
return plugins.iterator();
}
public void addPluginListener(XPluginListener listener)
{
if( !pluginListeners.contains(listener) )
{
pluginListeners.add(listener);
updateListener(listener);
}
}
public void removePluginListener(XPluginListener listener)
{
pluginListeners.remove(listener);
}
public void destroyAllPlugins()
{
Iterator it = plugins.iterator();
XPluginObject plugin;
while( it.hasNext() )
{
plugin = (XPluginObject)it.next();
plugin.stop();
plugin.destroy();
}
}
public void checkAutoStartPlugins()
{
Iterator it = plugins.iterator();
XPluginObject plugin;
while( it.hasNext() )
{
plugin = (XPluginObject)it.next();
if( plugin.isAutoStart() )
plugin.start();
}
}
private void updateListener(XPluginListener listener)
{
Iterator it = plugins.iterator();
while( it.hasNext() )
listener.pluginAdded( (XPluginObject)it.next() );
}
// Attributes:
private LinkedList pluginListeners = new LinkedList();
private LinkedList plugins = new LinkedList();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -