Class: Glimmer::SWT::ExpandItemProxy
- Inherits:
-
WidgetProxy
- Object
- WidgetProxy
- Glimmer::SWT::ExpandItemProxy
- Defined in:
- lib/glimmer/swt/expand_item_proxy.rb
Overview
Proxy for org.eclipse.swt.widgets.ExpandItem
Functions differently from other widget proxies.
Glimmer instantiates an SWT Composite alongside the SWT ExpandItem and returns it for ‘#swt_widget` to allow adding widgets into it.
In order to get the SWT ExpandItem object, one must call ‘#swt_expand_item`.
Behind the scenes, this creates a tab item widget proxy separately from a composite that is set as the control of the tab item and ‘#swt_widget`.
In order to retrieve the tab item widget proxy, one must call ‘#widget_proxy`
Follows the Proxy Design Pattern
Constant Summary collapse
- ATTRIBUTES =
['text', 'height', 'expanded']
Constants inherited from WidgetProxy
WidgetProxy::DEFAULT_INITIALIZERS, WidgetProxy::DEFAULT_STYLES, WidgetProxy::KEYWORD_ALIASES
Instance Attribute Summary collapse
-
#swt_expand_item ⇒ Object
readonly
Returns the value of attribute swt_expand_item.
-
#widget_proxy ⇒ Object
readonly
Returns the value of attribute widget_proxy.
Attributes inherited from WidgetProxy
#drag_source_proxy, #drag_source_style, #drag_source_transfer, #drop_target_proxy, #drop_target_transfer, #finished_add_content, #parent_proxy, #swt_widget
Attributes included from Custom::Drawable
#image_double_buffered, #requires_shape_disposal
Instance Method Summary collapse
- #dispose ⇒ Object
- #get_attribute(attribute_name) ⇒ Object
- #has_attribute?(attribute_name, *args) ⇒ Boolean
-
#initialize(parent, style, &contents) ⇒ ExpandItemProxy
constructor
A new instance of ExpandItemProxy.
- #post_add_content ⇒ Object
- #set_attribute(attribute_name, *args) ⇒ Object
Methods inherited from WidgetProxy
#add_observer, #async_exec, #auto_exec, #can_add_observer?, #can_handle_drag_observation_request?, #can_handle_drop_observation_request?, #can_handle_observation_request?, #content, create, #disposed?, #ensure_drag_source_proxy, #ensure_drop_target_proxy, #extract_args, #finish_add_content!, flyweight_swt_widget_classes, #handle_observation_request, #has_style?, #height, #method_missing, #pack_same_size, #post_initialize_child, #proxy_source_object, #remove_observer, #respond_to?, swt_widget_class_for, swt_widget_class_manual_entries, #sync_exec, #timer_exec, underscored_widget_name, widget_exists?, #widget_property_listener_installers, widget_proxy_class, #width, #x, #y
Methods included from Custom::Drawable
#add_shape, #clear_shapes, #deregister_shape_painting, #expanded_shapes, #image_buffered_shapes, #paint_pixel_by_pixel, #setup_shape_painting, #shape_at_location, #shapes, #swt_drawable
Methods included from ProxyProperties
#has_attribute_getter?, #has_attribute_setter?, #method_missing, #proxy_source_object, #respond_to?
Methods included from Properties
attribute_getter, #attribute_getter, attribute_setter, #attribute_setter, normalized_attribute, #normalized_attribute, ruby_attribute_getter, #ruby_attribute_setter, ruby_attribute_setter
Methods included from Packages
Constructor Details
#initialize(parent, style, &contents) ⇒ ExpandItemProxy
Returns a new instance of ExpandItemProxy.
49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/glimmer/swt/expand_item_proxy.rb', line 49 def initialize(parent, style, &contents) super("composite", parent, style, &contents) layout = FillLayout.new(SWTProxy[:vertical]) layout.marginWidth = 0 layout.marginHeight = 0 layout.spacing = 0 .layout = layout auto_exec do @widget_proxy = SWT::WidgetProxy.new('expand_item', parent, style) @swt_expand_item = @widget_proxy. @swt_expand_item.control = @swt_expand_item. = true end end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Glimmer::SWT::WidgetProxy
Instance Attribute Details
#swt_expand_item ⇒ Object (readonly)
Returns the value of attribute swt_expand_item.
47 48 49 |
# File 'lib/glimmer/swt/expand_item_proxy.rb', line 47 def @swt_expand_item end |
#widget_proxy ⇒ Object (readonly)
Returns the value of attribute widget_proxy.
47 48 49 |
# File 'lib/glimmer/swt/expand_item_proxy.rb', line 47 def @widget_proxy end |
Instance Method Details
#dispose ⇒ Object
94 95 96 97 98 99 100 |
# File 'lib/glimmer/swt/expand_item_proxy.rb', line 94 def dispose auto_exec do .setControl(nil) .dispose .dispose end end |
#get_attribute(attribute_name) ⇒ Object
86 87 88 89 90 91 92 |
# File 'lib/glimmer/swt/expand_item_proxy.rb', line 86 def get_attribute(attribute_name) if ATTRIBUTES.include?(attribute_name.to_s) @widget_proxy.get_attribute(attribute_name) else super(attribute_name) end end |
#has_attribute?(attribute_name, *args) ⇒ Boolean
70 71 72 73 74 75 76 |
# File 'lib/glimmer/swt/expand_item_proxy.rb', line 70 def has_attribute?(attribute_name, *args) if ATTRIBUTES.include?(attribute_name.to_s) true else super(attribute_name, *args) end end |
#post_add_content ⇒ Object
64 65 66 67 68 |
# File 'lib/glimmer/swt/expand_item_proxy.rb', line 64 def post_add_content auto_exec do @swt_expand_item.setHeight(.computeSize(SWTProxy[:default], SWTProxy[:default]).y) unless @swt_expand_item.getHeight > 0 end end |
#set_attribute(attribute_name, *args) ⇒ Object
78 79 80 81 82 83 84 |
# File 'lib/glimmer/swt/expand_item_proxy.rb', line 78 def set_attribute(attribute_name, *args) if ATTRIBUTES.include?(attribute_name.to_s) @widget_proxy.set_attribute(attribute_name, *args) else super(attribute_name, *args) end end |