package plugins.defaultWB;
import java.awt.Desktop;
import java.awt.GridLayout;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URI;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import annotation.Menu;
import interfaces.PluginInterface;
public class DefaultWB implements PluginInterface {
boolean parDefaut =false;
/**
* Apporte les informations sur le plugin accecible depuis le menu de l'explorateur
*/
@Menu(libelle="defaultWB")
@Override
public JPanel getFrameDetail() {
JPanel p = new JPanel();
p.setLayout(new GridLayout(10, 3));
p.add(new JLabel("Details : defaultWB"));
p.add(new JLabel("Version : "+getVersion()));
StringBuilder extension = new StringBuilder("");
for(String e : getExtension())
extension.append(" | "+e);
p.add(new JLabel("Extension : "+extension));
if(isDefault()){
p.add(new JLabel("par défaut : Oui"));
}else{
p.add(new JLabel("par défaut : Non"));
}
return p;
}
@Override
public String[] getExtension() {
// TODO Auto-generated method stub
return new String[]{"url"};
}
@Override
public String getVersion() {
// TODO Auto-generated method stub
return "1.0";
}
@Override
public boolean isDefault() {
// TODO Auto-generated method stub
return parDefaut;
}
@Override
public void setDefault(boolean bool) {
// TODO Auto-generated method stub
this.parDefaut= bool;
}
/**
* Appelle le navigateur par defaut puis pointe sur le liens fournie en parametre
* @param fichier url
*/
@Override
public JFrame getFrame(File o) {
try{
InputStream ips=new FileInputStream(o);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
String ligne;
while ((ligne=br.readLine())!=null){
if(ligne.toLowerCase().matches("url.*")){
ligne = ligne.substring(4, ligne.length());
//System.out.println(ligne);
Desktop Bureau = Desktop.getDesktop();
URI url = new URI(ligne);
Bureau.browse(url);
}
}
br.close();
}
catch (Exception e){
System.out.println(e.toString());
}
JFrame jf = new JFrame("defaultWB");
jf.setVisible(false);
return jf;
}
/**
* @return L'icone du fichier qu'il prend en charge
*/
@Override
public ImageIcon getIcon() {
// TODO Auto-generated method stub
return new ImageIcon("../Plugin/bin/plugins/defaultWB/defaultWB.png");
}
}