Die Tools API-Dienste verwenden

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Erweitern der IDE mit der Tools-API


Packages zum Erweitern der IDE müssen auf Editoren, Fenster, Menüs usw. zugreifen, um etwas Sinnvolles ausführen zu können. Diesen Zugriff vermitteln die Dienst-Interfaces.

Liste der allgemeinen Dienst-Interfaces der Tools-API

Die Tools API enthält viele Dienste, z. B. Aktionsdienste zur Dateiverarbeitung, Editor-Dienste für den Zugriff auf den Quelltext-Editor, Debugger-Dienste für die Arbeit mit dem Debugger usw. Die folgende Tabelle enthält einige der wichtigsten Dienst-Interfaces:

Interface Beschreibung

INTAServices

Ermöglicht den Zugriff auf native IDE-Objekte: Hauptmenü, Aktionsliste, Bilderliste und Symbolleisten. Siehe Die Hauptobjekte der IDE verwenden.

INTACodeEditorServices

Ermöglicht es Benutzern, sich für Editor-Ereignisse zu registrieren.

INTAWelcomePageBackgroundService

Interface zum Implementieren des Hintergrunds der Willkommensseite.

INTAWelcomePagePluginService

Stellt Dienste des Willkommensseiten-Dienstes bereit.

IOTAActionServices

Führt grundlegende Dateiaktionen aus: Öffnen, Schließen, Speichern und erneutes Laden einer Datei.

IOTACodeCompletionServices

Ermöglicht den Zugriff auf die Programmierhilfe, sodass ein Experte dafür eigene Manager installieren kann.

IOTADebuggerServices

Ermöglicht den Zugriff auf den Debugger.

IOTAEditorServices

Ermöglicht den Zugriff auf den Quelltext-Editor und dessen interne Puffer.

IOTAIDEThemingServices

Stellt den Zugriff auf die StyleServices der IDE bereit, ermöglicht Ihnen zu prüfen, ob Designs aktiviert sind, ermöglicht, dass Sie Ihre Formulare registrieren, damit sie im gleichen Stil wie die integrierten Formulare der IDE gezeichnet werden, und vieles mehr.

IOTAKeyBindingServices

Ermöglicht einem Experten die Registrierung eigener Tastaturbindungen.

IOTAKeyboardServices

Ermöglicht den Zugriff auf Tastaturmakros und -bindungen.

IOTAKeyboardDiagnostics

Schaltet das Debugging von Tastenanschlägen um.

IOTAMessageServices

Ermöglicht den Zugriff auf die Meldungsansicht.

IOTAModuleServices

Ermöglicht den Zugriff auf geöffnete Dateien.

IOTAPackageServices

Ermittelt die Namen aller installierten Packages und ihrer Komponenten.

IOTAServices

Verschiedene Dienste.

IOTASplashScreenServices

Startbildschirm.

IOTAToDoServices

Ermöglicht den Zugriff auf die To-Do-Liste, sodass ein Experte eigene To-Do-Manager installieren kann.

IOTAToolsFilter

Registriert Notifier für Tool-Filter.

IOTAVersionSKUInfoService

Fragt die Liste der installierten Plattformen und SKUs ab und ob die IDE als Testversion ausgeführt wird.

IOTAWizardServices

Registriert Experten oder hebt deren Registrierung auf.

High-DPI-Bilder in der Tools-API

Alle APIs, die Bilder übergeben, wie die Startbildschirm-Dienste, Info-Dialogfeld, IDE Insight und andere Bereiche, unterstützen High-DPI-Bilder.

Jedes Interface verfügt über eine neue Überladung relevanter Methoden, die einen TGraphicArray übernehmen, der als Array von TGraphic definiert ist. Dadurch können Sie mehrere Auflösungen desselben Symbols übergeben, die der internen Bildersammlung hinzugefügt und mit einer virtuellen Bilderliste verwendet werden.

Die Methoden übernehmen ein Array mit beliebigen TGraphic-Objekten, PNG-Bilder werden jedoch empfohlen.

Verwenden eines Dienst-Interface

Um ein Dienst-Interface zu verwenden, wandeln Sie die Variable BorlandIDEServices mit der globalen Funktion Supports in den gewünschten Dienst um. Zum Beispiel:

Delphi:
procedure SetKeystrokeDebugging(Debugging: Boolean);
var
  Dialog: IOTAKeyboardDiagnostics
begin
  if Supports(BorlandIDEServices, IOTAKeyboardDiagnostics, Dialog) then
    Dialog.KeyTracing := Debugging;
end;
C++:
void SetKeystrokeDebugging(bool Debugging)
{
  _di_IOTAKeyboardDiagnostics Dialog;
  if (BorlandIDEServices->Supports(Dialog))
    Dialog->KeyTracing = Debugging;
}

Benötigt Ihr Experte einen bestimmten Dienst öfter, sollten Sie einen Zeiger auf diesen Dienst als Daten-Member Ihrer Experten-Klasse angeben.

Themen

Einige Spezialfälle beim Einsatz von Dienst-Interfaces der Tools-API werden in den folgenden Abschnitten behandelt:

Siehe auch