1 #include <../../nrnconf.h>
7 #include <InterViews/layout.h>
8 #include <IV-look/kit.h>
37 char* str_action =
NULL;
54 char* str_action =
NULL;
107 select_is_pycallback_ =
false;
108 accept_is_pycallback_ =
false;
113 for (
sec = sl.begin();
sec;
sec = sl.next()) {
120 for (
sec = sl.begin();
sec;
sec = sl.next()) {
121 psec_[scnt_++] =
sec;
131 psec_[scnt_++] =
sec;
134 for (
i = 0;
i < scnt_; ++
i) {
184 OcBrowser::select(-1);
216 OcBrowser::select(
i);
231 state(
i)->set(TelltaleState::is_enabled,
false);
232 OcBrowser::select(old);
243 b[0] = wk.palette_button(
"Parameters",
NULL);
244 b[1] = wk.palette_button(
"States",
NULL);
245 b[2] = wk.palette_button(
"Assigned",
NULL);
246 PolyGlyph* vb = lk.vbox(b[0], b[1], b[2]);
247 for (
i = 0;
i < 3; ++
i) {
248 tts_[
i] = b[
i]->state();
251 tts_[0]->set(TelltaleState::is_chosen,
true);
252 body(wk.inset_frame(lk.margin(vb, 5)));
257 for (
i = 0;
i < 3; ++
i) {
272 return tts_[
i]->test(TelltaleState::is_chosen);
288 b->state()->set(TelltaleState::is_chosen,
true);
290 tts_[
i] = b->state();
292 body(lk.hbox(lk.vcenter(wk.inset_frame(lk.margin(lk.natural_span(vsb, 200, 100), 5)), 1.0),
294 wk.vscroll_bar(vsb)));
330 class SectionBrowserImpl {
332 SectionBrowserImpl();
333 ~SectionBrowserImpl();
340 class BrowserAccept:
public Action {
343 virtual ~BrowserAccept();
344 virtual void execute();
352 BrowserAccept::~BrowserAccept() {}
353 void BrowserAccept::execute() {
357 SectionBrowserImpl::SectionBrowserImpl() {
365 psec_[scnt_++] =
sec;
373 SectionBrowserImpl::~SectionBrowserImpl() {
374 for (
int i = 0;
i < scnt_; ++
i) {
386 sbi_ =
new SectionBrowserImpl;
387 for (
int i = 0;
i < sbi_->scnt_; ++
i) {
388 append_item(
secname(sbi_->psec_[
i]));
400 printf(
"accepted %d\n",
int(selected()));
404 if (
sbi_->mvt_->parameter_select()) {
407 if (
sbi_->mvt_->state_select()) {
410 if (
sbi_->mvt_->assigned_select()) {
415 printf(
"This section was deleted\n");
420 if (
sbi_->psec_[
int(
i)]->prop) {
421 FileBrowser::select(
i);
423 FileBrowser::select(-1);
434 lk.vbox(sb->
sbi_->mvt_, lk.vspace(5), sb->
sbi_->ms_)));
439 class PBrowserAccept:
public Action {
442 virtual ~PBrowserAccept();
443 virtual void execute();
451 PBrowserAccept::~PBrowserAccept() {}
452 void PBrowserAccept::execute() {
463 PPBImpl::PPBImpl(
OcList* ocl) {
467 PPBImpl::~PPBImpl() {
473 ppbi_ =
new PPBImpl(ocl);
475 for (
i = 0;
i <
cnt; ++
i) {
501 remove_selectable(
i);
508 ppbi_->ocl_->append(ob);
515 FileBrowser::select(
i);
521 printf(
"PointProcessBrowser::accept\n");
const char * secname(Section *sec)
name of section (for use in error messages)
void nrn_pushsec(Section *sec)
int execute(bool notify=true)
bool is_selected(int type)
virtual Glyph * standard_glyph()
virtual void append_item(const char *)
virtual void select_and_adjust(GlyphIndex)
virtual void set_select_action(const char *, Object *)
virtual void select(GlyphIndex)
virtual void set_accept_action(const char *, Object *)
virtual void select_section(Section *)
virtual ~OcSectionBrowser()
Object * accept_pycallback_
Object * select_pycallback_
bool select_is_pycallback_
OcSectionBrowser(Object *)
bool accept_is_pycallback_
virtual ~PointProcessBrowser()
virtual void add_pp(Object *)
PointProcessBrowser(OcList *)
virtual void append_pp(Object *)
virtual void select(GlyphIndex)
static void make_point_process_browser(OcList *)
virtual void unref() const
static void make_section_browser()
virtual void select(GlyphIndex)
virtual ~SectionBrowser()
SectionBrowserImpl * sbi_
void class2oc(const char *, ctor_f *cons, dtor_f *destruct, Member_func *, Member_ret_obj_func *, Member_ret_str_func *)
int hoc_is_object_arg(int narg)
char * hoc_object_name(Object *ob)
#define TRY_GUI_REDIRECT_ACTUAL_DOUBLE(name, obj)
#define TRY_GUI_REDIRECT_NO_RETURN(name, obj)
#define TRY_GUI_REDIRECT_OBJ(name, obj)
constexpr auto range_sec(hoc_List *iterable)
Object ** hoc_objgetarg(int)
impl_ptrs methods
Collection of pointers to functions with python-version-specific implementations.
void section_ref(Section *)
void section_unref(Section *)
std::vector< Memb_func > memb_func
static void call_python_with_section(Object *pyact, Section *sec)
static void * sb_cons(Object *)
static void sb_destruct(void *v)
void SectionBrowser_reg()
static Member_func sb_members[]
static double sb_accept_action(void *v)
static double sb_select_action(void *v)
static double sb_select(void *v)
void section_menu(double, int, MechSelector *=NULL)
void(* call_python_with_section)(Object *, Section *)