00001 #ifndef TRANSITIONPOPUP_H
00002 #define TRANSITIONPOPUP_H
00003
00004 #include "guicast.h"
00005 #include "mwindowgui.inc"
00006 #include "plugin.inc"
00007 #include "transition.inc"
00008
00009 class TransitionPopupOn;
00010 class TransitionPopupShow;
00011 class TransitionPopupAttach;
00012 class TransitionPopupDetach;
00013 class TransitionPopupLength;
00014 class TransitionLengthText;
00015
00016 class TransitionLengthThread : public Thread
00017 {
00018 public:
00019 TransitionLengthThread(MWindow *mwindow, TransitionPopup *popup);
00020 ~TransitionLengthThread();
00021
00022 void run();
00023
00024 MWindow *mwindow;
00025 TransitionPopup *popup;
00026 };
00027
00028
00029 class TransitionLengthDialog : public BC_Window
00030 {
00031 public:
00032 TransitionLengthDialog(MWindow *mwindow, Transition *transition);
00033 ~TransitionLengthDialog();
00034
00035 void create_objects();
00036 int close_event();
00037
00038 MWindow *mwindow;
00039 Transition *transition;
00040 TransitionLengthText *text;
00041 };
00042
00043 class TransitionLengthText : public BC_TumbleTextBox
00044 {
00045 public:
00046 TransitionLengthText(MWindow *mwindow,
00047 TransitionLengthDialog *gui,
00048 int x,
00049 int y);
00050 int handle_event();
00051 MWindow *mwindow;
00052 TransitionLengthDialog *gui;
00053 };
00054
00055
00056 class TransitionPopup : public BC_PopupMenu
00057 {
00058 public:
00059 TransitionPopup(MWindow *mwindow, MWindowGUI *gui);
00060 ~TransitionPopup();
00061
00062 void create_objects();
00063 int update(Transition *transition);
00064
00065
00066 Transition *transition;
00067
00068
00069 MWindow *mwindow;
00070 MWindowGUI *gui;
00071
00072
00073 TransitionPopupOn *on;
00074 TransitionPopupShow *show;
00075 TransitionPopupAttach *attach;
00076 TransitionPopupDetach *detach;
00077 TransitionPopupLength *length;
00078 TransitionLengthThread *length_thread;
00079 };
00080
00081
00082 class TransitionPopupAttach : public BC_MenuItem
00083 {
00084 public:
00085 TransitionPopupAttach(MWindow *mwindow, TransitionPopup *popup);
00086 ~TransitionPopupAttach();
00087
00088 int handle_event();
00089 MWindow *mwindow;
00090 TransitionPopup *popup;
00091 };
00092
00093 class TransitionPopupDetach : public BC_MenuItem
00094 {
00095 public:
00096 TransitionPopupDetach(MWindow *mwindow, TransitionPopup *popup);
00097 ~TransitionPopupDetach();
00098
00099 int handle_event();
00100 MWindow *mwindow;
00101 TransitionPopup *popup;
00102 };
00103
00104 class TransitionPopupShow : public BC_MenuItem
00105 {
00106 public:
00107 TransitionPopupShow(MWindow *mwindow, TransitionPopup *popup);
00108 ~TransitionPopupShow();
00109
00110 int handle_event();
00111 MWindow *mwindow;
00112 TransitionPopup *popup;
00113 };
00114
00115 class TransitionPopupOn : public BC_MenuItem
00116 {
00117 public:
00118 TransitionPopupOn(MWindow *mwindow, TransitionPopup *popup);
00119 ~TransitionPopupOn();
00120
00121 int handle_event();
00122 MWindow *mwindow;
00123 TransitionPopup *popup;
00124 };
00125
00126 class TransitionPopupLength : public BC_MenuItem
00127 {
00128 public:
00129 TransitionPopupLength(MWindow *mwindow, TransitionPopup *popup);
00130 ~TransitionPopupLength();
00131
00132 int handle_event();
00133 MWindow *mwindow;
00134 TransitionPopup *popup;
00135 };
00136
00137 #endif