summaryrefslogtreecommitdiff
path: root/doc/classes/JSONTreeView.src/M000037.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/classes/JSONTreeView.src/M000037.html')
-rw-r--r--doc/classes/JSONTreeView.src/M000037.html84
1 files changed, 84 insertions, 0 deletions
diff --git a/doc/classes/JSONTreeView.src/M000037.html b/doc/classes/JSONTreeView.src/M000037.html
new file mode 100644
index 0000000..ec1860e
--- /dev/null
+++ b/doc/classes/JSONTreeView.src/M000037.html
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>ask_for_hash_pair (JSONTreeView)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 831</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ask_for_hash_pair</span>(<span class="ruby-identifier">parent</span>)
+ <span class="ruby-identifier">key_input</span> = <span class="ruby-identifier">type_input</span> = <span class="ruby-identifier">value_input</span> = <span class="ruby-keyword kw">nil</span>
+
+ <span class="ruby-identifier">dialog</span> = <span class="ruby-constant">Dialog</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;New (key, value) pair for Hash&quot;</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>,
+ [ <span class="ruby-constant">Stock</span><span class="ruby-operator">::</span><span class="ruby-constant">OK</span>, <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_ACCEPT</span> ],
+ [ <span class="ruby-constant">Stock</span><span class="ruby-operator">::</span><span class="ruby-constant">CANCEL</span>, <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_REJECT</span> ]
+ )
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">width_request</span> = <span class="ruby-value">640</span>
+
+ <span class="ruby-identifier">hbox</span> = <span class="ruby-constant">HBox</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">false</span>, <span class="ruby-value">5</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-constant">Label</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Key:&quot;</span>), <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">key_input</span> = <span class="ruby-constant">Entry</span>.<span class="ruby-identifier">new</span>)
+ <span class="ruby-identifier">key_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-ivar">@key</span> <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">vbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">hbox</span>, <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-identifier">key_input</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-identifier">:activate</span>) <span class="ruby-keyword kw">do</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">content</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">key_input</span>.<span class="ruby-identifier">text</span> }
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">'Key already exists in Hash!'</span>)
+ <span class="ruby-identifier">key_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-value str">''</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">'Key has been changed.'</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+
+ <span class="ruby-identifier">hbox</span> = <span class="ruby-constant">HBox</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">false</span>, <span class="ruby-value">5</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-constant">Label</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Type:&quot;</span>), <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">type_input</span> = <span class="ruby-constant">ComboBox</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">true</span>))
+ <span class="ruby-constant">ALL_TYPES</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">type_input</span>.<span class="ruby-identifier">append_text</span>(<span class="ruby-identifier">t</span>) }
+ <span class="ruby-identifier">type_input</span>.<span class="ruby-identifier">active</span> = <span class="ruby-ivar">@type</span> <span class="ruby-operator">||</span> <span class="ruby-value">0</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">vbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">hbox</span>, <span class="ruby-keyword kw">false</span>)
+
+ <span class="ruby-identifier">type_input</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-identifier">:changed</span>) <span class="ruby-keyword kw">do</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">editable</span> = <span class="ruby-keyword kw">false</span>
+ <span class="ruby-keyword kw">case</span> <span class="ruby-constant">ALL_TYPES</span>[<span class="ruby-identifier">type_input</span>.<span class="ruby-identifier">active</span>]
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'Array'</span>, <span class="ruby-value str">'Hash'</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-value str">''</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'TrueClass'</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-value str">'true'</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'FalseClass'</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-value str">'false'</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'NilClass'</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-value str">'null'</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-value str">''</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">editable</span> = <span class="ruby-keyword kw">true</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+
+ <span class="ruby-identifier">hbox</span> = <span class="ruby-constant">HBox</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">false</span>, <span class="ruby-value">5</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-constant">Label</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Value:&quot;</span>), <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">value_input</span> = <span class="ruby-constant">Entry</span>.<span class="ruby-identifier">new</span>)
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">width_chars</span> = <span class="ruby-value">60</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-ivar">@value</span> <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">vbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">hbox</span>, <span class="ruby-keyword kw">false</span>)
+
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-value str">'key-press-event'</span><span class="ruby-value str">'key-press-event'</span>, <span class="ruby-operator">&amp;</span><span class="ruby-constant">DEFAULT_DIALOG_KEY_PRESS_HANDLER</span>)
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">show_all</span>
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">focus</span> = <span class="ruby-identifier">dialog</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">run</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">response</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">response</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_ACCEPT</span>
+ <span class="ruby-ivar">@key</span> = <span class="ruby-identifier">key_input</span>.<span class="ruby-identifier">text</span>
+ <span class="ruby-identifier">type</span> = <span class="ruby-constant">ALL_TYPES</span>[<span class="ruby-ivar">@type</span> = <span class="ruby-identifier">type_input</span>.<span class="ruby-identifier">active</span>]
+ <span class="ruby-identifier">content</span> = <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">text</span>
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@key</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">content</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">return</span>
+ <span class="ruby-keyword kw">ensure</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">destroy</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file