git.lucas.co / hou-control
git clone https://git.lucas.co/hou-control.git

commitc4e416c38a9d62699f9dec511ef5f1465f0fa81b
parent698ade4b55
authorLucas Galante <[email protected]>
date2026-04-05 20:31
hc: add hcmaps.py

 python3.11libs/hc/hcmaps.py | 82 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 82 insertions(+)

diff --git a/python3.11libs/hc/hcmaps.py b/python3.11libs/hc/hcmaps.py
new file mode 100644
index 0000000..88f04b0
--- /dev/null
+++ b/python3.11libs/hc/hcmaps.py
@@ -0,0 +1,82 @@
+class HCMaps:
+    def __init__(self):
+        return
+
+    def tab_map_base(self, session, pane, tab):
+        return {
+            'Close Other Tabs':          tab.closeOtherTabs,
+            'Close Tab':                 tab.close,
+            'Color Editor':              session.colorEditor,
+            'Contract Pane':             pane.contract,
+            'Expand Pane':               pane.expand,
+            'Floating Parameter Editor': session.floatingParameterEditor,
+            'Hide Shelf':                session.hideShelf,
+            'Maximize Pane':             pane.toggleMaximize,
+            'Next Tab':                  pane.nextTab,
+            'Open File':                 session.openFile,
+            'Open Preferences':          session.openPreferences,
+            'Previous Tab':              pane.prevTab,
+            'Reload Colors':             session.reloadColorSchemes,
+            'Reload HC':                 session.reloadHC,
+            'Reload Hotkeys':            session.reloadHotkeys,
+            'Reload Keycam':             session.reloadKeycam,
+            # 'Rename Tabs':               session.renameTabs,
+            'Save':                      session.save,
+            'Set Type: NetworkEditor':   lambda: self.tab.setType('NetworkEditor'),
+            'Set Type: Parm':            lambda: self.tab.setType('Parm'),
+            'Set Type: PythonShell':     lambda: self.tab.setType('PythonShell'),
+            'Set Type: SceneViewer':     lambda: self.tab.setType('SceneViewer'),
+            'Set Type: Spreadsheet':     lambda: self.tab.setType('DetailsView'),
+            'Show Shelf':                session.showShelf,
+            'Split Rotate':              pane.splitRotate,
+            'Split Swap':                pane.splitSwap,
+            'Toggle All Menus':          session.toggleMenus,
+            'Toggle All Paths':          session.toggleAllTabs,
+            'Toggle Autosave':           session.toggleAutoSave,
+            'Toggle Main Menu':          session.toggleMainMenu,
+            'Toggle Stowbars':           session.toggleStowbars,
+            'Toggle Tabs':               pane.toggleTabs,
+            'Toggle Update Mode':        session.toggleUpdateMode,
+            'Update Mode: Auto':         session.setUpdateModeAuto,
+            'Update Mode: Manual':       session.setUpdateModeManual
+        }
+
+    def tab_map_scene_viewer(self, session, pane, tab):
+        return {
+            'Frame':                tab.frameAllViewports,
+            'Home Viewports':       tab.homeAllViewports,
+            'Keycam':               tab.keycam,
+            'Toggle Backface':      tab.toggleBackface,
+            'Toggle Bars':          tab.toggleBars,
+            'Toggle Display Bar':   tab.toggleDisplayBar,
+            'Toggle Grid':          tab.toggleGrid,
+            'Toggle Group List':    tab.toggleGroupList,
+            'Toggle Light Geo':     tab.toggleLightGeo,
+            'Toggle Operation Bar': tab.toggleOperationBar,
+            'Toggle Point Markers': tab.togglePointMarkers,
+            'Toggle Point Normals': tab.togglePointNormals,
+            'Toggle Point Numbers': tab.togglePointNumbers,
+            'Toggle Prim Normals':  tab.togglePrimNormals,
+            'Toggle Prim Numbers':  tab.togglePrimNumbers,
+            'Toggle Selection Bar': tab.toggleSelectionBar,
+            'Toggle Vectors':       tab.toggleVectors
+        }
+
+    def tab_map_path(self, session, pane, tab):
+        return {
+            'Toggle Path': tab.toggleNetworkControls,
+            'Toggle Pin':  tab.togglePin
+        }
+
+    def tab_map_network_editor(self, session, pane, tab):
+        return {
+            'Deselect All':       tab.deselectAllNodes,
+            'Frame All':          tab.frameAll,
+            'Reload Node Shapes': tab.reloadNodeShapes,
+            'Rename Node':        tab.renameNode,
+            'Set Node Colors':    tab.setNodeColors,
+            'Set Node Shapes':    tab.setNodeShapes,
+            'Show Path Message':  tab.showPathMessage,
+            'ToggleGrid Mode':    tab.toggleGridMode,
+            'Toggle Menu':        tab.toggleMenu
+        }