Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

QKeyFrameBar Class Reference

Steuerelement zur Darstellung und Manipulation von Keyframes. More...

#include <QKeyFrameBar.h>

List of all members.

Public Types

Public Methods

Public Slots

Signals

Protected Methods

Protected Attributes

Private Attributes


Detailed Description

Die Klasse QKeyFrameBar realisiert ein QT-Steuerelement auf der Basis von QWidget, welches zur Anzeige und Manipulation von Keyframes dient, die in einem CFrameList -Objekt gespeichert sind.

Das Steuerlement stellt eine Zeitleiste dar, in der die Keyframes als senkrechte farbige Striche eingetragen sind. Das Steuerelement besitzt einen Framecursor, der mit der Maus verschoben werden kann. Ebenfalls mit der Maus können existierende Keyframes entlang der Zeitachse bewegt werden. Das Steuerelement stellt Funktionalität bezüglich des Sichtbereichs. Er kann gezoomt und gescrollt werden.


Member Enumeration Documentation

enum QKeyFrameBar::enuFrameBarMode
 

Die Enumeration enuFrameBarMode enthält Konstanten, die für den gerade aktiven Bearbeitungsmodus des QKeyframeBars stehen.

Enumeration values:
mdNothing   Nichts zu tun!
mdMoveFrameCursor   Der FrameCursor wird gerade bewegt.
mdMoveFrame   Ein Keyframe wird gerade verschoben.


Constructor & Destructor Documentation

QKeyFrameBar::QKeyFrameBar ( QWidget * parent = 0,
const char * name = 0 )
 

Der Konstruktor setzt alle Steuerelementeigenschaften auf Standardwerte. Der Parameter name gibt den Namen des Widgets an. Der Parameter parent gibt das Eltern-Widget an, in welches das QKeyframeBar-Widget eingefügt wird.

QKeyFrameBar::~QKeyFrameBar ( )
 

Der Standarddestruktor setzt die Framelist-Referenz auf NULL zurück.


Member Function Documentation

void QKeyFrameBar::mouseMoveEvent ( QMouseEvent * Event ) [protected, virtual]
 

Der Event-Handler mouseMoveEvent() behandelt Mausbewegungen.

Befindet sich das QKeyFrameBar im Bearbeitungsmodus mdMoveFrameCursor, so wird der Framecursor an die entsprechende Stelle verschoben. Falls das Senden von Cursorsignalen aktiviert ist, so wird das Signal cursorPositionChanged() gesendet. Wird der Cursor mit der rechten Maustaste gezogen, so wird das Signal interpolateAt() gesendet.

Befindet sich das QKeyFrameBar im Bearbeitungsmodus mdMoveFrame, so wird das angewählte Keyframe an die entsprechende Stelle verschoben.

void QKeyFrameBar::mousePressEvent ( QMouseEvent * Event ) [protected, virtual]
 

Der Event-Handler mousePressEvent() behandelt das Drücken von Maustasten.

Wurde die Linkemaustaste gedrückt, so selektiert der Eventhandler je nachdem wo sich der Mauszeiger befindet entweder den Framecursor, oder ein Keyframe. Danach wird QKeyFrameBar in den jeweiligen Verschiebemodus versetzt.

Wurde der Framecursor mit der rechten Maustaste angelickt, so wird er selektiert, QKeyFrameBar in den Verschiebemodus versetzt und zusätzlich das Flag SendInterpolationEvent gesetzt, so daß beim Verschieben des Cursors Interpolationssignale ausgelöst werden.

void QKeyFrameBar::mouseReleaseEvent ( QMouseEvent * Event ) [protected, virtual]
 

Der Event-Handler mouseReleaseEvent() behandelt das Loslassen von Maustasten.

Grundsätzlich wird QKeyFrameBar in den Modus mdNothing versetzt.

Wurde die rechte Maustaste losgelassen, so wird das Signal finishInterpolate() gesendet.

Wurde ein Keyframe verschoben, so wird das Keyframe in der Keyframeliste verschoben und die Ansicht aktualisiert.

void QKeyFrameBar::keyPressEvent ( QKeyEvent * Event ) [protected, virtual]
 

Der Event-Handler keyPressEvent behandlet das Drücken von Tasten.

Wurden die horizontalen Cursortasten betätigt, so scrollt der Eventhandler die Ansicht entweder nach links, oder nach rechts.

Wurden die Tasten + oder - gedrückt, so zoomt der Eventhandler die Ansicht entsprechend.

void QKeyFrameBar::setFrameList ( CFrameList * frameList )
 

Die Methode setFrameList() setzt die Referenz auf die darzustellende Keyframeliste. Die Darstellung wird dabei aktualisiert.

void QKeyFrameBar::setCursorPosition ( float newValue ) [slot]
 

Die Methode setCursorPosition() setzt den Framecursor an die über newValue spezifizierte Position. Das Widget wird dabei neu gezeichnet.

void QKeyFrameBar::setSelectedKeyFrame ( CKeyFrame * selectedFrame ) [slot]
 

Mit der Methode setSelectedKeyFrame() läßt sich eine Referenz auf ein Keyframe festlegen, welches als markiert gelten soll.

Note:
Das spezifizierte Keyframe muss eine Element der Keyframeliste sein, die dem QKeyframeBar zugrunde liegt.

void QKeyFrameBar::setRasterResolution ( float newValue ) [slot]
 

Die Methode setRasterResolution() setzt die Auflösung des Framerasters. Der Parameter newValue gibt an, in welchen Abständen ein senkrechter Skalenstrich mit eine Zeitangabe gezeichnet werden soll. Das Steuerelement wird neu gezeichnet.

void QKeyFrameBar::setDisplayRange ( float dispStart,
float dispEnd ) [slot]
 

Die Methode setDisplayRange() legt das Zeitfenster fest. nur die Keyframes, die sich innerhalb des Sichtbereichs befinden werden dargestellt. Der Parameter dispStart gibt den Zeitindex an, der zum linken Rand von QKeyFrameBar korrespondiert. Der Parameter dispEnd gibt den Zeitindex an, der zum rechten Rand von QKeyFrameBar korrespondiert.

Note:
Der Parameter dispEnd muss größer dem Parameter dispStart sein!

void QKeyFrameBar::growDisplayRange ( float delta = 0.1f ) [slot]
 

Die Methode growDisplayRange() erweitert den Sichtbereich, indem sie den Wert delta vom Anfang des Sichtbereichs subtrahiert und zum Ende des Sichtbereichs aufaddiert.

void QKeyFrameBar::shrinkDisplayRange ( float delta = 0.1f ) [slot]
 

Die Methode shrinkDisplayRange() verkleinert den Sichtbereich, indem sie den Wert delta vom Ende des Sichtbereichs subtrahiert und zum Anfang des Sichtbereichs aufaddiert.

void QKeyFrameBar::centerView ( float Position ) [slot]
 

Die Methode centerView(float position) richtet den Sichtbereich so aus, daß die durch position festgelegte Stelle genau in der Mitte liegt. Die Größe des Sichtbereichs bleibt erhalten. Das Steuerelement wird neu gezeichnet.

void QKeyFrameBar::centerView ( ) [slot]
 

Die Methode centerView() ruft die überladene Methode centerView(float position), so daß der Sichtbereich genau auf den Framecursor zentriert wird.

void QKeyFrameBar::scroll ( float dx ) [slot]
 

Die Methode scroll() verschiebt den Sichtbereich um den durch dx angegebenen Wert. Die Sichtbereichsgröße bleibt erhalten. Das Steuerelement wird neu gezeichnet.


The documentation for this class was generated from the following files:
Generated at Fri Apr 19 16:53:07 2002 for GLFramework by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001