lib/glimmer/swt/shell_proxy.rb in glimmer-0.7.8 vs lib/glimmer/swt/shell_proxy.rb in glimmer-0.8.0
- old
+ new
@@ -12,11 +12,10 @@
include_package 'org.eclipse.swt.widgets'
include_package 'org.eclipse.swt.layout'
WIDTH_MIN = 130
HEIGHT_MIN = 0
- OBSERVED_MENU_ITEMS = ['about', 'preferences']
attr_reader :opened_before
alias opened_before? opened_before
# Instantiates ShellProxy with same arguments expected by SWT Shell
@@ -123,33 +122,9 @@
# https://help.eclipse.org/2019-12/nftopic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Display.html
# This method is not needed except in rare circumstances where there is a need to start the SWT Event Loop before opening the shell.
def start_event_loop
until @swt_widget.isDisposed
@display.sleep unless @display.readAndDispatch
- end
- end
-
- def can_handle_observation_request?(observation_request)
- result = false
- if observation_request.start_with?('on_')
- event_name = observation_request.sub(/^on_/, '')
- result = OBSERVED_MENU_ITEMS.include?(event_name)
- end
- result || super
- end
-
- def handle_observation_request(observation_request, &block)
- if observation_request.start_with?('on_')
- event_name = observation_request.sub(/^on_/, '')
- if OBSERVED_MENU_ITEMS.include?(event_name)
- if OS.mac?
- system_menu = DisplayProxy.instance.swt_display.getSystemMenu
- menu_item = system_menu.getItems.find {|menu_item| menu_item.getID == SWTProxy["ID_#{event_name.upcase}"]}
- menu_item.addListener(SWTProxy[:Selection], &block)
- end
- else
- super
- end
end
end
def add_observer(observer, property_name)
case property_name.to_s