clevic 0.12.0 → 0.13.0.b1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. data/History.txt +10 -0
  2. data/Manifest.txt +209 -30
  3. data/README.txt +16 -20
  4. data/Rakefile +8 -8
  5. data/TODO +6 -7
  6. data/bin/clevic +12 -73
  7. data/lib/clevic/action_builder.rb +168 -0
  8. data/lib/clevic/ar_methods.rb +120 -0
  9. data/lib/clevic/attribute_list.rb +56 -0
  10. data/lib/clevic/cache_table.rb +60 -37
  11. data/lib/clevic/default_view.rb +3 -16
  12. data/lib/clevic/delegate.rb +46 -0
  13. data/lib/clevic/emitter.rb +38 -0
  14. data/lib/clevic/extensions.rb +61 -114
  15. data/lib/clevic/field.rb +159 -228
  16. data/lib/clevic/field_valuer.rb +165 -0
  17. data/lib/clevic/filter_command.rb +2 -6
  18. data/lib/clevic/generic_format.rb +52 -0
  19. data/lib/clevic/{ui → icons}/icon.png +0 -0
  20. data/lib/clevic/many_field.rb +7 -0
  21. data/lib/clevic/model_builder.rb +234 -146
  22. data/lib/clevic/model_column.rb +61 -13
  23. data/lib/clevic/order_attribute.rb +10 -0
  24. data/lib/clevic/qt.rb +35 -0
  25. data/lib/clevic/qt/action_builder.rb +47 -0
  26. data/lib/clevic/qt/boolean_delegate.rb +8 -0
  27. data/lib/clevic/{browser.rb → qt/browser.rb} +35 -14
  28. data/lib/clevic/qt/clipboard.rb +35 -0
  29. data/lib/clevic/qt/combo_delegate.rb +198 -0
  30. data/lib/clevic/qt/delegates.rb +1 -0
  31. data/lib/clevic/qt/distinct_delegate.rb +35 -0
  32. data/lib/clevic/qt/extensions.rb +52 -0
  33. data/lib/clevic/qt/field.rb +18 -0
  34. data/lib/clevic/{item_delegate.rb → qt/item_delegate.rb} +8 -4
  35. data/lib/clevic/qt/relational_delegate.rb +87 -0
  36. data/lib/clevic/{search_dialog.rb → qt/search_dialog.rb} +1 -11
  37. data/lib/clevic/qt/set_delegate.rb +44 -0
  38. data/lib/clevic/qt/table_model.rb +331 -0
  39. data/lib/clevic/qt/table_view.rb +344 -0
  40. data/lib/clevic/qt/text_area_delegate.rb +8 -0
  41. data/lib/clevic/{text_delegate.rb → qt/text_delegate.rb} +6 -4
  42. data/lib/clevic/{ui → qt/ui}/.gitignore +0 -0
  43. data/lib/clevic/{ui → qt/ui}/browser.ui +0 -0
  44. data/lib/clevic/{ui → qt/ui}/search_dialog.ui +0 -0
  45. data/lib/clevic/rails_models_loaders.rb +56 -0
  46. data/lib/clevic/record.rb +2 -17
  47. data/lib/clevic/sampler.rb +81 -0
  48. data/lib/clevic/sequel_ar_adapter.rb +215 -0
  49. data/lib/clevic/sequel_length_validation.rb +23 -0
  50. data/lib/clevic/sequel_meta.rb +65 -0
  51. data/lib/clevic/sequel_naked.rb +30 -0
  52. data/lib/clevic/swing.rb +38 -0
  53. data/lib/clevic/swing/action.rb +125 -0
  54. data/lib/clevic/swing/action_builder.rb +47 -0
  55. data/lib/clevic/swing/boolean_delegate.rb +26 -0
  56. data/lib/clevic/swing/browser.rb +282 -0
  57. data/lib/clevic/swing/cell_editor.rb +95 -0
  58. data/lib/clevic/swing/cell_renderer.rb +44 -0
  59. data/lib/clevic/swing/clipboard.rb +135 -0
  60. data/lib/clevic/swing/combo_delegate.rb +336 -0
  61. data/lib/clevic/swing/confirm_dialog.rb +57 -0
  62. data/lib/clevic/swing/delegate.rb +40 -0
  63. data/lib/clevic/swing/distinct_delegate.rb +30 -0
  64. data/lib/clevic/swing/extensions.rb +274 -0
  65. data/lib/clevic/swing/field.rb +35 -0
  66. data/lib/clevic/swing/relational_delegate.rb +48 -0
  67. data/lib/clevic/swing/row_header.rb +210 -0
  68. data/lib/clevic/swing/search_dialog.rb +230 -0
  69. data/lib/clevic/swing/selection_model.rb +90 -0
  70. data/lib/clevic/swing/set_delegate.rb +41 -0
  71. data/lib/clevic/swing/swing_table_index.rb +43 -0
  72. data/lib/clevic/swing/table_model.rb +200 -0
  73. data/lib/clevic/swing/table_view.rb +385 -0
  74. data/lib/clevic/swing/table_view_focus.rb +47 -0
  75. data/lib/clevic/swing/tag_delegate.rb +127 -0
  76. data/lib/clevic/swing/tag_editor.rb +101 -0
  77. data/lib/clevic/swing/text_area_delegate.rb +46 -0
  78. data/lib/clevic/swing/text_delegate.rb +31 -0
  79. data/lib/clevic/swing/ui/build.xml +74 -0
  80. data/lib/clevic/swing/ui/dist/README.TXT +33 -0
  81. data/lib/clevic/swing/ui/dist/lib/swing-layout-1.0.3.jar +0 -0
  82. data/lib/clevic/swing/ui/manifest.mf +3 -0
  83. data/lib/clevic/swing/ui/nbproject/build-impl.xml +731 -0
  84. data/lib/clevic/swing/ui/nbproject/genfiles.properties +8 -0
  85. data/lib/clevic/swing/ui/nbproject/private/config.properties +0 -0
  86. data/lib/clevic/swing/ui/nbproject/private/private.properties +6 -0
  87. data/lib/clevic/swing/ui/nbproject/private/private.xml +4 -0
  88. data/lib/clevic/swing/ui/nbproject/project.properties +70 -0
  89. data/lib/clevic/swing/ui/nbproject/project.xml +14 -0
  90. data/lib/clevic/swing/ui/src/SearchDialog.form +158 -0
  91. data/lib/clevic/swing/ui/src/SearchDialog.java +163 -0
  92. data/lib/clevic/swing/ui/src/TagEditor.form +106 -0
  93. data/lib/clevic/swing/ui/src/TagEditor.java +108 -0
  94. data/lib/clevic/swing/ui/src/resources/SearchDialog.properties +0 -0
  95. data/lib/clevic/table_index.rb +100 -0
  96. data/lib/clevic/table_model.rb +54 -425
  97. data/lib/clevic/table_searcher.rb +113 -116
  98. data/lib/clevic/table_view.rb +171 -399
  99. data/lib/clevic/table_view_paste.rb +199 -0
  100. data/lib/clevic/version.rb +3 -2
  101. data/lib/clevic/view.rb +94 -43
  102. data/models/accounts_models.rb +13 -13
  103. data/models/minimal_models.rb +5 -9
  104. data/models/times_models.rb +19 -14
  105. data/models/times_psql_models.rb +10 -0
  106. data/models/times_sqlite_models.rb +1 -8
  107. data/models/values_models.rb +2 -8
  108. data/tasks/clevic.rake +1 -1
  109. data/tasks/rdoc.rake +1 -5
  110. data/tasks/website.rake +1 -1
  111. data/test/test_cache_table.rb +15 -29
  112. data/test/test_helper.rb +14 -83
  113. data/test/test_order_attribute.rb +1 -1
  114. data/test/test_table_model.rb +0 -21
  115. data/test/test_table_searcher.rb +67 -61
  116. metadata +262 -78
  117. data/lib/clevic.rb +0 -4
  118. data/lib/clevic/db_options.rb +0 -112
  119. data/lib/clevic/delegates.rb +0 -386
