NEURON
utility.h
Go to the documentation of this file.
1 #ifndef utility_h
2 #define utility_h
3 
4 #include <InterViews/dialog.h>
5 #include <IV-look/field.h>
6 #include <OS/string.h>
7 #include <InterViews/handler.h>
8 
9 #undef PopupMenu
10 
11 class Window;
12 class FieldEditor;
13 class Menu;
14 class Event;
15 class MenuItem;
16 class PopupWindow;
17 class TelltaleGroup;
18 
19 class FieldDialog : public Dialog {
20 public:
21  static FieldDialog* field_dialog_instance(const char*, Style*,
22  Glyph* extra = NULL);
23  virtual ~FieldDialog();
24  virtual void dismiss(bool accept);
25  const String* text() const {return fe_->text();}
26  virtual void keystroke(const Event& e) {fe_->keystroke(e);}
27  virtual void accept(FieldEditor*);
28  virtual void cancel(FieldEditor*);
29  virtual bool run();
30 private:
34 };
35 
36 /** true if Style 'dialog_spec_position: on' and fills x,y with
37  * dialog_left_position and dialog_bottom_position.
38 **/
39 bool nrn_spec_dialog_pos(Coord& x, Coord& y);
40 
41 bool ok_to_write(const String&, Window* w=NULL);
42 bool ok_to_write(const char*, Window* w=NULL);
43 bool ok_to_read(const String&, Window* w=NULL);
44 bool ok_to_read(const char*, Window* w=NULL);
45 bool boolean_dialog(const char* label, const char* accept, const char* cancel,
46  Window* w=NULL, Coord x=400., Coord y=400.);
47 void continue_dialog(const char* label, Window* w=NULL, Coord x=400., Coord y=400.);
48 
49 bool str_chooser(const char*, char*, Window* w=NULL, Coord x = 400., Coord y = 400.);
50 bool var_pair_chooser(const char*, float& x, float& y, Window* w=NULL,
51  Coord x1=400., Coord y1=400.);
52 
53 class PopupMenu : public Handler {
54 public:
55  PopupMenu();
56  virtual ~PopupMenu();
57  virtual bool event(Event&);
58  void append_item(MenuItem*);
59  Menu* menu() { return menu_; }
60 private:
63  bool grabbed_;
64 };
65 
66 // makes sure menuitem width is size of menu width
67 class K {
68 public:
69  static MenuItem* menu_item(const char*);
70  static MenuItem* radio_menu_item(TelltaleGroup*, const char*);
71  static MenuItem* check_menu_item(const char*);
72 };
73 
74 void handle_old_focus();
75 
76 #endif
#define TelltaleGroup
Definition: _defines.h:295
bool ok_to_write(const String &, Window *w=NULL)
FieldDialog(Glyph *, Style *)
#define Glyph
Definition: _defines.h:132
#define Coord
Definition: _defines.h:19
Menu * menu()
Definition: utility.h:59
virtual void cancel(FieldEditor *)
#define Handler
Definition: _defines.h:146
bool grabbed_
Definition: utility.h:63
#define e
Definition: passive0.cpp:24
virtual void accept(FieldEditor *)
Menu * menu_
Definition: utility.h:61
#define PopupWindow
Definition: _defines.h:210
bool var_pair_chooser(const char *, float &x, float &y, Window *w=NULL, Coord x1=400., Coord y1=400.)
CopyString s_
Definition: utility.h:33
#define Dialog
Definition: _defines.h:94
#define Menu
Definition: _defines.h:176
bool nrn_spec_dialog_pos(Coord &x, Coord &y)
true if Style &#39;dialog_spec_position: on&#39; and fills x,y with dialog_left_position and dialog_bottom_po...
#define PopupMenu
Definition: _defines.h:209
Definition: utility.h:67
PopupWindow * w_
Definition: utility.h:62
#define FieldEditor
Definition: _defines.h:111
#define Event
Definition: _defines.h:107
bool ok_to_read(const String &, Window *w=NULL)
const String * text() const
Definition: utility.h:25
static FieldDialog * field_dialog_instance(const char *, Style *, Glyph *extra=NULL)
bool str_chooser(const char *, char *, Window *w=NULL, Coord x=400., Coord y=400.)
void continue_dialog(const char *label, Window *w=NULL, Coord x=400., Coord y=400.)
void handle_old_focus()
Definition: string.h:34
FieldEditor * fe_
Definition: utility.h:32
virtual bool run()
bool boolean_dialog(const char *label, const char *accept, const char *cancel, Window *w=NULL, Coord x=400., Coord y=400.)
#define Window
Definition: _defines.h:333
#define Style
Definition: _defines.h:281
virtual ~FieldDialog()
#define MenuItem
Definition: _defines.h:179
virtual void dismiss(bool accept)
virtual void keystroke(const Event &e)
Definition: utility.h:26
return NULL
Definition: cabcode.cpp:461