Plugin FAQ

From World Wind Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 11:03, 20 June 2005 (edit)
Mashiharu (Talk | contribs)
(How-to)
← Previous diff
Revision as of 11:06, 20 June 2005 (edit) (undo)
Mashiharu (Talk | contribs)
(How-to)
Next diff →
Line 16: Line 16:
==How-to== ==How-to==
 +
 +===How do I reference additional assemblies from my plugin===
 +
 +Use the '''REFERENCES''' keyword in the [[Plugin Header]].
===How do I add my own property dialog for a layer=== ===How do I add my own property dialog for a layer===

Revision as of 11:06, 20 June 2005

Contents

General

Is it possible to run binary plugins

In addition to loading source code plugins World Wind also probes for .dll files inside the Plugins directory that implement the plugin interface. If found they will be displayed in the Plugin Dialog.

Which programming languages are supported

Currently, VB.net, C# and JScript.net in addition to pre-compiled binary plugins.

Troubleshooting

Why doesn't World Wind unload my plugin cleanly

It is the responsibilty of the plugin to restore World Wind to the original state when the plugin is unloaded. For example if the plugin adds menu items, the plugin must remove those menu items when unloading.

How-to

How do I reference additional assemblies from my plugin

Use the REFERENCES keyword in the Plugin Header.

How do I add my own property dialog for a layer

Override OnPropertiesClick for example like this:

/// <summary>
/// Layer properties context menu item
/// </summary>
protected virtual void OnPropertiesClick(object sender, System.EventArgs e)
{
  if(m_propertyBrowser!=null)
    m_propertyBrowser.Dispose();
  m_propertyBrowser = new MyFancyPropertyDialog(this);
  m_propertyBrowser.Show();
}

How do I remote control World Wind

ParentApplication.WorldWindow.GotoLatLonAltitude(50.94299, 6.96291, 10000)

How do I retrieve the current position

ParentApplication.WorldWindow.DrawArgs.WorldCamera.Latitude

How do I detect what directory my plugin was loaded from

The Plugin base class has a property PluginDirectory that contains the path from which the plugin was loaded. This path may be used to find any additional files you may want to load.

this.PluginDirectory
Personal tools