Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

page_export.h

Go to the documentation of this file.
00001 /*
00002 * page_export.h Notebook Firewire/AVI/Still Frame Export Page Object
00003 * Copyright (C) 2001-2007 Dan Dennedy <dan@dennedy.org>
00004 *
00005 * This program is free software; you can redistribute it and/or modify
00006 * it under the terms of the GNU General Public License as published by
00007 * the Free Software Foundation; either version 2 of the License, or
00008 * (at your option) any later version.
00009 *
00010 * This program is distributed in the hope that it will be useful,
00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 * GNU General Public License for more details.
00014 *
00015 * You should have received a copy of the GNU General Public License
00016 * along with this program; if not, write to the Free Software Foundation,
00017 * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00018 */
00019 
00020 #ifndef _PAGE_EXPORT_H
00021 #define _PAGE_EXPORT_H
00022 
00023 #ifdef HAVE_CONFIG_H
00024 #include <config.h>
00025 #endif
00026 
00027 #include <gtk/gtk.h>
00028 
00029 #include "kino_common.h"
00030 #include "page.h"
00031 #include "export.h"
00032 
00033 // Forward references to page classes.
00034 class Export;
00035 class Export1394;
00036 class ExportAVI;
00037 class ExportStills;
00038 class ExportAudio;
00039 class ExportMJPEG;
00040 class ExportPipe;
00041 
00045 class PageExport : public Page
00046 {
00047 private:
00048     KinoCommon  *common;
00049     GtkNotebook *notebook;
00050     GtkProgressBar  *progressBar;
00051     int currentMode;
00052     Export1394  *export1394;
00053     ExportAVI   *exportAVI;
00054     ExportStills    *exportStills;
00055     ExportAudio *exportAudio;
00056     ExportMJPEG *exportMJPEG;
00057     ExportPipe  *exportPipe;
00058 
00059 public:
00060     /* isExporting is true, when an export OR an preview is
00061        underway */
00062     bool    isExporting;
00063     /* True when pausing */
00064     bool isPausing;
00065     /* True when changes to the export buttons are beeing
00066        carried out  */
00067     bool    exportMutex;
00068 
00069 
00070     PageExport( KinoCommon *common );
00071     virtual ~PageExport();
00072     gulong activate();
00073     void start();
00074     void clean();
00075     GtkWidget *getWidget();
00076 
00077     // Mode related functions
00078     void changeModeRequest( int mode );
00079     void setCurrentMode( int mode );
00080     Export *getCurrentPage();
00081     Export *getPage( int mode );
00082 
00083     // commands from the page interface
00084     gboolean processKeyboard( GdkEventKey *event );
00085     gboolean processCommand( char *cmd );
00086     void selectScene( int );
00087 
00088     // commands defined by this interface
00089     void startExport();
00090     void previewExport();
00091     void stopExport();
00092     void pauseExport();
00093     void updateProgress( gfloat val );
00094     void resetProgress();
00095     void timeFormatChanged();
00096     std::string getHelpPage()
00097     {
00098         return "export";
00099     }
00100 
00101 };
00102 
00103 #endif

Generated on Sun Mar 11 22:11:46 2007 for Kino by  doxygen 1.4.2