@@ -1,23 +1,10 @@
1
+ require 'generator'
2
+ require 'logger'
3
+
1
4
  require File.dirname(__FILE__) + '/test_helper.rb'
2
5
  require 'clevic/table_searcher.rb'
3
6
 
4
- class CreateFakePassengers < ActiveRecord::Migration
5
- MAX_PASSENGERS = 100
6
- NATIONALITIES = %w{Canada USA Britain UAE}
7
-
8
- def self.up
9
- 1.upto( MAX_PASSENGERS ) do |i|
10
- Passenger.create :name => Faker::Name.name, :flight => Flight.find(:all)[i%4], :nationality => NATIONALITIES[i%4], :row => i, :seat => %w{A B C D}[i % 4]
11
- end
12
- end
13
-
14
- def self.down
15
- Passenger.delete_all
16
- end
17
- end
18
-
19
7
  class MockSearchCriteria
20
-
21
8
  def initialize( &block )
22
9
  @direction = :forwards
23
10
  @from_start = false
@@ -33,50 +20,47 @@ end
33
20
 
34
21
  class TestTableSearcher < Test::Unit::TestCase
35
22
  def self.startup
36
- CreateFakePassengers.up
23
+ #~ Passenger.db.loggers = [Logger.new($stdout)]
24
+ suite.db[:passengers].delete
25
+ CreateFakePassengers.new( suite.db ).up
26
+
27
+ # force Passenger to re-read db_schema
28
+ Passenger.dataset = Passenger.dataset
37
29
  end
