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