blob: 1982b75eabc322e8c1da0daadf7062d385b6943d [file] [log] [blame]
/*******************************************************************************
* Copyright (C) 2009 The University of Manchester
*
* Modifications to the initial code base are copyright of their respective
* authors, or their employers as appropriate.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place, Suite 330, Boston, MA 02111-1307
******************************************************************************/
package net.sf.taverna.t2.ui.perspectives.myexperiment;
import java.io.InputStream;
import java.net.URL;
import javax.swing.ImageIcon;
import net.sf.taverna.t2.ui.perspectives.myexperiment.model.Resource;
import net.sf.taverna.t2.workbench.ui.zaria.PerspectiveSPI;
import org.jdom.Element;
/**
* @author Sergejs Aleksejevs, Jiten Bhagat
*/
public class MyExperimentPerspective implements PerspectiveSPI {
// CONSTANTS
// this is where all icons, stylesheet, etc are located
private static final String BASE_RESOURCE_PATH = "/net/sf/taverna/t2/ui/perspectives/myexperiment/";
public static final String PERSPECTIVE_NAME = "myExperiment";
public static final String PLUGIN_VERSION = "0.2beta";
// COMPONENTS
private MainComponent perspectiveMainComponent;
private boolean visible = true;
public ImageIcon getButtonIcon() {
URL iconURL = MyExperimentPerspective.getLocalResourceURL("myexp_icon16x16");
if (iconURL == null) {
return null;
} else {
return new ImageIcon(iconURL);
}
}
public InputStream getLayoutInputStream() {
return getClass().getResourceAsStream("myexperiment-perspective.xml");
}
public String getText() {
return PERSPECTIVE_NAME;
}
public boolean isVisible() {
return visible;
}
public int positionHint() {
// this determines position of myExperiment perspective in the
// bar with perspective buttons (currently makes it the last in the
// list)
return 30;
}
public void setVisible(boolean visible) {
this.visible = visible;
}
public void update(Element layoutElement) {
// Not sure what to do here
}
public void setMainComponent(MainComponent component) {
this.perspectiveMainComponent = component;
}
/**
* Returns the instance of the main component of this perspective.
*/
public MainComponent getMainComponent() {
return this.perspectiveMainComponent;
}
// a single point in the plugin where all resources are referenced
public static URL getLocalResourceURL(String strResourceName) {
String strResourcePath = MyExperimentPerspective.BASE_RESOURCE_PATH;
if (strResourceName.equals("not_authorized_icon"))
strResourcePath += "denied.png";
if (strResourceName.equals("failure_icon"))
strResourcePath += "denied.png";
else if (strResourceName.equals("success_icon"))
strResourcePath += "tick.png";
else if (strResourceName.equals("spinner"))
strResourcePath += "ajax-loader.gif";
else if (strResourceName.equals("spinner_stopped"))
strResourcePath += "ajax-loader-still.gif";
else if (strResourceName.equals("external_link_small_icon"))
strResourcePath += "external_link_listing_small.png";
else if (strResourceName.equals("back_icon"))
strResourcePath += "arrow_left.png";
else if (strResourceName.equals("forward_icon"))
strResourcePath += "arrow_right.png";
else if (strResourceName.equals("refresh_icon"))
strResourcePath += "arrow_refresh.png";
else if (strResourceName.equals("favourite_icon"))
strResourcePath += "star.png";
else if (strResourceName.equals("add_favourite_icon"))
strResourcePath += "favourite_add.png";
else if (strResourceName.equals("delete_favourite_icon"))
strResourcePath += "favourite_delete.png";
else if (strResourceName.equals("destroy_icon"))
strResourcePath += "cross.png";
else if (strResourceName.equals("add_comment_icon"))
strResourcePath += "comment_add.png";
else if (strResourceName.equals("myexp_icon"))
strResourcePath += "myexp_icon.png";
else if (strResourceName.equals("myexp_icon16x16"))
strResourcePath += "myexp_icon16x16.png";
else if (strResourceName.equals("open_in_my_experiment_icon"))
strResourcePath += "open_in_myExperiment.png";
else if (strResourceName.equals("login_icon"))
strResourcePath += "login.png";
else if (strResourceName.equals("logout_icon"))
strResourcePath += "logout.png";
else if (strResourceName.equals("css_stylesheet"))
strResourcePath += "styles.css";
else {
throw new java.lang.IllegalArgumentException(
"Unknown myExperiment plugin resource requested; requested resource name was: "
+ strResourceName);
}
// no exception was thrown, therefore the supplied resource name was
// recognised;
// return the local URL of that resource
return (MyExperimentPerspective.class.getResource(strResourcePath));
}
// a single point in the plugin where all resources' icons are referenced
public static URL getLocalIconURL(int iResourceType) {
String strResourcePath = MyExperimentPerspective.BASE_RESOURCE_PATH;
switch (iResourceType) {
case Resource.WORKFLOW:
strResourcePath += "workflow.png";
break;
case Resource.FILE:
strResourcePath += "file.png";
break;
case Resource.PACK:
strResourcePath += "pack.png";
break;
case Resource.PACK_EXTERNAL_ITEM:
strResourcePath += "remote_resource.png";
break;
case Resource.USER:
strResourcePath += "user.png";
break;
case Resource.GROUP:
strResourcePath += "group.png";
break;
case Resource.TAG:
strResourcePath += "tag_blue.png";
break;
default:
throw new java.lang.IllegalArgumentException(
"Unknown myExperiment plugin resource requested; requested resource name was: "
+ Resource.getResourceTypeName(iResourceType));
}
// no exception was thrown, therefore the supplied resource name was
// recognised;
// return the local URL of that resource
return (MyExperimentPerspective.class.getResource(strResourcePath));
}
}