clevic 0.13.0.b3 → 0.13.0.b5

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.
Files changed (82) hide show
  1. data/History.txt +21 -0
  2. data/Manifest.txt +91 -85
  3. data/README.txt +33 -18
  4. data/Rakefile +2 -3
  5. data/TODO +8 -14
  6. data/bin/clevic +18 -20
  7. data/lib/clevic.rb +7 -1
  8. data/lib/clevic/action_builder.rb +4 -1
  9. data/lib/clevic/ar_methods.rb +72 -57
  10. data/lib/clevic/attribute_list.rb +4 -0
  11. data/lib/clevic/cache_table.rb +43 -69
  12. data/lib/clevic/dataset_roller.rb +22 -0
  13. data/lib/clevic/delegate.rb +11 -5
  14. data/lib/clevic/delegates/combo_delegate.rb +156 -0
  15. data/lib/clevic/delegates/distinct_delegate.rb +48 -0
  16. data/lib/clevic/delegates/relational_delegate.rb +59 -0
  17. data/lib/clevic/delegates/set_delegate.rb +31 -0
  18. data/lib/clevic/field.rb +39 -55
  19. data/lib/clevic/field_valuer.rb +23 -10
  20. data/lib/clevic/filter_command.rb +22 -36
  21. data/lib/clevic/framework.rb +37 -0
  22. data/lib/clevic/generic_format.rb +5 -1
  23. data/lib/clevic/many_field.rb +28 -3
  24. data/lib/clevic/model_builder.rb +27 -32
  25. data/lib/clevic/ordered_dataset.rb +45 -0
  26. data/lib/clevic/qt.rb +4 -1
  27. data/lib/clevic/qt/action_builder.rb +9 -1
  28. data/lib/clevic/qt/browser.rb +1 -1
  29. data/lib/clevic/qt/clipboard.rb +3 -3
  30. data/lib/clevic/qt/combo_delegate.rb +25 -89
  31. data/lib/clevic/qt/delegate.rb +25 -0
  32. data/lib/clevic/qt/distinct_delegate.rb +5 -23
  33. data/lib/clevic/qt/extensions.rb +8 -1
  34. data/lib/clevic/qt/qt_combo_box.rb +58 -0
  35. data/lib/clevic/qt/relational_delegate.rb +18 -58
  36. data/lib/clevic/qt/set_delegate.rb +4 -34
  37. data/lib/clevic/qt/simplest_delegate.rb +19 -0
  38. data/lib/clevic/qt/table_model.rb +10 -10
  39. data/lib/clevic/qt/table_view.rb +7 -23
  40. data/lib/clevic/qt/text_delegate.rb +2 -2
  41. data/lib/clevic/qt/ui/browser_ui.rb +1 -1
  42. data/lib/clevic/qt/ui/search_dialog_ui.rb +1 -1
  43. data/lib/clevic/rails_models_loaders.rb +13 -0
  44. data/lib/clevic/record.rb +2 -2
  45. data/lib/clevic/sampler.rb +85 -39
  46. data/lib/clevic/sequel_ar_adapter.rb +1 -28
  47. data/lib/clevic/sequel_clevic.rb +68 -0
  48. data/lib/clevic/sequel_meta.rb +1 -13
  49. data/lib/clevic/subclasses.rb +18 -0
  50. data/lib/clevic/swing.rb +2 -1
  51. data/lib/clevic/swing/action.rb +27 -3
  52. data/lib/clevic/swing/action_builder.rb +0 -2
  53. data/lib/clevic/swing/browser.rb +1 -10
  54. data/lib/clevic/swing/combo_delegate.rb +45 -133
  55. data/lib/clevic/swing/delegate.rb +2 -0
  56. data/lib/clevic/swing/distinct_delegate.rb +2 -14
  57. data/lib/clevic/swing/relational_delegate.rb +2 -20
  58. data/lib/clevic/swing/set_delegate.rb +13 -28
  59. data/lib/clevic/swing/table_view.rb +1 -1
  60. data/lib/clevic/table_model.rb +3 -4
  61. data/lib/clevic/table_searcher.rb +10 -31
  62. data/lib/clevic/table_view.rb +97 -43
  63. data/lib/clevic/ui/browser_ui.rb +133 -0
  64. data/lib/clevic/ui/search_dialog_ui.rb +106 -0
  65. data/lib/clevic/version.rb +2 -2
  66. data/models/accounts_models.rb +24 -21
  67. data/models/times_models.rb +34 -28
  68. data/models/times_psql_models.rb +9 -3
  69. data/models/times_sqlite_models.rb +24 -1
  70. data/sql/times_sqlite.sql +3 -3
  71. data/tasks/clevic.rake +2 -2
  72. data/test/test_cache_table.rb +9 -19
  73. data/test/test_table_searcher.rb +2 -5
  74. metadata +95 -91
  75. data/lib/clevic/order_attribute.rb +0 -63
  76. data/lib/clevic/qt/boolean_delegate.rb +0 -8
  77. data/lib/clevic/qt/delegates.rb +0 -1
  78. data/lib/clevic/qt/item_delegate.rb +0 -66
  79. data/lib/clevic/sql_dialects.rb +0 -33
  80. data/tasks/website.rake +0 -25
  81. data/test/test_order_attribute.rb +0 -62
  82. data/test/test_sql_dialects.rb +0 -77
