secbrows.h

Go to the documentation of this file.
00001 #ifndef secbrowser_h
00002 #define secbrowser_h
00003 
00004 #include <InterViews/monoglyph.h>
00005 #include "ocbrowsr.h"
00006 
00007 class TelltaleState;
00008 struct Object;
00009 class SectionBrowserImpl;
00010 class MechSelector;
00011 class OcList;
00012 class PPBImpl;
00013 class HocCommand;
00014 struct Section;
00015 
00016 extern void section_menu(double, int, MechSelector* = nil);
00017 
00018 class MechVarType : public MonoGlyph {
00019 public:
00020    MechVarType();
00021    virtual ~MechVarType();
00022    boolean parameter_select();
00023    boolean assigned_select();
00024    boolean state_select();
00025 private:
00026    boolean select(int);
00027 private:
00028    TelltaleState* tts_[3];
00029 };
00030 
00031 class MechSelector : public MonoGlyph {
00032 public:
00033    MechSelector();
00034    virtual ~MechSelector();
00035 
00036    boolean is_selected(int type);
00037    int begin();
00038    boolean done();
00039    int next();
00040 private:
00041    TelltaleState** tts_;
00042    int iterator_;
00043 };
00044 
00045 class OcSectionBrowser : public OcBrowser {
00046 public:
00047    OcSectionBrowser(Object*);
00048    virtual ~OcSectionBrowser();
00049    virtual void accept();
00050    virtual void select_section(Section*);
00051    virtual void set_select_action(const char*);
00052    virtual void set_accept_action(const char*);
00053    virtual void select(GlyphIndex);
00054 private:
00055    Section** psec_;
00056    int scnt_;
00057    HocCommand* select_;
00058    HocCommand* accept_;
00059 };
00060 class SectionBrowser : public OcBrowser {
00061 public:
00062    SectionBrowser();
00063    SectionBrowser(Object*);
00064    virtual ~SectionBrowser();
00065    static void make_section_browser();
00066    void accept();
00067 
00068    virtual void select(GlyphIndex);
00069 private:
00070    SectionBrowserImpl* sbi_;
00071 };
00072 
00073 class PointProcessBrowser : public OcBrowser {
00074 public:
00075    PointProcessBrowser(OcList*);
00076    virtual ~PointProcessBrowser();
00077    static void make_point_process_browser(OcList*);
00078    void accept();
00079    
00080    virtual void select(GlyphIndex);
00081    virtual void add_pp(Object*);
00082    virtual void remove_pp();
00083    virtual void append_pp(Object*);
00084 private:
00085    PPBImpl* ppbi_;
00086 };
00087 
00088 #endif
Generated on Mon Jun 13 08:10:26 2011 for NEURON by  doxygen 1.6.3