clevic 0.13.0.b3 → 0.13.0.b5

Sign up to get free protection for your applications and to get access to all the features.
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