public JComponent createComponent(Map<String, String> properties) { String pluginId = properties.get("pluginId"); ViewComponentPluginLoader loader = new ViewComponentPluginLoader(workspace); for (ViewComponentPlugin plugin : loader.getPlugins()) { if (plugin.getId().equals(pluginId)) { return new View(plugin, workspace); } } // we need to return a fully functioning view so that the close button works return new View(getEmptyPlugin(pluginId, "Couldn't load view plugin: " + pluginId), workspace); }
NodeReanimator nodeReanimator = new NodeReanimator(reader, new ViewComponentFactory(workspace)); SplitterNode node = nodeReanimator.getRootNode(); nodePanel = new NodePanel(node);
NodeReanimator nodeReanimator = new NodeReanimator(reader, new ViewComponentFactory(workspace)); SplitterNode node = nodeReanimator.getRootNode(); nodePanel = new NodePanel(node);
public JComponent createComponent(Map<String, String> properties) { String pluginId = properties.get("pluginId"); ViewComponentPluginLoader loader = new ViewComponentPluginLoader(workspace); for (ViewComponentPlugin plugin : loader.getPlugins()) { if (plugin.getId().equals(pluginId)) { return new View(plugin, workspace); } } // we need to return a fully functioning view so that the close button works return new View(getEmptyPlugin(pluginId, "Couldn't load view plugin: " + pluginId), workspace); }
NodeReanimator nodeReanimator = new NodeReanimator(reader, new ViewComponentFactory(workspace)); SplitterNode node = nodeReanimator.getRootNode(); nodePanel = new NodePanel(node);
public JComponent createComponent(Map<String, String> properties) { String pluginId = properties.get("pluginId"); ViewComponentPluginLoader loader = new ViewComponentPluginLoader(workspace); for (ViewComponentPlugin plugin : loader.getPlugins()) { if (plugin.getId().equals(pluginId)) { return new View(plugin, workspace); } } // we need to return a fully functioning view so that the close button works String msg = String.format( "<html><body>" + "<div style='font-weight: bold; padding-bottom: 20px;'>This view could not be loaded because its content is " + "provided by a view " + "plugin that could not be found.</div>" + "<div style='padding-bottom: 20px;'>" + "This problem may have been caused because the plugin is not installed or it may have been " + "caused by incompatible changes to the plugin in question.</div>" + "<div>Please check that the relevant plugin is installed. You can also try resetting " + "the tab to its default state to see if " + "this solves the issue.</div>" + "</body></html>" ); return new View(getEmptyPlugin(pluginId, msg), workspace); }