~ubuntu-branches/ubuntu/quantal/ruby1.9.1/quantal

« back to all changes in this revision

Viewing changes to ext/tk/lib/tkextlib/bwidget/listbox.rb

  • Committer: Bazaar Package Importer
  • Author(s): Lucas Nussbaum
  • Date: 2010-07-31 17:08:39 UTC
  • mfrom: (1.1.4 upstream) (8.1.2 sid)
  • Revision ID: james.westby@ubuntu.com-20100731170839-j034dmpdqt1cc4p6
Tags: 1.9.2~svn28788-1
* New release based on upstream snapshot from the 1.9.2 branch,
  after 1.9.2 RC2. That branch is (supposed to be) binary-compatible
  with the 1.9.1 branch.
  + Builds fine on i386. Closes: #580852.
* Upgrade to Standards-Version: 3.9.1. No changes needed.
* Updated generated incs.
* Patches that still need work:
  + Unclear status, need more investigation:
   090729_fix_Makefile_deps.dpatch
   090803_exclude_rdoc.dpatch
   203_adjust_base_of_search_path.dpatch
   902_define_YAML_in_yaml_stringio.rb.dpatch
   919_common.mk_tweaks.dpatch
   931_libruby_suffix.dpatch
   940_test_thread_mutex_sync_shorter.dpatch
  + Maybe not needed anymore, keeping but not applying.
   102_skip_test_copy_stream.dpatch (test doesn't block anymore?)
   104_skip_btest_io.dpatch (test doesn't block anymore?)
   201_gem_prelude.dpatch (we don't use that rubygems anyway?)
   202_gem_default_dir.dpatch (we don't use that rubygems anyway?)
   940_test_file_exhaustive_fails_as_root.dpatch
   940_test_priority_fails.dpatch
   100518_load_libc_libm.dpatch
* Add disable-tests.diff: disable some tests that cause failures on FreeBSD.
  Closes: #590002, #543805, #542927.
* However, many new failures on FreeBSD. Since that version is still an
  improvement, add the check that makes test suite failures non-fatal on
  FreeBSD again. That still needs to be investigated.
* Re-add 903_skip_base_ruby_check.dpatch
* Add build-dependency on ruby1.8 and drop all pre-generated files.

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
  module BWidget
12
12
    class ListBox < TkWindow
13
13
      # is NOT a subclass of a listbox widget class.
14
 
      # because it constructed on a canvas widget. 
 
14
      # because it constructed on a canvas widget.
15
15
 
16
16
      class Item < TkObject
17
17
      end
25
25
 
26
26
  TkCommandNames = ['ListBox'.freeze].freeze
27
27
  WidgetClassName = 'ListBox'.freeze
28
 
  WidgetClassNames[WidgetClassName] = self
 
28
  WidgetClassNames[WidgetClassName] ||= self
29
29
 
30
30
  class Event_for_Items < TkEvent::Event
31
31
    def self._get_extra_args_tbl
32
 
      [ 
 
32
      [
33
33
        TkComm.method(:string)   # item idenfier
34
34
      ]
35
35
    end
60
60
    else
61
61
      cmd = Proc.new
62
62
    end
63
 
    _bind_for_event_class(Event_for_Items, [path, 'bindImage'], 
 
63
    _bind_for_event_class(Event_for_Items, [path, 'bindImage'],
64
64
                          context, cmd, *args)
65
65
    self
66
66
  end
76
76
    else
77
77
      cmd = Proc.new
78
78
    end
79
 
    _bind_append_for_event_class(Event_for_Items, [path, 'bindImage'], 
 
79
    _bind_append_for_event_class(Event_for_Items, [path, 'bindImage'],
80
80
                                 context, cmd, *args)
81
81
    self
82
82
  end
101
101
    else
102
102
      cmd = Proc.new
103
103
    end
104
 
    _bind_for_event_class(Event_for_Items, [path, 'bindText'], 
 
104
    _bind_for_event_class(Event_for_Items, [path, 'bindText'],
105
105
                          context, cmd, *args)
106
106
    self
107
107
  end
117
117
    else
118
118
      cmd = Proc.new
119
119
    end
120
 
    _bind_append_for_event_class(Event_for_Items, [path, 'bindText'], 
 
120
    _bind_append_for_event_class(Event_for_Items, [path, 'bindText'],
121
121
                                 context, cmd, *args)
122
122
    self
123
123
  end
183
183
  end
184
184
 
185
185
  def selection_set(*args)
186
 
    tk_send_without_enc('selection', 'set', 
 
186
    tk_send_without_enc('selection', 'set',
187
187
                        *(args.collect{|item| tagid(item)}))
188
188
    self
189
189
  end
190
190
 
191
191
  def selection_add(*args)
192
 
    tk_send_without_enc('selection', 'add', 
 
192
    tk_send_without_enc('selection', 'add',
193
193
                        *(args.collect{|item| tagid(item)}))
194
194
    self
195
195
  end
196
196
 
197
197
  def selection_remove(*args)
198
 
    tk_send_without_enc('selection', 'remove', 
 
198
    tk_send_without_enc('selection', 'remove',
199
199
                        *(args.collect{|item| tagid(item)}))
200
200
    self
201
201
  end
212
212
 
213
213
  ListItem_TBL = TkCore::INTERP.create_table
214
214
 
215
 
  (ListItem_ID = ['bw:item'.freeze, '00000'.taint]).instance_eval{
 
215
  (ListItem_ID = ['bw:item'.freeze, TkUtil.untrust('00000')]).instance_eval{
216
216
    @mutex = Mutex.new
217
217
    def mutex; @mutex; end
218
218
    freeze
237
237
    if lbox.kind_of?(Tk::BWidget::ListBox)
238
238
      @listbox = lbox
239
239
    else
240
 
      fail RuntimeError, 
 
240
      fail RuntimeError,
241
241
        "expect Tk::BWidget::ListBox or Tk::BWidget::ListBox::Item for 1st argument"
242
242
    end
243
243
 
294
294
    val
295
295
  end
296
296
 
 
297
  def cget_tkstring(key)
 
298
    @listbox.itemcget_tkstring(@id, key)
 
299
  end
297
300
  def cget(key)
298
301
    @listbox.itemcget(@id, key)
299
302
  end