@@ -3,8 +3,8 @@ module Clevic #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 13
5
5
  TINY = 0
6
- PRE = 'b3'
6
+ PRE = 'b5'
7
7
 
8
- STRING = [MAJOR, MINOR, TINY, PRE].join('.')
8
+ STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
9
9
  end
10
10
  end
@@ -3,24 +3,27 @@ require 'clevic.rb'
3
3
  host = ENV['PGHOST'] || 'localhost'
4
4
  $options ||= {}
5
5
 
6
- if respond_to?( :'jruby?' ) && jruby?
7
- constring = "jdbc:postgresql://#{host}/accounts_test?user=#{$options[:username] || 'accounts'}&password=general"
8
- puts "constring: #{constring.inspect}"
9
- Sequel.connect( constring )
6
+ constring =
7
+ if RUBY_PLATFORM == 'java'
8
+ "jdbc:postgresql"
10
9
  else
11
- Sequel.connect( "postgres://#{host}/accounts_test?user=#{$options[:username] || 'accounts'}&password=general" )
12
- end
10
+ "postgres"
11
+ end + "://#{host}/accounts_test?user=#{$options[:username] || 'accounts'}&password=#{$options[:password] || 'general'}"
12
+
13
+ db = Sequel.connect constring
14
+ db.test_connection
13
15
 
14
16
  class Entry < Sequel::Model
15
- belongs_to :debit, :class_name => 'Account', :foreign_key => 'debit_id'
16
- belongs_to :credit, :class_name => 'Account', :foreign_key => 'credit_id'
17
+ many_to_one :debit, :class_name => 'Account', :key => :debit_id
18
+ many_to_one :credit, :class_name => 'Account', :key => :credit_id
17
19
 
18
20
  include Clevic::Record
19
21
 
20
22
  define_ui do
21
23
  plain :date, :sample => '88-WWW-99'
22
- distinct :description do |f|
23
- f.conditions "now() - date <= '1 year'"
24
+ distinct :supplier do |f|
25
+ #~ f.conditions "now() - date <= '1 year'"
26
+ f.dataset.filter( "now() - date <= '1 year'" )
24
27
  f.sample( 'm' * 26 )
25
28
  f.notify_data_changed = lambda do |entity_view, table_view, model_index|
26
29
  if model_index.entity.credit.nil? && model_index.entity.debit.nil?
@@ -32,16 +35,16 @@ class Entry < Sequel::Model
32
35
  end
33
36
  end
34
37
  end
35
- distinct :supplier
36
38
  relational :debit, :display => 'name', :conditions => 'active = true', :order => 'lower(name)', :sample => 'Leilani Member Loan'
37
39
  relational :credit, :display => 'name', :conditions => 'active = true', :order => 'lower(name)', :sample => 'Leilani Member Loan'
38
40
  plain :amount, :sample => 999999.99
41
+ distinct :description
39
42
  distinct :category
40
43
  plain :cheque_number
41
44
  plain :active, :sample => 'WW'
42
45
  plain :vat, :label => 'VAT', :sample => 'WW', :tooltip => 'Does this include VAT?'
43
46
 
44
- records :order => 'date, id'
47
+ dataset.order( :date, :id )
45
48
  end
46
49
 
47
50
  # Copy the values for the credit and debit fields
@@ -49,11 +52,11 @@ class Entry < Sequel::Model
49
52
  def self.update_from_description( current_index )
50
53
  return if current_index.attribute_value.nil?
51
54
  # most recent entry, ordered in reverse
52
- similar = self.adaptor.find(
53
- :first,
54
- :conditions => ["#{current_index.attribute} = ?", current_index.attribute_value],
55
- :order => 'date desc'
56
- )
55
+ similar = self. \
56
+ filter( current_index.attribute.to_sym => current_index.attribute_value ). \
57
+ order( :date.desc ). \
58
+ first
59
+
57
60
  if similar != nil
58
61
  # set the values
59
62
  current_index.entity.debit = similar.debit
@@ -70,8 +73,8 @@ class Entry < Sequel::Model
70
73
  end
71
74
 
72
75
  class Account < Sequel::Model
73
- has_many :debits, :class_name => 'Entry', :foreign_key => 'debit_id'
74
- has_many :credits, :class_name => 'Entry', :foreign_key => 'credit_id'
76
+ one_to_many :debits, :class_name => 'Entry', :key => :debit_id, :order => :date
77
+ one_to_many :credits, :class_name => 'Entry', :key => :credit_id, :order => :date
75
78
 
76
79
  include Clevic::Record
77
80
 
@@ -80,10 +83,10 @@ class Account < Sequel::Model
80
83
  plain :name
81
84
  restricted :vat, :label => 'VAT', :set => %w{ yes no all }
82
85
  restricted :account_type, :set => %w{Account Asset Assets Expenses Income Liability Opening Balance Personal Tax VAT}
83
- plain :pastel_number, :alignment => Qt::AlignRight, :label => 'Pastel'
86
+ plain :pastel_number, :alignment => :right, :label => 'Pastel'
84
87
  plain :fringe, :format => "%.1f"
85
88
  plain :active
86
89
 
87
- records :order => 'name,account_type'
90
+ dataset.order( :name, :account_type )
88
91
  end
89
92
  end
@@ -1,15 +1,22 @@
1
+ class Numeric
2
+ def hours
3
+ self * 60 * 60
4
+ end
5
+ end
6
+
1
7
  # model definitions
2
8
  class Entry < Sequel::Model
3
- belongs_to :invoice
4
- belongs_to :activity
5
- belongs_to :project
6
-
7
9
  include Clevic::Record
10
+
11
+ many_to_one :invoice
12
+ many_to_one :activity
13
+ many_to_one :project
8
14
 
9
15
  # spans of time more than 8 ours are coloured violet
10
16
  # because they're often the result of typos.
11
17
  def time_color
12
18
  return if self.end.nil? || start.nil?
19
+ # 8 hours
13
20
  'darkviolet' if self.end - start > 8.hours
14
21
  end
15
22
 
@@ -25,8 +32,7 @@ class Entry < Sequel::Model
25
32
  # The project field
26
33
  relational :project do |field|
27
34
  field.display = :project
28
- field.conditions = 'active = true'
29
- field.order = 'lower(project)'
35
+ field.dataset.filter( :active => true ).order{ lower(project) }
30
36
 
31
37
  # handle data changed events. In this case,
32
38
  # auto-fill-in the invoice field.
@@ -40,7 +46,10 @@ class Entry < Sequel::Model
40
46
  end
41
47
  end
42
48
 
43
- relational :invoice, :display => 'invoice_number', :conditions => "status = 'not sent'", :order => 'invoice_number'
49
+ relational :invoice do |f|
50
+ f.display 'invoice_number'
51
+ f.dataset.filter( :status => 'not sent' ).order( :invoice_number )
52
+ end
44
53
 
45
54
  # call time_color method for foreground color value
46
55
  plain :start, :foreground => :time_color, :tooltip => :time_tooltip
@@ -51,18 +60,17 @@ class Entry < Sequel::Model
51
60
  # multiline text
52
61
  text :description, :sample => 'This is a long string designed to hold lots of data and description'
53
62
 
54
- relational :activity do
55
- display 'activity'
56
- order 'lower(activity)'
57
- sample 'Troubleshooting'
58
- conditions 'active = true'
59
- end
63
+ relational :activity do |f|
64
+ f.display 'activity'
65
+ f.sample 'Troubleshooting'
66
+ f.dataset.filter( :active => true ).order{ lower(activity) }
67
+ end
60
68
 
61
69
  distinct :module, :tooltip => 'Module or sub-project'
62
70
  plain :charge, :tooltip => 'Is this time billable?'
63
71
  distinct :person, :default => 'John', :tooltip => 'The person who did the work'
64
72
 
65
- records :order => 'date, start, id'
73
+ dataset.order( :date, :start, :id )
66
74
  end
67
75
 
68
76
  def self.define_actions( view, action_builder )
@@ -95,7 +103,7 @@ class Entry < Sequel::Model
95
103
  previous_item = view.model.collection[current_index.row - 1]
96
104
 
97
105
  # copy the relevant fields
98
- current_index.entity.date = previous_item.date if current_index.entity.date.blank?
106
+ current_index.entity.date = previous_item.date if current_index.entity.date.nil?
99
107
  # depends on previous line
100
108
  current_index.entity.start = previous_item.end if current_index.entity.date == previous_item.date
101
109
 
@@ -112,7 +120,7 @@ class Entry < Sequel::Model
112
120
 
113
121
  # move to the first empty time field
114
122
  next_field =
115
- if current_index.entity.start.blank?
123
+ if current_index.entity.start.nil?
116
124
  :start
117
125
  else
118
126
  :end
@@ -152,10 +160,10 @@ class Entry < Sequel::Model
152
160
  end
153
161
 
154
162
  class Invoice < Sequel::Model
155
- has_many :entries
156
-
157
163
  include Clevic::Record
158
164
 
165
+ one_to_many :entries
166
+
159
167
  define_ui do
160
168
  plain :date
161
169
  distinct :client
@@ -166,12 +174,12 @@ class Invoice < Sequel::Model
166
174
  plain :quote_amount
167
175
  plain :description
168
176
 
169
- records :order => 'invoice_number'
177
+ dataset.order( :invoice_number )
170
178
  end
171
179
  end
172
180
 
173
181
  class Project < Sequel::Model
174
- has_many :entries
182
+ one_to_many :entries
175
183
 
176
184
  include Clevic::Record
177
185
 
@@ -182,23 +190,21 @@ class Project < Sequel::Model
182
190
  plain :rate
183
191
  plain :active
184
192
 
185
- records :order => 'project'
193
+ dataset.order( :project )
186
194
  end
187
195
 
188
196
  # Return the latest invoice for this project
189
197
  # Not part of the UI.
190
198
  def latest_invoice
191
- Invoice.adaptor.find(
192
- :first,
193
- :conditions => ["client = ? and status = 'not sent'", self.client],
194
- :order => 'invoice_number desc'
195
- )
199
+ Invoice.filter( :client => self.client, :status => 'not sent' ). \
200
+ order( :invoice_number.desc ). \
201
+ first
196
202
  end
197
203
 
198
204
  end
199
205
 
200
206
  class Activity < Sequel::Model
201
- has_many :entries
207
+ one_to_many :entries
202
208
 
203
209
  include Clevic::Record
204
210
 
@@ -207,6 +213,6 @@ class Activity < Sequel::Model
207
213
  plain :activity
208
214
  plain :active
209
215
 
210
- records :order => 'activity'
216
+ dataset.order( :activity )
211
217
  end
212
218
  end
@@ -3,8 +3,14 @@ $options ||= {}
3
3
  require 'clevic.rb'
4
4
  require 'sequel'
5
5
  host = ENV['PGHOST'] || 'localhost'
6
- constring = "jdbc:postgresql://#{host}/times_test?user=#{$options[:username] || 'times'}&password=general"
7
- puts "constring: #{constring.inspect}"
8
- Sequel.connect( constring )
6
+
7
+ constring =
8
+ if RUBY_PLATFORM == 'java'
9
+ "jdbc:postgresql://#{host}/times_test"
10
+ else
11
+ "postgres://#{host}/times_test"
12
+ end
13
+
14
+ Sequel.connect constring
9
15
 
10
16
  require 'times_models.rb'
@@ -1,3 +1,26 @@
1
1
  require 'clevic.rb'
2
- Sequel.sqlite( "#{ENV['HOME']}/projects/clevic-sequel/times.sqlite3" )
2
+ require 'sequel'
3
+
4
+ path = "#{ENV['HOME']}/projects/clevic/models/times.sqlite3"
5
+
6
+ constring =
7
+ if RUBY_PLATFORM == 'java'
8
+ "jdbc:sqlite://#{path}"
9
+ else
10
+ "sqlite://#{path}"
11
+ end
12
+
13
+ Sequel.connect constring
14
+
3
15
  require 'times_models.rb'
16
+
17
+ # Sqlite needs this plugin cos it stores Date/Times as Strings
18
+ # and the driver doesn't translate them when loading
19
+
20
+ class Entry
21
+ plugin :typecast_on_load, :date, :start, :end
22
+ end
23
+
24
+ class Invoice
25
+ plugin :typecast_on_load, :quote_date, :date
26
+ end
data/sql/times_sqlite.sql CHANGED
@@ -10,8 +10,8 @@ CREATE TABLE entries (
10
10
  project_id integer,
11
11
  activity_id integer,
12
12
  date date,
13
- "start" time without time zone,
14
- "end" time without time zone,
13
+ "start" time with time zone,
14
+ "end" time with time zone,
15
15
  description text,
16
16
  person character varying(30),
17
17
  order_number character varying(40),
@@ -29,7 +29,7 @@ CREATE TABLE invoices (
29
29
  invoice_number character varying(8),
30
30
  status character varying(8),
31
31
  billing character varying(15),
32
- quote_date timestamp without time zone,
32
+ quote_date timestamp with time zone,
33
33
  quote_amount money,
34
34
  description character varying(100)
35
35
  );
data/tasks/clevic.rake CHANGED
@@ -52,7 +52,7 @@ end
52
52
  desc "Runs Clevic in normal mode, with live database."
53
53
  task :run => :ui do |t|
54
54
  ARGV.shift()
55
- exec "ruby -Ilib bin/clevic #{ARGV.join(' ')}"
55
+ exec "ruby -Ilib -Imodels bin/clevic #{ARGV.join(' ')}"
56
56
  end
57
57
 
58
58
  desc "Runs Clevic in debug mode, with test databases"
@@ -95,7 +95,7 @@ MODELS_LIST.each do |model_file|
95
95
  task short_model( model_file ) => :ui do |t|
96
96
  ARGV.shift()
97
97
  ARGV.shift() if ARGV[0] == '--'
98
- cmd = "ruby -Ilib bin/clevic -D #{model_file} #{ARGV.join(' ')}"
98
+ cmd = "ruby -Ilib -Imodels bin/clevic -D #{model_file} #{ARGV.join(' ')}"
99
99
  puts "cmd: #{cmd.inspect}"
100
100
  exec cmd
101
101
  end
@@ -1,9 +1,8 @@
1
1
  require File.dirname(__FILE__) + '/test_helper'
2
2
 
3
- # need to set up a test DB, and test data for this
4
3
  class TestCacheTable < Test::Unit::TestCase
5
4
  def setup
6
- @cache_table = CacheTable.new( Passenger )
5
+ @cache_table = Clevic::CacheTable.new( Passenger )
7
6
  end
8
7
 
9
8
  def teardown
@@ -56,30 +55,21 @@ class TestCacheTable < Test::Unit::TestCase
56
55
  end
57
56
  end
58
57
 
59
- should 'have id as a default order attribute' do
60
- oa = OrderAttribute.new( Passenger, :id )
61
- assert_equal oa, @cache_table.order_attributes.first
62
- end
63
-
64
- def test_parse_order_attributes
65
- order_string = 'name desc, passengers.nationality asc, row'
66
- ct = CacheTable.new Passenger, :order => order_string
67
- assert_equal OrderAttribute.new( Passenger, 'name desc' ), ct.order_attributes[0]
68
- assert_equal OrderAttribute.new( Passenger, 'nationality' ), ct.order_attributes[1]
69
- assert_equal OrderAttribute.new( Passenger, 'row asc' ), ct.order_attributes[2]
70
- end
71
-
72
58
  should 'return nil for a nil parameter' do
73
59
  assert_nil @cache_table.index_for_entity( nil )
74
60
  end
75
61
 
76
62
  should 'return nil for an empty set' do
77
- cache_table = @cache_table.renew( :conditions => "nationality = 'nothing'" )
63
+ cache_table = @cache_table.renew do |dataset|
64
+ dataset.filter( :nationality => 'nothing' )
65
+ end
78
66
  assert_nil cache_table.index_for_entity( Passenger.first )
79
67
  end
80
68
 
81
69
  should "filter with related objects" do
82
- @cache_table = @cache_table.renew( :conditions => { :flight => Flight.first} )
70
+ @cache_table = @cache_table.renew do |dataset|
71
+ dataset.filter( :flight_id => Flight.first.id )
72
+ end
83
73
  end
84
74
 
85
75
  def test_index_for_entity
@@ -89,12 +79,12 @@ class TestCacheTable < Test::Unit::TestCase
89
79
  assert_equal 0, index, 'first passenger should have an index of 0'
90
80
 
91
81
  # test in descending order
92
- @cache_table = @cache_table.renew( :order => 'id desc' )
82
+ @cache_table = @cache_table.renew {|ds| ds.order( :id.desc ) }
93
83
  last_passenger = Passenger.order( :id.desc ).first
94
84
  assert_equal 0, @cache_table.index_for_entity( last_passenger ), "last passenger in reverse order should have an index of 0"
95
85
 
96
86
  # test with two order fields
97
- @cache_table = @cache_table.renew( :order => 'nationality, row' )
87
+ @cache_table = @cache_table.renew {|ds| ds.order( :nationality, :row ) }
98
88
  passenger = Passenger.order( :nationality, :row ).first
99
89
  assert_equal 0, @cache_table.index_for_entity( passenger ), "passenger in (nationality, row) order should have an index of 0"
100
90
  end
@@ -58,11 +58,6 @@ class TestTableSearcher < Test::Unit::TestCase
58
58
  end
59
59
  end
60
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 )
64
- end
65
- end
66
61
  end