38
30
 
39
31
  def self.shutdown
40
- CreateFakePassengers.down
32
+ CreateFakePassengers.new( suite.db ).down
41
33
  end
42
34
 
43
35
  def setup
44
36
  @simple_search_criteria = MockSearchCriteria.new
45
- @id_order_attribute = OrderAttribute.new( Passenger, 'id' )
46
-
47
37
  @name_field = Clevic::Field.new( :name, Passenger, {} )
48
38
  @nationality_field = Clevic::Field.new( :nationality, Passenger, {} )
49
- @all_passengers = Passenger.find( :all, :conditions => [ 'flight_id = ?', Flight.find(:first).id ], :order => :id )
39
+ @all_passengers = Passenger.filter( :flight_id => Flight.first.id ).order( :id ).all
50
40
  end
51
41
 
52
42
  context 'on initialisation' do
53
43
  should "have a matching field attribute on construction" do
54
- ts = Clevic::TableSearcher.new( Passenger, [@id_order_attribute], @simple_search_criteria, @name_field )
44
+ ts = Clevic::TableSearcher.new( Passenger.dataset, @simple_search_criteria, @name_field )
55
45
  assert_equal @name_field.attribute, ts.field.attribute
56
46
  end
57
47
 
58
- should "throw an exception when called with no order attributes" do
59
- assert_raise( RuntimeError ) do
60
- Clevic::TableSearcher.new( Passenger, nil, @simple_search_criteria, @name_field )
61
- end
62
- end
63
-
64
- should "throw an exception when called with an empty collection of order attributes" do
65
- assert_raise( RuntimeError ) do
66
- Clevic::TableSearcher.new( Passenger, [], @simple_search_criteria, @name_field )
67
- end
68
- end
69
-
70
48
  should "throw an exception when called with no field" do
71
49
  assert_raise( RuntimeError ) do
72
- Clevic::TableSearcher.new( Passenger, [@id_order_attribute], @simple_search_criteria, nil )
50
+ Clevic::TableSearcher.new( Passenger.dataset, @simple_search_criteria, nil )
73
51
  end
74
52
  end
75
53
 
76
54
  should 'throw an exception for an unknown direction' do
77
55
  @simple_search_criteria.direction = :other
78
56
  assert_raise( RuntimeError ) do
79
- table_searcher = Clevic::TableSearcher.new( Passenger, [@id_order_attribute], @simple_search_criteria, @nationality_field )
57
+ table_searcher = Clevic::TableSearcher.new( Passenger.dataset, @simple_search_criteria, @nationality_field )
58
+ end
59
+ end
60
+
61
+ should "raise an expection for a naked dataset" do
62
+ assert_raise( RuntimeError ) do
63
+ Clevic::TableSearcher.new( Passenger.db[:passengers], @simple_search_criteria, @nationality_field )
80
64
  end
81
65
  end
82
66
  end
@@ -85,32 +69,35 @@ class TestTableSearcher < Test::Unit::TestCase
85
69
  setup do
86
70
  @simple_search_criteria.search_text = CreateFakePassengers::NATIONALITIES[0]
87
71
  @passenger_generator = Generator.new( @all_passengers )
72
+ @simple_search_criteria.from_start = true
88
73
  end
89
74
 
90
75
  should "have #{CreateFakePassengers::MAX_PASSENGERS} passengers" do
91
76
  assert_equal CreateFakePassengers::MAX_PASSENGERS, Passenger.count
92
77
  end
93
78
 
79
+ should_eventually "work with several ordering fields"
80
+ # Sequel::SQL::OrderedExpression:0xb50a3b14 @expression=:date, @descending=false
81
+
94
82
  should_eventually "do more granular testing"
95
83
 
96
84
  should "find the first record" do
97
- @simple_search_criteria.from_start = true
98
- table_searcher = Clevic::TableSearcher.new( Passenger, [@id_order_attribute], @simple_search_criteria, @nationality_field )
85
+ table_searcher = Clevic::TableSearcher.new( Passenger.dataset, @simple_search_criteria, @nationality_field )
86
+ assert_equal '>', table_searcher.send( :comparator )
99
87
  assert_equal @all_passengers.first, table_searcher.search
100
88
  end
101
89
 
102
90
  should "backwards-find the last record" do
