Skip to content

Commit 596b9aa

Browse files
committed
Adding Guillaume Jobst external expression editor
1 parent 4bf9f8c commit 596b9aa

File tree

3 files changed

+410
-0
lines changed

3 files changed

+410
-0
lines changed

MainMenuCommon.xml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
3+
<!--
4+
-->
5+
6+
<mainMenu>
7+
<!-- menuDocument can only contain 1 menu element, whose id is
8+
implicitly "root_menu"
9+
-->
10+
<menu>
11+
12+
<!-- Set external editor -->
13+
14+
<addScriptItem id="set_external_editor">
15+
<label>Set External Text Editor</label>
16+
<parent>preferences_submenu</parent>
17+
<insertAfter>h.prefs_scripting</insertAfter>
18+
<scriptCode>
19+
<![CDATA[
20+
import houdini_external_editor
21+
reload(houdini_external_editor)
22+
houdini_external_editor.set_external_editor()]]>
23+
</scriptCode>
24+
</addScriptItem>
25+
26+
</menu>
27+
</mainMenu>

PARMmenu.xml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
3+
<!--
4+
-->
5+
6+
<menuDocument>
7+
<!-- menuDocument can only contain 1 menu element, whose id is
8+
implicitly "root_menu"
9+
-->
10+
<menu>
11+
12+
<!-- External Editor -->
13+
14+
<addScriptItem id="open_external_editor">
15+
<label>Edit in External Editor</label>
16+
<parent>expression_menu</parent>
17+
<insertAfter>edit_expression</insertAfter>
18+
<context>
19+
<expression>
20+
<![CDATA[
21+
try:
22+
import houdini_external_editor
23+
return houdini_external_editor.is_valid_parm(kwargs["parms"][0])
24+
except:
25+
return False]]></expression>
26+
</context>
27+
<scriptCode>
28+
<![CDATA[
29+
import houdini_external_editor
30+
reload(houdini_external_editor)
31+
houdini_external_editor.add_watcher(kwargs["parms"][0])]]>
32+
</scriptCode>
33+
</addScriptItem>
34+
35+
<!-- Remove watcher -->
36+
37+
<addScriptItem id="remove_file_watcher">
38+
<label>Remove File Watcher</label>
39+
<parent>expression_menu</parent>
40+
<insertAfter>open_external_editor</insertAfter>
41+
<context>
42+
<expression>
43+
<![CDATA[
44+
try:
45+
import houdini_external_editor
46+
return houdini_external_editor.parm_has_watcher(kwargs["parms"][0])
47+
except:
48+
return False]]>
49+
</expression>
50+
</context>
51+
<scriptCode>
52+
<![CDATA[
53+
import houdini_external_editor
54+
reload(houdini_external_editor)
55+
houdini_external_editor.remove_file_watched(kwargs["parms"][0])]]>
56+
</scriptCode>
57+
</addScriptItem>
58+
59+
</menu>
60+
</menuDocument>

0 commit comments

Comments
 (0)