00001 #ifndef GWINDOWGUI_H
00002 #define GWINDOWGUI_H
00003
00004 #include "automation.inc"
00005 #include "guicast.h"
00006 #include "mwindow.inc"
00007
00008 class GWindowToggle;
00009
00010 enum {
00011 NONAUTOTOGGLES_ASSETS,
00012 NONAUTOTOGGLES_TITLES,
00013 NONAUTOTOGGLES_TRANSITIONS,
00014 NONAUTOTOGGLES_PLUGIN_AUTOS,
00015 NONAUTOTOGGLES_COUNT
00016 };
00017
00018 struct toggleinfo
00019 {
00020 int isauto;
00021 int ref;
00022 };
00023
00024 class GWindowGUI : public BC_Window
00025 {
00026 public:
00027 GWindowGUI(MWindow *mwindow, int w, int h);
00028 static void calculate_extents(BC_WindowBase *gui, int *w, int *h);
00029 void create_objects();
00030 int translation_event();
00031 int close_event();
00032 int keypress_event();
00033 void update_toggles(int use_lock);
00034 void update_mwindow();
00035
00036 MWindow *mwindow;
00037 GWindowToggle *toggles[NONAUTOTOGGLES_COUNT + AUTOMATION_TOTAL];
00038 };
00039
00040 class GWindowToggle : public BC_CheckBox
00041 {
00042 public:
00043 GWindowToggle(MWindow *mwindow,
00044 GWindowGUI *gui,
00045 int x,
00046 int y,
00047 toggleinfo toggleinf);
00048 int handle_event();
00049 void update();
00050
00051 static int* get_main_value(MWindow *mwindow, toggleinfo toggleinf);
00052
00053 MWindow *mwindow;
00054 GWindowGUI *gui;
00055 toggleinfo toggleinf;
00056 };
00057
00058 #endif