Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "CDT/Obsolete/ScannerDiscovery61/Design"

(Diagram)
 
(7 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
=== Diagram ===
 
=== Diagram ===
Initial implementation follows this design more or less:
+
The implementation follows this design more or less:
 +
<br>
 
[[Image:ScannerDiscoveryClassDiagram.png]]
 
[[Image:ScannerDiscoveryClassDiagram.png]]
 +
<br><br>
  
=== Extension Point ===
+
=== Extension Points ===
For example like that:<br>
+
# A language settings provider is defined with extension point '''org.eclipse.cdt.core.LanguageSettingsProvider''':<br>[[Image:LanguageSettingsProviderExtensionPoint.png]]<br><br>
[[Image:LanguageSettingsContributor.png]]
+
# In order to get providers created for new projects with New Project Wizard - use '''org.eclipse.cdt.managedbuilder.core.buildDefinitions''' extension point to associate the provider with your project type. Specify attribute "languageSettingsProviders" for element "configuration" or "toolchain".
 +
# There is one more extension point '''org.eclipse.cdt.ui.LanguageSettingsProviderAssociation'''. You can define there a custom icon, allow or disallow editing in UI and provide a custom page for editing options in Options pane.
  
=== Screenshot ===
+
=== Screenshots ===
AG: This is how project properties settings scanner discovery tab might've looked. The page is possibly too overloaded though.
+
Here is user interface for a typical compiler Builtin Specs Detector:<br>
[[Image:NewScannerDiscoveryTab.png]]
+
[[Image:sd_specs_detector_options.png]]
 +
<br><br>
 +
 
 +
Here is a Build Command Parser:<br>
 +
[[Image:sd_bop_options.png]]
 +
<br><br>

Latest revision as of 14:03, 22 January 2020

Diagram

The implementation follows this design more or less:
ScannerDiscoveryClassDiagram.png

Extension Points

  1. A language settings provider is defined with extension point org.eclipse.cdt.core.LanguageSettingsProvider:
    LanguageSettingsProviderExtensionPoint.png

  2. In order to get providers created for new projects with New Project Wizard - use org.eclipse.cdt.managedbuilder.core.buildDefinitions extension point to associate the provider with your project type. Specify attribute "languageSettingsProviders" for element "configuration" or "toolchain".
  3. There is one more extension point org.eclipse.cdt.ui.LanguageSettingsProviderAssociation. You can define there a custom icon, allow or disallow editing in UI and provide a custom page for editing options in Options pane.

Screenshots

Here is user interface for a typical compiler Builtin Specs Detector:
Sd specs detector options.png

Here is a Build Command Parser:
Sd bop options.png

Back to the top