67
62
 
68
63
  context "searching" do
@@ -131,6 +126,8 @@ class TestTableSearcher < Test::Unit::TestCase
131
126
 
132
127
  should 'raise an exception for no display value' do
133
128
  @flight_field = Clevic::Field.new( :flight, Passenger, {} )
129
+ @flight_field.display = nil
130
+
134
131
  assert_nil @flight_field.display
135
132
  assert_raise RuntimeError do
136
133
  table_searcher = Clevic::TableSearcher.new( Passenger.dataset, @simple_search_criteria, @flight_field )
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clevic
3
3
  version: !ruby/object:Gem::Version
4
- hash: 161
4
+ hash: 173
5
5
  prerelease: 7
6
6
  segments:
7
7
  - 0
8
8
  - 13
9
9
  - 0
10
10
  - b
11
- - 3
12
- version: 0.13.0.b3
11
+ - 5
12
+ version: 0.13.0.b5
13
13
  platform: ruby
14
14
  authors:
15
15
  - John Anderson
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2011-01-25 00:00:00 +02:00
20
+ date: 2011-02-24 00:00:00 +02:00
21
21
  default_executable:
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
@@ -229,116 +229,122 @@ files:
229
229
  - sql/times_sqlite.sql
230
230
  - tasks/clevic.rake
231
231
  - tasks/rdoc.rake
232
- - tasks/website.rake
233
232
  - test/test_cache_table.rb
234
233
  - test/test_helper.rb
235
234
  - test/test_model_index_extensions.rb
236
- - test/test_order_attribute.rb
237
- - test/test_sql_dialects.rb
238
235
  - test/test_table_model.rb
239
236
  - test/test_table_searcher.rb
240
237
  - lib/clevic.rb
241
- - lib/clevic/qt/ui/browser.ui
242
- - lib/clevic/qt/ui/search_dialog_ui.rb
243
- - lib/clevic/qt/ui/search_dialog.ui
244
- - lib/clevic/qt/ui/browser_ui.rb
245
- - lib/clevic/qt/model_builder.rb
246
- - lib/clevic/qt/table_model.rb
247
- - lib/clevic/qt/text_area_delegate.rb
248
- - lib/clevic/qt/browser.rb
249
- - lib/clevic/qt/accept_reject.rb
238
+ - lib/clevic/action_builder.rb
239
+ - lib/clevic/sequel_naked.rb
240
+ - lib/clevic/record.rb
241
+ - lib/clevic/icons/icon.png
242
+ - lib/clevic/dataset_roller.rb
243
+ - lib/clevic/dirty.rb
244
+ - lib/clevic/ordered_dataset.rb
245
+ - lib/clevic/rails_models_loaders.rb
246
+ - lib/clevic/default_view.rb
247
+ - lib/clevic/sequel_clevic.rb
248
+ - lib/clevic/sequel_ar_adapter.rb
249
+ - lib/clevic/sequel_length_validation.rb
250
+ - lib/clevic/ar_methods.rb
251
+ - lib/clevic/sampler.rb
252
+ - lib/clevic/table_index.rb
253
+ - lib/clevic/table_view.rb
254
+ - lib/clevic/field.rb
255
+ - lib/clevic/swing.rb
256
+ - lib/clevic/delegates/set_delegate.rb
257
+ - lib/clevic/delegates/distinct_delegate.rb
258
+ - lib/clevic/delegates/relational_delegate.rb
259
+ - lib/clevic/delegates/combo_delegate.rb
260
+ - lib/clevic/generic_format.rb
261
+ - lib/clevic/sequel_meta.rb
262
+ - lib/clevic/filter_command.rb
263
+ - lib/clevic/extensions.rb
264
+ - lib/clevic/view.rb
265
+ - lib/clevic/model_builder.rb
266
+ - lib/clevic/table_model.rb
267
+ - lib/clevic/delegate.rb
268
+ - lib/clevic/qt/qt_combo_box.rb
250
269
  - lib/clevic/qt/action_builder.rb
251
- - lib/clevic/qt/field.rb
252
- - lib/clevic/qt/set_delegate.rb
253
- - lib/clevic/qt/item_delegate.rb
254
- - lib/clevic/qt/clipboard.rb
270
+ - lib/clevic/qt/accept_reject.rb
271
+ - lib/clevic/qt/search_dialog.rb
255
272
  - lib/clevic/qt/text_delegate.rb
