Class: Redcar::ClipboardViewer::ClipboardBar
- Inherits:
- Speedbar show all
- Includes:
- Observable
- Defined in:
- plugins/clipboard-viewer/lib/clipboard_viewer/clipboard_bar.rb
Constant Summary
Constant Summary
Constants included from Observable
Constants inherited from Speedbar
Speedbar::ButtonItem, Speedbar::ComboItem, Speedbar::KeyItem, Speedbar::LabelItem, Speedbar::SliderItem, Speedbar::TextBoxItem, Speedbar::ToggleItem
Instance Attribute Summary
Attributes included from Model
Instance Method Summary (collapse)
- - (Object) close
- - (Object) display_values(list)
-
- (ClipboardBar) initialize
constructor
A new instance of ClipboardBar.
- - (Object) load_list
Methods included from Observable
#add_listener, #notify_listeners, #remove_listener
Methods inherited from Speedbar
#__get_item, #__get_item_by_label, #__get_item_by_text_or_name, #__items, append_item, button, close_image_path, combo, define_item_finder, #inspect, items, key, label, slider, textbox, toggle
Methods included from ReentryHelpers
Constructor Details
- (ClipboardBar) initialize
A new instance of ClipboardBar
6 7 8 9 10 11 |
# File 'plugins/clipboard-viewer/lib/clipboard_viewer/clipboard_bar.rb', line 6 def initialize @size = ClipboardViewer.storage['chars_to_display'].to_i @line_limit = ClipboardViewer.storage['lines_to_display'].to_i load_list @listener = Redcar.app.clipboard.add_listener(:added) {|t|load_list} end |
Instance Method Details
- (Object) close
13 14 15 |
# File 'plugins/clipboard-viewer/lib/clipboard_viewer/clipboard_bar.rb', line 13 def close Redcar.app.clipboard.remove_listener(@listener) end |
- (Object) display_values(list)
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'plugins/clipboard-viewer/lib/clipboard_viewer/clipboard_bar.rb', line 46 def display_values(list) display = list.to_a.reverse.map do |l| value = "" r=0 l.to_s.each_line do |line| value << line if r <= @line_limit - 1 value << "..." if r == @line_limit r+=1 break if r > @line_limit - 1 end value = value[0,value.length-1] if value =~ /\n$/ if value.length > @size value[0,@size]+"..." else value end end display || [] end |
- (Object) load_list
17 18 19 20 21 22 23 24 25 26 27 |
# File 'plugins/clipboard-viewer/lib/clipboard_viewer/clipboard_bar.rb', line 17 def load_list @list = Redcar.app.clipboard || [] values = display_values(@list) if values.length > 0 clip_list.items = values clip_list.value = values.first else clip_list.items = [" "*(@size+5)] clip_list.value = clip_list.items.first end end |