FireComboBox

Rund um die LCL und andere Komponenten
Antworten
Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

FireComboBox

Beitrag von Teekeks »

Aus dieser Diskussion ergab es sich, dass ich mich an das Entwickeln einer ComboBox machte, die einige der Funktionen der Firefox Adressleiste besitzt.

Das ist nun dabei heraus gekommen:

Funktionen:
  • Auto Dropdown
  • Highligting des Eingegebenen in der Dropdown Liste
  • Es werden nur Items angezeigt, welche auch einen Teil des Gesuchten enthalten
  • Freie Wahl der Art des Highlightings
  • Umschalten zwischen Casesensitiv und nicht bei der Anzeige
Benutzung:
Alle vorhandenen Items werden bei AllItems rein geschrieben.
In Items stehen dann die Gefilterten Ergebnisse.

Wenn ihr noch weitere Vorschläge habt, werde ich diese gerne versuchen Umsetzen.

Im Anhang ist eine Zip mit dem Package.
Gruß Teekeks

Edit:
31.07.2010
-Bugfix
Dateianhänge
TeeCompos.zip
(59.34 KiB) 75-mal heruntergeladen
Zuletzt geändert von Teekeks am Sa 31. Jul 2010, 19:12, insgesamt 2-mal geändert.

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

Re: FireComboBox

Beitrag von theo »

Hallo Teekeks,

Hab's mal versucht zu kompilieren.

Code: Alles auswählen

/home/theo/lazarus/3rd/TeeCompos/firecombobox.pas(146,21) Error: Identifier not found "ComboBoxDropDown"
Mit welcher Version geht das denn? Ich habe Lazarus 0.9.29 r26775M FPC 2.4.0 i386-linux-gtk 2 (beta)

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: FireComboBox

Beitrag von Teekeks »

Ich habe 0.9.28.2 beta,FPC 2.2.4, i386-linux-gtk2 (beta).

Die genannte Procedure ist in LCLinf (genauer: lclinfh.inc, Zeile 57).
Gibt es bei dir diese Zeile?

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

Re: FireComboBox

Beitrag von theo »

Nö, wurde entfernt. Schau mal hier bei rev. 22285
http://svn.freepascal.org/cgi-bin/viewv ... e&view=log" onclick="window.open(this.href);return false;

Hier ist wahrsch. das entsprechende:
http://svn.freepascal.org/cgi-bin/viewv ... ortby=date" onclick="window.open(this.href);return false;

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: FireComboBox

Beitrag von Teekeks »

Ok, kann man für unterschiedliche Lazarus-Versionen auch Compilerschalter setzen? Wenn ja, wie?

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: FireComboBox

Beitrag von Teekeks »

Ich habe es jetzt anders gelößt.
Sollte jetzt gehen.
Neue Version im ersten Post...

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

Re: FireComboBox

Beitrag von theo »

Ja, jetzt kompiliert's.
Eigentlich eine gute Sache, hat aber noch ein paar Schönheitsfehler.

- Auch wenn der Text leer ist, bekomme ich anfänglich nichts zu sehen. Erst wenn ich in dem Feld die DEL Taste drücke, sehe ich die Items anschliessend beim Dropdown.
- Es wäre besser, wenn es automatisch Dropdownen würde, wenn ich was eintippe.
- Ein eigenes Komponenten Icon wäre nett.

Wie gesagt: Lazarus 0.9.29 r26775M FPC 2.4.0 i386-linux-gtk 2 (beta)

EDIT: Und noch eine Kleinigkeit: Ich bin jeweils froh, wenn nicht jede Komponente einen neuen Tab aufmacht ("Tee").
Ich hab z.B. meine Thumbnail Komponente einfach in den "Misc" Tab geschmissen, sonst wird's dann schnell unübersichtlich.

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: FireComboBox

Beitrag von Teekeks »

theo hat geschrieben:Ja, jetzt kompiliert's.
Das ist ja schon mal gut.
theo hat geschrieben: - Auch wenn der Text leer ist, bekomme ich anfänglich nichts zu sehen. Erst wenn ich in dem Feld die DEL Taste drücke, sehe ich die Items anschliessend beim Dropdown.
Stimmt, mach ich mich ran.
theo hat geschrieben: - Es wäre besser, wenn es automatisch Dropdownen würde, wenn ich was eintippe.
Das geht schon. Ist nur Automatisch aus. Setze "AutoDropDown" auf true, dann geht es.
theo hat geschrieben: - Ein eigenes Komponenten Icon wäre nett.
Muss ich mich mal belesen wie das geht.
Wäre aber verlockend.
theo hat geschrieben: EDIT: Und noch eine Kleinigkeit: Ich bin jeweils froh, wenn nicht jede Komponente einen neuen Tab aufmacht ("Tee").
Ich hab z.B. meine Thumbnail Komponente einfach in den "Misc" Tab geschmissen, sonst wird's dann schnell unübersichtlich.
Hmm, nunja, das kommt daher das diese Komponente nicht die einzige ist in meinem eigendlichen Package, deswegen ein eigener Tab. Da kommen bei mir alle meine Komponenten rein :)

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

Re: FireComboBox

Beitrag von theo »

Teekeks hat geschrieben: Das geht schon. Ist nur Automatisch aus. Setze "AutoDropDown" auf true, dann geht es.
Stimmt, hatte ich übersehen. Aber auf GTK2 geht der Focus nicht zurück. d.h. ich tippe einen Buchstaben und dann geht's nicht weiter.

Muss weg.
Schönen Abend.

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: FireComboBox

Beitrag von Teekeks »

OK. Ein Icon habe ich jetzt.
Ich gucke mal was mit dem Focus da los ist.

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: FireComboBox

Beitrag von Teekeks »

Aha!
Ich habe es gefunden: http://bugs.freepascal.org/view.php?id=10461
Ich kann also gar nichts dafür! :)
Hat jemand eine Ahnung wie ich das behoben bekomme? (ich vermutlich gar nicht, aber vl. einer von euch?)

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

Re: FireComboBox

Beitrag von theo »

Vielleicht müsste man als Grundlage keine Combobox nehmen, sondern ein Edit mit z.B. einem PopupMenu oder ListBox oder so.

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: FireComboBox

Beitrag von Teekeks »

So ist mein 2. Ansatz, aber dann sähe das ganze ja auch anders aus als eine normale Combobox.
Aber ich werde trotzdem so eine Komponente entwickeln um noch deutlich mehr Möglichkeiten zu haben.
Aber ersteinmal versuche ich hier noch etwas weiter zu kommen...

Antworten