def menuButtonPressed(self, instance): app = App.get_running_app() program = app.instance if instance == "pin": program.image1.source = "img\pin-off.png" if program.image1.source == "img\pin.png" else "img\pin.png" program.bgimage.isPinned = not program.bgimage.isPinned if program.bgimage.rotateEvent: Clock.unschedule(program.bgimage.rotateEvent) program.bgimage.rotateEvent = None else: program.bgimage.rotateEvent = Clock.schedule_interval( partial(program.bgimage.cycleImage, userTriggered=False), 3600) elif instance == "alarms": program.effWid.effects = [ HorizontalBlurEffect(size=20), VerticalBlurEffect(size=20) ] program.screen_manager.current = "alarms" elif instance == "settings": program.effWid.effects = [ HorizontalBlurEffect(size=20), VerticalBlurEffect(size=20) ] program.screen_manager.current = "settings" elif instance == "close": app.config.write() program.effWid.effects = [] program.screen_manager.current = "main" elif instance == "exit": app.stop()
def update_effectwidget(self, *args): effects = [] for child in self.children[::-1]: text = child.text if text == 'none': pass if text == 'fxaa': effects.append(FXAAEffect()) if text == 'monochrome': effects.append(MonochromeEffect()) if text == 'invert': effects.append(InvertEffect()) if text == 'mix': effects.append(ChannelMixEffect()) if text == 'flash': effects.append(FlashEffect()) if text == 'blur_h': effects.append(HorizontalBlurEffect()) if text == 'blur_v': effects.append(VerticalBlurEffect()) if text == 'postprocessing': effects.append(ScanlinesEffect()) if text == 'pixelate': effects.append(PixelateEffect()) if self.effectwidget: self.effectwidget.effects = effects
def _update_electrodes(self): self.clear_widgets() # Create LED layout led_layer = BoxLayout(orientation='horizontal', size=self.size, pos=self.pos) # Create diffuser on top of LED layout led_diffuser = EffectWidget() led_diffuser.effects = [] if self.diffuser_width >= 0: led_diffuser.effects.append(HorizontalBlurEffect(size=self.diffuser_width)) led_diffuser.add_widget(led_layer) self.add_widget(led_diffuser) # Fix ids reference since kivy doesn't have built-in mechanics to do it self.ids['led_diffuser'] = weakref.proxy(led_diffuser) led_diffuser.ids['leds'] = weakref.proxy(led_layer) if self.slider_layout == 'diva': self.electrodes = 32 self.leds = 32 electrode_layer = BoxLayout(orientation='horizontal', size=self.size, pos=self.pos) for i in range(self.electrodes): electrode_layer.add_widget(ElectrodeWidget(electrode_index=i, top_slider_object=self)) for i in range(self.leds): led_layer.add_widget(LEDWidget(led_index=i, top_slider_object=self)) self.add_widget(electrode_layer) self.ids['electrodes'] = weakref.proxy(electrode_layer) elif self.slider_layout == 'chu': self.electrodes = 32 self.leds = 31 electrode_layer = GridLayout(rows=2) for i in range(self.electrodes): # Calculate the actual ID according to widget insertion sequence r = i // 16 c = 15 - (i % 16) electrode_index = c * 2 + r electrode_layer.add_widget(ElectrodeWidget(electrode_index=electrode_index, top_slider_object=self)) for i in range(self.leds): if i % 2 == 1: # Partition led_layer.add_widget(LEDWidget(led_index=self.leds-1-i, width=3, size_hint=(None, 1.0), top_slider_object=self)) else: # Panel led_layer.add_widget(LEDWidget(led_index=self.leds-1-i, top_slider_object=self)) self.add_widget(electrode_layer) self.ids['electrodes'] = weakref.proxy(electrode_layer)
def build(self): b = BoxLayout() b.add_widget(Button()) return BoxLayoutKv() b = BoxLayout(orientation='vertical') b.add_widget( AnchorLagout(Button(size_hint=(.9, .2), pos_hint={'right': 1}))) b.add_widget(Button()) return b return Button1() return Popup(title='Test popup', content=Label(text='Hello world'), size_hint=(None, None), size=(400, 400)) return FileChooserListView() w = EffectWidget() w.add_widget(Button(text='Hello!')) w.effects = [InvertEffect(), HorizontalBlurEffect(size=2.0)]
def options_open(self, button, *args, **kwargs): global hover self.effects = [HorizontalBlurEffect(size=10), VerticalBlurEffect(size=10)] hover[0] = False
def build(self): w = EffectWidget() w.add_widget(Button(text='Hello!')) w.effects = [InvertEffect(), HorizontalBlurEffect(size=5.0)] return w