Seite 6 von 8

Re: Documentation Comment

Verfasst: 25.08.2019 14:27
von RSBasic
HeX0R hat geschrieben:Ich hab hier mal was Kleines gebastelt.
Cool :allright:
HeX0R hat geschrieben:Kannst Du bei Gelegenheit die Ausrichtung bei mehrzeiligen param Angaben anpassen?
Bild
Wird der Text "DAS HIER SOLLTE ..." automatisch umgebrochen, so dass dieser Text in der nächsten Zeile angezeigt wird?
Normalerweise sollte die Breite dieser Vorschaubox an die berechneten Breite des Textes angepasst werden. Es sei denn, man verwendet <br>, um den Text in eine neue Zeile zu setzen, der aber ebenfalls eingerückt wird.
Falls der Text ungewollt umgebrochen wird, kannst du deine Settings.ini von DC und dein Beispiel-comment-Code posten oder hochladen? Dann kann ich gezielter nachstellen.

Re: Documentation Comment

Verfasst: 25.08.2019 14:54
von HeX0R
RSBasic hat geschrieben:Wird der Text "DAS HIER SOLLTE ..." automatisch umgebrochen, so dass dieser Text in der nächsten Zeile angezeigt wird?
Nein, das hier ist der comment part:

Code: Alles auswählen

;<comment>
;  <summary>Get attribute value of a comment</summary>
;  <param><b>Pattern.s</b>: Attribute of Comment, e.g. "param"</param>
;  <param><i><b>[PatternPos.i]</b></i>: Pos of attribute, only needed for "param"<br>DAS HIER SOLLTE WEITER RECHTS STEHEN</param>
;  <return>Returns value (string) of comment tag</return>
;  <example>a$ = GetData("summary")</example>
;</comment>

Re: Documentation Comment

Verfasst: 25.08.2019 15:24
von RSBasic
Documentation Comment 1.0.8 wurde veröffentlicht.

Changelog:
  • Bugfix: Texte nach einem Zeilenumbruch innerhalb der Parameterbeschreibung werden jetzt ebenfalls eingerückt.
@HeX0R
Vielen Dank, ist jetzt behoben.

Re: Documentation Comment

Verfasst: 25.08.2019 20:38
von HeX0R
Perfekt nun, Danke!!

Re: Documentation Comment

Verfasst: 29.08.2019 12:21
von HeX0R
Noch was gefunden:
Dein Beispiel:

Code: Alles auswählen

file:///C:\...\Info.txt: Klickbarer Datei-Link
Funktioniert so gar nicht!

Im Comment hatte ich:

Code: Alles auswählen

file:///E:\Temp\tmp.html
Dein Tool zeigt an:

Code: Alles auswählen

E:\Temp.html
Was dann natürlich nicht klickbar (weil nicht vorhanden) ist.
Nimmt man Slashes anstatt Backslashes, funktioniert das, aber ich würde vorschlagen beide Arten zu unterstützen.

Ausserdem denke ich ein Abkürzen der angezeigten Links wäre sinnvoll (auch bei http:// Links), sonst wird das u.U. eine ziemlich lange Zeile.

Re: Documentation Comment

Verfasst: 29.08.2019 21:14
von SDL
Ich hab es mir heute gezogen und bin begeistert. Ja das hat noch gefehlt.

Danke :praise:

Re: Documentation Comment

Verfasst: 29.08.2019 21:53
von RSBasic
HeX0R hat geschrieben:Nimmt man Slashes anstatt Backslashes, funktioniert das, aber ich würde vorschlagen beide Arten zu unterstützen.
Stimmt, aber leider weiß ich nicht, wie ich dem RTF-Control beibringen soll, dass er Backslashes akzeptieren soll. Die Links werden von EditorGadget (RTF) automatisch gesetzt und die Link-Klicks können im Callback über #WM_NOTIFY\#EN_LINK empfangen und ausgewertet werden.

Re: Documentation Comment

Verfasst: 29.08.2019 23:12
von Sicro
RSBasic hat geschrieben:… leider weiß ich nicht, wie ich dem RTF-Control beibringen soll, dass er Backslashes akzeptieren soll.
Versuche mal die Backslashes durch Double Backslashes zu ersetzen:

Code: Alles auswählen

url$ = ReplaceString(url$, "\", "\\")

Re: Documentation Comment

Verfasst: 29.08.2019 23:20
von RSBasic
Das würde gehen.
Beispiel: <summary>beschreibung file:///D:\Programmierung\\Datei.txt beschreibung2</summary>

Re: Documentation Comment

Verfasst: 30.08.2019 11:00
von HeX0R
Sorry, aber ich verstehe nicht ganz?
Bist Du nicht selbst verantwortlich, wie Du die Comments in das RTF-Control bringst?
Und ein RTF-Control hat per se kein Problem mit backslashes.
Beispiel:

Code: Alles auswählen

Procedure NewUpdateWindow_CallBack(Window, Msg, wparam, lparam)
	Protected StringBuffer.s, *el.ENLINK, txt.TEXTRANGE, w, h

	Select Msg
		Case #WM_NOTIFY
			*el = lParam
			If *el\nmhdr\idFrom = 0
				If *el\nmhdr\code = #EN_LINK
					If *el\msg = #WM_LBUTTONDOWN
						StringBuffer   = Space(1024)
						txt\chrg\cpMin = *el\chrg\cpMin
						txt\chrg\cpMax = *el\chrg\cpMax
						txt\lpstrText  = @StringBuffer
						SendMessage_(*el\nmhdr\hwndFrom, #EM_GETTEXTRANGE, 0, txt)
						If StringBuffer
							Debug StringBuffer
						EndIf
					EndIf
				EndIf
			EndIf

	EndSelect

	ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure

OpenWindow(0, 0, 0, 500, 350, "", #PB_Window_SystemMenu)
SetWindowCallback(@NewUpdateWindow_CallBack(), 0)
EditorGadget(0, 5, 5, 490, 330, #PB_Editor_ReadOnly)
;Enable Auto URL-Detection
i = SendMessage_(GadgetID(0), #EM_GETEVENTMASK, 0, 0)
SendMessage_(GadgetID(0), #EM_SETEVENTMASK, 0, i | #ENM_LINK)
SendMessage_(GadgetID(0), #EM_AUTOURLDETECT, #True, 0)

AddGadgetItem(0, -1, "bla bla bla beschreibung file:///D:\Programmierung\Datei.txt beschreibung2")

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow