Delphi-PRAXiS
Seite 10 von 14   « Erste     8910 1112     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   PlainEdit 1.7.6 - Texteditor für Windows (https://www.delphipraxis.net/81736-plainedit-1-7-6-texteditor-fuer-windows.html)

xZise 1. Jan 2008 14:27

Re: PlainEdit 1.7 - Texteditor für Windows
 
Wo wir gerade bei Plugin sind:
Ich hätte gerne eine Möglichkeit die Eigenschaften eines Menu Eintrags zu ändern (um ganz konkret zu sagen: Ich möchte einen Subeintrag als Checkbox nutzen).
Wie du das machst ist mir ehrlich gesagt egal ;) Ich würde es vielleicht so machen, dass ich über "App" meine Einträge bekomme (.GetMenu) :)

Ach wo wir gerade dabei sind:
Wäre auch ein Button in der Toolbar möglich?

[edit]Es hört nicht auf :)
Ich bräuchte ^^ noch eine Funktion zum Erzeugen eines neuen Tabs :) (mit Überschrift etc.)
Delphi-Quellcode:
function CreateTab(const AFileName, AText) : string;
Wichtig: Der Text wird selber definiert ;)[/edit]

MfG
xZise

Gaijin 1. Jan 2008 15:03

Re: PlainEdit 1.7 - Texteditor für Windows
 
Danke, ich werde mir deine Vorschläge mal vormerken.

schöni 1. Jan 2008 15:12

Re: PlainEdit 1.7 - Texteditor für Windows
 
Ein Halloooo dem Softwareautor!

Danke für Deine Arbeit. Hab mir das Programm gesaugt.

Mir fiel als erstes die Möglichkeit auf, dessen Funktionalität durch Plugins an eigene Bedürfnisse anzupassen. Leider hast Du kein Beispiel dazugepackt, das zeigt, wie das geht. Der Dialog zur Plugin Verwaltung ist einfach leer und ich kann auch kein Plugin installieren.

Ist ein Plugin ne Dll mit der gewünschten Funktionalität?

Wie sieht die Schnittstelle aus, an die ich mich haltenmuss?

Kann das Menü mittels Plugin's erweitert werden, um die hinzugefügten Funktionen per Menü aufzurufen?
Wenn nicht, bitte ich um Erweiterung. Wenn doch, brauch ich dataillierte Infos über die Schnittstelle.

Weitere Fragen wrden sicher kommen, wenn ich mich weiter mit dem Programm beschäftige. Für jetzt genügt das hier erst mal.

Schöni

Gaijin 1. Jan 2008 15:22

Re: PlainEdit 1.7 - Texteditor für Windows
 
Hallo schöni,

Plugins sind normale DLLs, die auch Menüeinträge für ihre Funktionen erstellen können.

Näheres findest du im Plugin-SDK, das du von der Produktseite herunterladen kannst (unterhalb des Diff-Plugins).

xZise 1. Jan 2008 16:41

Re: PlainEdit 1.7 - Texteditor für Windows
 
Zitat:

Zitat von schöni
[...]Mir fiel als erstes die Möglichkeit auf, dessen Funktionalität durch Plugins an eigene Bedürfnisse anzupassen. Leider hast Du kein Beispiel dazugepackt, das zeigt, wie das geht. Der Dialog zur Plugin Verwaltung ist einfach leer und ich kann auch kein Plugin installieren.[...]

Ich z.B. habe ein Update Plugin für PlainEdit und DevProject Manager geschrieben, was aufgrund der Ähnlichkeiten zwischen den APIs sher einfach realisieren lässt.

Zitat:

Zitat von schöni
Ist ein Plugin ne Dll mit der gewünschten Funktionalität?

Jap ;) Nur mit der Endung .plg...

Zitat:

Zitat von schöni
Wie sieht die Schnittstelle aus, an die ich mich haltenmuss?

Direktlink

Zitat:

Zitat von schöni
Kann das Menü mittels Plugin's erweitert werden, um die hinzugefügten Funktionen per Menü aufzurufen?

Ich habe sogar durchgesetzt Untermenüs zu verwenden xD

Zitat:

Zitat von schöni
Wenn doch, brauch ich dataillierte Infos über die Schnittstelle.

Aus der Plugin API von PlainEdit:
Delphi-Quellcode:
function PEP_GetInfo(InfoId: DWord; var Data: WideString): DWord; stdcall;
begin
  case InfoId of
    PEP_GI_NAME: Data := 'MyPlugin'; // Name des Plugins
    PEP_GI_VERSION: Data := '1.0.0.0'; // Versionsnummer des Plugins
    PEP_GI_MENUTEXT: Data := 'MyPlugin ausführen...'; // Menütext
    PEP_GI_SUBMENUS: Data := 'Item1'#13#10'Item2'#13#10'Item3';
  else
    Data := '';
  end;
  Result := Length(Data);
