sout_widgets.hpp

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * sout_widgets.hpp : Widgets for stream output destination boxes
00003  ****************************************************************************
00004  * Copyright (C) 2009 the VideoLAN team
00005  * $Id: c7572e22a4b5f56baa98cacadfa520414a852e00 $
00006  *
00007  * Authors: Jean-Baptiste Kempf <jb@videolan.org>
00008  *
00009  * This program is free software; you can redistribute it and/or modify
00010  * it under the terms of the GNU General Public License as published by
00011  * the Free Software Foundation; either version 2 of the License, or
00012  * (at your option) any later version.
00013  *
00014  * This program is distributed in the hope that it will be useful,
00015  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017  * GNU General Public License for more details.
00018  *
00019  * You should have received a copy of the GNU General Public License
00020  * along with this program; if not, write to the Free Software
00021  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
00022  *****************************************************************************/
00023 
00024 #ifndef SOUT_WIDGETS_H
00025 #define SOUT_WIDGETS_H
00026 
00027 #include "qt4.hpp"
00028 
00029 #include <QGroupBox>
00030 
00031 class QLineEdit;
00032 class QLabel;
00033 class QSpinBox;
00034 
00035 class SoutInputBox : public QGroupBox
00036 {
00037     public:
00038         SoutInputBox( QWidget *_parent = NULL, const QString& mrl = "" );
00039 
00040         void setMRL( const QString& );
00041     private:
00042         QLineEdit *sourceLine;
00043         QLabel *sourceValueLabel;
00044 
00045 };
00046 
00047 class VirtualDestBox : public QWidget
00048 {
00049     Q_OBJECT
00050     public:
00051         VirtualDestBox( QWidget *_parent = NULL ) : QWidget( _parent ){}
00052         virtual QString getMRL( const QString& ) = 0;
00053     protected:
00054         QString mrl;
00055     signals:
00056         void mrlUpdated();
00057 };
00058 
00059 class FileDestBox: public VirtualDestBox
00060 {
00061     Q_OBJECT
00062     public:
00063         FileDestBox( QWidget *_parent = NULL );
00064         virtual QString getMRL( const QString& );
00065     private:
00066         QLineEdit *fileEdit;
00067     private slots:
00068         void fileBrowse();
00069 };
00070 
00071 class HTTPDestBox: public VirtualDestBox
00072 {
00073     Q_OBJECT
00074     public:
00075         HTTPDestBox( QWidget *_parent = NULL );
00076         virtual QString getMRL( const QString& );
00077     private:
00078         QLineEdit *HTTPEdit;
00079         QSpinBox *HTTPPort;
00080 };
00081 
00082 class MMSHDestBox: public VirtualDestBox
00083 {
00084     Q_OBJECT
00085     public:
00086         MMSHDestBox( QWidget *_parent = NULL );
00087         virtual QString getMRL( const QString& );
00088     private:
00089         QLineEdit *MMSHEdit;
00090         QSpinBox *MMSHPort;
00091 };
00092 
00093 class RTSPDestBox: public VirtualDestBox
00094 {
00095     Q_OBJECT
00096     public:
00097         RTSPDestBox( QWidget *_parent = NULL );
00098         virtual QString getMRL( const QString& );
00099     private:
00100         QLineEdit *RTSPEdit;
00101         QSpinBox *RTSPPort;
00102 };
00103 
00104 class UDPDestBox: public VirtualDestBox
00105 {
00106     Q_OBJECT
00107     public:
00108         UDPDestBox( QWidget *_parent = NULL );
00109         virtual QString getMRL( const QString& );
00110     private:
00111         QLineEdit *UDPEdit;
00112         QSpinBox *UDPPort;
00113 };
00114 
00115 class RTPDestBox: public VirtualDestBox
00116 {
00117     Q_OBJECT
00118     public:
00119         RTPDestBox( QWidget *_parent = NULL, const char *mux = NULL );
00120         virtual QString getMRL( const QString& );
00121     private:
00122         QLineEdit *RTPEdit;
00123         QSpinBox *RTPPort;
00124         const char *mux;
00125 };
00126 
00127 class ICEDestBox: public VirtualDestBox
00128 {
00129     Q_OBJECT
00130     public:
00131         ICEDestBox( QWidget *_parent = NULL );
00132         virtual QString getMRL( const QString& );
00133     private:
00134         QLineEdit *ICEEdit;
00135         QLineEdit *ICEMountEdit;
00136         QLineEdit *ICEPassEdit;
00137         QSpinBox *ICEPort;
00138 };
00139 
00140 
00141 
00142 #endif

Generated on Tue May 25 08:04:57 2010 for VLC by  doxygen 1.5.6