256
- - lib/clevic/qt/distinct_delegate.rb
257
- - lib/clevic/qt/boolean_delegate.rb
258
273
  - lib/clevic/qt/table_view.rb
259
- - lib/clevic/qt/search_dialog.rb
260
- - lib/clevic/qt/combo_delegate.rb
274
+ - lib/clevic/qt/field.rb
275
+ - lib/clevic/qt/set_delegate.rb
261
276
  - lib/clevic/qt/extensions.rb
262
- - lib/clevic/qt/delegates.rb
277
+ - lib/clevic/qt/model_builder.rb
278
+ - lib/clevic/qt/table_model.rb
279
+ - lib/clevic/qt/simplest_delegate.rb
280
+ - lib/clevic/qt/delegate.rb
281
+ - lib/clevic/qt/ui/browser.ui
282
+ - lib/clevic/qt/ui/browser_ui.rb
283
+ - lib/clevic/qt/ui/search_dialog_ui.rb
284
+ - lib/clevic/qt/ui/search_dialog.ui
285
+ - lib/clevic/qt/distinct_delegate.rb
263
286
  - lib/clevic/qt/relational_delegate.rb
264
- - lib/clevic/table_view_paste.rb
265
- - lib/clevic/sequel_ar_adapter.rb
266
- - lib/clevic/model_builder.rb
267
- - lib/clevic/rails_models_loaders.rb
268
- - lib/clevic/sequel_length_validation.rb
269
- - lib/clevic/cache_table.rb
270
- - lib/clevic/table_model.rb
271
- - lib/clevic/icons/icon.png
287
+ - lib/clevic/qt/combo_delegate.rb
288
+ - lib/clevic/qt/browser.rb
289
+ - lib/clevic/qt/clipboard.rb
290
+ - lib/clevic/qt/text_area_delegate.rb
291
+ - lib/clevic/ui/browser_ui.rb
292
+ - lib/clevic/ui/search_dialog_ui.rb
272
293
  - lib/clevic/qt.rb
273
- - lib/clevic/swing/ui/src/SearchDialog.form
274
- - lib/clevic/swing/ui/src/SearchDialog.java
294
+ - lib/clevic/many_field.rb
295
+ - lib/clevic/attribute_list.rb
296
+ - lib/clevic/framework.rb
297
+ - lib/clevic/model_column.rb
298
+ - lib/clevic/subclasses.rb
299
+ - lib/clevic/swing/cell_renderer.rb
300
+ - lib/clevic/swing/action_builder.rb
301
+ - lib/clevic/swing/cell_editor.rb
302
+ - lib/clevic/swing/search_dialog.rb
303
+ - lib/clevic/swing/text_delegate.rb
304
+ - lib/clevic/swing/table_view.rb
305
+ - lib/clevic/swing/row_header.rb
306
+ - lib/clevic/swing/field.rb
307
+ - lib/clevic/swing/set_delegate.rb
308
+ - lib/clevic/swing/selection_model.rb
309
+ - lib/clevic/swing/extensions.rb
310
+ - lib/clevic/swing/model_builder.rb
311
+ - lib/clevic/swing/table_model.rb
312
+ - lib/clevic/swing/table_view_focus.rb
313
+ - lib/clevic/swing/tag_editor.rb
314
+ - lib/clevic/swing/delegate.rb
315
+ - lib/clevic/swing/ui/manifest.mf
316
+ - lib/clevic/swing/ui/dist/lib/swing-layout-1.0.3.jar
317
+ - lib/clevic/swing/ui/dist/README.TXT
318
+ - lib/clevic/swing/ui/build.xml
275
319
  - lib/clevic/swing/ui/src/resources/SearchDialog.properties
276
320
  - lib/clevic/swing/ui/src/TagEditor.form
321
+ - lib/clevic/swing/ui/src/SearchDialog.form
277
322
  - lib/clevic/swing/ui/src/TagEditor.java
278
- - lib/clevic/swing/ui/dist/lib/swing-layout-1.0.3.jar
279
- - lib/clevic/swing/ui/dist/README.TXT
323
+ - lib/clevic/swing/ui/src/SearchDialog.java
324
+ - lib/clevic/swing/ui/nbproject/private/private.xml
325
+ - lib/clevic/swing/ui/nbproject/private/config.properties
326
+ - lib/clevic/swing/ui/nbproject/private/private.properties
327
+ - lib/clevic/swing/ui/nbproject/project.properties
280
328
  - lib/clevic/swing/ui/nbproject/genfiles.properties