end;
Die Funktion PEP_GetInfo wird vom Programm nach dem Laden des Plugins aufgerufen, um Informationen über das Plugin abzufragen. Dabei wird im Parameter InfoId eine ID-Nummer übergeben, die die angeforderte Information bezeichnet. Im Parameter Data werden die angeforderten Informationen zurückgegeben. Als Rückgabewert dieser Funktion sollte eine Zahl ungleich 0 übergeben werden, wenn das Plugin die InfoId erkannt hat und Daten zurückgegeben hat. Anderenfalls muss 0 übergeben werden.

Die möglichen Werte für InfoId sind:

PEP_GI_NAME Der Name des Plugins wird angefordert.

PEP_GI_VERSION Die Versionsnummer des Plugins wird angefordert.

PEP_GI_MENUTEXT Der Text, der im Menü "Plugins" erscheinen soll wird angefordert.

PEP_GI_SUBMENUS Es werden die Namen der Untermenüs angefordert.

Existiert diese Funktion nicht, wird das Plugin nicht geladen.

Sollen Untermenüs angezeigt werden um mehrere unterschiedliche Funktionen aufrufen zu können, müssen die Namen der Untermenüs, getrennt mit Zeilenumbrüchen ("#13#10" bzw. "\r\n") übergeben werden.


Delphi-Quellcode:
function PEP_GetMenuItemHandlers(): DWord; stdcall;
begin
  Result := PEP_GMIH_DOCAVAIL;
end;
Der Rückgabewert der Funktion "PEP_GetMenuItemHandlers" gibt an, wann ein Plugin im Menü verfügbar sein soll. Diese Funktion wird nur aufgerufen, sofern die Funktion "DPMP_MenuItem" exportiert wird.

Als Rückgabe werden einer oder mehrere der folgenden Werte erwartet:

PEP_GMIH_DOCAVAIL Das Plugin wird nur angezeigt, wenn ein Dokument geladen ist.

PEP_GMIH_NODOCAVAIL Das Plugin wird nur angezeigt, wenn kein Dokument geladen ist.

PEP_GMIH_ALL Das Plugin ist immer im Menü verfügbar.


In dem SDK ist zwar kein Beispiel, aber die Vorlage dazu ist richtig gut ;)
Besonders, weil die Funktion fast sofort klar ist ;) Ansonsten einfach Gaijin fragen ^^

MfG
xZise

PS: Ich weiß ich nerve, aber wie lange könnte die Implementation der einzelnenen Pluginpunkte dauern?

Gaijin 6. Jan 2008 09:03

Re: PlainEdit 1.7.1 - Texteditor für Windows
 
Version 1.7.1:
[+] Eine slowakische Sprachdatei wurde hinzugefügt.
[+] In den Einstellungen kann jetzt die Größe des Zeilenabstands in Pixel angegeben werden.
[+] In der Statusleiste wird nun auch die Position innerhalb der Datei angezeigt.
[+] Plugin-API: An Stelle der internen Funktionen zum Lesen und Schreiben von Dateien kann dies nun von einem Plugin übernommen werden.
[*] Diverse kleinere Änderungen und Korrekturen an der Benutzeroberfläche und den Sprachdateien.

(Download im ersten Posting.)

happy_tourist 6. Jan 2008 09:48

Re: PlainEdit 1.7.1 - Texteditor für Windows
 
Vielen Dank! :-D

jmit 6. Jan 2008 13:18

Re: PlainEdit 1.7 - Texteditor für Windows
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo xZise,

Zitat:

Zitat von xZise
Ich z.B. habe ein Update Plugin für PlainEdit und DevProject Manager geschrieben, was aufgrund der Ähnlichkeiten zwischen den APIs sher einfach realisieren lässt.

Ich habe mir die neueste Version von PlainEdit heruntergeladen und installiert. Bei der vorherigen Version hatte ich Dein Update-Plugin schon installiert gehabt. Wenn ich die Updatefunktion jetzt unter der neuen Version 1.7.1.0 aufrufen, schaut die Update Version noch neuen Versionen auf dem Serve nach. Das Plugin zeigt zwar die korrekte lokal installierte Version an, erkennt aber anscheinend nicht, dass es auf dem Serve eine neuere Version gibt.

Was mir noch aufgefallen ist, der Titel vom UpdatePlugin sollte einen Titel entspechend des Programms haben, ist aber nicht überlebenswichtig, nur so als Anmerkung.

Gruß Jörg

Gaijin 6. Jan 2008 13:33

Re: PlainEdit 1.7 - Texteditor für Windows
 
Zitat:

Zitat von jmit
Wenn ich die Updatefunktion jetzt unter der neuen Version 1.7.1.0 aufrufen, schaut die Update Version noch neuen Versionen auf dem Serve nach. Das Plugin zeigt zwar die korrekte lokal installierte Version an, erkennt aber anscheinend nicht, dass es auf dem Serve eine neuere Version gibt.

Fragen zum Update-Plugin bitte hier posten.

Betreffend deiner Frage: Es dauert ein wenig, bis die Update-Informationen aktualisiert sind.

jmit 6. Jan 2008 13:36

Re: PlainEdit 1.7.1 - Texteditor für Windows
 
Hallo Gaijin,

werde ich das nächste Mal beachten, aber trotzdem danke für Deine schnelle Antwort.

Gruß Jörg


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:37 Uhr.
Seite 10 von 14   « Erste     8910 1112     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz