Class: Glimmer::SWT::FileDialogProxy
- Inherits:
-
WidgetProxy
- Object
- WidgetProxy
- Glimmer::SWT::FileDialogProxy
- Defined in:
- lib/glimmer/swt/file_dialog_proxy.rb
Overview
Proxy for org.eclipse.swt.widgets.FileDialog
Automatically uses the current shell if one is open. Otherwise, it instantiates a new shell parent
Optionally takes a shell as an argument
Follows the Proxy Design Pattern
Constant Summary
Constants inherited from WidgetProxy
WidgetProxy::DEFAULT_INITIALIZERS, WidgetProxy::DEFAULT_STYLES, WidgetProxy::KEYWORD_ALIASES
Instance Attribute Summary
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
-
#initialize(*args, swt_widget: nil) ⇒ FileDialogProxy
constructor
A new instance of FileDialogProxy.
Methods inherited from WidgetProxy
#add_observer, #async_exec, #can_add_observer?, #can_handle_drag_observation_request?, #can_handle_drop_observation_request?, #can_handle_observation_request?, #content, create, #dispose, #disposed?, #ensure_drag_source_proxy, #ensure_drop_target_proxy, #extract_args, #finish_add_content!, flyweight_swt_widget_classes, #get_attribute, #handle_observation_request, #has_attribute?, #has_attribute_getter?, #has_attribute_setter?, #has_style?, #method_missing, #pack_same_size, #post_add_content, #post_initialize_child, #remove_observer, #respond_to?, #set_attribute, 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
Methods included from Custom::Drawable
#add_shape, #clear_shapes, #deregister_shape_painting, #image_buffered_shapes, #setup_shape_painting, #shapes
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(*args, swt_widget: nil) ⇒ FileDialogProxy
Returns a new instance of FileDialogProxy.
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/glimmer/swt/file_dialog_proxy.rb', line 41 def initialize(*args, swt_widget: nil) if @swt_widget = else style_args = args.select {|arg| arg.is_a?(Symbol) || arg.is_a?(String)} if style_args.any? style_arg_start_index = args.index(style_args.first) style_arg_last_index = args.index(style_args.last) args[style_arg_start_index..style_arg_last_index] = SWTProxy[style_args] end if args.first.respond_to?(:swt_widget) && args.first..is_a?(Shell) args[0] = args[0]. end if !args.first.is_a?(Shell) current_shell = DisplayProxy.instance.swt_display.shells.first args.unshift(current_shell.nil? ? ShellProxy.new : current_shell) end parent = args[0] @parent_proxy = parent.is_a?(Shell) ? ShellProxy.new(swt_widget: parent) : parent @swt_widget = FileDialog.new(*args) end end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Glimmer::SWT::WidgetProxy