00001 /* 00002 * page_edit.h Notebook Editor Page Object 00003 * Copyright (C) 2001 Charles Yates <charles.yates@pandora.be> 00004 * Copyright (C) 2001-2007 Dan Dennedy <dan@dennedy.org> 00005 * 00006 * This program is free software; you can redistribute it and/or modify 00007 * it under the terms of the GNU General Public License as published by 00008 * the Free Software Foundation; either version 2 of the License, or 00009 * (at your option) any later version. 00010 * 00011 * This program is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with this program; if not, write to the Free Software Foundation, 00018 * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00019 */ 00020 00021 #ifndef _PAGE_EDITOR_H 00022 #define _PAGE_EDITOR_H 00023 00024 #ifdef HAVE_CONFIG_H 00025 #include <config.h> 00026 #endif 00027 00028 #include "framedisplayer.h" 00029 #include "kino_common.h" 00030 #include "page.h" 00031 #include "preferences.h" 00032 00036 class PageEditor : public Page 00037 { 00038 private: 00039 // Common object 00040 KinoCommon *common; 00041 00042 // GUI Widgets 00043 FrameDisplayer *displayer; 00044 GtkDrawingArea *frameArea; 00045 GtkLabel *positionLabelCurrent; 00046 GtkLabel *positionLabelTotal; 00047 GtkWidget *scrubBar; 00048 GtkAdjustment *scrubAdjustment; 00049 00050 // State retention 00051 int lastFrameShown; 00052 gint idleCommand; 00053 gboolean idleCommandActive; 00054 GArray *sceneIndex; 00055 vector <int> sceneStartList; 00056 00057 // Playlist for holding the last copy/cut frames 00058 PlayList *g_copiedPlayList; 00059 00060 public: 00061 PageEditor( KinoCommon *common ); 00062 virtual ~PageEditor(); 00063 FrameDisplayer *getFrameDisplayer() 00064 { 00065 return this->displayer; 00066 } 00067 // Overridden virtuals from Page 00068 gulong activate(); 00069 void newFile(); 00070 void start(); 00071 void clean(); 00072 gboolean processKeyboard( GdkEventKey *event ); 00073 gboolean processCommand( char * ); 00074 void selectScene( int ); 00075 void videoStartOfMovie(); 00076 void videoPreviousScene(); 00077 void videoStartOfScene(); 00078 void videoRewind(); 00079 void videoBack(int step = -1); 00080 void videoPlay(); 00081 void videoForward(int step = 1); 00082 void videoFastForward(); 00083 void videoShuttle( int ); 00084 void videoNextScene(); 00085 void videoEndOfScene(); 00086 void videoEndOfMovie(); 00087 void videoPause(); 00088 void videoStop(); 00089 00090 void startNavigator(); 00091 void stopNavigator(); 00092 00093 void movedToFrame( int frame ); 00094 00095 void showFrame( int, gboolean ); 00096 void showFrame( int, Frame& ); 00097 00098 void windowMoved(); 00099 void showFrameInfo( int ); 00100 void showFrameInfo( int, Frame & ); 00101 00102 void DrawBar( int currentFrame ); 00103 void ResetBar(); 00104 vector <int> GetScene(); 00105 void snapshot(); 00106 void CopyFrames( int, int ); 00107 void PasteFrames( int ); 00108 void DeleteFrames( int, int ); 00109 std::string getHelpPage() 00110 { 00111 return "edit"; 00112 } 00113 }; 00114 00115 #endif
1.4.2