Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

mwindowgui.h

Go to the documentation of this file.
00001 #ifndef MAINWINDOWGUI_H
00002 #define MAINWINDOWGUI_H
00003 
00004 #include "editpopup.inc"
00005 #include "guicast.h"
00006 #include "keyframepopup.inc"
00007 #include "mbuttons.inc"
00008 #include "mainclock.inc"
00009 #include "maincursor.inc"
00010 #include "mainmenu.inc"
00011 #include "mtimebar.inc"
00012 #include "mwindow.inc"
00013 #include "patchbay.inc"
00014 #include "pluginpopup.inc"
00015 #include "zoombar.inc"
00016 #include "samplescroll.inc"
00017 #include "statusbar.inc"
00018 #include "trackcanvas.inc"
00019 #include "trackscroll.inc"
00020 #include "transitionpopup.inc"
00021 
00022 
00023 class MWindowGUI : public BC_Window
00024 {
00025 public:
00026         MWindowGUI(MWindow *mwindow);
00027         ~MWindowGUI();
00028 
00029         int create_objects();
00030         void get_scrollbars();
00031 
00032 // ======================== event handlers
00033 
00034 // Replace with update
00035         void redraw_time_dependancies();
00036 
00037         int focus_in_event();
00038         int focus_out_event();
00039 
00040         void update(int scrollbars,
00041                 int canvas,      // 1 for incremental drawing.  2 for full refresh
00042                 int timebar,
00043                 int zoombar,
00044                 int patchbay, 
00045                 int clock,
00046                 int buttonbar);
00047 
00048         void update_title(char *path);
00049         int translation_event();
00050         int resize_event(int w, int h);          // handle a resize event
00051         int keypress_event();
00052         int close_event();
00053         int quit();
00054         int save_defaults(Defaults *defaults);
00055         int menu_h();
00056 // Draw on the status bar only.
00057         int show_message(char *message, int color = -1);
00058 // Pop up a box if the statusbar is taken and show an error.
00059         void show_error(char *message, int color = BLACK);
00060         int repeat_event(int64_t duration);
00061 // Entry point for drag events in all windows
00062         int drag_motion();
00063         int drag_stop();
00064         void default_positions();
00065 
00066 // Return if the area bounded by x1 and x2 is visible between view_x1 and view_x2
00067         static int visible(int64_t x1, int64_t x2, int64_t view_x1, int64_t view_x2);
00068 
00069         MWindow *mwindow;
00070 
00071 // Popup menus
00072         EditPopup *edit_menu;
00073         PluginPopup *plugin_menu;
00074         KeyframePopup *keyframe_menu;
00075         TransitionPopup *transition_menu;
00076 
00077         MainClock *mainclock;
00078         MButtons *mbuttons;
00079         MTimeBar *timebar;
00080         PatchBay *patchbay;
00081         MainMenu *mainmenu;
00082         ZoomBar *zoombar;
00083         SampleScroll *samplescroll;
00084         StatusBar *statusbar;
00085         TrackScroll *trackscroll;
00086         TrackCanvas *canvas;
00087 // Cursor used to select regions
00088         MainCursor *cursor;
00089 // Dimensions of canvas minus scrollbars
00090         int view_w, view_h;
00091 };
00092 
00093 
00094 
00095 
00096 #endif

Generated on Sun Jan 8 13:38:57 2006 for Cinelerra-svn by  doxygen 1.4.4