.. _secbrows: SectionBrowser -------------- .. class:: SectionBrowser Syntax: ``sb = h.SectionBrowser()`` ``sb = h.SectionBrowser(SectionList)`` Description: Class that makes a visible list of all section names. If the optional SectionList arg is present then only those section names are shown in the browser. Example: .. code-block:: python from neuron import h, gui soma = h.Section(name='soma') dend = h.Section(name='dend') sl = h.SectionList([soma]) # only the soma will be shown sb = h.SectionBrowser(sl) .. image:: ../../images/secbrows-sectionList.png :align: center .. seealso:: :class:`SectionList`, :ref:`stdrun_shape` ---- .. method:: SectionBrowser.select Syntax: ``.select(sec=section)`` Description: specified section is highlighted. Example: .. code-block:: python from neuron import h, gui soma = h.Section(name='soma') axon = h.Section(name='axon') sb = h.SectionBrowser() sb.select(sec=axon) .. image:: ../../images/secbrows-select.png :align: center ---- .. method:: SectionBrowser.select_action Syntax: ``sb.select_action(python_func)`` Description: A Python function is executed when an item is selected (single click or dragging) by the mouse. Before execution, the selected section is pushed. (and popped after the function completes.) A Python function is executed in the object context in which \ ``select_action`` registered it. Example: .. code-block:: python from neuron import h, gui soma = h.Section(name='soma') axon = h.Section(name='axon') def select(sec): print('select: {} {}'.format(sec, type(sec))) def accept(sec): print('accept: {}'.format(sec)) sb = h.SectionBrowser() sb.select_action(select) sb.accept_action(accept) .. note:: Python support for :meth:`select_action` was added in NEURON 7.5. ---- .. method:: SectionBrowser.accept_action Syntax: ``sb.accept_action(python_func)`` Description: A Python function is executed when an item is accepted (double click) by the mouse. Before execution, the selected section is pushed. (and popped after the function completes.) A Python function is executed in the object context in which the ``accept_action`` registered it. Example: .. code-block:: python from neuron import h, gui soma = h.Section(name='soma') axon = h.Section(name='axon') def select(sec): print('select: {} {}'.format(sec, type(sec))) def accept(sec): print('accept: {}'.format(sec)) sb = h.SectionBrowser() sb.select_action(select) sb.accept_action(accept) .. note:: Python support for :meth:`accept_action` was added in NEURON 7.5.