103
- @simple_search_criteria.from_start = true
104
91
  @simple_search_criteria.direction = :backwards
105
- table_searcher = Clevic::TableSearcher.new( Passenger, [@id_order_attribute], @simple_search_criteria, @nationality_field )
92
+ table_searcher = Clevic::TableSearcher.new( Passenger.dataset, @simple_search_criteria, @nationality_field )
93
+ assert_equal '<', table_searcher.send( :comparator )
106
94
  assert_equal @all_passengers.last, table_searcher.search
107
95
  end
108
96
 
109
97
  should "backwards-find the next-to-last record" do
110
98
  # find the last record
111
- @simple_search_criteria.from_start = true
112
99
  @simple_search_criteria.direction = :backwards
113
- table_searcher = Clevic::TableSearcher.new( Passenger, [@id_order_attribute], @simple_search_criteria, @nationality_field )
100
+ table_searcher = Clevic::TableSearcher.new( Passenger.dataset, @simple_search_criteria, @nationality_field )
114
101
  last = table_searcher.search
115
102
 
116
103
  # now find the previous record
@@ -120,7 +107,7 @@ class TestTableSearcher < Test::Unit::TestCase
120
107
 
121
108
  should "find next records" do
122
109
  @simple_search_criteria.from_start = false
123
- table_searcher = Clevic::TableSearcher.new( Passenger, [@id_order_attribute], @simple_search_criteria, @nationality_field )
110
+ table_searcher = Clevic::TableSearcher.new( Passenger.dataset, @simple_search_criteria, @nationality_field )
124
111
 
125
112
  # fetch records one by one, starting from the one after the first one, and compare them
126
113
  while next_entity = table_searcher.search( @passenger_generator.next )
@@ -135,22 +122,43 @@ class TestTableSearcher < Test::Unit::TestCase
135
122
  end
136
123
 
137
124
  context 'search for related field value' do
138
- should 'raise an exception for no display value' do
125
+ setup do
139
126
  @simple_search_criteria.from_start = true
140
- @simple_search_criteria.search_text = Flight.find(:first).number
141
- flight_field = Clevic::Field.new( :flight, Passenger, {} )
142
- assert_nil flight_field.display
127
+ # trim search slightly
128
+ @simple_search_criteria.search_text = Flight.first.number[1..-2]
129
+ @flight_field = Clevic::Field.new( :flight, Passenger, { :display => 'number' } )
130
+ end
131
+
132
+ should 'raise an exception for no display value' do
133
+ @flight_field = Clevic::Field.new( :flight, Passenger, {} )
134
+ assert_nil @flight_field.display
143
135
  assert_raise RuntimeError do
144
- table_searcher = Clevic::TableSearcher.new( Passenger, [@id_order_attribute], @simple_search_criteria, flight_field )
136
+ table_searcher = Clevic::TableSearcher.new( Passenger.dataset, @simple_search_criteria, @flight_field )
145
137
  table_searcher.search
146
138
  end
147
139
  end
148
-
149
- should 'find a record' do
150
- @simple_search_criteria.from_start = true
151
- @simple_search_criteria.search_text = Flight.find(:first).number
152
- flight_field = Clevic::Field.new( :flight, Passenger, { :display => 'number' } )
153
- table_searcher = Clevic::TableSearcher.new( Passenger, [@id_order_attribute], @simple_search_criteria, flight_field )
140
+
141
+ should "raise exception for related fields with display procs" do
142
+ assert_raise RuntimeError do
143
+ table_searcher = Clevic::TableSearcher.new(
144
+ Passenger.dataset,
145
+ @simple_search_criteria,
146
+ Clevic::Field.new( :flight, Passenger, { :display => lambda{|x| x.name} } )
147
+ )
148
+ table_searcher.search
149
+ end
150
+ end
151
+
152
+ should 'find a record with partial words' do
153
+ table_searcher = Clevic::TableSearcher.new( Passenger.dataset, @simple_search_criteria, @flight_field )
154
+ assert_equal @all_passengers.first, table_searcher.search
155
+ end
156
+
157
+ should 'find a record with whole words' do
158
+ @simple_search_criteria.whole_words = true
159
+ @simple_search_criteria.search_text = Flight.first.number
160
+
161
+ table_searcher = Clevic::TableSearcher.new( Passenger.dataset, @simple_search_criteria, @flight_field )
154
162
  assert_equal @all_passengers.first, table_searcher.search
155
163
  end
156
164
  end
@@ -159,17 +167,17 @@ class TestTableSearcher < Test::Unit::TestCase
159
167
  setup do
160
168
  @simple_search_criteria.from_start = true
