00001 /* 00002 * QCameraDropSite.h 00003 * $Id: QCameraDropSite.h,v 1.1.1.1 2001/06/06 15:36:52 guenth Exp $ 00004 * 00005 * Copyright (C) 1999, 2000 Markus Janich 00006 * 00007 * This program is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation; either version 2 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * This program is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this program; if not, write to the Free Software 00019 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00020 * 00021 */ 00022 00023 // Description : Class QCameraDropSite 00024 // Purpose : Provides an area where you can drag'n drop cameras 00025 00026 00027 #ifndef __QCAMERADROPSITE_H 00028 #define __QCAMERADROPSITE_H 00029 00030 00031 // Qt 00033 #include <qlabel.h> 00034 00035 00036 // System 00038 00039 00040 // Own 00042 #include "CCamera.h" 00043 00044 00045 // Foraward declarations 00047 class QGLViewer; 00048 class QCameraDrag; 00049 00050 00052 00059 class QCameraDropSite: public QLabel 00060 { 00061 Q_OBJECT 00062 public: 00064 // PUBLIC METHODS // 00066 00067 QCameraDropSite(QWidget *parent=0, const char * name = 0); 00068 ~QCameraDropSite(); 00069 00070 void setCamera(CCamera *pCamera) { m_pCamera = pCamera; }; 00071 00072 signals: 00073 void sigCameraDropped(const CCamera &cCamera); 00074 00075 protected: 00077 // PROTECTED METHODS // 00079 void dragEnterEvent(QDragEnterEvent *pqEvent); 00080 void dragLeaveEvent(QDragLeaveEvent *pqEvent); 00081 void dropEvent(QDropEvent *pqEvent); 00082 00083 void mousePressEvent(QMouseEvent *pqEvent); 00084 void mouseReleaseEvent(QMouseEvent *pqEvent); 00085 00086 private: 00088 // PRIVATE MEMBERS // 00090 00091 CCamera *m_pCamera; 00092 }; 00093 00094 #endif // __QCAMERADROPSITE_H