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 // makes sure menuitem width is size of menu width
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
Generated on Mon Jun 13 08:10:24 2011 for NEURON by  doxygen 1.6.3