# trame-dockview **Repository Path**: mirrors_Kitware/trame-dockview ## Basic Information - **Project Name**: trame-dockview - **Description**: Trame wrapper to a Docking Layout Manager - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-23 - **Last Updated**: 2026-01-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README .. |pypi_download| image:: https://img.shields.io/pypi/dm/trame-dockview trame-dockview: Docking layout system for trame |pypi_download| =========================================================================== .. image:: https://github.com/Kitware/trame-dockview/actions/workflows/test_and_release.yml/badge.svg :target: https://github.com/Kitware/trame-dockview/actions/workflows/test_and_release.yml :alt: Test and Release Trame-dockview extend trame **widgets** with `dockview `_ capabilities tuned so it can easily be used within trame. Dockview is a fully featured Docking Layout Manager with customizable themes and controls. This package is not supposed to be used by itself but rather should come as a dependency of **trame**. For any specificity, please refer to `the trame documentation `_. .. image:: https://raw.githubusercontent.com/Kitware/trame-dockview/master/trame-dockview.png :alt: Example of dockview usage Installing ----------------------------------------------------------- trame-dockview can be installed with `pip `_: .. code-block:: bash pip install --upgrade trame-dockview Usage ----------------------------------------------------------- The `Trame Tutorial `_ is the place to go to learn how to use the library and start building your own application. The `API Reference `_ documentation provides API-level documentation. The `Dockview website `_ is very well made for exploring capabilities that the library is providing. DockView Widget ``````````````````````````````````````````````````````````` First you need to import the **dockview** module so you can instantiate the layout manager like illustrated below. .. code-block:: python from trame.app import TrameApp from trame.ui.html import DivLayout from trame.ui.vuetify3 import SinglePageLayout from trame.widgets import dockview, html from trame.widgets import vtk as vtk_widgets from trame.widgets import vuetify3 as v3 THEMES = [ "Abyss", "AbyssSpaced", "Dark", "Dracula", "Light", "LightSpaced", "Replit", "VisualStudio", ] class Demo(TrameApp): def __init__(self, server=None): super().__init__(server) self._panel_count = 0 self._build_ui() # init vtk.js vtk_widgets.VtkView(trame_server=server) def _build_ui(self): with SinglePageLayout(self.server, full_height=True) as self.ui: with self.ui.toolbar: v3.VSpacer() v3.VSelect( v_model=("theme", "Abyss"), items=("themes", THEMES), hide_details=True, density="compact", style="max-width:200px;", ) v3.VBtn(icon="mdi-plus", click=self.add_panel, density="compact") with self.ui.content: with v3.VContainer(classes="pa-0 ma-0 fill-height", fluid=True): dockview.DockView( ctx_name="dock_view", theme=("theme",), ) def add_panel(self): self._panel_count += 1 panel_id = f"panel_{self._panel_count}" title = f"Panel {self._panel_count}" template_name = f"dock_{panel_id}" resolution_key = f"{template_name}_resolution" with DivLayout(self.server, template_name) as layout: layout.root.style = "height:100%;position:relative;" with vtk_widgets.VtkView() as view: with html.Div( style="position:absolute;top:1rem;right:1rem;z-index:1;display:flex;flex-align:center;" ): html.Input( type="range", v_model_number=(resolution_key, 6), min=3, max=60, step=1, ) html.Button( "Reset", style="padding:0 5px;margin:10px;background:white;", click=view.reset_camera, ) with vtk_widgets.VtkGeometryRepresentation(): vtk_widgets.VtkAlgorithm( vtk_class="vtkConeSource", state=(f"{{ resolution: {resolution_key} }}",), ) self.ctx.dock_view.add_panel(panel_id, title, template_name) def main(): app = Demo() app.server.start() if __name__ == "__main__": main() License ----------------------------------------------------------- trame-dockview is made available under the MIT License. For more details, see `LICENSE `_ This license has been chosen to match the one use by `DockView License `_ which is instrumental for making that library possible. Community ----------------------------------------------------------- `Trame `_ | `Discussions `_ | `Issues `_ | `Contact Us `_ .. image:: https://zenodo.org/badge/410108340.svg :target: https://zenodo.org/badge/latestdoi/410108340 Enjoying trame? ----------------------------------------------------------- Share your experience `with a testimonial `_ or `with a brand approval `_. JavaScript dependency ----------------------------------------------------------- This Python package bundle the following **dockview-vue@4.4.0** library. If you would like us to upgrade its dependency or expose more capabilities provided by the underlying library, `please reach out `_.