161
169
  @simple_search_criteria.search_text = CreateFakePassengers::NATIONALITIES[0][0..-3]
162
- @should_find = Passenger.find :all, :conditions => "nationality like '%#{@simple_search_criteria.search_text}%'", :order => :id
170
+ @should_find = Passenger.filter( "nationality like '%#{@simple_search_criteria.search_text}%'" ).order( :id )
163
171
  end
164
172
 
165
173
  should 'find a full value with a partial search string' do
166
174
  @simple_search_criteria.whole_words = false
167
175
  @simple_search_criteria.from_start = true
168
- table_searcher = Clevic::TableSearcher.new( Passenger, [@id_order_attribute], @simple_search_criteria, @nationality_field )
169
- g = Generator.new @should_find
176
+ table_searcher = Clevic::TableSearcher.new( Passenger.dataset, @simple_search_criteria, @nationality_field )
177
+ expecteds = Generator.new @should_find
170
178
  last_entity = nil
171
179
  while next_entity = table_searcher.search( last_entity )
172
- assert_equal next_entity, g.next
180
+ assert_equal next_entity, expecteds.next
173
181
  last_entity = next_entity
174
182
  @simple_search_criteria.from_start = false
175
183
  end
@@ -178,11 +186,9 @@ class TestTableSearcher < Test::Unit::TestCase
178
186
  should 'not find any values with a partial search string and whole_words enabled' do
179
187
  @simple_search_criteria.whole_words = true
180
188
  @simple_search_criteria.from_start = true
181
- table_searcher = Clevic::TableSearcher.new( Passenger, [@id_order_attribute], @simple_search_criteria, @nationality_field )
189
+ table_searcher = Clevic::TableSearcher.new( Passenger.dataset, @simple_search_criteria, @nationality_field )
182
190
  assert_nil table_searcher.search
183
191
  end
184
192
  end
185
193
 
186
- should_eventually 'work for Array'
187
-
188
194
  end
metadata CHANGED
@@ -1,7 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clevic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ hash: 165
5
+ prerelease: 7
6
+ segments:
7
+ - 0
8
+ - 13
9
+ - 0
10
+ - b
11
+ - 1
12
+ version: 0.13.0.b1
5
13
  platform: ruby
6
14
  authors:
7
15
  - John Anderson
@@ -9,90 +17,186 @@ autorequire:
9
17
  bindir: bin
10
18
  cert_chain: []
11
19
 
12
- date: 2009-09-02 00:00:00 +02:00
20
+ date: 2011-01-20 00:00:00 +02:00
13
21
  default_executable:
14
22
  dependencies:
15
23
  - !ruby/object:Gem::Dependency
16
24
  name: activesupport
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
25
+ prerelease: false
26
+ requirement: &id001 !ruby/object:Gem::Requirement
27
+ none: false
20
28
  requirements:
21
29
  - - ">="
22
30
  - !ruby/object:Gem::Version
31
+ hash: 11
32
+ segments:
33
+ - 2
34
+ - 0
35
+ - 2
23
36
  version: 2.0.2
24
- version:
25
- - !ruby/object:Gem::Dependency
26
- name: qtext
27
37
  type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
38
+ version_requirements: *id001
39
+ - !ruby/object:Gem::Dependency
40
+ name: fastercsv
41
+ prerelease: false
42
+ requirement: &id002 !ruby/object:Gem::Requirement
43
+ none: false
30
44
  requirements:
31
45
  - - ">="
32
46
  - !ruby/object:Gem::Version
33
- version: 0.6.5
34
- version:
35
- - !ruby/object:Gem::Dependency
36
- name: activerecord
47
+ hash: 25
48
+ segments:
49
+ - 1
50
+ - 2
51
+ - 3
52
+ version: 1.2.3
37
53
  type: :runtime
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
54
+ version_requirements: *id002
55
+ - !ruby/object:Gem::Dependency
56
+ name: gather
57
+ prerelease: false
58
+ requirement: &id003 !ruby/object:Gem::Requirement
59
+ none: false
40
60
  requirements:
41
61
  - - ">="
42
62
  - !ruby/object:Gem::Version
43
- version: 2.0.2
44
- version:
63
+ hash: 19
64
+ segments:
65
+ - 0
66
+ - 0
67
+ - 6
68
+ version: 0.0.6
69
+ type: :runtime
70
+ version_requirements: *id003
45
71
  - !ruby/object:Gem::Dependency
46
- name: fastercsv
72
+ name: qtext
73
+ prerelease: false
74
+ requirement: &id004 !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ hash: 11
80
+ segments:
81
+ - 0
82
+ - 6
83
+ - 6
84
+ version: 0.6.6
47
85
  type: :runtime
