utility.h
Go to the documentation of this file.00001 #ifndef utility_h
00002 #define utility_h
00003
00004 #include <InterViews/dialog.h>
00005 #include <IV-look/field.h>
00006 #include <OS/string.h>
00007 #include <InterViews/handler.h>
00008
00009 #undef PopupMenu
00010
00011 class Window;
00012 class FieldEditor;
00013 class Menu;
00014 class Event;
00015 class MenuItem;
00016 class PopupWindow;
00017 class TelltaleGroup;
00018
00019 class FieldDialog : public Dialog {
00020 public:
00021 static FieldDialog* field_dialog_instance(const char*, Style*,
00022 Glyph* extra = nil);
00023 virtual ~FieldDialog();
00024 virtual void dismiss(boolean accept);
00025 const String* text() const {return fe_->text();}
00026 virtual void keystroke(const Event& e) {fe_->keystroke(e);}
00027 virtual void accept(FieldEditor*);
00028 virtual void cancel(FieldEditor*);
00029 virtual boolean run();
00030 private:
00031 FieldDialog(Glyph*, Style*);
00032 FieldEditor* fe_;
00033 CopyString s_;
00034 };
00035
00036 boolean ok_to_write(const String&, Window* w=nil);
00037 boolean ok_to_write(const char*, Window* w=nil);
00038 boolean ok_to_read(const String&, Window* w=nil);
00039 boolean ok_to_read(const char*, Window* w=nil);
00040 boolean boolean_dialog(const char* label, const char* accept, const char* cancel,
00041 Window* w=nil, Coord x=400., Coord y=400.);
00042 void continue_dialog(const char* label, Window* w=nil, Coord x=400., Coord y=400.);
00043
00044 boolean str_chooser(const char*, char*, Window* w=nil, Coord x = 400., Coord y = 400.);
00045 boolean var_pair_chooser(const char*, float& x, float& y, Window* w=nil,
00046 Coord x1=400., Coord y1=400.);
00047
00048 class PopupMenu : public Handler {
00049 public:
00050 PopupMenu();
00051 virtual ~PopupMenu();
00052 virtual boolean event(Event&);
00053 void append_item(MenuItem*);
00054 Menu* menu() { return menu_; }
00055 private:
00056 Menu* menu_;
00057 PopupWindow* w_;
00058 boolean grabbed_;
00059 };
00060
00061
00062 class K {
00063 public:
00064 static MenuItem* menu_item(const char*);
00065 static MenuItem* radio_menu_item(TelltaleGroup*, const char*);
00066 static MenuItem* check_menu_item(const char*);
00067 };
00068
00069 void handle_old_focus();
00070
00071 #endif