Anzeige:
Ergebnis 1 bis 15 von 15

Thema: Interoperablität

  1. #1
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477

    Exclamation Interoperablität

    Hi Leute!

    Es gibt ja immer wieder diverse Trolle in allen möglichen Foren/Newsgroups/Mailinglisten, die behaupten unter X11 gäbe es kein vernünftiges Clipboard bzw. kein vernünftige Drag'n'Drop.

    Also hab ich mir gedacht, testen wir das mal

    Ich hab mal einen Test für Clipboard und Textinhalte in Qt und Java/AWT gemacht.

    Leider scheint das schon mal nicht zu klappen, aber die Java/AWT Sache hängt natürlich auch von der JVM ab (hier einen Blackdown 1.3.1)
    Die AWT Implementation meinr JVM scheint den Inhalt nach PRIMARY statt CLIPBOARD zu kopieren.
    (siehe http://www.freedesktop.org/standards...clipboards.txt für Details bezüglich X Clipboard)

    Beim Qt Programm gibts noch das Problem, dass man Copy und Paste aus dem Menü wählen muss, weil Strg+C/V direkt im QTextEdit gehandhabt wird, was zwar bezüglich des Datentransfers keine Auswirkung hat, aber den schönen Output umgeht, der anzeigt, wie die Daten verfügbar sind.

    Würd mich freuen, wenn Benutzer anderer Toolkits auch sowas basteln könnten

    Ciao,
    _

    Edit: Attachment aus einem späteren Posting nehmen
    Qt/KDE Entwickler
    Debian Benutzer

  2. #2
    Registrierter Benutzer Avatar von tuxipuxi
    Registriert seit
    30.08.2002
    Beiträge
    667
    also das von der qt app kopierte zeugs konnte ich ueberall rein pasten,
    das von dem awt auch...
    super.

    edit:

    meine kaffee virtuell-nicht reale maschine ist
    die sonne 1.4.2

    gruss,

    tuxipuxi.
    Geändert von tuxipuxi (05-08-2003 um 21:44 Uhr)

  3. #3
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    du solltest mit Kaffee und so vorsichtig sein - denn das ist auch ne JVM, du verwirrungsstifter (zum Glück oder eher leider noch nicht 1.4.2)

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  4. #4
    Registrierter Benutzer Avatar von tuxipuxi
    Registriert seit
    30.08.2002
    Beiträge
    667
    :P,

    lies nochmal.

    kaffee bezog sich auf JVM und sonne 1.4.2 heisst ja wohl sun 1.4.2

  5. #5
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Und da soll einer nachkommen?

    Kaffee : Eine virtuelle Maschine
    Sun JVM - sonne: Eine andere virtuelle Maschine

    Eine Kaffeemaschine von der Sonne?

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  6. #6
    Registrierter Benutzer Avatar von tuxipuxi
    Registriert seit
    30.08.2002
    Beiträge
    667
    da ihr mal wieder rumnervt :

    ich habe anda_skoa gestern zur verarschung gefragt was "JVM" heisst,
    weil ihn testen wollte ob er mir das beantwortet( ja hat er ) und hab mir einfach den spass gemacht das beschissen zu uebersetzen .

    das kaffee auch eine JVM ist weiss ich, aber wenn ihr
    Java Virtual Machine Sun 1.4.2
    lest,
    dann ist ja wohl klar dass:
    kaffee virtuell- nicht reale maschine sonne 1.4.2

    das gleiche ist und ich nicht die von kaffee meine .

    gruss,

    tuxipuxi.

    p.s: anstatt euch mit nichtigkeiten aufzuhalten koenntet ihr anda_skoa's beispiel mal testen!

  7. #7
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Original geschrieben von tuxipuxi

    das kaffee auch eine JVM ist weiss ich, aber wenn ihr
    Java Virtual Machine Sun 1.4.2
    lest,
    dann ist ja wohl klar dass:
    kaffee virtuell- nicht reale maschine sonne 1.4.2

    das gleiche ist und ich nicht die von kaffee meine .

    Sowieso, wir wollten dich nur testen ...

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  8. #8
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Original geschrieben von tuxipuxi
    p.s: anstatt euch mit nichtigkeiten aufzuhalten koenntet ihr anda_skoa's beispiel mal testen!
    Aktueller Stand ist, das es auch mit tuxipuxi's JVM nicht geht.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  9. #9
    Registrierter Benutzer Avatar von Berufspenner
    Registriert seit
    30.03.2002
    Ort
    Hamburg
    Beiträge
    567
    Hi@all

    Verstehe ich den Sinn des Tools soweit, dass wenn ich etwas markiere es in dem Window abgelget werden soll, oder wie?

    Cu
    André
    C und C++

  10. #10
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Ok, vielleicht hätte ich es besser beschreiben sollen.

    Ungefährer Test Ablauf.

    - Testapp starten.
    - Text eingeben
    - Text markieren und im Menü Edit->Copy
    - Output in Konsole bewundern
    - Text entmarkieren
    - In anderem Programm mit Edit->Paste einfügen.
    - Dessen Output bewundern.

    - Test in anderer Richtung wiederholen.

    Die Ausgabe auf der Konsole sollte interessante Hinweise geben, wie dier Clipboard Inhalt anderen Applikationen angeboten wird, also mit welchen MIME Types.

    Ein entsprechendes Programm in anderen Toolkits wäre fein, um verschiedene Kombinationn zu testen.
    Man kann zwar zB mit einem GTK Programm testen, aber dann sieht man nicht, wie dort die MIME Types ankommen, bzw welche zu Verfügung stehen.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  11. #11
    Registrierter Benutzer Avatar von Berufspenner
    Registriert seit
    30.03.2002
    Ort
    Hamburg
    Beiträge
    567
    Hi@all

    Achso. Gut, bei mir scheint das alles zu funktionieren und folgendes wird ausgegeben
    Code:
    -- copy --
    Transferable has 2 formats
    Format 0: application/x-java-serialized-object; class=java.lang.String
    Format 1: text/plain; class=java.io.InputStream; charset=unicode
    -- copy finished --
    -- paste --
    Transferable has 2 formats
    Format 0: application/x-java-serialized-object; class=java.lang.String
    Format 1: text/plain; class=java.io.InputStream; charset=unicode
    -- paste finished --
    -- copy --
    Transferable has 2 formats
    Format 0: application/x-java-serialized-object; class=java.lang.String
    Format 1: text/plain; class=java.io.InputStream; charset=unicode
    -- copy finished --
    Cu
    André
    C und C++

  12. #12
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Original geschrieben von Berufspenner
    Hi@all

    Achso. Gut, bei mir scheint das alles zu funktionieren und folgendes wird ausgegeben
    Das ist Java intern, copy und paste sprechen von Transferable, diesen Output hab ich nur im Java Programm.
    Das Qt Programm sagt MimeSource.

    Innerhalb des selben Toolkits muss es ja fast gehen, problematisch ist ja meistens der Fall zwischen zwei verschiedenen Toolkits.
    Bei Java hängt es halt davon ab, welches Toolkit die AWT Implementierung stellt.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  13. #13
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    schau mal Zeile 34 des java-progs:
    Code:
    m_clipboard = new Clipboard(" alsdf");
    wenn du das System-Clipboard willst musst du da schreiben:
    Code:
    m_clipboard = java.awt.Toolkit.getDefaultToolkit().getSystemClipboard();
    dann gehts

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  14. #14
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Original geschrieben von peschmae
    wenn du das System-Clipboard willst musst du da schreiben:
    Code:
    m_clipboard = java.awt.Toolkit.getDefaultToolkit().getSystemClipboard();
    dann gehts
    Ah, vielen Dank. Klappt wunderbar.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  15. #15
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477

    Zwischenergebisse

    Im Großen und Ganzen klappts jetzt in allen Kombinationen.
    Ich hab noch ein Problem von AWT->Qt, wenn von AWT nur eine Zeile oder weniger kopiert wurde.
    Dann kommt in Qt der kopierte Text und zustätzlicher Datenmüll an.

    Liegt vielleicht an meinem AWT Code.

    Qt->Qt
    Quelle
    Code:
    -- copy --
    detecting change of clipboard data
    MimeSource 0 has 5 formats:
    Format 0: text/plain;charset=UTF-8
    Format 1: text/plain;charset=ISO-10646-UCS-2
    Format 2: text/plain
    Format 3: text/plain;charset=iso8859-15
    Format 4: application/x-qrichtext
    -- copy finished --
    Ziel
    Code:
    -- paste --
    MimeSource 0 has 9 formats:
    Format 0: text/plain;charset=UTF-8
    Format 1: text/plain
    Format 2: text/plain
    Format 3: text/plain;charset=ISO-8859-1
    Format 4: text/plain;charset=UTF-8
    Format 5: text/plain;charset=ISO-10646-UCS-2
    Format 6: text/plain
    Format 7: text/plain;charset=iso8859-15
    Format 8: application/x-qrichtext
    -- paste finished--
    Qt->AWT
    Quelle
    Code:
    -- copy --
    detecting change of clipboard data
    MimeSource 0 has 5 formats:
    Format 0: text/plain;charset=UTF-8
    Format 1: text/plain;charset=ISO-10646-UCS-2
    Format 2: text/plain
    Format 3: text/plain;charset=iso8859-15
    Format 4: application/x-qrichtext
    -- copy finished --
    Ziel
    Code:
    -- paste --
    Transferable has 5 formats
    Format 0: application/x-java-serialized-object; class=java.lang.String
    Format 1: text/plain; class=java.io.InputStream; charset=iso8859-1
    Format 2: text/plain; class=java.io.InputStream
    Format 3: text/plain; class=java.io.InputStream; charset=unicode
    Format 4: text/plain; class=java.io.InputStream; charset=X11-COMPOUND_TEXT
    -- paste finished --
    AWT->Qt
    Quelle
    Code:
    -- copy --
    Transferable has 2 formats
    Format 0: application/x-java-serialized-object; class=java.lang.String
    Format 1: text/plain; class=java.io.InputStream; charset=unicode
    -- copy finished --
    Ziel
    Code:
    -- paste --
    MimeSource 1 has 4 formats:
    Format 0: text/plain
    Format 1: text/plain;charset=ISO-8859-1
    Format 2: JAVA_DATAFLAVOR:application/x-java-serialized-object; class=java.lang.String
    Format 3: JAVA_DATAFLAVOR:text/plain; class=java.io.InputStream; charset=unicode
    -- paste finished--
    AWT->AWT
    Quelle
    Code:
    -- copy --
    Transferable has 2 formats
    Format 0: application/x-java-serialized-object; class=java.lang.String
    Format 1: text/plain; class=java.io.InputStream; charset=unicode
    -- copy finished --
    Ziel
    Code:
    -- paste --
    Transferable has 4 formats
    Format 0: application/x-java-serialized-object; class=java.lang.String
    Format 1: text/plain; class=java.io.InputStream; charset=iso8859-1
    Format 2: text/plain; class=java.io.InputStream
    Format 3: text/plain; class=java.io.InputStream; charset=unicode
    -- paste finished --
    Interessant ist, dass irgendwie Datentypen hinzukommen, wenn in eine andere Applikation gepastet wird, zb
    Code:
    Format 3: text/plain;charset=ISO-8859-1
    beim Qt->Qt Test.

    Ich hoffen dass einer unserer GTK Coder Zeit hat, auch ein entsprechendes Programm zu machen, dann könnte wir auch damit Kombinationen testen.
    Selbiger Aufruf an Entwickler mit entsprechende Know-How in anderen Toolkits

    Interessant sind dann noch anderen Datenarten, Images zum Beispiel.
    Mal sehen, ob ich das nächste Woche für Qt und AWT bewerkstelligen kann (außer einer unserer Java Entwickler möchte den Java Teil übernehmen )

    Im Attachment ist der Qt Test und der korrigierte AWT Test.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •