00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
#ifndef GUI_PHOTODESCEDIT_H
00012
#define GUI_PHOTODESCEDIT_H
00013
00014
00015
00016
class QGridLayout;
00017
class QLabel;
00018
class QTimer;
00019
class QImage;
00020
class QPixmap;
00021
class QTextEdit;
00022
class PhotoPreviewWidget;
00023
class TextEdit;
00024
00025
00026 #define STATIC 0
00027 #define APPEARING 1
00028 #define DISAPPEARING 2
00029 #define DISAPPEARED 3
00030
00031
#include <qwidget.h>
00032
#include <qdatetime.h>
00033
#include <qtextedit.h>
00034
00035 class PhotoDescEdit :
public QWidget
00036 {
00037 Q_OBJECT
00038
00039
public:
00040
PhotoDescEdit(
PhotoPreviewWidget*
ppw,
bool useAnimation,
QWidget *parent=0,
const char* name=0);
00041
~PhotoDescEdit();
00042
00043
public slots:
00044
void hide();
00045
00046
private slots:
00048
void animate();
00049
00052
void disappear();
00053
00054
private:
00056 bool useAnimation;
00057
00059 PhotoPreviewWidget* ppw;
00060
00062 QImage *
imageLarge;
00063
00065 QImage*
textRectangle;
00066
00067
00068 QPoint
initPos,
finalPos;
00069
00071 int left,
right,
top,
bottom;
00072
00074 int idealTextSize;
00075
00078 QPixmap*
backgroundImage;
00079
00081 int smallWidth,
smallHeight;
00083
00084 QGridLayout*
mainGrid;
00087
00089 QLabel*
animationLabel;
00090
00092 QPixmap*
buffer;
00095
00097 QGridLayout*
staticGrid;
00098
00100 QWidget*
staticFrame;
00101
00103 QLabel*
staticPhoto;
00104
00106 TextEdit*
photoDesc;
00109
00110
00111 int initDelay,
accel,
minDelay,
step,
delay;
00112
00113
00114 int mode;
00115
00117 bool dropShadowsEnabled;
00118
00119
00120 QTimer*
timer;
00121 QTime
lastTime,
currentTime;
00123 };
00124
00125
00126 class TextEdit :
public QTextEdit
00127 {
00128 Q_OBJECT
00129
00130
public:
00131
TextEdit(
QWidget *parent=0,
const char* name=0);
00132
void paintNow();
00133
00134
private:
00135 QPopupMenu*
contextMenu;
00136
00137
protected:
00138
void keyPressEvent ( QKeyEvent* e );
00139
void focusOutEvent ( QFocusEvent* );
00140 QPopupMenu*
createPopupMenu (
const QPoint& pos );
00141
00142 signals:
00143
void finished();
00144
00145
private slots:
00146
void contextMenuHiding();
00147 };
00148
00149
00150
00151
00152
#endif //GUI_PHOTODESCEDIT_H