48
- version_requirement:
49
- version_requirements: !ruby/object:Gem::Requirement
86
+ version_requirements: *id004
87
+ - !ruby/object:Gem::Dependency
88
+ name: hashery
89
+ prerelease: false
90
+ requirement: &id005 !ruby/object:Gem::Requirement
91
+ none: false
50
92
  requirements:
51
93
  - - ">="
52
94
  - !ruby/object:Gem::Version
53
- version: 1.2.3
54
- version:
95
+ hash: 27
96
+ segments:
97
+ - 1
98
+ - 3
99
+ - 0
100
+ version: 1.3.0
101
+ type: :runtime
102
+ version_requirements: *id005
55
103
  - !ruby/object:Gem::Dependency
56
- name: gather
104
+ name: andand
105
+ prerelease: false
106
+ requirement: &id006 !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ hash: 27
112
+ segments:
113
+ - 1
114
+ - 3
115
+ - 0
116
+ version: 1.3.0
57
117
  type: :runtime
58
- version_requirement:
59
- version_requirements: !ruby/object:Gem::Requirement
118
+ version_requirements: *id006
119
+ - !ruby/object:Gem::Dependency
120
+ name: sequel
121
+ prerelease: false
122
+ requirement: &id007 !ruby/object:Gem::Requirement
123
+ none: false
60
124
  requirements:
61
125
  - - ">="
62
126
  - !ruby/object:Gem::Version
63
- version: 0.0.4
64
- version:
127
+ hash: 39
128
+ segments:
129
+ - 3
130
+ - 8
131
+ - 0
132
+ version: 3.8.0
133
+ type: :runtime
134
+ version_requirements: *id007
65
135
  - !ruby/object:Gem::Dependency
66
- name: facets
136
+ name: hpricot
137
+ prerelease: false
138
+ requirement: &id008 !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ hash: 61
144
+ segments:
145
+ - 0
146
+ - 8
147
+ - 1
148
+ version: 0.8.1
67
149
  type: :runtime
68
- version_requirement:
69
- version_requirements: !ruby/object:Gem::Requirement
150
+ version_requirements: *id008
151
+ - !ruby/object:Gem::Dependency
152
+ name: io-like
153
+ prerelease: false
154
+ requirement: &id009 !ruby/object:Gem::Requirement
155
+ none: false
70
156
  requirements:
71
157
  - - ">="
72
158
  - !ruby/object:Gem::Version
73
- version: 2.4.1
74
- version:
159
+ hash: 19
160
+ segments:
161
+ - 0
162
+ - 3
163
+ - 0
164
+ version: 0.3.0
165
+ type: :runtime
166
+ version_requirements: *id009
75
167
  - !ruby/object:Gem::Dependency
76
168
  name: newgem
77
- type: :development
78
- version_requirement:
79
- version_requirements: !ruby/object:Gem::Requirement
169
+ prerelease: false
170
+ requirement: &id010 !ruby/object:Gem::Requirement
171
+ none: false
80
172
  requirements:
81
173
  - - ">="
82
174
  - !ruby/object:Gem::Version
175
+ hash: 27
176
+ segments:
177
+ - 1
178
+ - 3
179
+ - 0
83
180
  version: 1.3.0
84
- version:
181
+ type: :development
182
+ version_requirements: *id010
85
183
  - !ruby/object:Gem::Dependency
86
184
  name: hoe
87
- type: :development
88
- version_requirement:
89
- version_requirements: !ruby/object:Gem::Requirement
185
+ prerelease: false
186
+ requirement: &id011 !ruby/object:Gem::Requirement
187
+ none: false
90
188
  requirements:
91
189
  - - ">="
92
190
  - !ruby/object:Gem::Version
191
+ hash: 55
192
+ segments:
193
+ - 1
194
+ - 8
195
+ - 0
93
196
  version: 1.8.0
94
- version:
95
- description: SQL table GUI with Qt
197
+ type: :development
198
+ version_requirements: *id011
199
+ description: SQL table GUI with Qt, Swing, Sequel
96
200
  email:
97
201
  - panic@semiosix.com
98
202
  executables:
@@ -110,38 +214,10 @@ files:
110
214
  - Rakefile
111
215
  - TODO
112
216
  - bin/clevic
