Drag & Drop von eigener App nach woanders hin

Antworten
joe
Beiträge: 37
Registriert: Fr 28. Mai 2010, 15:47

Drag & Drop von eigener App nach woanders hin

Beitrag von joe »

Hat das jemand evtl. schon mal unter Linux gemacht?
Ich arbeite derzeit unter Kubuntu 10.04 und Lazarus 0.9.28, aber mit dem GTK2 Widget Set.
Drag & Drop von ein paar Zeilen Text würde mir erst mal schon genügen.
Wenn ich in meiner App ein TEdit oder ein TMemo habe, kann ich den darin befindlichen
Text markieren und via Drag & Drop in eine andere Anwendung hinein ziehen
(dabei wird sogar eine kleine Bitmap generiert, die an den Mauszeiger dran gehängt wird).

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

Re: Drag & Drop von eigener App nach woanders hin

Beitrag von theo »

Und was ist jetzt genau deiner Frage? Klingt so, als könntest du schon tun was du möchtest.
Ich glaube nicht, dass Inter-Applikations D&D von der LCL (ausserhalb der GTK Controls) unterstützt wird.
Da müsstest du dich schon z.B. hier schlau machen:
http://library.gnome.org/devel/gtk/stab ... -Drop.html
http://developer.gnome.org/doc/whitepap ... index.html

Als Drag Target für Dateien ist es allerdings implementiert (siehe TForm.OnDropFiles);

joe
Beiträge: 37
Registriert: Fr 28. Mai 2010, 15:47

Re: Drag & Drop von eigener App nach woanders hin

Beitrag von joe »

Hallo Theo,

vielen Dank für die schnelle Antwort.
Die Links sind schon recht hilfreich (irgendwie war ich selbst zu blöd die zu finden :oops: ).
Dann werd' ich mich mal dran machen um heraus zu finden,
(1) wie man das Interface nach Lazarus importiert
(2) wie das Interface zu bedienen ist.
Die Frage war, ob genau das schon mal jemand gemacht hat. Bei mir wird's dann wohl etwas länger dauern.

Gruss,
Joe

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

Re: Drag & Drop von eigener App nach woanders hin

Beitrag von theo »

joe hat geschrieben:irgendwie war ich selbst zu blöd die zu finden :oops: ).

Tja, blöd sein ist immer schlecht. ;-)

joe hat geschrieben:Dann werd' ich mich mal dran machen um heraus zu finden,
(1) wie man das Interface nach Lazarus importiert

Dafür reicht meistens uses gtk2;
Es sei denn, du benötigst ein API einer neueren GTK2 Version, welche noch nicht importiert ist.

joe
Beiträge: 37
Registriert: Fr 28. Mai 2010, 15:47

Re: Drag & Drop von eigener App nach woanders hin

Beitrag von joe »

theo hat geschrieben:Dafür reicht meistens uses gtk2;

Ja, die in http://library.gnome.org/devel/gtk/stab ... -Drop.html aufgeführten Funktionen scheinen weitgehend in gtkdnd.inc enthalten zu sein, welche ja von gtk2.pas inkludiert wird.

Mittlerweile habe ich eine Open Source App gefunden, in der Drag & Drop mit Lazarzus implementiert ist (Double Commander).
Da hab' ich mir die 3 Units uclipboard.pas, udragdropex.pas und udragdropgtk.pas rausgezogen und 10 Minuten später konnte ich
zumindest schon mal Dateien zum Dolphin draggen (mit Auswahl ob Kopieren/Verschieben/...) sowie auch in Gegenrichtung.

Wegen der Applikation (Filemanager) ist das ganze mit Schwerpunkt auf Drag & Drop von Dateien ausgelegt.
Für Plain Text müsste ich das jetzt wohl ein wenig erweitern. Zumindest aber schon mal ein guter Anfang.

joe
Beiträge: 37
Registriert: Fr 28. Mai 2010, 15:47

Re: Drag & Drop von eigener App nach woanders hin

Beitrag von joe »

Auf http://www.lazarus.freepascal.org/index ... l#msg49283
theo hat geschrieben:Please do not cross-post:

Hallo Theo,

was ist daran so verwerflich, ein Thema welches mir besonders am Herzen liegt in deutsch UND in englisch zu posten?!
Ich halte es nicht für abwegig, dass vielleicht jemand der das englische Forum liest (aber das deutsche nicht, weil er z.B. kein deutsch kann) evtl. zur Lösung beitragen kann.

Wenn ich damit aber gegen die Regeln der Foren verstoße, lasse ich das künftig natürlich sein.

Gruss, Joe

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

Re: Drag & Drop von eigener App nach woanders hin

Beitrag von theo »

joe hat geschrieben:was ist daran so verwerflich, ein Thema welches mir besonders am Herzen liegt in deutsch UND in englisch zu posten?!


Man könnte erst mal in dem einen Forum ein paar Stunden abwarten, ob eine Antwort kommt.
Es sind ja sowieso immer etwa die gleichen die Antworten d.h. dann überall die doppelten Fragen lesen müssen.
Wenn nichts kommt, kann man immer noch im anderen Forum posten. So finde ich es anständiger.

Antworten