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
00033
00034
00035 void redraw_time_dependancies();
00036
00037 int focus_in_event();
00038 int focus_out_event();
00039
00040
00041
00042
00043 void update(int scrollbars,
00044 int canvas,
00045 int timebar,
00046 int zoombar,
00047 int patchbay,
00048 int clock,
00049 int buttonbar);
00050
00051 void update_title(char *path);
00052 int translation_event();
00053 int resize_event(int w, int h);
00054 int keypress_event();
00055 int close_event();
00056 int quit();
00057 int save_defaults(BC_Hash *defaults);
00058 int menu_h();
00059
00060 int show_message(char *message, int color = -1);
00061
00062 void show_error(char *message, int color = BLACK);
00063 int repeat_event(int64_t duration);
00064
00065 int drag_motion();
00066 int drag_stop();
00067 void default_positions();
00068
00069
00070 static int visible(int64_t x1, int64_t x2, int64_t view_x1, int64_t view_x2);
00071
00072 MWindow *mwindow;
00073
00074
00075 EditPopup *edit_menu;
00076 PluginPopup *plugin_menu;
00077 KeyframePopup *keyframe_menu;
00078 TransitionPopup *transition_menu;
00079
00080 MainClock *mainclock;
00081 MButtons *mbuttons;
00082 MTimeBar *timebar;
00083 PatchBay *patchbay;
00084 MainMenu *mainmenu;
00085 ZoomBar *zoombar;
00086 SampleScroll *samplescroll;
00087 StatusBar *statusbar;
00088 TrackScroll *trackscroll;
00089 TrackCanvas *canvas;
00090
00091 MainCursor *cursor;
00092
00093 int view_w, view_h;
00094 };
00095
00096
00097
00098
00099 #endif