113
- - lib/clevic/dirty.rb
114
- - lib/clevic.rb
115
- - lib/clevic/browser.rb
116
- - lib/clevic/cache_table.rb
117
- - lib/clevic/db_options.rb
118
- - lib/clevic/default_view.rb
119
- - lib/clevic/delegates.rb
120
- - lib/clevic/extensions.rb
121
- - lib/clevic/field.rb
122
- - lib/clevic/filter_command.rb
123
- - lib/clevic/item_delegate.rb
124
- - lib/clevic/model_builder.rb
125
- - lib/clevic/model_column.rb
126
- - lib/clevic/order_attribute.rb
127
- - lib/clevic/record.rb
128
- - lib/clevic/search_dialog.rb
129
- - lib/clevic/sql_dialects.rb
130
- - lib/clevic/table_model.rb
131
- - lib/clevic/table_searcher.rb
132
- - lib/clevic/table_view.rb
133
- - lib/clevic/text_delegate.rb
134
- - lib/clevic/view.rb
135
- - lib/clevic/ui/.gitignore
136
- - lib/clevic/ui/browser.ui
137
- - lib/clevic/ui/browser_ui.rb
138
- - lib/clevic/ui/icon.png
139
- - lib/clevic/ui/search_dialog.ui
140
- - lib/clevic/ui/search_dialog_ui.rb
141
- - lib/clevic/version.rb
142
217
  - models/accounts_models.rb
143
218
  - models/minimal_models.rb
144
219
  - models/times_models.rb
220
+ - models/times_psql_models.rb
145
221
  - models/times_sqlite_models.rb
146
222
  - models/values_models.rb
147
223
  - script/console
@@ -151,15 +227,115 @@ files:
151
227
  - sql/accounts.sql
152
228
  - sql/times.sql
153
229
  - sql/times_sqlite.sql
154
- - tasks/website.rake
155
230
  - tasks/clevic.rake
156
231
  - tasks/rdoc.rake
232
+ - tasks/website.rake
157
233
  - test/test_cache_table.rb
158
234
  - test/test_helper.rb
159
235
  - test/test_model_index_extensions.rb
160
236
  - test/test_order_attribute.rb
161
237
  - test/test_sql_dialects.rb
238
+ - test/test_table_model.rb
162
239
  - test/test_table_searcher.rb
