Inhaltsverzeichnis

Copy & Paste, Drag & Drop

Interaction Techniques and Technologies (ITT), SS 2017
Session 21 (20.07.2016), Raphael Wimmer

Overview

These are slides/notes for the lecture, automatically generated from the slide set. Please extend this outline with your own notes.

Goals for this and next Week

Overall: Learn more about generic interaction techniques and tracking

Know

Learn

Practice

Common Interaction Techniques and Implementations

Shneiderman's Eight Golden Rules of Interface Design

  1. Strive for consistency.
  2. Enable frequent users to use shortcuts.
  3. Offer informative feedback.
  4. Design dialog to yield closure.
  5. Offer simple error handling.
  6. Permit easy reversal of actions.
  7. Support internal locus of control.
  8. Reduce short-term memory load.

<small>Shneiderman, B. and Plaisant, C., Designing the User Interface: Strategies for Effective Human-Computer Interaction: Fifth Edition, Addison-Wesley Publ. Co., Reading, MA (2010), 606 pages. online </small>

Overview

Clipboard

General Concept

Questions:

Buzz Group

How does a clipboard behave? What do you expect from a typical clipboard?

Qt Clipboard inspector


~~~~ show_clipboard.py
#!/usr/bin/python3
from PyQt5.QtWidgets import QApplication

app = QApplication(["",""])
clipboard = app.clipboard()
mimeData = clipboard.mimeData()
print("Current clipboard offers formats: " + str(mimeData.formats()))
for f in mimeData.formats():
    print("---- %s ----" % f)
    data = str(mimeData.data(f))
    if len(data) > 100:
        print(data[:100] + " [...]")
    else:
        print(data)
    print("")
~~~~

Microsoft Windows

Mac OS X

iOS

X11 (Linux/BSD)

Further reading: explanation by Jamie Zawinski, Freedesktop.org clipboard "specification", ICCCM: Peer-to-Peer Communication by Means of Selections

Android

Qt Implementation

Further Reading

Drag and Drop

DnD Qt Implementation

Recap

ENDE