home *** CD-ROM | disk | FTP | other *** search
-
- #ifndef makeapp_makeapp_H
- #define makeapp_makeapp_H
-
- #include "saveas.h"
- #include "dbox.h"
- #include "windowcmds.h"
- #include "writablefield.h"
- #include "radiobutton.h"
- #include "optionbutton.h"
-
- class MakeAppWindow: public BaseWindow, private FileSaver,
- private DialogueBoxHandler {
- enum MakefileType { amu_makefile, makatic_makefile } makefile_type;
- enum MakaticScript { medium_script, large_script } makatic_script;
- unsigned debug_makefile: 1;
-
- SaveAs save_as;
- WritableField &full_name_gadget, &cli_name_gadget;
-
- DialogueBox option_dbox;
- ShowWindowCommand show_options;
- RadioButton &generate_amu_makefile, &generate_makatic_makefile,
- &use_medium_script, &use_large_script;
- OptionButton &add_debug_makefile;
-
- void revert();
- void keep();
-
- class MakefileTypeChanged: public Command {
- MakeAppWindow *window;
- public:
- MakefileTypeChanged(MakeAppWindow *w): window(w) {}
- void execute();
- } makefile_type_changed;
- friend MakefileTypeChanged;
-
- class AppDetails {
- public:
- String app_name, full_name, cli_name;
- };
- static void process(istream &in, ostream &out, const AppDetails &details);
- static void process(const char *in, const char *out,
- const AppDetails &details);
- static void process_sprites(const char *in, const char *out,
- const AppDetails &details);
- static void process_res_file(const char *in, const char *out,
- const AppDetails &details);
-
- public:
- MakeAppWindow();
-
- void save_to_file(const char *filename) const;
-
- BaseWindow &get_next_window();
- const BaseWindow &get_next_window() const;
- bool has_next_window() const;
- };
-
- #endif
-