def stop(self, w): logging.debug("Stopping Toggle") self.running = False self.config.socks_client.stop() self.p0.join() Clutter.main_quit() logging.debug("Done")
def entry_on_key_press(entry, event, config=None): if event.keyval in [Clutter.KEY_Return, Clutter.KEY_KP_Enter]: text = entry.get_text() if text: speak(text, config) else: Clutter.main_quit() entry.set_text("") entry.old_iterator = -1 for old_entry in entry.old_entries: old_text = old_entry.get_text() old_entry.set_text(text) text = old_text return True if event.keyval == Clutter.KEY_Up: entry.old_iterator = min(entry.old_iterator + 1, 14) entry.set_text(entry.old_entries[entry.old_iterator].get_text()) return True if event.keyval == Clutter.KEY_Down: entry.old_iterator = max(entry.old_iterator, 0) - 1 if entry.old_iterator < 0: entry.set_text("") else: entry.set_text(entry.old_entries[entry.old_iterator].get_text()) return True if event.keyval == Clutter.KEY_Escape: Clutter.main_quit() if event.keyval in config['mapped_idioms']: entry.set_text(config['mapped_idioms'][event.keyval]) return True
def keyPress(self, event): # Parses the keyboard input generated by a callback from the Stage object # The event object has the property 'keyval' # clutter also defines constants for keyvals # so we can use these to compare if event.keyval == Clutter.q: #if the user pressed "q" quit the test Clutter.main_quit() elif event.keyval == Clutter.r: #if the user pressed "r" make the actor red text_actor.set_color(red) text_actor.set_text("This is Red") elif event.keyval == Clutter.g: #if the user pressed "g" make the actor green text_actor.set_color(green) text_actor.set_text("This is Green") elif event.keyval == Clutter.b: #if the user pressed "b" make the actor blue text_actor.set_color(blue) text_actor.set_text("This is Blue") elif event.keyval == Clutter.Up: # 'Up' is equal to the cursor up key stage.set_color(black) elif event.keyval == Clutter.Down: # 'Down' is equal to the cursor down key stage.set_color(white) #event feedback, useful for working out values of tricky keys print('event processed', event.keyval)
def on_key_press_event(stage, event): scroll = stage.get_first_child() menu = scroll.get_first_child() key = event.keyval if key == Clutter.KEY_q: Clutter.main_quit() return True if key == Clutter.KEY_Up: item = menu.select_prev() if item is not None: pos = Clutter.Point() (pos.x, pos.y) = item.get_position() scroll.scroll_to_point(pos) return True if key == Clutter.KEY_Down: item = menu.select_next() if item is not None: pos = Clutter.Point() (pos.x, pos.y) = item.get_position() scroll.scroll_to_point(pos) return True if key == Clutter.KEY_Return or key == Clutter.KEY_KP_Enter: menu.activate_item() return True return False
def button_press_handler(self, widget, event): print(event) if event.button == 1: self.dash.show(self, event.time) self.dash.window.focus(event.time) elif event.button == 3: Clutter.main_quit()
def handle_btn_press(actor, event): print("INFO:BtnPress:{},{}".format(actor, event)) print("\t x,y [{},{}], btn [{}]".format(event.x, event.y, event.button)) if actor == stage: print("INFO: Bowing down gracefully") Clutter.main_quit() elif actor in (imgBtn1, imgBtn2): print("INFO: Button is pressed:", actor.get_id()) return Clutter.EVENT_STOP
def stage_key(element, event): if event.keyval == Clutter.Escape: clutter_quit() ''' Key press events for quick deveopment ''' if event.unicode_value == "f": if stage.get_fullscreen(): stage.set_fullscreen(False) else: stage.set_fullscreen(True) print "F" elif event.unicode_value == "q": Clutter.main_quit()
def on_key_press(stage, event, box): layout = box.get_layout_manager() if event.keyval == Clutter.KEY_q: Clutter.main_quit() elif event.keyval == Clutter.KEY_t: state = layout.get_state() if state == 0: layout.set_state(1) if state == 1: layout.set_state(0) return Clutter.EVENT_STOP
def on_key_press(stage, event, layout): key = event.keyval if key == Clutter.KEY_q: Clutter.main_quit() return True if key == Clutter.KEY_t: if layout.state == MultiLayout.GRID: layout.state = MultiLayout.CIRCLE elif layout.state == MultiLayout.CIRCLE: layout.state = MultiLayout.GRID return True return False
def __init__(self, container, argv): PisakEduApp.APP = self Clutter.init(argv) self.stage = PisakEduStage(container) self.stage.connect("destroy", lambda _: Clutter.main_quit()) self.stage.set_fullscreen(True) self.stage.show_all()
def __init__(self): self.stage = Clutter.Stage() self.stage.set_title('Clutter example') self.stage.set_background_color(Clutter.color_from_string('#BBB')[1]) self.stage.set_size(300.0, 300.0) self.actor = Clutter.Actor() self.actor.set_background_color(Clutter.color_from_string('#DA0060')[1]) self.actor.set_position(75.0, 75.0) self.actor.set_size(150.0, 150.0) self.actor.set_pivot_point(0.5, 0.5) self.rotation = Clutter.PropertyTransition(property_name='rotation-angle-z') self.rotation.set_animatable(self.actor) self.rotation.set_duration(5000) self.rotation.set_from(0.0) self.rotation.set_to(360.0) self.rotation.set_repeat_count(-1) self.rotation.start() text = Clutter.Text.new_full('Arial Black 12', 'Click me!', Clutter.color_from_string('black')[1]) self.actor.add_child(text) self.stage.add_child(self.actor) self.stage.show() self.actor.set_reactive(True) self.stage.set_user_resizable(True) self.actor.connect('button-press-event', self.color_actor) self.stage.connect('key-press-event', self.on_key_press) self.stage.connect('destroy', lambda *_: Clutter.main_quit())
def __init__(self): self.stage = Clutter.Stage() self.stage.set_title('Clutter example') self.stage.set_background_color(Clutter.color_from_string('#BBB')[1]) self.stage.set_size(300.0, 300.0) self.actor = Clutter.Actor() self.actor.set_background_color( Clutter.color_from_string('#DA0060')[1]) self.actor.set_position(75.0, 75.0) self.actor.set_size(150.0, 150.0) self.actor.set_pivot_point(0.5, 0.5) self.rotation = Clutter.PropertyTransition( property_name='rotation-angle-z') self.rotation.set_animatable(self.actor) self.rotation.set_duration(5000) self.rotation.set_from(0.0) self.rotation.set_to(360.0) self.rotation.set_repeat_count(-1) self.rotation.start() text = Clutter.Text.new_full('Arial Black 12', 'Click me!', Clutter.color_from_string('black')[1]) self.actor.add_child(text) self.stage.add_child(self.actor) self.stage.show() self.actor.set_reactive(True) self.stage.set_user_resizable(True) self.actor.connect('button-press-event', self.color_actor) self.stage.connect('key-press-event', self.on_key_press) self.stage.connect('destroy', lambda *_: Clutter.main_quit())
def __init__(self): Clutter.Stage.__init__(self) self.set_size(800, 400) self.connect("destroy", lambda x: Clutter.main_quit()) self.set_title("Tortellini - State Machine editor") self.set_color(Clutter.Color.new(255, 255, 255, 255)) state1 = State() state1.set_text("Open Door & Enter Restaurant") state1.set_position(10, 10) self.add_child(state1) state = State() state.set_text("Enter_Room") state.set_position(10, 50) self.add_child(state) state = State() state.set_text("Intro") state.set_position(150, 50) self.add_child(state) state = State() state.set_text("Start_Mapper") state.set_position(240, 50) self.add_child(state) self.show_all()
def on_key_press (self, stage, event, actor): if event.keyval == Clutter.KEY_q: Clutter.main_quit() if event.keyval == Clutter.KEY_Up: actor.move_by (0, FORCE) if event.keyval == Clutter.KEY_Down: actor.move_by (0, -FORCE) if event.keyval == Clutter.KEY_Left: actor.move_by (FORCE, 0) if event.keyval == Clutter.KEY_Right: actor.move_by (-FORCE, 0) self.recenter ()
def __init__(self): Clutter.init() self.stage = TextStage() self.stage.connect("destroy", lambda *_: Clutter.main_quit()) self.stage.show_all() Clutter.main()
def on_key_press(stage, event): scroll = stage.get_first_child() key = event.keyval if key == Clutter.KEY_q: Clutter.main_quit() return True if key == Clutter.KEY_Up: select_prev_item(scroll) return True if key == Clutter.KEY_Down: select_next_item(scroll) return True return False
def handle_key_press(actor, event): global lPos, lYRotate #print("INFO:KeyPress:{}:{}:{}".format(actor, event.keyval, chr(event.keyval)), event.flags, event.type, event.modifier_state) #CMDKEY_MODSTATE = (Clutter.ModifierType.SHIFT_MASK | Clutter.ModifierType.CONTROL_MASK) CMDKEY_MODSTATE = (Clutter.ModifierType.CONTROL_MASK) if ((event.modifier_state & CMDKEY_MODSTATE) == CMDKEY_MODSTATE): if (event.keyval == Clutter.KEY_A): lPos, lYRotate = cg.animate_list(listBtns, lPos, lYRotate + 10) cg.listbox_select(boxv, 1, cg.SelectOffsetType.CUR) cg.listbox_select(boxh, 1, cg.SelectOffsetType.CUR, colorizeEffect=colorizeEffect1) elif (event.keyval == Clutter.KEY_Q): print("INFO: Bowing down gracefully") Clutter.main_quit() return Clutter.EVENT_STOP
def __init__(self, argv): PisakSpellerApp.APP = self Clutter.init(argv) self.stage = PisakSpellerStage() TimerCycle(self.stage.contents).start_cycle() self.stage.connect("destroy", lambda _: Clutter.main_quit()) self.stage.set_fullscreen(True) self.stage.show_all()
def _initialize_window(self, argv): # create and set up app window self.window = self.create_window(argv) if hasattr(self.window, "wrapper") and isinstance(self.window.wrapper, Gtk.Window): self.window.wrapper.connect("destroy", lambda _: Gtk.main_quit()) else: self.window.stage.connect("destroy", lambda _: Clutter.main_quit())
def on_key_press(self, stage, event, actor): if event.keyval == Clutter.KEY_q: Clutter.main_quit() if event.keyval == Clutter.KEY_Up: actor.move_by(0, FORCE) if event.keyval == Clutter.KEY_Down: actor.move_by(0, -FORCE) if event.keyval == Clutter.KEY_Left: actor.move_by(FORCE, 0) if event.keyval == Clutter.KEY_Right: actor.move_by(-FORCE, 0) self.recenter()
def handle_key_press(actor, event): global lPos, lYRotate #print("INFO:KeyPress:{}:{}:{}".format(actor, event.keyval, chr(event.keyval)), event.flags, event.type, event.modifier_state) #CMDKEY_MODSTATE = (Clutter.ModifierType.SHIFT_MASK | Clutter.ModifierType.CONTROL_MASK) CMDKEY_MODSTATE = (Clutter.ModifierType.CONTROL_MASK) if ((event.modifier_state & CMDKEY_MODSTATE) == CMDKEY_MODSTATE): if (event.keyval == Clutter.KEY_A): cg.listbox_select(gGUI['LBCAT'], 1, cg.SelectOffsetType.CUR) cg.listbox_select(gGUI['LBG1'], 1, cg.SelectOffsetType.CUR, colorizeEffect=colorizeEffect1) elif (event.keyval == Clutter.KEY_X): load_screen('main') elif (event.keyval == Clutter.KEY_Y): load_screen('audio') elif (event.keyval == Clutter.KEY_Q): print("INFO: Bowing down gracefully") Clutter.main_quit() return Clutter.EVENT_STOP
def create_window(self, argv, descriptor): clutter_window = window.Window(self, Clutter.Stage(), descriptor) clutter_window.stage.set_title('Pisak Main') if arg_parser.get_args().debug: coeff = 0.7 clutter_window.stage.set_size(coeff*unit.w(1), coeff*unit.h(1)) clutter_window.stage.set_user_resizable(True) else: clutter_window.stage.set_size(unit.w(1), unit.h(1)) clutter_window.stage.set_fullscreen(True) clutter_window.stage.connect("destroy", lambda _: Clutter.main_quit()) return clutter_window
def create_window(self, argv, descriptor): clutter_window = window.Window(self, Clutter.Stage(), descriptor) clutter_window.stage.set_title('Pisak Main') if arg_parser.get_args().debug: coeff = 0.7 clutter_window.stage.set_size(coeff * unit.w(1), coeff * unit.h(1)) clutter_window.stage.set_user_resizable(True) else: clutter_window.stage.set_size(unit.w(1), unit.h(1)) clutter_window.stage.set_fullscreen(True) clutter_window.stage.connect("destroy", lambda _: Clutter.main_quit()) return clutter_window
def __init__(self): Clutter.init(None) ui = Clutter.Script() ui.load_from_file("ui-threads.json") stage = ui.get_object("stage") stage.connect("destroy", self.stop) stage.connect("destroy", lambda w: Clutter.main_quit()) self.loader = ui.get_object("loader") self.loader.set_from_file("style/loading.png") self.t = Clutter.PropertyTransition(property_name='rotation-angle-z') self.t.set_from(0) self.t.set_to(360) self.t.set_duration(3000) self.t.set_animatable(self.loader) self.t.set_repeat_count(-1) self.t.start() button1 = ui.get_object("button1") button1.connect("button-press-event", self.execute_in_main) button1.set_reactive(True) button2 = ui.get_object("button2") button2.connect("button-press-event", self.idle_add_event) button2.set_reactive(True) button3 = ui.get_object("button3") button3.connect("button-press-event", self.threads_idle_add_event) button3.set_reactive(True) button4 = ui.get_object("button4") button4.connect("button-press-event", self.execute_in_thread) button4.set_reactive(True) stage = ui.get_object("stage") stage.set_title("Test threads") stage.connect("destroy", self.stop) stage.show_all() self.events = JoinableQueue(10) # UI events needs to happen from within the # main thread. This was the only way I found that would do that. # It looks weirdm, but it works. def execute(event): print("Execute " + event + " from " + str(current_thread())) for i in range(100): hashlib.md5(str(list(range(100000)))) print("Done executing") self.execute = execute stage.show()
def create_window(self, argv, descriptor): """ Create application main window as the Clutter.Stage. :param: argv: application arguments. :param descriptor: general application descriptor. """ clutter_window = window.Window(self, Clutter.Stage(), descriptor) clutter_window.stage.set_title('PISAK') clutter_window.stage.set_position(unit.MONITOR_X, unit.MONITOR_Y) if arg_parser.get_args().debug: coeff = 0.7 clutter_window.stage.set_size(coeff*unit.w(1), coeff*unit.h(1)) clutter_window.stage.set_user_resizable(True) else: clutter_window.stage.set_size(unit.w(1), unit.h(1)) clutter_window.stage.set_fullscreen(True) clutter_window.stage.connect("destroy", lambda _: Clutter.main_quit()) return clutter_window
def create_window(self, argv, descriptor): """ Create application main window as the Clutter.Stage. :param: argv: application arguments. :param descriptor: general application descriptor. """ clutter_window = window.Window(self, Clutter.Stage(), descriptor) clutter_window.stage.set_title('PISAK') clutter_window.stage.set_position(unit.MONITOR_X, unit.MONITOR_Y) if arg_parser.get_args().debug: coeff = 0.7 clutter_window.stage.set_size(coeff * unit.w(1), coeff * unit.h(1)) clutter_window.stage.set_user_resizable(True) else: clutter_window.stage.set_size(unit.w(1), unit.h(1)) clutter_window.stage.set_fullscreen(True) clutter_window.stage.connect("destroy", lambda _: Clutter.main_quit()) return clutter_window
def on_destroy(stage): Clutter.main_quit()
def finalize(Unused=None): Clutter.main_quit()
from gi.repository import Clutter, ClutterGst, Gst import sys ClutterGst.init(sys.argv) stage = Clutter.Stage() stage.set_size(800, 600) stage.connect('destroy', lambda x: Clutter.main_quit()) texture = Clutter.Texture() pipeline = Gst.parse_launch("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm") sink = Gst.ElementFactory.make("autocluttersink", None) sink.set_property("texture", texture) pipeline.set_property("video-sink", sink) Gst.Element.set_state(pipeline, Gst.State.PLAYING) stage.add_actor(texture) #texture.set_opacity(0) timeline = Clutter.Timeline() timeline.set_duration(2500) #timeline.set_delay(50) timeline.set_loop(False) alpha = Clutter.Alpha() alpha.set_timeline(timeline) alpha.set_func(lambda a, d: a.get_timeline().get_progress(), None) behaviour = Clutter.BehaviourRotate(alpha=alpha, angle_start=180, angle_end=0, axis=Clutter.RotateAxis.Y_AXIS, direction = "ccw") behaviour.apply(texture) timeline.start() stage.show_all()
def main_quit(data): Clutter.main_quit()
def on_quit(self, *args): self.save_config() Clutter.main_quit() exit(0)
def destroy(self): Clutter.main_quit()
def on_key_press(self, target, event): if event.keyval == Clutter.Escape: Clutter.main_quit()
self.connect("key-release-event", self.key_release) self.connect("notify::mapped", self.start_focus) self.button = MyButton() self.add_child(self.button) self.set_layout_manager(Clutter.BoxLayout()) def start_focus(self, source, *args): # set focus to the box self.get_stage().set_key_focus(source) def key_release(self, source, *args): print("KEY RELEASE: BOX") # set focus to the button source.get_stage().set_key_focus(self.button) class MyStage(Clutter.Stage): def __init__(self): super().__init__() self.box = MyBox() self.add_child(self.box) self.set_layout_manager(Clutter.BinLayout()) if __name__ == '__main__': Clutter.init([]) stage = MyStage() stage.show() stage.connect("destroy", lambda _: Clutter.main_quit()) Clutter.main()
def _main_quit(*_): Clutter.main_quit() return False
def __init__(self): super(GenericStage, self).__init__() self.stage = self.get_stage() self.stage.set_size(320, 240) self.stage.connect('destroy', lambda x: Clutter.main_quit())
def keypress(self, stage, event): if event.keyval == 120:#Clutter.keysyms.x: Clutter.main_quit() Gtk.main_quit()
def clutter_quit(*args): Clutter.main_quit()
def _build_stage(self): self.stage = Clutter.Stage() self.stage.connect("destroy", lambda *args: Clutter.main_quit())
def quit_cb(self): Clutter.main_quit()
import sys from gi.repository import Clutter if __name__ == "__main__": Clutter.init(sys.argv) stage = Clutter.Stage.get_default() stage.set_fullscreen(True) red = Clutter.Color() red.from_string("red") stage.set_color(red) stage.show() stage.connect("button-press-event", lambda s, w: Clutter.main_quit()) Clutter.main() print "Done!"
def sig_int_handler(n): Clutter.main_quit()
def handle_destroy(actor): print("INFO:destroy:WhyDear-OkOk:{}".format(actor)) Clutter.main_quit()
# Gtk.FileChooserAction.OPEN, # (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, # Gtk.STOCK_OPEN, Gtk.ResponseType.OK)); # dialog.set_select_multiple(True); # filter_image = Gtk.FileFilter() # filter_image.set_name("Imágenes") # filter_image.add_mime_type("image/*") # dialog.add_filter(filter_image) # response = dialog.run(); # if response == Gtk.ResponseType.OK: # for fichero in dialog.get_filenames(): # self.lista.append([fichero]); # #print self.vistalista.get_column(0).get_name(); # dialog.destroy(); # # def convertir_clicked(self, widget): # tamano=len(self.lista); cuenta=0.0; # for fichero in self.lista: # #os.system("convert a.jpg b.jpg"); # nombre=fichero[:][0]; # sinext=nombre[:-4]; # os.system("convert -resize "+str(self.escala.get_value())+"% "+nombre+" "+ sinext+"convertida.jpg"); # cuenta=cuenta+1.0; # self.progreso.set_fraction(1.0*cuenta/tamano); # print 1.0*cuenta/tamano; Clutter.init(sys.argv) ventana = GUI() ventana.connect('destroy', lambda x: Clutter.main_quit() ) ventana.show_all() Clutter.main()
def _init_stage(self): self.stage = PisakEduStage(self.context) self.stage.connect("destroy", lambda _: Clutter.main_quit()) self.stage.set_fullscreen(True) self.stage.show_all()
import subprocess import logging from gi.repository import Clutter, Mx, Mash, Toggle, Cogl, GObject # Set up logging logging.basicConfig( level=logging.DEBUG, format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s', datefmt='%m-%d %H:%M') if __name__ == '__main__': Clutter.init(None) stage = Clutter.Stage() stage.set_size(800, 500) stage.set_title('Clutter - Cairo content') stage.set_user_resizable(True) stage.connect("destroy", lambda w: Clutter.main_quit()) model = Toggle.Model() model.load_from_file(0, "/home/root/.octoprint/uploads/reel2.stl") model.set_color(Clutter.Color.from_string("#55A94BFF")[1]) model.set_position(400, 200) stage.add_child(model) stage.show_all() Clutter.main()
def quit(self): Clutter.main_quit() pass