
Ein
neues Objekt zeichnet man, indem man zunächst den entsprechenden Button
in der Zeichenleiste drückt (siehe Bild rechts). Die möglichen
Objektarten (Klassen) sind: Rechteck,
Ellipse, Linie, Linenzug (gerade Strecken), Linienzug (gebogen),
Vieleck, Textfeld.
Nach dem Drücken des Buttons setzt man den Mauszeiger
auf die Zeichenfläche und "zieht"

das Objekt mit der linken
Maustaste auf. Dabei wird
laufend eine gestrichelte Darstellung des Objekts mitgezeichnet (siehe
links). Nach dem Aufziehen werden die Werte der Attribute

Linienfarbe, Füllfarbe, usw. so
gesetzt wie beim letzten markierten Objekt. Das neu instanzierte Objekt
wird gleich markiert und erhält den Eingabefokus (siehe rechts).
Zeichenhilfen mit der Tastatur:
Fast alle Standardprogramme verwenden die Tasten Shift- und Strg
einheitlich, um Nebenbedingungen für geometrische Transformationen zu
erzwingen. Dieses Verhalten wurde auch in Object-Draw implementiert:
Hält man beim Aufziehen eines Objekts die
Umschalttaste (=Shift)
gedrückt, so erzwingt man bei Rechtecken, Ellipsen, Vielecken und
Textfeldern ein Länge-Breite-Verhältnis von 1:1. Dadurch ist es z.B.
möglich,
exakte Quadrate und Kreise
zu zeichnen. Bei der Linie und dem
Linienzug schränkt die Shift Taste den Winkel zur Horizontalen auf
wenige Werte (0°, 15°, 30°, 45°, 60°, 75°, 90°,...) ein. So kann man
z.B. leicht
horizontale und vertikale
Linien ziehen.
Die
Strg-Taste hält bei
Rechtecken, Ellipsen, Linien, Vielecken und Textfeldern den
Mittelpunkt fest. Was das genau bedeutet,
erfährt man am einfachsten durch Ausprobieren!
Natürlich kann man die Shift- und Strg-Taste auch kombinieren.
Linienzüge/Kurvenzüge
Um einen Linienzug zu zeichnen, setzt man das Cursorkreuz an den
Anfangspunkt der ersten Teilstrecke und klickt mit der linken
Maustaste. Dann fährt man zum Endpunkt und klickt wieder. Es folgt der
Endpunkt der zweiten Linie usw.
Will man den Linienzug
offen abschließen,
so geschieht des durch einen Doppelklick. Einen
geschlossenen (gefüllten!) Linienzug
erhält man, indem man das Cursorkreuz auf den Startpunkt der ersten
Teilstrecke setzt (der Mauscursor wird zu einem kleinen Kreis) und
einmal klickt.

Die Form eines Zeichenobjekts
kann verändert werden, indem man es markiert und an den daraufhin
erscheinenden Griffen zieht. Durch Ziehen an den weißen Griffen kann
man das Objekt
strecken. Eine
Streckung im mathematischen Sinne (Ähnlichkeitsabbildung!) erhält man
dabei nur, wenn man
gleichzeitig die
Shift-Taste drückt, um das L
änge-Breite-Verhältnis
des Objekts beizubehalten. Ansonsten werden zwei
unterschiedliche Streckungsfaktoren in Horizontal- und Vertikalrichtung
des Objekts verwendet. Das Drücken der
Strg-Taste hat zur Folge, dass der
Mittelpunkt des Objekts Streckungszentrum
ist.
Durch Ziehen am grünen runden Griff lässt sich das Objekt
drehen. Gleichzeitiges Festhalten
der
Shift-Taste schränkt den
Drehwinkel auf
ganzzahlige Vielfache
von 15° ein.
Besonderheiten
bei den Linienzügen/Kurvenzügen:

Zusätzlich zu den oben genannten
Möglichkeiten kann man bei Linienzügen jeden einzelnen Eckpunkt
versetzen, indem man mit dem Mauscursor darauf fährt, den Punkt mit der
linken Maustaste "packt" und verzieht. Fährt man beim
gerade markierten Linienzug
mit der rechten Maustaste auf einen Streckenzug/Bogenzug, so erscheint
ein kleines Kreuz. Betätigt man jetzt die rechte Maustaste, so gibt es
im daraufhin erscheinenden Kontextmenü die Einträge (bzw.
"Linienabschnitt in Bogen
verwandeln""Bogenstück
in gerade Strecke verwandeln") und
"Linienzug schließen" (bzw.
"Linienzug öffnen"). Hier wird klar,
dass Linienzüge und Kurvenzüge (egal, ob offen oder geschlossen) alle
Objekte der selben Klasse LINIENZUG sind.
Verändern der Lage von Zeichenobjekten

Die einfachste Art, ein Objekt zu verschieben, besteht
darin, es mit
der
linken Maustaste zu packen
und an den neuen Standpunkt zu ziehen.
Packt man es mit der
rechten Maustaste,
so öffnet sich beim Loslassen
der Maustaste ein Kontextmenü, das einem überdies die Möglichkeit
eröffnet, am neuen Ort eine Kopie des Objekts zu erstellen.
Durch
Halten der Umschalttaste
während des Ziehens schränkt man die
Verschiebung auf rein horizontal/vertikal ein. In Verbidnung mit der
rechten Maustaste ist es so z.B. möglich, Objektkopien "auf gleicher
Höhe" zu erstellen.
Zum
feinfühligen Verschieben
des gerade markierten Objekts empfiehlt sich die
Verwendung der Cursortasten.

Die Werte der Attribute
Füllfarbe, Linienfarbe, Linienstärke und Linienart können mit Hilfe der
entsprechenden Buttons in der Menüleiste (siehe Bild links) verändert
werden. Für die Attribute von Textfeldern steht eine eigene Menüleiste
(siehe Bild rechts) zur Verfügung. Sie ist nur dann aktiv, wenn ein
Textfeld markiert ist. Der Menüpunkt "Schriftart..." erklärt sich von
selbst. Es folgen vier Buttons zur Einstellung der Absatzausrichtung
(linksbündig, rechtsbündig, zentriert, Blocksatz) und einer zum
Einstellen der Schriftfarbe. Nach Druck auf den Button "Text
bearbeiten" öffnet sich ein kleines Fenster, in dem man den
dargestellten Text ändern kann. Die Veränderungen am Text, die man in
diesem Fenster vornimmt, werden gleichzeitig im Zeichenfenster
angezeigt, so dass man sofort sieht, wie der Text im "fertigen"
Textfeld umgebrochen wird.

Klickt man ein markiertes Objekt mit der rechten
Maustaste an, so erscheinen im Kontextmenü die Methoden zum Spiegeln
und Kippen des Objekts.
Der Zoomfaktor kann in der Drop-Down-Box "Zoom" eingestellt werden. Er
beeinflusst nur die Darstellung des
Zeichendokuments auf dem Bildschirm, nicht das Zeichendokument selbst.
Will man mehrere
Objekte gleichzeitig markieren, z.B. um einem Attribut, das alle diese
Objekte gemein haben, den selben Wert zuzuweisen oder um die Objekte zu
gruppieren, so gibt es zwei Möglichkeiten, die beliebig nacheinander
ausgeführt werden können:
- Klickt man mit der linken Maustaste auf eine Stelle der
Zeichenfläche, an der sich kein Objekt befindet, so kann man mit
gedrückter Maustaste einen gestrichelten Rahmen aufziehen. Nach dem
Loslassen der Maustaste sind alle Objekte markiert, die sich
vollständig in dem Rahmen befunden haben.
Hält man während der ganzen Aktion auch die Umschalttaste gedrückt, so
werden vorher vorhandene Markierungen nicht aufgehoben.
- Anklicken mehrerer Objekte nacheinander bei gedrückter
Umschalttaste.

Oft ist es erwünscht, dass sich eine Ansammlung mehrerer
Objekte verhält wie ein einziges großes Objekt. Um dies zu erreichen,
kann man Objekte gruppieren: Man markiert mehrere Objekte, fährt mit
der Maus auf eines davon, betätigt die rechte Maustaste und wählt im
Kontextmenü "gruppieren". Um die Gruppierung wieder aufzuheben, fährt
man auf das Gruppenobjekt, klickt mit rechts und wählt "Gruppierung
aufheben".
Programmintern
geschieht beim Gruppieren folgendes: Es wird ein neues Zeichenobjekt
der Klasse GRUPPE instanziert. In dieses werden die markierten Objekte
eingefügt. Wird eine Methode (z.B. strecken(1.5) ) dieses
Gruppenobjekts aufgerufen, so führt es die Methode aus, indem es unter
anderem entsprechende Methoden der enthaltenen Objekte (
streckenMitZentrum(MittelpunktX_der_Gruppe, MittelpunktY_der_Gruppe,
1.5) ) aufruft.
Bemerkung: Objekte der Klasse Gruppe können nur ähnlichkeitserhaltend
gestreckt werden, da es sonst möglich wäre, aus einem Rechteck ein
Parallelogramm zu machen.
Im Bild links ist eine Ellipse und ein Rechteck zu sehen. Die Ellipse
wurde vor dem Rechteck gezeichnet, ist also von diesem teilweise
verdeckt. Will man sie unter dem Rechteck hervorholen, so klickt an sie
mit der rechten Maustaste an und wählt im Kontextmenü
"Reihenfolge->In den Vordergrund. Das Ergebnis ist rechts zu sehen.

Hat man mehrere Objekte
gleichzeitig markiert und klickt sie mit rechts an, so eröffnen sich im
Kontextmenü vielfältige Möglichkeiten zum Ausrichten und Verteilen. Der
Leser möge sie selbst erforschen :-)

