visualruby 3.0.12 → 3.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/.vr_settings.yaml +6 -6
 - data/examples/alert_box/.vr_settings.yaml +5 -4
 - data/examples/alert_box/main.rb +8 -0
 - data/examples/listview/.vr_settings.yaml +5 -8
 - data/examples/listview/bin/SongListView.rb +9 -9
 - data/examples/listview/main.rb +1 -1
 - data/examples/listview_objects/bin/ListViewObjects.rb +8 -8
 - data/lib/Alert.rb +30 -21
 - data/lib/GladeGUI.rb +17 -3
 - data/lib/oinspect/MethodsListView.rb +11 -10
 - data/lib/oinspect/ObjectInspectorGUI.rb +36 -20
 - data/lib/oinspect/VariablesListView.rb +31 -30
 - data/lib/oinspect/glade/ObjectInspectorGUI.glade +90 -12
 - data/lib/treeview/FileTreeView.rb +23 -6
 - data/lib/treeview/IterMethods.rb +66 -66
 - data/lib/treeview/ListView.rb +5 -5
 - data/lib/treeview/ViewCommon.rb +43 -23
 - data/lib/treeview/columns/{TextCol.rb → BlobCol.rb} +6 -6
 - data/lib/treeview/columns/CalendarCol.rb +23 -27
 - data/lib/treeview/columns/CellRendererCombo.rb +1 -1
 - data/lib/treeview/columns/CellRendererObject.rb +1 -1
 - data/lib/treeview/columns/CellRendererProgress.rb +17 -17
 - data/lib/treeview/columns/CellRendererSpin.rb +1 -1
 - data/lib/treeview/columns/CellRendererText.rb +1 -1
 - data/lib/treeview/columns/CellRendererToggle.rb +3 -3
 - data/lib/treeview/columns/ComboCol.rb +1 -1
 - data/lib/treeview/columns/CurrencyCol.rb +1 -1
 - data/lib/treeview/columns/ImageCol.rb +1 -1
 - data/lib/treeview/columns/ProgressCol.rb +4 -4
 - data/lib/treeview/columns/SpinCol.rb +1 -1
 - data/lib/treeview/columns/TreeViewColumn.rb +15 -20
 - data/src/main/VR_File_Tree.rb +2 -3
 - data/src/main/VR_Main.rb +12 -0
 - data/src/main/glade/VR_Main.glade +14 -0
 - metadata +3 -10
 - data/lib/IconHash.rb +0 -18
 - data/lib/SimpleComboBoxEntry.rb +0 -8
 - data/lib/treeview/columns/CellRendererDate.rb +0 -45
 - data/lib/treeview/columns/CellRendererPhone.rb +0 -45
 - data/lib/treeview/columns/CellRendererPixbuf.rb +0 -16
 - data/lib/treeview/columns/DateCol.rb +0 -20
 - data/src/main/ProjectChooserView.rb +0 -40
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 46e25870adcbfcac92e861c3a44e7fb4f0f4d9c8
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 042fb3b507391b4a93ec6c9ffe3d6e5d947de7cb
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 88abd7c46b358b2432058b6aebec7471817d5e0e7ee84e9d0f4a3b4238c64927eb6a4e131360966b85677033fc99ff6d9322b584c7fc1e35bb2db477b7f56340
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: f079967a87e8de4ea1f4c294bdb40deda0899a983685ff52e9d0d04f688efae5fa6407f7246e880390107ab32761469b18a825d4359badc93b10468e7ab1ab4e
         
     | 
    
        data/.vr_settings.yaml
    CHANGED
    
    | 
         @@ -1,16 +1,16 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:VR_ENV
         
     | 
| 
       2 
2 
     | 
    
         
             
            vr_yaml_file: ".vr_settings.yaml"
         
     | 
| 
       3 
     | 
    
         
            -
            width:  
     | 
| 
       4 
     | 
    
         
            -
            height:  
     | 
| 
      
 3 
     | 
    
         
            +
            width: 1308
         
     | 
| 
      
 4 
     | 
    
         
            +
            height: 761
         
     | 
| 
       5 
5 
     | 
    
         
             
            panel_pos: 360
         
     | 
| 
       6 
6 
     | 
    
         
             
            notebook_panel_position: 400
         
     | 
| 
       7 
     | 
    
         
            -
            run_command_line: ruby  
     | 
| 
      
 7 
     | 
    
         
            +
            run_command_line: ruby vr
         
     | 
| 
       8 
8 
     | 
    
         
             
            open_files:
         
     | 
| 
       9 
     | 
    
         
            -
            - "/home/eric/vrp/vr3/ 
     | 
| 
      
 9 
     | 
    
         
            +
            - "/home/eric/vrp/vr3/Untitled"
         
     | 
| 
       10 
10 
     | 
    
         
             
            open_folders:
         
     | 
| 
       11 
11 
     | 
    
         
             
            - "/home/eric/vrp/vr3"
         
     | 
| 
       12 
     | 
    
         
            -
            current_file: "/home/eric/vrp/vr3/ 
     | 
| 
       13 
     | 
    
         
            -
            current_line:  
     | 
| 
      
 12 
     | 
    
         
            +
            current_file: "/home/eric/vrp/vr3/Untitled"
         
     | 
| 
      
 13 
     | 
    
         
            +
            current_line: 1
         
     | 
| 
       14 