240
+ - lib/clevic/qt/ui/browser.ui
241
+ - lib/clevic/qt/ui/search_dialog_ui.rb
242
+ - lib/clevic/qt/ui/search_dialog.ui
243
+ - lib/clevic/qt/ui/browser_ui.rb
244
+ - lib/clevic/qt/table_model.rb
245
+ - lib/clevic/qt/text_area_delegate.rb
246
+ - lib/clevic/qt/browser.rb
247
+ - lib/clevic/qt/action_builder.rb
248
+ - lib/clevic/qt/field.rb
249
+ - lib/clevic/qt/set_delegate.rb
250
+ - lib/clevic/qt/item_delegate.rb
251
+ - lib/clevic/qt/clipboard.rb
252
+ - lib/clevic/qt/text_delegate.rb
253
+ - lib/clevic/qt/distinct_delegate.rb
254
+ - lib/clevic/qt/boolean_delegate.rb
255
+ - lib/clevic/qt/table_view.rb
256
+ - lib/clevic/qt/search_dialog.rb
257
+ - lib/clevic/qt/combo_delegate.rb
258
+ - lib/clevic/qt/extensions.rb
259
+ - lib/clevic/qt/delegates.rb
260
+ - lib/clevic/qt/relational_delegate.rb
261
+ - lib/clevic/table_view_paste.rb
262
+ - lib/clevic/sequel_ar_adapter.rb
263
+ - lib/clevic/model_builder.rb
264
+ - lib/clevic/rails_models_loaders.rb
265
+ - lib/clevic/sequel_length_validation.rb
266
+ - lib/clevic/cache_table.rb
267
+ - lib/clevic/table_model.rb
268
+ - lib/clevic/icons/icon.png
269
+ - lib/clevic/qt.rb
270
+ - lib/clevic/swing/ui/src/SearchDialog.form
271
+ - lib/clevic/swing/ui/src/SearchDialog.java
272
+ - lib/clevic/swing/ui/src/resources/SearchDialog.properties
273
+ - lib/clevic/swing/ui/src/TagEditor.form
274
+ - lib/clevic/swing/ui/src/TagEditor.java
275
+ - lib/clevic/swing/ui/dist/lib/swing-layout-1.0.3.jar
276
+ - lib/clevic/swing/ui/dist/README.TXT
277
+ - lib/clevic/swing/ui/nbproject/genfiles.properties
278
+ - lib/clevic/swing/ui/nbproject/build-impl.xml
279
+ - lib/clevic/swing/ui/nbproject/project.xml
280
+ - lib/clevic/swing/ui/nbproject/project.properties
281
+ - lib/clevic/swing/ui/nbproject/private/private.properties
282
+ - lib/clevic/swing/ui/nbproject/private/config.properties
283
+ - lib/clevic/swing/ui/nbproject/private/private.xml
284
+ - lib/clevic/swing/ui/build.xml
285
+ - lib/clevic/swing/ui/manifest.mf
286
+ - lib/clevic/swing/table_model.rb
287
+ - lib/clevic/swing/text_area_delegate.rb
288
+ - lib/clevic/swing/browser.rb
289
+ - lib/clevic/swing/cell_renderer.rb
290
+ - lib/clevic/swing/tag_editor.rb
291
+ - lib/clevic/swing/action_builder.rb
292
+ - lib/clevic/swing/field.rb
293
+ - lib/clevic/swing/set_delegate.rb
294
+ - lib/clevic/swing/clipboard.rb
295
+ - lib/clevic/swing/text_delegate.rb
296
+ - lib/clevic/swing/tag_delegate.rb
297
+ - lib/clevic/swing/selection_model.rb
298
+ - lib/clevic/swing/distinct_delegate.rb
299
+ - lib/clevic/swing/boolean_delegate.rb
300
+ - lib/clevic/swing/confirm_dialog.rb
301
+ - lib/clevic/swing/table_view.rb
302
+ - lib/clevic/swing/search_dialog.rb
303
+ - lib/clevic/swing/combo_delegate.rb
304
+ - lib/clevic/swing/swing_table_index.rb
305
+ - lib/clevic/swing/table_view_focus.rb
306
+ - lib/clevic/swing/cell_editor.rb
307
+ - lib/clevic/swing/extensions.rb
308
+ - lib/clevic/swing/delegate.rb
309
+ - lib/clevic/swing/action.rb
310
+ - lib/clevic/swing/relational_delegate.rb
311
+ - lib/clevic/swing/row_header.rb
312
+ - lib/clevic/ar_methods.rb
313
+ - lib/clevic/swing.rb
314
+ - lib/clevic/action_builder.rb
315
+ - lib/clevic/order_attribute.rb
316
+ - lib/clevic/dirty.rb
317
+ - lib/clevic/field.rb
318
+ - lib/clevic/attribute_list.rb
319
+ - lib/clevic/record.rb
320
+ - lib/clevic/sampler.rb
321
+ - lib/clevic/model_column.rb
322
+ - lib/clevic/table_searcher.rb
323
+ - lib/clevic/table_view.rb
324
+ - lib/clevic/field_valuer.rb
325
+ - lib/clevic/sequel_naked.rb
326
+ - lib/clevic/table_index.rb
327
+ - lib/clevic/view.rb
328
+ - lib/clevic/sequel_meta.rb
329
+ - lib/clevic/extensions.rb
330
+ - lib/clevic/delegate.rb
331
+ - lib/clevic/sql_dialects.rb
332
+ - lib/clevic/default_view.rb
333
+ - lib/clevic/many_field.rb
334
+ - lib/clevic/filter_command.rb
335
+ - lib/clevic/version.rb
336
+ - lib/clevic/generic_format.rb
337
+ - lib/clevic/emitter.rb
338
+ - lib/clevic/qt/ui/.gitignore
163
339
  has_rdoc: true
164
340
  homepage: http://clevic.rubyforge.org
165
341
  licenses: []
@@ -171,24 +347,32 @@ rdoc_options:
171
347
  require_paths:
172
348
  - lib
173
349
  required_ruby_version: !ruby/object:Gem::Requirement
350
+ none: false
174
351
  requirements:
175
352
  - - ">="
176
353
  - !ruby/object:Gem::Version
354
+ hash: 3
355
+ segments:
356
+ - 0
177
357
  version: "0"
178
- version:
179
358
  required_rubygems_version: !ruby/object:Gem::Requirement
359
+ none: false
180
360
  requirements:
181
- - - ">="
361
+ - - ">"
182
362
  - !ruby/object:Gem::Version
183
- version: "0"
184
- version:
363
+ hash: 25
364
+ segments:
365
+ - 1
366
+ - 3
367
+ - 1
368
+ version: 1.3.1
185
369
  requirements: []
186
370
 
187
371
  rubyforge_project: clevic
188
- rubygems_version: 1.3.5
372
+ rubygems_version: 1.4.2
189
373
  signing_key:
190
374
  specification_version: 3
191
- summary: Database framework and Qt Model/View GUI for data capture and editing of tables in a pre-existing relational DBMS
375
+ summary: Database framework and Model/View GUI for data capture and editing of tables in a pre-existing relational DBMS
192
376
  test_files:
193
377
  - test/test_model_index_extensions.rb
194
378
  - test/test_cache_table.rb