00001 #ifndef RENDERPROFILE_H
00002 #define RENDERPROFILE_H
00003
00004 #include "guicast.h"
00005 #include "render.inc"
00006 #include "mwindow.inc"
00007 #include "renderprofiles.inc"
00008
00009 class RenderProfileListBox;
00010
00011 class RenderProfileItem : public BC_ListBoxItem
00012 {
00013 public:
00014 RenderProfileItem(char *text, int value);
00015 int value;
00016 };
00017
00018 class SaveRenderProfileButton : public BC_GenericButton
00019 {
00020 public:
00021 SaveRenderProfileButton(RenderProfile *profile, int x, int y);
00022 int handle_event();
00023 RenderProfile *profile;
00024 };
00025
00026 class DeleteRenderProfileButton : public BC_GenericButton
00027 {
00028 public:
00029 DeleteRenderProfileButton(RenderProfile *profile, int x, int y);
00030 int handle_event();
00031 RenderProfile *profile;
00032 };
00033
00034
00035
00036 class RenderProfile
00037 {
00038 public:
00039 RenderProfile(MWindow *mwindow,
00040 RenderWindow *rwindow,
00041 int x,
00042 int y,
00043 int use_nothing);
00044 ~RenderProfile();
00045
00046 int create_objects();
00047 int reposition_window(int x, int y);
00048 static int calculate_h(BC_WindowBase *gui);
00049 int get_h();
00050 int get_x();
00051 int get_y();
00052
00053 int get_profile_slot_by_name(char *profile_name);
00054 int get_new_profile_slot();
00055 int save_to_slot(int profile_slot, char *profile_name);
00056
00057 BC_Title *title;
00058 BC_TextBox *textbox;
00059 RenderProfileListBox *listbox;
00060 SaveRenderProfileButton *saveprofile;
00061 DeleteRenderProfileButton *deleteprofile;
00062
00063
00064
00065 MWindow *mwindow;
00066
00067 RenderWindow *rwindow;
00068
00069 int x;
00070 int y;
00071 int *output;
00072 int use_nothing;
00073 ArrayList<RenderProfileItem*> profiles;
00074 };
00075
00076 class RenderProfileListBox : public BC_ListBox
00077 {
00078 public:
00079 RenderProfileListBox(BC_WindowBase *window, RenderProfile *renderprofile, int x, int y);
00080 ~RenderProfileListBox();
00081
00082 int handle_event();
00083
00084 BC_WindowBase *window;
00085 RenderProfile *renderprofile;
00086 };
00087
00088 #endif