Im unteren Teil des Zeichenfensters können
eigene Methodenaufrufe eingegeben werden, deren Auswirkungen
unmittelbar in der Darstellung im Zeichenfenster sichtbar werden.
Die Methodenzeile verfügt über Code-Vervollständigung, so dass nach
Eingabe des Punkts hinter dem Objektbezeichner alle möglichen
Methodenbezeichner zusammen mit den nötigen Parametern in einer
Auswahlliste gezeigt werden. Schreibt man weiter, so werden nur
diejenigen Methoden gezeigt, deren Bezeichner mit dem bereits
eingetippten Anfang beginnen.
Gleiches gilt für die Parametervorschläge.
Bei der Eingabe eines Methodenaufrufs wird dieser fortwährend auf
syntaktische Korrektheit überprüft. Eventuelle Fehlermeldungen werden
in der Zeile darunter ausgegeben. Der fehlerhafte Teil der eingegebenen
Methode wird rot unterlegt.
Nützliches zur Methodeneingabe in
Stichpunkten:
- Streckenlängen können mit Benennung eingegeben werden.
auto.verschieben(2 cm, -31 mm) ist also korrekt und verschiebt das
Objekt "auto" um 2 cm nach rechts und 31 mm nach unten. Folgende
Benennungen sind möglich: um ( = Mikrometer), mm, cm, dm, m, km (um, m
und km sind natürlich praktisch nicht brauchbar ;-) )
- Da das Komma als Trennzeichen für die einzelnen Parameter eines
Methodenaufrufs verwendet wird, werden Dezimalzahlen werden mit Dezimalpunkt eingegeben.
- Methodenaufrufe ohne Parameter benötigen das leere Klammerpaar.
- Klein- Großschreibung muss nicht beachtet werden
(case-insensitive)
Mir fehlt die Zeit, alle möglichen Methoden Methoden aufzuzählen und
ihre Wirkung zu beschreiben. Mit Hilfe der Code-Vervollständigung
werden Sie sicher alle Möglichkeiten entdecken.
Lehrermodus

Es gibt die Möglichkeit, Zeichendokumente zu erstellen,
die nur eingeschränkt bearbeitet werden können. Im rechts sichtbaren
Zeichendokument ist z.B. die Bearbeitung der Hausmauer vollständig
gesperrt, das Dach kann mittels per Tastatur eingegebener
Methodenaufrufe verändert werden. So werden die Schüler angehalten,
selbst Methodenaufrufe einzugeben. Natürlich ist der Lehrermodus für
dieses Dokument passwortgeschützt!
So fertigen Sie ein solches Dokument an:
- Zeichnen sie das Haus, das Dach und das Textfeld.
- Schalten Sie den Lehrermodus für dieses Dokument ein. (Im
Hauptmenü "Für Lehrer" -> "Lehrermodus an")
- Es werden in der Menüleiste zwei zusätzliche Buttons sichtbar,
mit Hilfe derer sie für das gerade markierte Objekt das Bearbeiten mit
Maus/Tastatur separat
sperren/erlauben können. Im Bild rechts ist z.B. das
Bearbeiten mit Tastatur (also selbst eingegebene Methodenaufrufe)
erlaubt, mit der Maus verboten.
- Wählen sie "Für Lehrer"->"Dokument mit Passwort schützen" und
geben Sie ein Passwort ein. Schalten Sie jetzt den Lehrermodus aus
("Für Lehrer"->"Lehrermodus ausschalten"), so kann man das
entsprechende Objekt nicht mehr mit der Maus verändern.
Bem.: Öffnet man ein passwortgeschütztes Dokument, so wir automatisch
auf Schülermodus umgeschaltet. In den Lehrermodus gelangt man nur
nach Eingabe des korrekten Passwortes.
Verwendungsmöglichkeiten
im Gymnasium (Bayern)
Das Programm wurde zur Verwendung an bayerischen Gymnasien (Fach
Informatik in Jgst. 6) entworfen, die Einsatzmöglichkeiten sind jedoch
sicher nicht auf diese beschränkt.
Der Einsatz bietet sich natürlich unter NT 6.2.2
(Informationsdarstellung mit Graphikdokumenten - Graphiksoftware) an,
ist aber auch bei NT 6.2.3 (Informationsdarstellung mit Textdokumenten
- Textverarbeitungssoftware) möglich wenn es darum geht, die
"Enthalten-Beziehung" zwischen Objekten zu veranschaulichen.
Analysatorfenster

Im Objektbaum wird die "Ist-Enthalten-von"-Relation der Zeichenobjekte
in einem Baumdiagramm dargestellt. Am Beispiel des links dargestellten
Hauses und des zugehörigen Baumdiagramms (darunter) wird klar, was
gemeint ist.
Jedes Objekt ist als abgerundetes Rechteck dargestellt. Enthält ein
Objekt andere Objekte, so können diese innerhalb des Baumdiagramms mit
Hilfe der kleinen "-"-Schaltflächen ausgeblendet werden.
Klickt man auf ein Objekt im Baumdiagramm, so wird es grün umrandet,
ebenso die Darstellung des Objekts im Zeichenfenster. Die dazugehörige
Objektkarte wird im Fensterteil unterhalb des Baumdiagramms
dargestellt. Nach Möglichkeit wird das angewählte Objekt im
Zeichenfenster auch markiert. Im gezeigten Beispiel ist dies nicht
möglich, das Objekt Mauer im Objekt Haus enthalten ist. Also wid das
ganze Haus-Objekt markiert. Die Markierung wird im Zeichenfenster
sichtbar. Im Baumdiagramm

ist sie durch die vier weißen
Quadrate angedeutet.
Das Fenster des Baumdiagramms ist übrigens der einzige Ort im Programm,
an dem Objektbezeichner geändert werden können. Klicken sie dazu das
entsprechende Objekt im Baumdiagramm um und benutzen Sie das
Eingabefeld "Objekt umbenennen".
Bemerkung: Überschreitet das
Baumdiagramm eine bestimmte Größe (etwa 1000 Zeichenobjekte), so wird
es nicht mehr dargestellt, da die Größe eines scrollbaren Fentsters in
Windows 98 und darunter auf 64000 Bildpunte Breite und Höhe
eingeschränkt ist. Diese Beschränkung ist für den Nutzen des Programms
aber nicht wesentlich.


Im Fenster "Methodenaufrufe" werden alle
Methodenaufrufe seit Programmbeginn (normale Ansicht, siehe linkes
Bild) bzw. die letzten 1000 Methodenaufrufe (Baumansicht, siehe rechtes
Bild) dargestellt.
Die Baumansicht bietet den Vorteil, dass Methodenaufrufe, die eine
unmittelbare Folge eines vorhergehenden Methodenaufrufes sind, mit
dargestellt werden (siehe Kapitel
Gruppieren).
Wird z.B. das Haus aus dem vorangegangenen Kapitel "Objektbaum"
verschoben, so hat dies Methodenaufrufe für die Objekte Mauer und Dach
zur Folge.
Mit den Buttons '+' und '-' (in Lupenform) kann die Schriftgröße so
angepasst werden, dass sie auch am Beamer gut lesbar ist.
Bemerkung:
Natürlich wird während der Bedienung des Programms sehr häufig die
Methode "zeichnen" für alle Zeichenobjekte aufgerufen. Diese Aufrufe
werden im Fenster "Methodenaufruf" nicht dargestellt, da sonst die
anderen kaum noch auffindbar wären. Ruft man die Methode "zeichnen"
durch direkte Methodeneingabe auf, so wird dies auch im Fenster
"Methodenaufrufe" dargestellt. Der Aufruf "dokument1.zeichenn( )" ist
für große Zeichendokumente übrigens hübsch anzusehen ;-)
Im Reiter "Klassenkarte" ist die Klassenkarte des momentan markierten
Objekts zu sehen. Im Reiter "Klassenkartenverzeichnis" kann man die
Klassenkarten aller Klassen anwählen.
Begriffe
Jedes Zeichenobjekt besitzt ein Umfassungsrechteck. Dies ist anfangs
das kleinste Rechteck mit a chsenparallelen Seiten, in dem das ganze
Objekt Platz hat. Wird das Objekt dann gedreht, gestreckt oder
verschoben, so wird das Umfassungsrechteck immer der selben
Transformation unterworfen. Als "Mittelpunkt" eines Objekts sieht das
Programm immer den Diagonalenschnittpunkt dieses Umfassungsrechtecks
an. Dieser Mittelpunkt wird bei allen Drehungen als Drehpunkt benutzt.
Beim Strecken ohne Angabe eines Zentrums wird er als Streckungszentrum
verwendet.
Natürlich ist es der Begriff "Mittelpunkt" eigentlich nur bei Kreisen
gebräuchlich. Ich verwende ihn hier für alle Objekte, weil derkorrekte
Begriff "Diagonalenschnittpunkt des Umfassungsrechtecks" einfach zu
sperrig ist.