14 
     | 
    
         
             
            rdoc_command_line: yardoc lib - site/*.*
         
     | 
| 
       15 
15 
     | 
    
         
             
            builder: !ruby/object:Gtk::Builder {}
         
     | 
| 
       16 
16 
     | 
    
         
             
            top_level_window: false
         
     | 
| 
         @@ -1,7 +1,9 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:VR_ENV
         
     | 
| 
      
 2 
     | 
    
         
            +
            vr_yaml_file: ".vr_settings.yaml"
         
     | 
| 
       2 
3 
     | 
    
         
             
            width: 1329
         
     | 
| 
       3 
4 
     | 
    
         
             
            height: 753
         
     | 
| 
       4 
5 
     | 
    
         
             
            panel_pos: 513
         
     | 
| 
      
 6 
     | 
    
         
            +
            notebook_panel_position: 400
         
     | 
| 
       5 
7 
     | 
    
         
             
            run_command_line: ruby main.rb
         
     | 
| 
       6 
8 
     | 
    
         
             
            open_files:
         
     | 
| 
       7 
9 
     | 
    
         
             
            - "/home/eric/vrp/vr3/examples/alert_box/bin/AlertBoxDemo.rb"
         
     | 
| 
         @@ -9,9 +11,8 @@ open_files: 
     | 
|
| 
       9 
11 
     | 
    
         
             
            open_folders:
         
     | 
| 
       10 
12 
     | 
    
         
             
            - "/home/eric/vrp/vr3/examples/alert_box"
         
     | 
| 
       11 
13 
     | 
    
         
             
            - "/home/eric/vrp/vr3/examples/alert_box/bin"
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
      
 14 
     | 
    
         
            +
            - "/home/eric/vrp/vr3/examples/alert_box/bin/glade"
         
     | 
| 
      
 15 
     | 
    
         
            +
            current_file: "/home/eric/vrp/vr3/examples/alert_box/main.rb"
         
     | 
| 
      
 16 
     | 
    
         
            +
            current_line: 9
         
     | 
| 
       13 
17 
     | 
    
         
             
            rdoc_command_line: rdoc -x README
         
     | 
| 
       14 
     | 
    
         
            -
            vr_yaml_file: ".vr_settings.yaml"
         
     | 
| 
       15 
     | 
    
         
            -
            notebook_panel_position: 400
         
     | 
| 
       16 
     | 
    
         
            -
            current_line: 61
         
     | 
| 
       17 
18 
     | 
    
         
             
            settings_file_version: 1
         
     | 
    
        data/examples/alert_box/main.rb
    CHANGED
    
    | 
         @@ -6,7 +6,15 @@ require File.exists?("./../../vrlib/vrlib.rb") ?  "./../../vrlib/vrlib.rb" : "vr 
     | 
|
| 
       6 
6 
     | 
    
         
             
            # from require_all gem:
         
     | 
| 
       7 
7 
     | 
    
         
             
            require_rel 'bin/'
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
      
 9 
     | 
    
         
            +
            alert "The file you selected is already on disk.  Do you want to overwrite it?",
         
     | 
| 
      
 10 
     | 
    
         
            +
                headline: "Overwrite FIle?",
         
     | 
| 
      
 11 
     | 
    
         
            +
                button_yes: "Overwrite",
         
     | 
| 
      
 12 
     | 
    
         
            +
                button_no: "Reload From Disk",
         
     | 
| 
      
 13 
     | 
    
         
            +
                button_cancel: "Cancel"
         
     | 
| 
       9 
14 
     | 
    
         | 
| 
       10 
15 
     | 
    
         | 
| 
      
 16 
     | 
    
         
            +
                
         
     | 
| 
      
 17 
     | 
    
         
            +
                  
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
       11 
19 
     | 
    
         
             
            AlertBoxDemo.new.show_glade()
         
     | 
| 
       12 
20 
     | 
    
         | 
| 
         @@ -1,19 +1,16 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:VR_ENV
         
     | 
| 
      
 2 
     | 
    
         
            +
            vr_yaml_file: ".vr_settings.yaml"
         
     | 
| 
       2 
3 
     | 
    
         
             
            width: 1251
         
     | 
| 
       3 
4 
     | 
    
         
             
            height: 691
         
     | 
| 
       4 
5 
     | 
    
         
             
            panel_pos: 322
         
     | 
| 
      
 6 
     | 
    
         
            +
            notebook_panel_position: 437
         
     | 
| 
       5 
7 
     | 
    
         
             
            run_command_line: ruby main.rb
         
     | 
| 
       6 
8 
     | 
    
         
             
            open_files:
         
     | 
| 
       7 
     | 
    
         
            -
            - "/home/eric/vrp/vr3/examples/listview/main.rb"
         
     | 
| 
       8 
9 
     | 
    
         
             
            - "/home/eric/vrp/vr3/examples/listview/bin/SongListViewGUI.rb"
         
     | 
| 
       9 
     | 
    
         
            -
            - "/home/eric/vrp/vr3/examples/listview/ 
     | 
| 
      
 10 
     | 
    
         
            +
            - "/home/eric/vrp/vr3/examples/listview/main.rb"
         
     | 
| 
       10 
11 
     | 
    
         
             
            open_folders:
         
     | 
| 
       11 
12 
     | 
    
         
             
            - "/home/eric/vrp/vr3/examples/listview"
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
            current_file: "/home/eric/vrp/vr3/examples/listview/bin/SongListViewGUI.rb"
         
     | 
| 
      
 13 
     | 
    
         
            +
            current_file: "/home/eric/vrp/vr3/examples/listview/main.rb"
         
     | 
| 
      
 14 
     | 
    
         
            +
            current_line: 4
         
     | 
| 
       15 
15 
     | 
    
         
             
            rdoc_command_line: rdoc -x README
         
     | 
| 
       16 
     | 
    
         
            -
            vr_yaml_file: ".vr_settings.yaml"
         
     | 
| 
       17 
     | 
    
         
            -
            notebook_panel_position: 437
         
     | 
| 
       18 
     | 
    
         
            -
            current_line: 22
         
     | 
| 
       19 
16 
     | 
    
         
             
            filename: ".vr_settings.yaml"
         
     | 
| 
         @@ -14,14 +14,14 @@ class SongListView < VR::ListView 
     | 
|
| 
       14 
14 
     | 
    
         
             
              def initialize 
         
     | 
| 
       15 
15 
     | 
    
         
             
                @cols = {}
         
     | 
| 
       16 
16 
     | 
    
         
             
                @cols[:pix] = {:pix => Gdk::Pixbuf, :song => String } #two renderers in this column
         
     | 
| 
       17 
     | 
    
         
            -
                @cols[:date] = VR::CalendarCol # DateTime
         
     | 
| 
      
 17 
     | 
    
         
            +
                @cols[:date] = VR::Col::CalendarCol # DateTime
         
     | 
| 
       18 
18 
     | 
    
         
             
                @cols[:artist] = String
         
     | 
| 
       19 
19 
     | 
    
         
             
                @cols[:first_name] = String    
         
     | 
| 
       20 
20 
     | 
    
         
             
                @cols[:last_name] = String
         
     | 
| 
       21 
     | 
    
         
            -
                @cols[:popular] = VR::ProgressCol
         
     | 
| 
       22 
     | 
    
         
            -
                @cols[:buy] = VR::ComboCol
         
     | 
| 
       23 
     | 
    
         
            -
                @cols[:quantity] = VR::SpinCol
         
     | 
| 
       24 
     | 
    
         
            -
                 @cols[:price] = VR::CurrencyCol
         
     | 
| 
      
 21 
     | 
    
         
            +
                @cols[:popular] = VR::Col::ProgressCol
         
     | 
| 
      
 22 
     | 
    
         
            +
                @cols[:buy] = VR::Col::ComboCol
         
     | 
| 
      
 23 
     | 
    
         
            +
                @cols[:quantity] = VR::Col::SpinCol
         
     | 
| 
      
 24 
     | 
    
         
            +
                 @cols[:price] = VR::Col::CurrencyCol
         
     | 
| 
       25 
25 
     | 
    
         
             
                @cols[:check] = TrueClass
         
     | 
| 
       26 
26 
     | 
    
         
             
                super(@cols)
         
     | 
| 
       27 
27 
     | 
    
         | 
| 
         @@ -66,12 +66,12 @@ class SongListView < VR::ListView 
     | 
|
| 
       66 
66 
     | 
    
         
             
                  row[id(:last_name)] = data[i][1]
         
     | 
| 
       67 
67 
     | 
    
         
             
                  row[id(:artist)] = row[id(:first_name)] + " " + row[id(:last_name)]
         
     | 
| 
       68 
68 
     | 
    
         
             
                  row[id(:song)] = data[i][2]
         
     | 
| 
       69 
     | 
    
         
            -
                  row[id(:quantity)] = VR::SpinCol.new(0,0,100,1) # Gtk::Adjustment.new(0,0,100,1,0,0)  # 
         
     | 
| 
       70 
     | 
    
         
            -
                  row[id(:price)] = VR::CurrencyCol.new(2.99)
         
     | 
| 
      
 69 
     | 
    
         
            +
                  row[id(:quantity)] = VR::Col::SpinCol.new(0,0,100,1) # Gtk::Adjustment.new(0,0,100,1,0,0)  # 
         
     | 
| 
      
 70 
     | 
    
         
            +
                  row[id(:price)] = VR::Col::CurrencyCol.new(2.99)
         
     | 
| 
       71 
71 
     | 
    
         
             
                  row[id(:popular)] = data[i][3]
         
     | 
| 
       72 
     | 
    
         
            -
                  row[id(:buy)] = VR::ComboCol.new("Buy", "Buy", "Rent", "Listen") # all rows use the same combobox
         
     | 
| 
      
 72 
     | 
    
         
            +
                  row[id(:buy)] = VR::Col::ComboCol.new("Buy", "Buy", "Rent", "Listen") # all rows use the same combobox
         
     | 
| 
       73 
73 
     | 
    
         
             
                  row[id(:check)] = false
         
     | 
| 
       74 
     | 
    
         
            -
                  row[id(:date)] = VR::CalendarCol.new(data[i][4], :format => "%d %b %Y ", :hide_time=>true, :hide_date => false)
         
     | 
| 
      
 74 
     | 
    
         
            +
                  row[id(:date)] = VR::Col::CalendarCol.new(data[i][4], :format => "%d %b %Y ", :hide_time=>true, :hide_date => false)
         
     | 
| 
       75 
75 
     | 
    
         
             
                end
         
     | 
| 
       76 
76 
     | 
    
         | 
| 
       77 
77 
     | 
    
         
             
              end
         
     | 
    
        data/examples/listview/main.rb
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            #!/usr/bin/ruby
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            # ignore -- this is for development, same as require 'vrlib'
         
     | 
| 
       4 
     | 
    
         
            -
            require File.exists?("./../../ 
     | 
| 
      
 4 
     | 
    
         
            +
            require File.exists?("./../../lib/vrlib.rb") ?  "./../../lib/vrlib.rb" : "vrlib"
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            # from require_all gem:
         
     | 
| 
       7 
7 
     | 
    
         
             
            require_rel 'bin/'
         
     | 
| 
         @@ -7,9 +7,9 @@ class ListViewObjects < VR::ListView 
     | 
|
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
                #define column types, then call super()
         
     | 
| 
       9 
9 
     | 
    
         
             
                @cols = {}
         
     | 
| 
       10 
     | 
    
         
            -
                @cols[:join] = VR::CalendarCol  
         
     | 
| 
      
 10 
     | 
    
         
            +
                @cols[:join] = VR::Col::CalendarCol  
         
     | 
| 
       11 
11 
     | 
    
         
             
                @cols[:name] = DataObject
         
     | 
| 
       12 
     | 
    
         
            -
                @cols[:quote] = VR:: 
     | 
| 
      
 12 
     | 
    
         
            +
                @cols[:quote] = VR::Col::BlobCol
         
     | 
| 
       13 
13 
     | 
    
         
             
                super(@cols)
         
     | 
| 
       14 
14 
     | 
    
         
             
                col_title(:join => "Joined On", :name => "Name (email)", :quote => "Favorite Quote")
         
     | 
| 
       15 
15 
     | 
    
         
             
                col_width(:join => 200, :name => 300)    
         
     | 
| 
         @@ -20,17 +20,17 @@ class ListViewObjects < VR::ListView 
     | 
|
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
              def populate_data()  # just populates model with random data
         
     | 
| 
       22 
22 
     | 
    
         
             
                row = add_row() 
         
     | 
| 
       23 
     | 
    
         
            -
                row[:join] = VR::CalendarCol.new DateTime.new(2011, 1, 15, 7, 23, 0) 
         
     | 
| 
      
 23 
     | 
    
         
            +
                row[:join] = VR::Col::CalendarCol.new DateTime.new(2011, 1, 15, 7, 23, 0) 
         
     | 
| 
       24 
24 
     | 
    
         
             
                row[:name] = DataObject.new("Henry Johnson", "18458 S Beauford St.", "hohohoja@email.net", "154-453-8585")
         
     | 
| 
       25 
     | 
    
         
            -
                row[:quote] = VR:: 
     | 
| 
      
 25 
     | 
    
         
            +
                row[:quote] = VR::Col::BlobCol.new "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth.\n\n- Umberto Eco"
         
     | 
| 
       26 
26 
     | 
    
         
             
                row = add_row()
         
     | 
| 
       27 
     | 
    
         
            -
                row[:join] = VR::CalendarCol.new DateTime.new(1997, 7, 24, 3, 26, 0)
         
     | 
| 
      
 27 
     | 
    
         
            +
                row[:join] = VR::Col::CalendarCol.new DateTime.new(1997, 7, 24, 3, 26, 0)
         
     | 
| 
       28 
28 
     | 
    
         
             
                row[:name] = DataObject.new("Theo Alexander", "935 Medford Ln.", "noreply@gmail.com", "586-673-9474")
         
     | 
| 
       29 
     | 
    
         
            -
                row[:quote] = VR:: 
     | 
| 
      
 29 
     | 
    
         
            +
                row[:quote] = VR::Col::BlobCol.new "The instinct of nearly all societies is to lock up anybody who is truly free. First, society begins by trying to beat you up. If this fails, they try to poison you. If this fails too, they finish by loading honors on your head.\n\n- Jean Cocteau (1889-1963)"
         
     | 
| 
       30 
30 
     | 
    
         
             
                row = add_row()
         
     | 
| 
       31 
     | 
    
         
            -
                row[:join] = VR::CalendarCol.new DateTime.new(1987, 5, 11, 6, 43, 0)
         
     | 
| 
      
 31 
     | 
    
         
            +
                row[:join] = VR::Col::CalendarCol.new DateTime.new(1987, 5, 11, 6, 43, 0)
         
     | 
| 
       32 
32 
     | 
    
         
             
                row[:name] = DataObject.new("Billy Vincent", "675 Telegraph Rd.", "jimmy@visualruby.net", "432-485-5863")
         
     | 
| 
       33 
     | 
    
         
            -
                row[:quote] = VR:: 
     | 
| 
      
 33 
     | 
    
         
            +
                row[:quote] = VR::Col::BlobCol.new "There are two ways of constructing a software design; one way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.\n\n- C. A. R. Hoare"
         
     | 
| 
       34 
34 
     | 
    
         
             
              end
         
     | 
| 
       35 
35 
     | 
    
         | 
| 
       36 
36 
     | 
    
         | 
    
        data/lib/Alert.rb
    CHANGED
    
    | 
         @@ -47,16 +47,29 @@ module VR 
     | 
|
| 
       47 
47 
     | 
    
         
             
                  @builder[:window1].destroy
         
     | 
| 
       48 
48 
     | 
    
         
             
                end
         
     | 
| 
       49 
49 
     | 
    
         | 
| 
      
 50 
     | 
    
         
            +
                # Helper to VR::Alert so :answer can be passed by reference.
         
     | 
| 
      
 51 
     | 
    
         
            +
                class DialogAnswer # :nodoc:
         
     | 
| 
      
 52 
     | 
    
         
            +
                  attr_accessor :answer
         
     | 
| 
      
 53 
     | 
    
         
            +
                end
         
     | 
| 
       50 
54 
     | 
    
         | 
| 
       51 
55 
     | 
    
         
             
              end
         
     | 
| 
       52 
56 
     | 
    
         | 
| 
       53 
     | 
    
         
            -
              #so it can be passed by reference
         
     | 
| 
       54 
     | 
    
         
            -
              class DialogAnswer # :nodoc:
         
     | 
| 
       55 
     | 
    
         
            -
                attr_accessor :answer
         
     | 
| 
       56 
     | 
    
         
            -
              end
         
     | 
| 
       57 
     | 
    
         
            -
             
     | 
| 
       58 
57 
     | 
    
         
             
            end  
         
     | 
| 
       59 
58 
     | 
    
         | 
| 
      
 59 
     | 
    
         
            +
            # @param [String] message text message to display in alert box. Uses markup.
         
     | 
| 
      
 60 
     | 
    
         
            +
            # @param [Hash] options -- Hash of options:  :button_yes => text on the button that returns true.
         
     | 
| 
      
 61 
     | 
    
         
            +
            # @option options [String] :button_yes Text that appears on the "yes" button.
         
     | 
| 
      
 62 
     | 
    
         
            +
            # @option options [String] :button_no Text taht appears on "no" button. (set to make no button appear)
         
     | 
| 
      
 63 
     | 
    
         
            +
            # @option options [String] :button_cancel Text taht appears on "cancel" button. (set to make cancel button appear)
         
     | 
| 
      
 64 
     | 
    
         
            +
            # @option options [String] :input_text Text that appears in entry box. (set to make entry box appear)
         
     | 
| 
      
 65 
     | 
    
         
            +
            # @option options [String] :headline Larger headline over text message.
         
     | 
| 
      
 66 
     | 
    
         
            +
            # @option options [String] :title Title of the alert box window.  Defaults to :headline.
         
     | 
| 
      
 67 
     | 
    
         
            +
            # @option options [Integer] :width The width in pixels of the window for wrapping text. 
         
     | 
| 
      
 68 
     | 
    
         
            +
            # @option options [Object #builder] :parent The window that the alert box is always on top of.
         
     | 
| 
      
 69 
     | 
    
         
            +
            # @return [String] text in the text entry field when the :button_yes button is pressed
         
     | 
| 
      
 70 
     | 
    
         
            +
            # @return [true] When the :button_yes button is selected and there's no text entry box.
         
     | 
| 
      
 71 
     | 
    
         
            +
            # @return [false] When :button_no is pressed
         
     | 
| 
      
 72 
     | 
    
         
            +
            # @return [nil] When :button_cancel os the "X" button is pressed.
         
     | 
| 
       60 
73 
     | 
    
         
             
            # The alert method creates a pop-up alert in your program.  It creates a modal
         
     | 
| 
       61 
74 
     | 
    
         
             
            # window that halts execution of your code until the user closes it.  Its great
         
     | 
| 
       62 
75 
     | 
    
         
             
            # for displaying messages and debugging.  It also has the option of displaying
         
     | 
| 
         @@ -66,7 +79,16 @@ end 
     | 
|
| 
       66 
79 
     | 
    
         
             
            #
         
     | 
| 
       67 
80 
     | 
    
         
             
            # @example
         
     | 
| 
       68 
81 
     | 
    
         
             
            #  alert("Continue?", button_no: "Nope", button_cancel: "Quit", parent: self) 
         
     | 
| 
       69 
     | 
    
         
            -
            # 
     | 
| 
      
 82 
     | 
    
         
            +
            # 
         
     | 
| 
      
 83 
     | 
    
         
            +
            # @example
         
     | 
| 
      
 84 
     | 
    
         
            +
            #  alert "The file you selected is already on disk.  Do you want to overwrite it?",
         
     | 
| 
      
 85 
     | 
    
         
            +
            #    headline: "Overwrite FIle?",
         
     | 
| 
      
 86 
     | 
    
         
            +
            #    button_yes: "Overwrite",
         
     | 
| 
      
 87 
     | 
    
         
            +
            #    button_no: "Reload From Disk",
         
     | 
| 
      
 88 
     | 
    
         
            +
            #    button_cancel: "Cancel"
         
     | 
| 
      
 89 
     | 
    
         
            +
            # 
         
     | 
| 
      
 90 
     | 
    
         
            +
            # http://visualruby.net/img/alert_overwrite.jpg  
         
     | 
| 
      
 91 
     | 
    
         
            +
            #   
         
     | 
| 
       70 
92 
     | 
    
         
             
            # The alert box can disply 1, 2 or 3 buttons.  The first button is denoted using the symbol: :button_yes
         
     | 
| 
       71 
93 
     | 
    
         
             
            # button and is always displayed.  You can add :button_no and :button_cancel.      
         
     | 
| 
       72 
94 
     | 
    
         
             
            # If you want to add these buttons, just set their values to whatever text you want them to
         
     | 
| 
         @@ -74,22 +96,9 @@ end 
     | 
|
| 
       74 
96 
     | 
    
         
             
            # appear.
         
     | 
| 
       75 
97 
     | 
    
         
             
            #      
         
     | 
| 
       76 
98 
     | 
    
         
             
            # There are many examples in the "alert_box" example project. 
         
     | 
| 
       77 
     | 
    
         
            -
             
     | 
| 
       78 
     | 
    
         
            -
            # @param [Hash] options -- Hash of options:  :button_yes => text on the button that returns true.
         
     | 
| 
       79 
     | 
    
         
            -
            # @option options [String] :button_yes Text that appears on the "yes" button.
         
     | 
| 
       80 
     | 
    
         
            -
            # @option options [String] :button_no Text taht appears on "no" button. (set to make no button appear)
         
     | 
| 
       81 
     | 
    
         
            -
            # @option options [String] :button_cancel Text taht appears on "cancel" button. (set to make cancel button appear)
         
     | 
| 
       82 
     | 
    
         
            -
            # @option options [String] :input_text Text that appears in entry box. (set to make entry box appear)
         
     | 
| 
       83 
     | 
    
         
            -
            # @option options [String] :headline Larger headline over text message.
         
     | 
| 
       84 
     | 
    
         
            -
            # @option options [String] :title Title of the alert box window.  Defaults to :headline.
         
     | 
| 
       85 
     | 
    
         
            -
            # @option options [Integer] :width The width in pixels of the window for wrapping text. 
         
     | 
| 
       86 
     | 
    
         
            -
            # @option options [Object #builder] :parent The window that the alert box is always on top of.
         
     | 
| 
       87 
     | 
    
         
            -
            # @return [String] text in the text entry field when the :button_yes button is pressed
         
     | 
| 
       88 
     | 
    
         
            -
            # @return [true] When the :button_yes button is selected and there's no text entry box.
         
     | 
| 
       89 
     | 
    
         
            -
            # @return [false] When :button_no is pressed
         
     | 
| 
       90 
     | 
    
         
            -
            # @return [nil] When :button_cancel os the "X" button is pressed.
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
       91 
100 
     | 
    
         
             
            def alert(message, options = {})
         
     | 
| 
       92 
     | 
    
         
            -
              @answer = VR::DialogAnswer.new()
         
     | 
| 
      
 101 
     | 
    
         
            +
              @answer = VR::Alert::DialogAnswer.new()
         
     | 
| 
       93 
102 
     | 
    
         
             
              VR::Alert.new(message, @answer, options).show_glade(options[:parent])
         
     | 
| 
       94 
103 
     | 
    
         
             
              return @answer.answer 
         
     | 
| 
       95 
104 
     | 
    
         
             
            end
         
     | 
    
        data/lib/GladeGUI.rb
    CHANGED
    
    | 
         @@ -16,7 +16,7 @@ 
     | 
|
| 
       16 
16 
     | 
    
         
             
            #  class MyClass
         
     | 
| 
       17 
17 
     | 
    
         
             
            #    include GladeGUI
         
     | 
| 
       18 
18 
     | 
    
         
             
            #    ...
         
     | 
| 
       19 
     | 
    
         
            -
            #   
     | 
| 
      
 19 
     | 
    
         
            +
            #  end
         
     | 
| 
       20 
20 
     | 
    
         
             
            #  
         
     | 
| 
       21 
21 
     | 
    
         
             
            #  GladeGUI will load a corresponding 
         
     | 
| 
       22 
22 
     | 
    
         
             
            #  glade file for this class.  It knows which glade file to load by using a naming 
         
     | 
| 
         @@ -86,7 +86,7 @@ 
     | 
|
| 
       86 
86 
     | 
    
         
             
            #  set_glade_variables() method.)
         
     | 
| 
       87 
87 
     | 
    
         
             
            module GladeGUI
         
     | 
| 
       88 
88 
     | 
    
         | 
| 
       89 
     | 
    
         
            -
              # @attribute A Builder object that holds references to  
     | 
| 
      
 89 
     | 
    
         
            +
              # @attribute A Builder object that holds references to everything from the galde form.
         
     | 
| 
       90 
90 
     | 
    
         
             
              attr_accessor :builder
         
     | 
| 
       91 
91 
     | 
    
         | 
| 
       92 
92 
     | 
    
         
             
            ##
         
     | 
| 
         @@ -397,6 +397,7 @@ end 
     | 
|
| 
       397 
397 
     | 
    
         
             
                parse_signals()
         
     | 
| 
       398 
398 
     | 
    
         
             
                set_glade_all()
         
     | 
| 
       399 
399 
     | 
    
         
             
                @builder[:window1].show  #show_all can't hide widgets in before_show
         
     | 
| 
      
 400 
     | 
    
         
            +
             #   @builder[:window1].add_events(Gdk::EventMask.new(:key_press))
         
     | 
| 
       400 
401 
     | 
    
         
             
                @top_level_window = Gtk.main_level == 0 ? true : false
         
     | 
| 
       401 
402 
     | 
    
         
             
                Gtk.main if @top_level_window or @builder[:window1].modal?  #need new Gtk.main for blocking!
         
     | 
| 
       402 
403 
     | 
    
         
             
              end
         
     | 
| 
         @@ -413,6 +414,12 @@ end 
     | 
|
| 
       413 
414 
     | 
    
         
             
                @builder[:window1].destroy
         
     | 
| 
       414 
415 
     | 
    
         
             
              end
         
     | 
| 
       415 
416 
     | 
    
         | 
| 
      
 417 
     | 
    
         
            +
              def self__key_press_event(view, evt)
         
     | 
| 
      
 418 
     | 
    
         
            +
                return unless evt.keyval == 65535 # Gdk::Keyval::GDK_F3
         
     | 
| 
      
 419 
     | 
    
         
            +
                oinspect
         
     | 
| 
      
 420 
     | 
    
         
            +
              end
         
     | 
| 
      
 421 
     | 
    
         
            +
             
     | 
| 
      
 422 
     | 
    
         
            +
             
     | 
| 
       416 
423 
     | 
    
         
             
            #
         
     | 
| 
       417 
424 
     | 
    
         
             
            #  private def active_record_valid?(show_errors = true)
         
     | 
| 
       418 
425 
     | 
    
         
             
            #    get_glade_all
         
     | 
| 
         @@ -426,5 +433,12 @@ end 
     | 
|
| 
       426 
433 
     | 
    
         | 
| 
       427 
434 
     | 
    
         | 
| 
       428 
435 
     | 
    
         
             
            end
         
     | 
| 
       429 
     | 
    
         
            -
             
     | 
| 
      
 436 
     | 
    
         
            +
             
     | 
| 
      
 437 
     | 
    
         
            +
             
     | 
| 
      
 438 
     | 
    
         
            +
            # Waits for all penting events to finish before continuing.
         
     | 
| 
      
 439 
     | 
    
         
            +
            def clear_events()  
         
     | 
| 
      
 440 
     | 
    
         
            +
              while (Gtk.events_pending?)
         
     | 
| 
      
 441 
     | 
    
         
            +
                Gtk.main_iteration
         
     | 
| 
      
 442 
     | 
    
         
            +
              end
         
     | 
| 
      
 443 
     | 
    
         
            +
            end
         
     | 
| 
       430 
444 
     | 
    
         | 
| 
         @@ -1,16 +1,17 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module VR::ObjectInspector
         
     | 
| 
       1 
2 
     | 
    
         | 
| 
       2 
     | 
    
         
            -
            class MethodsListView < VR::ListView
         
     | 
| 
      
 3 
     | 
    
         
            +
              class MethodsListView < VR::ListView
         
     | 
| 
       3 
4 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
      
 5 
     | 
    
         
            +
                def initialize(obj)
         
     | 
| 
      
 6 
     | 
    
         
            +
                  super(:method => String, :arity => String, :parameters => String)
         
     | 
| 
      
 7 
     | 
    
         
            +
                  obj.public_methods.each do |meth|
         
     | 
| 
      
 8 
     | 
    
         
            +
                    row = add_row
         
     | 
| 
      
 9 
     | 
    
         
            +
                    row[:method] = meth.to_s
         
     | 
| 
      
 10 
     | 
    
         
            +
                    row[:arity] = obj.method(meth).arity.to_s
         
     | 
| 
      
 11 
     | 
    
         
            +
                    row[:parameters] = obj.method(meth).parameters.to_s
         
     | 
| 
      
 12 
     | 
    
         
            +
                  end
         
     | 
| 
       11 
13 
     | 
    
         
             
                end
         
     | 
| 
       12 
     | 
    
         
            -
              end
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
14 
     | 
    
         | 
| 
      
 15 
     | 
    
         
            +
              end
         
     | 
| 
       15 
16 
     | 
    
         | 
| 
       16 
17 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1,26 +1,42 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module VR::ObjectInspector
         
     | 
| 
       1 
2 
     | 
    
         | 
| 
       2 
     | 
    
         
            -
            class ObjectInspectorGUI
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
              class ObjectInspectorGUI
         
     | 
| 
      
 4 
     | 
    
         
            +
                
         
     | 
| 
      
 5 
     | 
    
         
            +
                include GladeGUI
         
     | 
| 
       5 
6 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
      
 7 
     | 
    
         
            +
                def initialize(obj=self)
         
     | 
| 
      
 8 
     | 
    
         
            +
                  @obj = obj
         
     | 
| 
      
 9 
     | 
    
         
            +
                  @obj_to_s = obj.to_s
         
     | 
| 
      
 10 
     | 
    
         
            +
                  @meth_view = MethodsListView.new(@obj)
         
     | 
| 
      
 11 
     | 
    
         
            +
                  @var_view = VariablesListView.new(@obj)
         
     | 
| 
      
 12 
     | 
    
         
            +
                end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                def before_show()
         
     | 
| 
      
 15 
     | 
    
         
            +
                  @headline = "<big><big>#{@obj.class.name}  (ID:  #{@obj.__id__})</big></big>"
         
     | 
| 
      
 16 
     | 
    
         
            +
                  @builder[:scrolledwindow1].add @meth_view
         
     | 
| 
      
 17 
     | 
    
         
            +
                  @builder[:scrolledwindow2].add @var_view
         
     | 
| 
      
 18 
     | 
    
         
            +
                  @builder[:paned1].position = 400
         
     | 
| 
      
 19 
     | 
    
         
            +
                  @builder[:window1].show_all
         
     | 
| 
      
 20 
     | 
    
         
            +
                end  
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                def var_view__row_activated(*args)
         
     | 
| 
      
 23 
     | 
    
         
            +
                  row = @var_view.selected_rows.first
         
     | 
| 
      
 24 
     | 
    
         
            +
                  oinspect row[:obj] 
         
     | 
| 
      
 25 
     | 
    
         
            +
                end
         
     | 
| 
       12 
26 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
              def before_show()
         
     | 
| 
       14 
     | 
    
         
            -
                @headline = "<big><big>#{@obj.class.name}  (ID:  #{@obj.__id__})</big></big>"
         
     | 
| 
       15 
     | 
    
         
            -
                @builder[:scrolledwindow1].add @meth_view
         
     | 
| 
       16 
     | 
    
         
            -
                @builder[:scrolledwindow2].add @var_view
         
     | 
| 
       17 
     | 
    
         
            -
                @builder[:paned1].position = 400
         
     | 
| 
       18 
     | 
    
         
            -
                @builder[:window1].show_all
         
     | 
| 
       19 
     | 
    
         
            -
              end  
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
              def var_view__row_activated(*args)
         
     | 
| 
       22 
     | 
    
         
            -
                row = @var_view.selected_rows.first
         
     | 
| 
       23 
     | 
    
         
            -
                oinspect row[:obj] 
         
     | 
| 
       24 
27 
     | 
    
         
             
              end
         
     | 
| 
       25 
28 
     | 
    
         | 
| 
       26 
29 
     | 
    
         
             
            end
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
            # @param [Object] obj Any object that you want to display.
         
     | 
| 
      
 32 
     | 
    
         
            +
            # @return none.
         
     | 
| 
      
 33 
     | 
    
         
            +
            # Displays object on screen and halts the program.  Anywhere in your code you can halt 
         
     | 
| 
      
 34 
     | 
    
         
            +
            # the execution, and display an object in a window like this:
         
     | 
| 
      
 35 
     | 
    
         
            +
            #   alert anyobject
         
     | 
| 
      
 36 
     | 
    
         
            +
            #
         
     | 
| 
      
 37 
     | 
    
         
            +
            # http://visualruby.net/img/object_inspector.jpg
         
     | 
| 
      
 38 
     | 
    
         
            +
            #
         
     | 
| 
      
 39 
     | 
    
         
            +
            def oinspect(obj=self)
         
     | 
| 
      
 40 
     | 
    
         
            +
              VR::ObjectInspector::ObjectInspectorGUI.new(obj).show_glade()
         
     | 
| 
      
 41 
     | 
    
         
            +
            end
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
         @@ -1,38 +1,39 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module VR::ObjectInspector
         
     | 
| 
       1 
2 
     | 
    
         | 
| 
       2 
     | 
    
         
            -
            class VariablesListView < VR::ListView
         
     | 
| 
      
 3 
     | 
    
         
            +
              class VariablesListView < VR::ListView
         
     | 
| 
       3 
4 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
                end
         
     | 
| 
       14 
     | 
    
         
            -
                if obj.is_a?(Hash)
         
     | 
| 
       15 
     | 
    
         
            -
                  obj.each do |key, val|
         
     | 
| 
       16 
     | 
    
         
            -
                  row = add_row
         
     | 
| 
       17 
     | 
    
         
            -
                  row[:variable] = key.to_s
         
     | 
| 
       18 
     | 
    
         
            -
                  row[:class] = val.class.name
         
     | 
| 
       19 
     | 
    
         
            -
                  row[:value] = val.to_s
         
     | 
| 
       20 
     | 
    
         
            -
                  row[:type] = "key"
         
     | 
| 
       21 
     | 
    
         
            -
                  row[:obj] = val
         
     | 
| 
      
 5 
     | 
    
         
            +
                def initialize(obj)
         
     | 
| 
      
 6 
     | 
    
         
            +
                  super(variable: String, type: String, class: String, value: String, obj: Object)
         
     | 
| 
      
 7 
     | 
    
         
            +
                  obj.instance_variables.each do |var|
         
     | 
| 
      
 8 
     | 
    
         
            +
                    row = add_row
         
     | 
| 
      
 9 
     | 
    
         
            +
                    row[:variable] = var.to_s
         
     | 
| 
      
 10 
     | 
    
         
            +
                    row[:class] = obj.instance_variable_get(var).class.name
         
     | 
| 
      
 11 
     | 
    
         
            +
                    row[:value] = obj.instance_variable_get(var).to_s
         
     | 
| 
      
 12 
     | 
    
         
            +
                    row[:type] = "var"
         
     | 
| 
      
 13 
     | 
    
         
            +
                    row[:obj] = obj.instance_variable_get(var)
         
     | 
| 
       22 
14 
     | 
    
         
             
                  end
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
      
 15 
     | 
    
         
            +
                  if obj.is_a?(Hash)
         
     | 
| 
      
 16 
     | 
    
         
            +
                    obj.each do |key, val|
         
     | 
| 
      
 17 
     | 
    
         
            +
                    row = add_row
         
     | 
| 
      
 18 
     | 
    
         
            +
                    row[:variable] = key.to_s
         
     | 
| 
      
 19 
     | 
    
         
            +
                    row[:class] = val.class.name
         
     | 
| 
      
 20 
     | 
    
         
            +
                    row[:value] = val.to_s
         
     | 
| 
      
 21 
     | 
    
         
            +
                    row[:type] = "key"
         
     | 
| 
      
 22 
     | 
    
         
            +
                    row[:obj] = val
         
     | 
| 
      
 23 
     | 
    
         
            +
                    end
         
     | 
| 
      
 24 
     | 
    
         
            +
                  end
         
     | 
| 
      
 25 
     | 
    
         
            +
                  if obj.is_a?(Array)
         
     | 
| 
      
 26 
     | 
    
         
            +
                    obj.each_index do |i|
         
     | 
| 
      
 27 
     | 
    
         
            +
                    row = add_row
         
     | 
| 
      
 28 
     | 
    
         
            +
                    row[:variable] = i.to_s
         
     | 
| 
      
 29 
     | 
    
         
            +
                    row[:class] = obj[i].class.name
         
     | 
| 
      
 30 
     | 
    
         
            +
                    row[:value] = obj[i].to_s
         
     | 
| 
      
 31 
     | 
    
         
            +
                    row[:type] = "index"
         
     | 
| 
      
 32 
     | 
    
         
            +
                    row[:obj] = obj[i]
         
     | 
| 
      
 33 
     | 
    
         
            +
                    end
         
     | 
| 
       32 
34 
     | 
    
         
             
                  end
         
     | 
| 
       33 
35 
     | 
    
         
             
                end
         
     | 
| 
       34 
     | 
    
         
            -
              end
         
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
36 
     | 
    
         | 
| 
      
 37 
     | 
    
         
            +
              end
         
     | 
| 
       37 
38 
     | 
    
         | 
| 
       38 
39 
     | 
    
         
             
            end
         
     | 
| 
         @@ -3,11 +3,11 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            <interface>
         
     | 
| 
       4 
4 
     | 
    
         
             
              <requires lib="gtk+" version="3.0"/>
         
     | 
| 
       5 
5 
     | 
    
         
             
              <object class="GtkWindow" id="window1">
         
     | 
| 
       6 
     | 
    
         
            -
                <property name="width_request">1000</property>
         
     | 
| 
       7 
     | 
    
         
            -
                <property name="height_request">600</property>
         
     | 
| 
       8 
6 
     | 
    
         
             
                <property name="can_focus">False</property>
         
     | 
| 
       9 
7 
     | 
    
         
             
                <property name="title" translatable="yes">Object Inspector</property>
         
     | 
| 
       10 
8 
     | 
    
         
             
                <property name="modal">True</property>
         
     | 
| 
      
 9 
     | 
    
         
            +
                <property name="default_width">1000</property>
         
     | 
| 
      
 10 
     | 
    
         
            +
                <property name="default_height">700</property>
         
     | 
| 
       11 
11 
     | 
    
         
             
                <child>
         
     | 
| 
       12 
12 
     | 
    
         
             
                  <object class="GtkBox" id="box1">
         
     | 
| 
       13 
13 
     | 
    
         
             
                    <property name="visible">True</property>
         
     | 
| 
         @@ -32,14 +32,40 @@ 
     | 
|
| 
       32 
32 
     | 
    
         
             
                      </packing>
         
     | 
| 
       33 
33 
     | 
    
         
             
                    </child>
         
     | 
| 
       34 
34 
     | 
    
         
             
                    <child>
         
     | 
| 
       35 
     | 
    
         
            -
                      <object class=" 
     | 
| 
      
 35 
     | 
    
         
            +
                      <object class="GtkFrame" id="frame2">
         
     | 
| 
       36 
36 
     | 
    
         
             
                        <property name="visible">True</property>
         
     | 
| 
       37 
     | 
    
         
            -
                        <property name="can_focus"> 
     | 
| 
      
 37 
     | 
    
         
            +
                        <property name="can_focus">False</property>
         
     | 
| 
      
 38 
     | 
    
         
            +
                        <property name="label_xalign">0</property>
         
     | 
| 
       38 
39 
     | 
    
         
             
                        <property name="shadow_type">in</property>
         
     | 
| 
       39 
40 
     | 
    
         
             
                        <child>
         
     | 
| 
       40 
     | 
    
         
            -
                          <object class=" 
     | 
| 
      
 41 
     | 
    
         
            +
                          <object class="GtkAlignment" id="alignment2">
         
     | 
| 
       41 
42 
     | 
    
         
             
                            <property name="visible">True</property>
         
     | 
| 
       42 
     | 
    
         
            -
                            <property name="can_focus"> 
     | 
| 
      
 43 
     | 
    
         
            +
                            <property name="can_focus">False</property>
         
     | 
| 
      
 44 
     | 
    
         
            +
                            <property name="left_padding">12</property>
         
     | 
| 
      
 45 
     | 
    
         
            +
                            <child>
         
     | 
| 
      
 46 
     | 
    
         
            +
                              <object class="GtkScrolledWindow" id="scrolledwindow3">
         
     | 
| 
      
 47 
     | 
    
         
            +
                                <property name="visible">True</property>
         
     | 
| 
      
 48 
     | 
    
         
            +
                                <property name="can_focus">True</property>
         
     | 
| 
      
 49 
     | 
    
         
            +
                                <property name="margin_right">10</property>
         
     | 
| 
      
 50 
     | 
    
         
            +
                                <property name="margin_top">3</property>
         
     | 
| 
      
 51 
     | 
    
         
            +
                                <property name="margin_bottom">8</property>
         
     | 
| 
      
 52 
     | 
    
         
            +
                                <property name="shadow_type">in</property>
         
     | 
| 
      
 53 
     | 
    
         
            +
                                <child>
         
     | 
| 
      
 54 
     | 
    
         
            +
                                  <object class="GtkTextView" id="obj_to_s">
         
     | 
| 
      
 55 
     | 
    
         
            +
                                    <property name="visible">True</property>
         
     | 
| 
      
 56 
     | 
    
         
            +
                                    <property name="can_focus">True</property>
         
     | 
| 
      
 57 
     | 
    
         
            +
                                  </object>
         
     | 
| 
      
 58 
     | 
    
         
            +
                                </child>
         
     | 
| 
      
 59 
     | 
    
         
            +
                              </object>
         
     | 
| 
      
 60 
     | 
    
         
            +
                            </child>
         
     | 
| 
      
 61 
     | 
    
         
            +
                          </object>
         
     | 
| 
      
 62 
     | 
    
         
            +
                        </child>
         
     | 
| 
      
 63 
     | 
    
         
            +
                        <child type="label">
         
     | 
| 
      
 64 
     | 
    
         
            +
                          <object class="GtkLabel" id="label2">
         
     | 
| 
      
 65 
     | 
    
         
            +
                            <property name="visible">True</property>
         
     | 
| 
      
 66 
     | 
    
         
            +
                            <property name="can_focus">False</property>
         
     | 
| 
      
 67 
     | 
    
         
            +
                            <property name="label" translatable="yes"><big>to_s</big></property>
         
     | 
| 
      
 68 
     | 
    
         
            +
                            <property name="use_markup">True</property>
         
     | 
| 
       43 
69 
     | 
    
         
             
                          </object>
         
     | 
| 
       44 
70 
     | 
    
         
             
                        </child>
         
     | 
| 
       45 
71 
     | 
    
         
             
                      </object>
         
     | 
| 
         @@ -54,12 +80,38 @@ 
     | 
|
| 
       54 
80 
     | 
    
         
             
                        <property name="visible">True</property>
         
     | 
| 
       55 
81 
     | 
    
         
             
                        <property name="can_focus">True</property>
         
     | 
| 
       56 
82 
     | 
    
         
             
                        <child>
         
     | 
| 
       57 
     | 
    
         
            -
                          <object class=" 
     | 
| 
      
 83 
     | 
    
         
            +
                          <object class="GtkFrame" id="frame3">
         
     | 
| 
       58 
84 
     | 
    
         
             
                            <property name="visible">True</property>
         
     | 
| 
       59 
     | 
    
         
            -
                            <property name="can_focus"> 
     | 
| 
      
 85 
     | 
    
         
            +
                            <property name="can_focus">False</property>
         
     | 
| 
      
 86 
     | 
    
         
            +
                            <property name="label_xalign">0</property>
         
     | 
| 
       60 
87 
     | 
    
         
             
                            <property name="shadow_type">in</property>
         
     | 
| 
       61 
88 
     | 
    
         
             
                            <child>
         
     | 
| 
       62 
     | 
    
         
            -
                              < 
     | 
| 
      
 89 
     | 
    
         
            +
                              <object class="GtkAlignment" id="alignment3">
         
     | 
| 
      
 90 
     | 
    
         
            +
                                <property name="visible">True</property>
         
     | 
| 
      
 91 
     | 
    
         
            +
                                <property name="can_focus">False</property>
         
     | 
| 
      
 92 
     | 
    
         
            +
                                <property name="left_padding">12</property>
         
     | 
| 
      
 93 
     | 
    
         
            +
                                <child>
         
     | 
| 
      
 94 
     | 
    
         
            +
                                  <object class="GtkScrolledWindow" id="scrolledwindow1">
         
     | 
| 
      
 95 
     | 
    
         
            +
                                    <property name="visible">True</property>
         
     | 
| 
      
 96 
     | 
    
         
            +
                                    <property name="can_focus">True</property>
         
     | 
| 
      
 97 
     | 
    
         
            +
                                    <property name="margin_right">10</property>
         
     | 
| 
      
 98 
     | 
    
         
            +
                                    <property name="margin_top">3</property>
         
     | 
| 
      
 99 
     | 
    
         
            +
                                    <property name="margin_bottom">8</property>
         
     | 
| 
      
 100 
     | 
    
         
            +
                                    <property name="shadow_type">in</property>
         
     | 
| 
      
 101 
     | 
    
         
            +
                                    <child>
         
     | 
| 
      
 102 
     | 
    
         
            +
                                      <placeholder/>
         
     | 
| 
      
 103 
     | 
    
         
            +
                                    </child>
         
     | 
| 
      
 104 
     | 
    
         
            +
                                  </object>
         
     | 
| 
      
 105 
     | 
    
         
            +
                                </child>
         
     | 
| 
      
 106 
     | 
    
         
            +
                              </object>
         
     | 
| 
      
 107 
     | 
    
         
            +
                            </child>
         
     | 
| 
      
 108 
     | 
    
         
            +
                            <child type="label">
         
     | 
| 
      
 109 
     | 
    
         
            +
                              <object class="GtkLabel" id="label3">
         
     | 
| 
      
 110 
     | 
    
         
            +
                                <property name="visible">True</property>
         
     | 
| 
      
 111 
     | 
    
         
            +
                                <property name="can_focus">False</property>
         
     | 
| 
      
 112 
     | 
    
         
            +
                                <property name="label" translatable="yes"><big>public methods</big></property>
         
     | 
| 
      
 113 
     | 
    
         
            +
                                <property name="use_markup">True</property>
         
     | 
| 
      
 114 
     | 
    
         
            +
                              </object>
         
     | 
| 
       63 
115 
     | 
    
         
             
                            </child>
         
     | 
| 
       64 
116 
     | 
    
         
             
                          </object>
         
     | 
| 
       65 
117 
     | 
    
         
             
                          <packing>
         
     | 
| 
         @@ -68,12 +120,38 @@ 
     | 
|
| 
       68 
120 
     | 
    
         
             
                          </packing>
         
     | 
| 
       69 
121 
     | 
    
         
             
                        </child>
         
     | 
| 
       70 
122 
     | 
    
         
             
                        <child>
         
     | 
| 
       71 
     | 
    
         
            -
                          <object class=" 
     | 
| 
      
 123 
     | 
    
         
            +
                          <object class="GtkFrame" id="frame4">
         
     | 
| 
       72 
124 
     | 
    
         
             
                            <property name="visible">True</property>
         
     | 
| 
       73 
     | 
    
         
            -
                            <property name="can_focus"> 
     | 
| 
      
 125 
     | 
    
         
            +
                            <property name="can_focus">False</property>
         
     | 
| 
      
 126 
     | 
    
         
            +
                            <property name="label_xalign">0</property>
         
     | 
| 
       74 
127 
     | 
    
         
             
                            <property name="shadow_type">in</property>
         
     | 
| 
       75 
128 
     | 
    
         
             
                            <child>
         
     | 
| 
       76 
     | 
    
         
            -
                              < 
     | 
| 
      
 129 
     | 
    
         
            +
                              <object class="GtkAlignment" id="alignment4">
         
     | 
| 
      
 130 
     | 
    
         
            +
                                <property name="visible">True</property>
         
     | 
| 
      
 131 
     | 
    
         
            +
                                <property name="can_focus">False</property>
         
     | 
| 
      
 132 
     | 
    
         
            +
                                <property name="left_padding">12</property>
         
     | 
| 
      
 133 
     | 
    
         
            +
                                <child>
         
     | 
| 
      
 134 
     | 
    
         
            +
                                  <object class="GtkScrolledWindow" id="scrolledwindow2">
         
     | 
| 
      
 135 
     | 
    
         
            +
                                    <property name="visible">True</property>
         
     | 
| 
      
 136 
     | 
    
         
            +
                                    <property name="can_focus">True</property>
         
     | 
| 
      
 137 
     | 
    
         
            +
                                    <property name="margin_right">10</property>
         
     | 
| 
      
 138 
     | 
    
         
            +
                                    <property name="margin_top">5</property>
         
     | 
| 
      
 139 
     | 
    
         
            +
                                    <property name="margin_bottom">8</property>
         
     | 
| 
      
 140 
     | 
    
         
            +
                                    <property name="shadow_type">in</property>
         
     | 
| 
      
 141 
     | 
    
         
            +
                                    <child>
         
     | 
| 
      
 142 
     | 
    
         
            +
                                      <placeholder/>
         
     | 
| 
      
 143 
     | 
    
         
            +
                                    </child>
         
     | 
| 
      
 144 
     | 
    
         
            +
                                  </object>
         
     | 
| 
      
 145 
     | 
    
         
            +
                                </child>
         
     | 
| 
      
 146 
     | 
    
         
            +
                              </object>
         
     | 
| 
      
 147 
     | 
    
         
            +
                            </child>
         
     | 
| 
      
 148 
     | 
    
         
            +
                            <child type="label">
         
     | 
| 
      
 149 
     | 
    
         
            +
                              <object class="GtkLabel" id="label4">
         
     | 
| 
      
 150 
     | 
    
         
            +
                                <property name="visible">True</property>
         
     | 
| 
      
 151 
     | 
    
         
            +
                                <property name="can_focus">False</property>
         
     | 
| 
      
 152 
     | 
    
         
            +
                                <property name="label" translatable="yes"><big>instance variables, array, hash values</big></property>
         
     | 
| 
      
 153 
     | 
    
         
            +
                                <property name="use_markup">True</property>
         
     | 
| 
      
 154 
     | 
    
         
            +
                              </object>
         
     | 
| 
       77 
155 
     | 
    
         
             
                            </child>
         
     | 
| 
       78 
156 
     | 
    
         
             
                          </object>
         
     | 
| 
       79 
157 
     | 
    
         
             
                          <packing>
         
     |