File: root_menu.lht

package info (click to toggle)
pcb-rnd 3.1.7b-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,108 kB
  • sloc: ansic: 213,400; yacc: 6,241; sh: 4,698; awk: 3,016; makefile: 2,254; lex: 1,166; python: 519; xml: 261; lisp: 154; tcl: 67; perl: 34; javascript: 6; ruby: 5
file content (232 lines) | stat: -rw-r--r-- 6,640 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
ha:lht_tree_doc {

ha:roots {
	ha:rnd-menu-v* {
		type=ha
		name={rnd-menu-v1}
		desc={Menu file}
		li:children {
			ha:mouse {
				type=li
				desc={mouse bindings}
				li:children {
					ha:left {
						type=li
						desc={actions to execute on left button click}
						sy:children = {/lht_tree_doc/comm/mouse_actions/children}
					}
					ha:middle {
						type=li
						desc={actions to execute on middle button click}
						sy:children = {/lht_tree_doc/comm/mouse_actions/children}
					}
					ha:right {
						type=li
						desc={actions to execute on right button click}
						sy:children = {/lht_tree_doc/comm/mouse_actions/children}
					}
					ha:scroll-up {
						type=li
						desc={actions to execute on scroll wheel scolling up event}
						sy:children = {/lht_tree_doc/comm/mouse_actions_scroll/children}
					}
					ha:scroll-down {
						type=li
						desc={actions to execute on scroll wheel scolling down event}
						sy:children = {/lht_tree_doc/comm/mouse_actions_scroll/children}
					}
				}
			}
			ha:main_menu {
				type=li
				desc={root of the main pull-down menu system; ordered list of main menus}
				li:children {
					ha:MENUNAME {
						type=ha
						desc={main menu name, e.g. "File"}
						li:children {
							sy:m@dup = {/lht_tree_doc/comm/submenu/children/m}
							sy:submenu = {/lht_tree_doc/comm/submenu}
						}
					}
				}
			}
			ha:popups {
				type=li
				desc={collection of popup menus}
				li:children {
					ha:POPUPNAME {
						type=ha
						desc={popup menu name, e.g. "layer" for layer context menu}
						li:children {
							sy:m@dup = {/lht_tree_doc/comm/submenu/children/m}
							sy:submenu = {/lht_tree_doc/comm/submenu}
						}
					}
				}
			}
			ha:toolbar_static {
				type=li
				desc={ordered list (from left to right) of toolbar icons}
				li:children {
					ha:TOOLNAME {
						type=ha
						desc={tool menu name, e.g. "polyhole" for the polygon hole draw tool}
						li:children {
							ha:tip { type=te; desc={tooltip for the icon button} }
						}
					}
				}
			}
			ha:anchored {
				type=li
				desc={list of submenus; child of submenu would be copied and appended after ever occurance of the ANCHORNAME }
				li:children {
					ha:@ANCHORNAME {
						type=ha
						desc={list menu items/subtrees to be copied after each @ANCHORNAME in the menu system}
						li:children {
							sy:submenu = {/lht_tree_doc/comm/submenu}
						}
					}
				}
			}
			ha:scripts {
				type=ha
				desc={ a collection of named action scripts that can be symnlinked from elsewhere in the menu file }
				li:children {
					ha:SCRIPTNAME {
						type=li
						desc={action script}
					}
				}
			}
		}
	}

	ha:rnd-menu-patch-v* {
		type=ha
		name={rnd-menu-patch-v1}
		desc={Menu patch instructions}
		li:children {
			ha:prio {
				type=te
				desc={optional; integer priority value used in ordering the menu files/patches before merging }
			}
			ha:patch {
				type=li
				desc={ordered list of patch instructions}
				li:children {
					ha:append_menu {
						type=ha
						desc={append (or overwrite) a submenu tree at a given path}
						li:children {
							sy:path = {/lht_tree_doc/comm/path}
							sy:submenu = {/lht_tree_doc/comm/submenu}
						}
					}
					ha:remove_menu {
						type=ha
						desc={remove a submenu or menu item at a given path}
						li:children {
							sy:path = {/lht_tree_doc/comm/path}
						}
					}
					ha:overwrite_menu_props {
						type=ha
						desc={overwrite properties of an existing menu}
						li:children {
							sy:path = {/lht_tree_doc/comm/path}
							ha:props = {type=ha; desc={same as menu properties documented at LEAFSUBMENUNAME}}
						}
					}
				}
			}
		}
	}
}

ha:comm {
	ha:mouse_actions {
		hide=1
		li:children {
			ha:press         { type=li; desc={actions to execute on mouse button press when no modifier is pressed} }
			ha:press-shift   { type=li; desc={actions to execute on mouse button press when shift is pressed} }
			ha:press-ctrl    { type=li; desc={actions to execute on mouse button press when control is pressed} }
			ha:release       { type=li; desc={actions to execute on mouse button release when no modifier is pressed} }
			ha:release-shift { type=li; desc={actions to execute on mouse button release when shift is pressed} }
			ha:release-ctrl  { type=li; desc={actions to execute on mouse button release when control is pressed} }
		}
	}
	ha:mouse_actions_scroll {
		hide=1
		li:children {
			ha:press         { type=li; desc={actions to execute on mouse button press when no modifier is pressed} }
			ha:press-shift   { type=li; desc={actions to execute on mouse button press when shift is pressed} }
			ha:press-ctrl    { type=li; desc={actions to execute on mouse button press when control is pressed} }
		}
	}

	ha:submenu {
		type=li
		desc={ordered list of menu items for a submenu}
		li:children {
			ha:m            = {valtype=string; desc={mnemonic: single character that should be underlined and used as a hot key in the menu name}}
			ha:-            = {valtype=none; desc={horizontal separator}}
			ha:@ANCHOR      = {valtype=none; desc={an anchor is an invisible placeholder where a dynamically generated set of menu items should be inserted runtime}}
			ha:SUBSUBMENUNAME  = {
				type=ha
				desc={sub-submenu item: opens a new level of submenu when clicked}
				li:children {
					sy:m@dup = {/lht_tree_doc/comm/submenu/children/m}
					sy:submenu = {/lht_tree_doc/comm/submenu}
				}
			}
			ha:LEAFSUBMENUNAME  = {
				type=ha
				desc={leaf submenu item: executes an action when clicked}
				li:children {
					sy:m@dup = {/lht_tree_doc/comm/submenu/children/m}
					ha:a1 {
						type=li
						name=a
						desc={list of alternative hotkey sequences to activate the menu}
					}
					ha:a2 {
						valtype=string
						name=a
						desc={a single hotkey sequences to activate the menu}
					}
					ha:action1 {
						type=li
						name=action
						desc={list of actions to execute when the menu is activated}
					}
					ha:action2 {
						valtype=string
						name=action
						desc={a single action to execute when the menu is activated}
					}
					ha:tip {
						valtype=string
						desc={tooltip text}
					}
					ha:checked {
						valtype=string
						desc={the menu item has a checkbox; value is the action to execute to determine whether the menu item's checkbox is checked or not}
					}
					ha:update_on {
						valtype=string
						desc={path of a conf node that triggers re-evaluation of the checkbox state}
					}
				}
			}
		}
	}
	ha:path {
		type=te
		desc={path to a menu item, starting from the menu tree root; e.g. /main_menu/File/Revert }
	}
}
}