Fragen zum internen Aufbau

Für Fragen rund um die Ide und zum Debugger
Antworten
Kay
Beiträge: 134
Registriert: So 14. Nov 2010, 15:17

Fragen zum internen Aufbau

Beitrag von Kay »

Hallo,

ich hätte zwei Fragen zum internen Aufbau der Lazarus IDE.

Zunächst würde mich interessieren, wie das Quelltextfenster und der Objektinspektor implementiert sind. Sind das einfach nur zwei Panels zwischen den denen umgeschaltet wird (durch Einblenden des einen und Ausblenden des anderen) oder wurden diese als eigenständige Formulare (MDIChild) entworfen?

Und dann gibt es im Objektinspektor ja die Tabelle zur Festlegung der verschiedenen Eigenschaften für eine ausgewählte Komponente. Ist das ein StringGrid oder ein ListView?
Und wie wird erreicht, dass man bei einigen Eigenschaften zwischen verschiedenen Werten (Aufzählung) umschalten kann? Wird dazu eine ComboBox oder was ähnliches in die Zelle eingebettet?
Und wie verhält es sich mit Buttons, also z.B. zum Öffnen des Font-Dialogs zur Schriftformatierung? In der Zelle steht ja immer (TFont) und dann ein Button. Wie ist das implementiert?

Würde mich echt mal interessieren...

Vielen Dank schonmal und viele Grüße,

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Re: Fragen zum internen Aufbau

Beitrag von theo »

Zum Obj.Insp. gibt es ein Beispiel unter <lazarusdir>/examples/objectinspector/
Sonst kannst du dir auch die Quellen der IDE ansehen, die hast du ja unter <lazarusdir>/ide/

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Fragen zum internen Aufbau

Beitrag von Socke »

Kay hat geschrieben:Und dann gibt es im Objektinspektor ja die Tabelle zur Festlegung der verschiedenen Eigenschaften für eine ausgewählte Komponente. Ist das ein StringGrid oder ein ListView?
Das ist eine eigene Komponente. Siehe Theos Antwort.
Kay hat geschrieben:Und wie wird erreicht, dass man bei einigen Eigenschaften zwischen verschiedenen Werten (Aufzählung) umschalten kann? Wird dazu eine ComboBox oder was ähnliches in die Zelle eingebettet?
Und wie verhält es sich mit Buttons, also z.B. zum Öffnen des Font-Dialogs zur Schriftformatierung? In der Zelle steht ja immer (TFont) und dann ein Button. Wie ist das implementiert?
Die möglichen Werte ermittelt die IDE über Runtime Type Information (RTTI); von einer Combo-Box ist auszugehen. Zu bestimmten Datentypen wird ein Eigenschafts-Editor (ein zu diesem Zwecke entwickeltes Formular mit bestimmten Methoden) registriert. Dieser wird bei Anwahl einer entsprechenden Eigenschaft aufgerufen.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

wp_xyz
Beiträge: 5193
Registriert: Fr 8. Apr 2011, 09:01

Re: Fragen zum internen Aufbau

Beitrag von wp_xyz »

Ist der Hintergrund deiner Frage die Absicht, in einem StringGrid eine Combobox bzw. einen Button einzubetten? Hilfe dazu findest du im Wiki zu TStringGrid: http://wiki.lazarus.freepascal.org/Grid ... ll_Editors

Antworten