281
329
  - lib/clevic/swing/ui/nbproject/build-impl.xml
282
330
  - lib/clevic/swing/ui/nbproject/project.xml
283
- - lib/clevic/swing/ui/nbproject/project.properties
284
- - lib/clevic/swing/ui/nbproject/private/private.properties
285
- - lib/clevic/swing/ui/nbproject/private/config.properties
286
- - lib/clevic/swing/ui/nbproject/private/private.xml
287
- - lib/clevic/swing/ui/build.xml
288
- - lib/clevic/swing/ui/manifest.mf
289
- - lib/clevic/swing/model_builder.rb
290
- - lib/clevic/swing/table_model.rb
291
- - lib/clevic/swing/text_area_delegate.rb
292
- - lib/clevic/swing/browser.rb
293
- - lib/clevic/swing/cell_renderer.rb
294
- - lib/clevic/swing/tag_editor.rb
295
- - lib/clevic/swing/action_builder.rb
296
- - lib/clevic/swing/field.rb
297
- - lib/clevic/swing/set_delegate.rb
298
- - lib/clevic/swing/clipboard.rb
299
- - lib/clevic/swing/text_delegate.rb
300
- - lib/clevic/swing/tag_delegate.rb
301
- - lib/clevic/swing/selection_model.rb
302
- - lib/clevic/swing/distinct_delegate.rb
303
331
  - lib/clevic/swing/boolean_delegate.rb
332
+ - lib/clevic/swing/swing_table_index.rb
333
+ - lib/clevic/swing/distinct_delegate.rb
334
+ - lib/clevic/swing/relational_delegate.rb
304
335
  - lib/clevic/swing/confirm_dialog.rb
305
- - lib/clevic/swing/table_view.rb
306
- - lib/clevic/swing/search_dialog.rb
307
336
  - lib/clevic/swing/combo_delegate.rb
308
- - lib/clevic/swing/swing_table_index.rb
309
- - lib/clevic/swing/table_view_focus.rb
310
- - lib/clevic/swing/cell_editor.rb
311
- - lib/clevic/swing/extensions.rb
312
- - lib/clevic/swing/delegate.rb
337
+ - lib/clevic/swing/browser.rb
338
+ - lib/clevic/swing/clipboard.rb
339
+ - lib/clevic/swing/tag_delegate.rb
340
+ - lib/clevic/swing/text_area_delegate.rb
313
341
  - lib/clevic/swing/action.rb
314
- - lib/clevic/swing/relational_delegate.rb
315
- - lib/clevic/swing/row_header.rb
316
- - lib/clevic/ar_methods.rb
317
- - lib/clevic/swing.rb
318
- - lib/clevic/action_builder.rb
319
- - lib/clevic/order_attribute.rb
320
- - lib/clevic/dirty.rb
321
- - lib/clevic/field.rb
322
- - lib/clevic/attribute_list.rb
323
- - lib/clevic/record.rb
324
- - lib/clevic/sampler.rb
325
- - lib/clevic/model_column.rb
326
342
  - lib/clevic/table_searcher.rb
327
- - lib/clevic/table_view.rb
343
+ - lib/clevic/emitter.rb
344
+ - lib/clevic/table_view_paste.rb
345
+ - lib/clevic/cache_table.rb
328
346
  - lib/clevic/field_valuer.rb
329
- - lib/clevic/sequel_naked.rb
330
- - lib/clevic/table_index.rb
331
- - lib/clevic/view.rb
332
- - lib/clevic/sequel_meta.rb
333
- - lib/clevic/extensions.rb
334
- - lib/clevic/delegate.rb
335
- - lib/clevic/sql_dialects.rb
336
- - lib/clevic/default_view.rb
337
- - lib/clevic/many_field.rb
338
- - lib/clevic/filter_command.rb
339
347
  - lib/clevic/version.rb
340
- - lib/clevic/generic_format.rb
341
- - lib/clevic/emitter.rb
342
348
  has_rdoc: true
343
349
  homepage: http://clevic.rubyforge.org
344
350
  licenses: []
@@ -377,8 +383,6 @@ signing_key:
377
383
  specification_version: 3
378
384
  summary: Database framework and Model/View GUI for data capture and editing of tables in a pre-existing relational DBMS
379
385
  test_files:
380
- - test/test_sql_dialects.rb
381
- - test/test_order_attribute.rb
382
386
  - test/test_table_searcher.rb
383
387
  - test/test_model_index_extensions.rb
384
388
  - test/test_table_model.rb