Sha256: 92200b2497fc505d86437148a6625359dfcc2eb7f0a60a52e35a21053f2261c3
Contents?: true
Size: 1.03 KB
Versions: 3
Compression:
Stored size: 1.03 KB
Contents
require 'clevic/qt/combo_delegate.rb' module Clevic # A Combo box which allows a set of values. May or may not # be restricted to the set. class SetDelegate < ComboDelegate # options must contain a :set => [ ... ] to specify the set of values. def initialize( field ) raise "RestrictedDelegate must have a :set in options" if field.set.nil? super end def needs_combo? true end def restricted? field.restricted || false end def populate( editor, model_index ) field.set_for( model_index.entity ).each do |item| if item.is_a?( Array ) # this is a hash-like set, so use key as db value # and value as display value editor.add_item( item.last, item.first.to_variant ) else editor.add_item( item, item.to_variant ) end end end def createEditor( parent_widget, style_option_view_item, model_index ) editor = super # the set is provided, so never insert things editor.insert_policy = Qt::ComboBox::NoInsert editor end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
clevic-0.13.0.b3 | lib/clevic/qt/set_delegate.rb |
clevic-0.13.0.b2 | lib/clevic/qt/set_delegate.rb |
clevic-0.13.0.b1 | lib/clevic/qt/set_delegate.rb |