diff options
Diffstat (limited to 'doc/classes/JSON/Editor/MainWindow.html')
-rw-r--r-- | doc/classes/JSON/Editor/MainWindow.html | 1062 |
1 files changed, 0 insertions, 1062 deletions
diff --git a/doc/classes/JSON/Editor/MainWindow.html b/doc/classes/JSON/Editor/MainWindow.html deleted file mode 100644 index d459c9f..0000000 --- a/doc/classes/JSON/Editor/MainWindow.html +++ /dev/null @@ -1,1062 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <title>JSON::Editor::MainWindow</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <link rel="stylesheet" href="../../../css/reset.css" type="text/css" media="screen" /> - <link rel="stylesheet" href="../../../css/main.css" type="text/css" media="screen" /> - <script src="../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script> - <script src="../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script> - <script src="../../../js/main.js" type="text/javascript" charset="utf-8"></script> -</head> - -<body> - <div class="banner"> - <h1> - <span class="type">Class</span> - JSON::Editor::MainWindow - - <span class="parent">< - - Gtk::Window - - </span> - - </h1> - <ul class="files"> - - <li><a href="../../../files/lib/json/editor_rb.html">lib/json/editor.rb</a></li> - - </ul> - </div> - <div id="bodyContent"> - <div id="content"> - - <div class="description"> - <p> -The editor main window -</p> - - </div> - - - - - - - - - - <div class="sectiontitle">Methods</div> - <dl class="methods"> - - <dt>A</dt> - <dd> - <ul> - - <li><a href="#method-i-ask_for_location">ask_for_location</a>,</li> - - <li><a href="#method-i-ask_save">ask_save</a></li> - - </ul> - </dd> - - <dt>C</dt> - <dd> - <ul> - - <li><a href="#method-i-change">change</a>,</li> - - <li><a href="#method-i-clear">clear</a>,</li> - - <li><a href="#method-i-create_menu_bar">create_menu_bar</a></li> - - </ul> - </dd> - - <dt>D</dt> - <dd> - <ul> - - <li><a href="#method-i-display_status">display_status</a>,</li> - - <li><a href="#method-i-display_title">display_title</a></li> - - </ul> - </dd> - - <dt>E</dt> - <dd> - <ul> - - <li><a href="#method-i-edit">edit</a></li> - - </ul> - </dd> - - <dt>F</dt> - <dd> - <ul> - - <li><a href="#method-i-file_open">file_open</a>,</li> - - <li><a href="#method-i-file_save">file_save</a>,</li> - - <li><a href="#method-i-file_save_as">file_save_as</a></li> - - </ul> - </dd> - - <dt>L</dt> - <dd> - <ul> - - <li><a href="#method-i-load_file">load_file</a>,</li> - - <li><a href="#method-i-load_location">load_location</a>,</li> - - <li><a href="#method-i-location_open">location_open</a></li> - - </ul> - </dd> - - <dt>N</dt> - <dd> - <ul> - - <li><a href="#method-c-new">new</a></li> - - </ul> - </dd> - - <dt>Q</dt> - <dd> - <ul> - - <li><a href="#method-i-quit">quit</a></li> - - </ul> - </dd> - - <dt>R</dt> - <dd> - <ul> - - <li><a href="#method-i-read_data">read_data</a></li> - - </ul> - </dd> - - <dt>S</dt> - <dd> - <ul> - - <li><a href="#method-i-select_file">select_file</a>,</li> - - <li><a href="#method-i-store_file">store_file</a></li> - - </ul> - </dd> - - <dt>U</dt> - <dd> - <ul> - - <li><a href="#method-i-unchange">unchange</a></li> - - </ul> - </dd> - - <dt>V</dt> - <dd> - <ul> - - <li><a href="#method-i-view_new_model">view_new_model</a></li> - - </ul> - </dd> - - </dl> - - - - <div class="sectiontitle">Included Modules</div> - <ul> - - <li> - - <span>Gtk</span> - - START:includes - </li> - - </ul> - - - - - - - - - - - - <div class="sectiontitle">Class Public methods</div> - - <div class="method"> - <div class="title" id="method-c-new"> - - <a name="method-c-new"></a><b>new</b>(encoding) - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-c-new_source')" id="l_method-c-new_source">show</a> - - </p> - <div id="method-c-new_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1050</span> -1050: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">encoding</span>) -1051: <span class="ruby-ivar">@changed</span> = <span class="ruby-keyword kw">false</span> -1052: <span class="ruby-ivar">@encoding</span> = <span class="ruby-identifier">encoding</span> -1053: <span class="ruby-keyword kw">super</span>(<span class="ruby-constant">TOPLEVEL</span>) -1054: <span class="ruby-identifier">display_title</span> -1055: <span class="ruby-identifier">set_default_size</span>(<span class="ruby-value">800</span>, <span class="ruby-value">600</span>) -1056: <span class="ruby-identifier">signal_connect</span>(<span class="ruby-value">:delete_event</span>) { <span class="ruby-identifier">quit</span> } -1057: -1058: <span class="ruby-identifier">vbox</span> = <span class="ruby-constant">VBox</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">false</span>, <span class="ruby-value">0</span>) -1059: <span class="ruby-identifier">add</span>(<span class="ruby-identifier">vbox</span>) -1060: <span class="ruby-comment cmt">#vbox.border_width = 0</span> -1061: -1062: <span class="ruby-ivar">@treeview</span> = <span class="ruby-constant">JSONTreeView</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>) -1063: <span class="ruby-ivar">@treeview</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-value">:'cursor-changed'</span>) <span class="ruby-keyword kw">do</span> -1064: <span class="ruby-identifier">display_status</span>(<span class="ruby-value str">''</span>) -1065: <span class="ruby-keyword kw">end</span> -1066: -1067: <span class="ruby-identifier">menu_bar</span> = <span class="ruby-identifier">create_menu_bar</span> -1068: <span class="ruby-identifier">vbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">menu_bar</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value">0</span>) -1069: -1070: <span class="ruby-identifier">sw</span> = <span class="ruby-constant">ScrolledWindow</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>) -1071: <span class="ruby-identifier">sw</span>.<span class="ruby-identifier">shadow_type</span> = <span class="ruby-constant">SHADOW_ETCHED_IN</span> -1072: <span class="ruby-identifier">sw</span>.<span class="ruby-identifier">set_policy</span>(<span class="ruby-constant">POLICY_AUTOMATIC</span>, <span class="ruby-constant">POLICY_AUTOMATIC</span>) -1073: <span class="ruby-identifier">vbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">sw</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">0</span>) -1074: <span class="ruby-identifier">sw</span>.<span class="ruby-identifier">add</span>(<span class="ruby-ivar">@treeview</span>) -1075: -1076: <span class="ruby-ivar">@status_bar</span> = <span class="ruby-constant">Statusbar</span>.<span class="ruby-identifier">new</span> -1077: <span class="ruby-identifier">vbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-ivar">@status_bar</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value">0</span>) -1078: -1079: <span class="ruby-ivar">@filename</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">nil</span> -1080: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@filename</span> -1081: <span class="ruby-identifier">data</span> = <span class="ruby-identifier">read_data</span>(<span class="ruby-ivar">@filename</span>) -1082: <span class="ruby-identifier">view_new_model</span> <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">data2model</span>(<span class="ruby-identifier">data</span>) -1083: <span class="ruby-keyword kw">end</span> -1084: -1085: <span class="ruby-identifier">signal_connect</span>(<span class="ruby-value">:button_release_event</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">_</span>,<span class="ruby-identifier">event</span><span class="ruby-operator">|</span> -1086: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">event</span>.<span class="ruby-identifier">button</span> <span class="ruby-operator">==</span> <span class="ruby-value">2</span> -1087: <span class="ruby-identifier">c</span> = <span class="ruby-constant">Gtk</span><span class="ruby-operator">::</span><span class="ruby-constant">Clipboard</span>.<span class="ruby-identifier">get</span>(<span class="ruby-constant">Gdk</span><span class="ruby-operator">::</span><span class="ruby-constant">Selection</span><span class="ruby-operator">::</span><span class="ruby-constant">PRIMARY</span>) -1088: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">url</span> = <span class="ruby-identifier">c</span>.<span class="ruby-identifier">wait_for_text</span> -1089: <span class="ruby-identifier">location_open</span> <span class="ruby-identifier">url</span> -1090: <span class="ruby-keyword kw">end</span> -1091: <span class="ruby-keyword kw">false</span> -1092: <span class="ruby-keyword kw">else</span> -1093: <span class="ruby-keyword kw">true</span> -1094: <span class="ruby-keyword kw">end</span> -1095: <span class="ruby-keyword kw">end</span> -1096: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="sectiontitle">Instance Public methods</div> - - <div class="method"> - <div class="title" id="method-i-ask_for_location"> - - <a name="method-i-ask_for_location"></a><b>ask_for_location</b>() - - </div> - - <div class="description"> - <p> -Ask for location URI a to load data from. Returns the URI as a string. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-ask_for_location_source')" id="l_method-i-ask_for_location_source">show</a> - - </p> - <div id="method-i-ask_for_location_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1320</span> -1320: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ask_for_location</span> -1321: <span class="ruby-identifier">dialog</span> = <span class="ruby-constant">Dialog</span>.<span class="ruby-identifier">new</span>( -1322: <span class="ruby-value str">"Load data from location..."</span>, -1323: <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>, -1324: [ <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> ], -1325: [ <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> ] -1326: ) -1327: <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>) -1328: -1329: <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">"Location:"</span>), <span class="ruby-keyword kw">false</span>) -1330: <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">location_input</span> = <span class="ruby-constant">Entry</span>.<span class="ruby-identifier">new</span>) -1331: <span class="ruby-identifier">location_input</span>.<span class="ruby-identifier">width_chars</span> = <span class="ruby-value">60</span> -1332: <span class="ruby-identifier">location_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-ivar">@location</span> <span class="ruby-operator">||</span> <span class="ruby-value str">''</span> -1333: -1334: <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>) -1335: -1336: <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-value">:'key-press-event'</span>, &<span class="ruby-constant">DEFAULT_DIALOG_KEY_PRESS_HANDLER</span>) -1337: <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">show_all</span> -1338: <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> -1339: <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> -1340: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@location</span> = <span class="ruby-identifier">location_input</span>.<span class="ruby-identifier">text</span> -1341: <span class="ruby-keyword kw">end</span> -1342: <span class="ruby-keyword kw">end</span> -1343: <span class="ruby-keyword kw">return</span> -1344: <span class="ruby-keyword kw">ensure</span> -1345: <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">destroy</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dialog</span> -1346: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-ask_save"> - - <a name="method-i-ask_save"></a><b>ask_save</b>() - - </div> - - <div class="description"> - <p> -Opens a dialog, asking, if changes should be saved to a file. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-ask_save_source')" id="l_method-i-ask_save_source">show</a> - - </p> - <div id="method-i-ask_save_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1141</span> -1141: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ask_save</span> -1142: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">question_dialog</span>(<span class="ruby-keyword kw">self</span>, -1143: <span class="ruby-value str">"Unsaved changes to JSON model. Save?"</span>) -1144: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@filename</span> -1145: <span class="ruby-identifier">file_save</span> -1146: <span class="ruby-keyword kw">else</span> -1147: <span class="ruby-identifier">file_save_as</span> -1148: <span class="ruby-keyword kw">end</span> -1149: <span class="ruby-keyword kw">end</span> -1150: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-change"> - - <a name="method-i-change"></a><b>change</b>() - - </div> - - <div class="description"> - <p> -Sets editor status to changed, to indicate that the edited data containts -unsaved changes. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-change_source')" id="l_method-i-change_source">show</a> - - </p> - <div id="method-i-change_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1112</span> -1112: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">change</span> -1113: <span class="ruby-ivar">@changed</span> = <span class="ruby-keyword kw">true</span> -1114: <span class="ruby-identifier">display_title</span> -1115: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-clear"> - - <a name="method-i-clear"></a><b>clear</b>() - - </div> - - <div class="description"> - <p> -Clear the current model, after asking to save all unsaved changes. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-clear_source')" id="l_method-i-clear_source">show</a> - - </p> - <div id="method-i-clear_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1171</span> -1171: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clear</span> -1172: <span class="ruby-identifier">ask_save</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@changed</span> -1173: <span class="ruby-ivar">@filename</span> = <span class="ruby-keyword kw">nil</span> -1174: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">view_new_model</span> <span class="ruby-keyword kw">nil</span> -1175: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-create_menu_bar"> - - <a name="method-i-create_menu_bar"></a><b>create_menu_bar</b>() - - </div> - - <div class="description"> - <p> -Creates the menu bar with the pulldown menus and returns it. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-create_menu_bar_source')" id="l_method-i-create_menu_bar_source">show</a> - - </p> - <div id="method-i-create_menu_bar_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1099</span> -1099: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_menu_bar</span> -1100: <span class="ruby-identifier">menu_bar</span> = <span class="ruby-constant">MenuBar</span>.<span class="ruby-identifier">new</span> -1101: <span class="ruby-ivar">@file_menu</span> = <span class="ruby-constant">FileMenu</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@treeview</span>) -1102: <span class="ruby-identifier">menu_bar</span>.<span class="ruby-identifier">append</span> <span class="ruby-ivar">@file_menu</span>.<span class="ruby-identifier">create</span> -1103: <span class="ruby-ivar">@edit_menu</span> = <span class="ruby-constant">EditMenu</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@treeview</span>) -1104: <span class="ruby-identifier">menu_bar</span>.<span class="ruby-identifier">append</span> <span class="ruby-ivar">@edit_menu</span>.<span class="ruby-identifier">create</span> -1105: <span class="ruby-ivar">@options_menu</span> = <span class="ruby-constant">OptionsMenu</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@treeview</span>) -1106: <span class="ruby-identifier">menu_bar</span>.<span class="ruby-identifier">append</span> <span class="ruby-ivar">@options_menu</span>.<span class="ruby-identifier">create</span> -1107: <span class="ruby-identifier">menu_bar</span> -1108: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-display_status"> - - <a name="method-i-display_status"></a><b>display_status</b>(text) - - </div> - - <div class="description"> - <p> -Displays <em>text</em> in the status bar. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-display_status_source')" id="l_method-i-display_status_source">show</a> - - </p> - <div id="method-i-display_status_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1133</span> -1133: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">display_status</span>(<span class="ruby-identifier">text</span>) -1134: <span class="ruby-ivar">@cid</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">nil</span> -1135: <span class="ruby-ivar">@status_bar</span>.<span class="ruby-identifier">pop</span>(<span class="ruby-ivar">@cid</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cid</span> -1136: <span class="ruby-ivar">@cid</span> = <span class="ruby-ivar">@status_bar</span>.<span class="ruby-identifier">get_context_id</span>(<span class="ruby-value str">'dummy'</span>) -1137: <span class="ruby-ivar">@status_bar</span>.<span class="ruby-identifier">push</span>(<span class="ruby-ivar">@cid</span>, <span class="ruby-identifier">text</span>) -1138: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-display_title"> - - <a name="method-i-display_title"></a><b>display_title</b>() - - </div> - - <div class="description"> - <p> -Display the new title according to the editor’s current state. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-display_title_source')" id="l_method-i-display_title_source">show</a> - - </p> - <div id="method-i-display_title_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1163</span> -1163: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">display_title</span> -1164: <span class="ruby-identifier">title</span> = <span class="ruby-constant">TITLE</span>.<span class="ruby-identifier">dup</span> -1165: <span class="ruby-identifier">title</span> <span class="ruby-operator"><<</span> <span class="ruby-node">": #@filename"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@filename</span> -1166: <span class="ruby-identifier">title</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">" *"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@changed</span> -1167: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">title</span> = <span class="ruby-identifier">title</span> -1168: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-edit"> - - <a name="method-i-edit"></a><b>edit</b>(json) - - </div> - - <div class="description"> - <p> -Edit the string <em>json</em> in the editor. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-edit_source')" id="l_method-i-edit_source">show</a> - - </p> - <div id="method-i-edit_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1202</span> -1202: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">edit</span>(<span class="ruby-identifier">json</span>) -1203: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">json</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-value">:read</span> -1204: <span class="ruby-identifier">json</span> = <span class="ruby-identifier">json</span>.<span class="ruby-identifier">read</span> -1205: <span class="ruby-keyword kw">end</span> -1206: <span class="ruby-identifier">data</span> = <span class="ruby-identifier">parse_json</span> <span class="ruby-identifier">json</span> -1207: <span class="ruby-identifier">view_new_model</span> <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">data2model</span>(<span class="ruby-identifier">data</span>) -1208: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-file_open"> - - <a name="method-i-file_open"></a><b>file_open</b>(filename = nil) - - </div> - - <div class="description"> - <p> -Open the file <em>filename</em> or call the <a -href="MainWindow.html#method-i-select_file">#</a> method to ask for a -filename. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-file_open_source')" id="l_method-i-file_open_source">show</a> - - </p> - <div id="method-i-file_open_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1195</span> -1195: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">file_open</span>(<span class="ruby-identifier">filename</span> = <span class="ruby-keyword kw">nil</span>) -1196: <span class="ruby-identifier">filename</span> = <span class="ruby-identifier">select_file</span>(<span class="ruby-value str">'Open as a JSON file'</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">filename</span> -1197: <span class="ruby-identifier">data</span> = <span class="ruby-identifier">load_file</span>(<span class="ruby-identifier">filename</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span> -1198: <span class="ruby-identifier">view_new_model</span> <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">data2model</span>(<span class="ruby-identifier">data</span>) -1199: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-file_save"> - - <a name="method-i-file_save"></a><b>file_save</b>() - - </div> - - <div class="description"> - <p> -Save the current file. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-file_save_source')" id="l_method-i-file_save_source">show</a> - - </p> - <div id="method-i-file_save_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1211</span> -1211: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">file_save</span> -1212: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@filename</span> -1213: <span class="ruby-identifier">store_file</span>(<span class="ruby-ivar">@filename</span>) -1214: <span class="ruby-keyword kw">else</span> -1215: <span class="ruby-identifier">file_save_as</span> -1216: <span class="ruby-keyword kw">end</span> -1217: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-file_save_as"> - - <a name="method-i-file_save_as"></a><b>file_save_as</b>() - - </div> - - <div class="description"> - <p> -Save the current file as the filename -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-file_save_as_source')" id="l_method-i-file_save_as_source">show</a> - - </p> - <div id="method-i-file_save_as_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1220</span> -1220: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">file_save_as</span> -1221: <span class="ruby-identifier">filename</span> = <span class="ruby-identifier">select_file</span>(<span class="ruby-value str">'Save as a JSON file'</span>) -1222: <span class="ruby-identifier">store_file</span>(<span class="ruby-identifier">filename</span>) -1223: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-load_file"> - - <a name="method-i-load_file"></a><b>load_file</b>(filename) - - </div> - - <div class="description"> - <p> -Load the file named <em>filename</em> into the editor as a <a -href="../../JSON.html">JSON</a> document. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-load_file_source')" id="l_method-i-load_file_source">show</a> - - </p> - <div id="method-i-load_file_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1247</span> -1247: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load_file</span>(<span class="ruby-identifier">filename</span>) -1248: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">filename</span> -1249: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">filename</span>) -1250: <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">error_dialog</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-value str">"Try to select a JSON file!"</span>) -1251: <span class="ruby-keyword kw">nil</span> -1252: <span class="ruby-keyword kw">else</span> -1253: <span class="ruby-ivar">@filename</span> = <span class="ruby-identifier">filename</span> -1254: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">data</span> = <span class="ruby-identifier">read_data</span>(<span class="ruby-identifier">filename</span>) -1255: <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-node">"Loaded data from '#@filename'."</span>) -1256: <span class="ruby-keyword kw">end</span> -1257: <span class="ruby-identifier">display_title</span> -1258: <span class="ruby-identifier">data</span> -1259: <span class="ruby-keyword kw">end</span> -1260: <span class="ruby-keyword kw">end</span> -1261: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-load_location"> - - <a name="method-i-load_location"></a><b>load_location</b>(uri) - - </div> - - <div class="description"> - <p> -Load the data at location <em>uri</em> into the editor as a <a -href="../../JSON.html">JSON</a> document. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-load_location_source')" id="l_method-i-load_location_source">show</a> - - </p> - <div id="method-i-load_location_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1264</span> -1264: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load_location</span>(<span class="ruby-identifier">uri</span>) -1265: <span class="ruby-identifier">data</span> = <span class="ruby-identifier">read_data</span>(<span class="ruby-identifier">uri</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span> -1266: <span class="ruby-ivar">@filename</span> = <span class="ruby-keyword kw">nil</span> -1267: <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-node">"Loaded data from '#{uri}'."</span>) -1268: <span class="ruby-identifier">display_title</span> -1269: <span class="ruby-identifier">data</span> -1270: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-location_open"> - - <a name="method-i-location_open"></a><b>location_open</b>(uri = nil) - - </div> - - <div class="description"> - <p> -Open the data at the location <em>uri</em>, if given. Otherwise open a -dialog to ask for the <em>uri</em>. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-location_open_source')" id="l_method-i-location_open_source">show</a> - - </p> - <div id="method-i-location_open_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1185</span> -1185: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">location_open</span>(<span class="ruby-identifier">uri</span> = <span class="ruby-keyword kw">nil</span>) -1186: <span class="ruby-identifier">uri</span> = <span class="ruby-identifier">ask_for_location</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">uri</span> -1187: <span class="ruby-identifier">uri</span> <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span> -1188: <span class="ruby-identifier">ask_save</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@changed</span> -1189: <span class="ruby-identifier">data</span> = <span class="ruby-identifier">load_location</span>(<span class="ruby-identifier">uri</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span> -1190: <span class="ruby-identifier">view_new_model</span> <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">data2model</span>(<span class="ruby-identifier">data</span>) -1191: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-quit"> - - <a name="method-i-quit"></a><b>quit</b>() - - </div> - - <div class="description"> - <p> -Quit this editor, that is, leave this editor’s main loop. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-quit_source')" id="l_method-i-quit_source">show</a> - - </p> - <div id="method-i-quit_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1153</span> -1153: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">quit</span> -1154: <span class="ruby-identifier">ask_save</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@changed</span> -1155: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Gtk</span>.<span class="ruby-identifier">main_level</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span> -1156: <span class="ruby-identifier">destroy</span> -1157: <span class="ruby-constant">Gtk</span>.<span class="ruby-identifier">main_quit</span> -1158: <span class="ruby-keyword kw">end</span> -1159: <span class="ruby-keyword kw">nil</span> -1160: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-read_data"> - - <a name="method-i-read_data"></a><b>read_data</b>(filename) - - </div> - - <div class="description"> - <p> -Read a <a href="../../JSON.html">JSON</a> document from the file named -<em>filename</em>, parse it into a ruby data structure, and return the -data. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-read_data_source')" id="l_method-i-read_data_source">show</a> - - </p> - <div id="method-i-read_data_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1284</span> -1284: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read_data</span>(<span class="ruby-identifier">filename</span>) -1285: <span class="ruby-identifier">open</span>(<span class="ruby-identifier">filename</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> -1286: <span class="ruby-identifier">json</span> = <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span> -1287: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">parse_json</span>(<span class="ruby-identifier">json</span>) -1288: <span class="ruby-keyword kw">end</span> -1289: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span> -1290: <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">error_dialog</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-node">"Failed to parse JSON file: #{e}!"</span>) -1291: <span class="ruby-keyword kw">return</span> -1292: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-select_file"> - - <a name="method-i-select_file"></a><b>select_file</b>(message) - - </div> - - <div class="description"> - <p> -Open a file selecton dialog, displaying <em>message</em>, and return the -selected filename or nil, if no file was selected. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-select_file_source')" id="l_method-i-select_file_source">show</a> - - </p> - <div id="method-i-select_file_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1296</span> -1296: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">select_file</span>(<span class="ruby-identifier">message</span>) -1297: <span class="ruby-identifier">filename</span> = <span class="ruby-keyword kw">nil</span> -1298: <span class="ruby-identifier">fs</span> = <span class="ruby-constant">FileSelection</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">message</span>) -1299: <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">set_modal</span>(<span class="ruby-keyword kw">true</span>) -1300: <span class="ruby-ivar">@default_dir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>, <span class="ruby-value str">''</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@default_dir</span> -1301: <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">set_filename</span>(<span class="ruby-ivar">@default_dir</span>) -1302: <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">set_transient_for</span>(<span class="ruby-keyword kw">self</span>) -1303: <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-value">:destroy</span>) { <span class="ruby-constant">Gtk</span>.<span class="ruby-identifier">main_quit</span> } -1304: <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">ok_button</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-value">:clicked</span>) <span class="ruby-keyword kw">do</span> -1305: <span class="ruby-identifier">filename</span> = <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">filename</span> -1306: <span class="ruby-ivar">@default_dir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">filename</span>), <span class="ruby-value str">''</span>) -1307: <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">destroy</span> -1308: <span class="ruby-constant">Gtk</span>.<span class="ruby-identifier">main_quit</span> -1309: <span class="ruby-keyword kw">end</span> -1310: <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">cancel_button</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-value">:clicked</span>) <span class="ruby-keyword kw">do</span> -1311: <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">destroy</span> -1312: <span class="ruby-constant">Gtk</span>.<span class="ruby-identifier">main_quit</span> -1313: <span class="ruby-keyword kw">end</span> -1314: <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">show_all</span> -1315: <span class="ruby-constant">Gtk</span>.<span class="ruby-identifier">main</span> -1316: <span class="ruby-identifier">filename</span> -1317: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-store_file"> - - <a name="method-i-store_file"></a><b>store_file</b>(path) - - </div> - - <div class="description"> - <p> -Store the current <a href="../../JSON.html">JSON</a> document to -<em>path</em>. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-store_file_source')" id="l_method-i-store_file_source">show</a> - - </p> - <div id="method-i-store_file_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1226</span> -1226: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store_file</span>(<span class="ruby-identifier">path</span>) -1227: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span> -1228: <span class="ruby-identifier">data</span> = <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">model2data</span>(<span class="ruby-ivar">@treeview</span>.<span class="ruby-identifier">model</span>.<span class="ruby-identifier">iter_first</span>) -1229: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">path</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.tmp'</span>, <span class="ruby-value str">'wb'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">output</span><span class="ruby-operator">|</span> -1230: <span class="ruby-identifier">data</span> <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">break</span> -1231: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@options_menu</span>.<span class="ruby-identifier">pretty_item</span>.<span class="ruby-identifier">active?</span> -1232: <span class="ruby-identifier">output</span>.<span class="ruby-identifier">puts</span> <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">pretty_generate</span>(<span class="ruby-identifier">data</span>, <span class="ruby-value">:max_nesting</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">false</span>) -1233: <span class="ruby-keyword kw">else</span> -1234: <span class="ruby-identifier">output</span>.<span class="ruby-identifier">write</span> <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">generate</span>(<span class="ruby-identifier">data</span>, <span class="ruby-value">:max_nesting</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">false</span>) -1235: <span class="ruby-keyword kw">end</span> -1236: <span class="ruby-keyword kw">end</span> -1237: <span class="ruby-constant">File</span>.<span class="ruby-identifier">rename</span> <span class="ruby-identifier">path</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.tmp'</span>, <span class="ruby-identifier">path</span> -1238: <span class="ruby-ivar">@filename</span> = <span class="ruby-identifier">path</span> -1239: <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-node">"Saved data to '#@filename'."</span>) -1240: <span class="ruby-identifier">unchange</span> -1241: <span class="ruby-keyword kw">end</span> -1242: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">SystemCallError</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span> -1243: <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">error_dialog</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-node">"Failed to store JSON file: #{e}!"</span>) -1244: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-unchange"> - - <a name="method-i-unchange"></a><b>unchange</b>() - - </div> - - <div class="description"> - <p> -Sets editor status to unchanged, to indicate that the edited data -doesn’t containt unsaved changes. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-unchange_source')" id="l_method-i-unchange_source">show</a> - - </p> - <div id="method-i-unchange_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1119</span> -1119: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unchange</span> -1120: <span class="ruby-ivar">@changed</span> = <span class="ruby-keyword kw">false</span> -1121: <span class="ruby-identifier">display_title</span> -1122: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - - <div class="method"> - <div class="title" id="method-i-view_new_model"> - - <a name="method-i-view_new_model"></a><b>view_new_model</b>(model) - - </div> - - <div class="description"> - <p> -Puts a new model <em>model</em> into the Gtk::TreeView to be edited. -</p> - - </div> - - - - - <div class="sourcecode"> - <p class="source-link"> - Source: <a href="javascript:toggleSource('method-i-view_new_model_source')" id="l_method-i-view_new_model_source">show</a> - - </p> - <div id="method-i-view_new_model_source" class="dyn-source"> - <pre> <span class="ruby-comment cmt"># File lib/json/editor.rb, line 1125</span> -1125: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">view_new_model</span>(<span class="ruby-identifier">model</span>) -1126: <span class="ruby-ivar">@treeview</span>.<span class="ruby-identifier">model</span> = <span class="ruby-identifier">model</span> -1127: <span class="ruby-ivar">@treeview</span>.<span class="ruby-identifier">expanded</span> = <span class="ruby-keyword kw">true</span> -1128: <span class="ruby-ivar">@treeview</span>.<span class="ruby-identifier">expand_all</span> -1129: <span class="ruby-identifier">unchange</span> -1130: <span class="ruby-keyword kw">end</span></pre> - </div> - </div> - - </div> - -</div> - </div> - </body> -</html>
\ No newline at end of file |