Extra techniques that may be useful
[[Link to the additional techniques|Useful Stuff]].
Changes associated with API 16
- 
The plugin api reference is changed from opencpn_plugin_110 to opencpn_plugin_116 
Changes needed for the managed process
- 
GetPluginDataDir is used instead of *GetpSharedDataLocation() 
- 
The plugin version (major/minor) are taken from the version number in CMakeLists.txt. The link is made by adding the include #include config.hto the main plugin src file.
- 
The OpenCPN API version also comes from CMakeLists.txt. The functions GetAPIVersionMajor()andGetAPIVersionMinor()are edited accordingly.
Addition for MacOSX
- 
wxInitAllImageHandlers(): Ensures the png image is recognised on the Mac 
  wxFileName fn;
  auto path = GetPluginDataDir("TideFinder_pi");
  fn.SetPath(path);
  fn.AppendDir("data");
  fn.SetFullName("tidefinder_panel_icon.png");
  path = fn.GetFullPath();
  wxInitAllImageHandlers();
  wxLogDebug(wxString("Using icon path: ") + path);
  if (!wxImage::CanRead(path)) {
      wxLogDebug("Initiating image handlers.");
      wxInitAllImageHandlers();
  }
  wxImage panelIcon(path);
  if (panelIcon.IsOk())
      m_panelBitmap = wxBitmap(panelIcon);
  else
      wxLogWarning("TideFinder panel icon has NOT been loaded");
  m_bShowTideFinder = false;
}
Several source code files are involved in these changes, not just TideFinder_pi.cpp.
[[Back to the main guide|Alternative Workflow]]