omz:forum

    • Register
    • Login
    • Search
    • Recent
    • Popular

    Welcome!

    This is the community forum for my apps Pythonista and Editorial.

    For individual support questions, you can also send an email. If you have a very short question or just want to say hello โ€” I'm @olemoritz on Twitter.


    Keyboard ui button.

    Pythonista
    2
    55
    23687
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • cvp
      cvp @shinya.ta last edited by

      @shinya.ta It was the action of my old script

      def typeChar(sender):
      	'''finds active textinput, and types the button's title'''
      	tf=sender.objc_instance.firstResponder()
      	tf.insertText_(sender.title)
      

      But I don't know what your script became....

      1 Reply Last reply Reply Quote 0
      • cvp
        cvp @shinya.ta last edited by cvp

        @shinya.ta And it is only an example of what you could do. You could have any button with the title or image you want to display next set of emojis.

        shinya.ta 2 Replies Last reply Reply Quote 0
        • shinya.ta
          shinya.ta @cvp last edited by

          @cvp

          Dear.cvp

          I'll try it again.

          1 Reply Last reply Reply Quote 0
          • shinya.ta
            shinya.ta @cvp last edited by

            @cvp

            It was successful.

            I want to use this application vertically, so I hope the display of emoji is less.

            How can I adjust the number of emoji?

            cvp 2 Replies Last reply Reply Quote 0
            • cvp
              cvp @shinya.ta last edited by cvp

              @shinya.ta Hello
              The n_sets sets the number of sets
              You could set the number of emojis you want per set and then compute the number of sets

              n_emojis_in_set = 20
              n_sets = 1 + int((len(emojis)-1)/n_emojis_in_set)
              

              1 Reply Last reply Reply Quote 0
              • cvp
                cvp @shinya.ta last edited by

                @shinya.ta please let me know if it is ok and if you want to put the "next set" button at another place

                shinya.ta 2 Replies Last reply Reply Quote 0
                • shinya.ta
                  shinya.ta @cvp last edited by

                  @cvp

                  Dear.cvp

                  n_emojis_in_set = 20
                  n_sets = 1 + int((len(emojis)-1)/n_emojis_in_set)
                  

                  Where should I put this code in?
                  I tried to put it in the last line, but there was no change.

                  cvp 1 Reply Last reply Reply Quote 0
                  • shinya.ta
                    shinya.ta @cvp last edited by

                    @cvp

                    It is the best if I can set this emoji to the task bar only by the operation of my wife who is visually impaired.

                    Is Pythonisa possible to set up a button only with buttons, not in the operation of the program?

                    cvp 1 Reply Last reply Reply Quote 0
                    • cvp
                      cvp @shinya.ta last edited by

                      @shinya.ta instead of

                      emojis = '๐Ÿ˜Š๐Ÿ˜œ๐Ÿ˜ฑ๐Ÿ’ฆโ˜”๏ธ๐Ÿ˜€๐Ÿ˜ƒ๐Ÿ˜„๐Ÿ˜๐Ÿ˜†๐Ÿ˜…๐Ÿ˜‚๐Ÿคฃโ˜บ๏ธ๐Ÿ˜Š๐Ÿ˜‡๐Ÿ™‚๐Ÿ™ƒ๐Ÿ˜‰๐Ÿ˜Œ๐Ÿ˜๐Ÿฅฐ๐Ÿ˜˜๐Ÿ˜—๐Ÿ˜™๐Ÿ˜š๐Ÿ˜‹๐Ÿ˜›๐Ÿ˜๐Ÿ˜œ๐Ÿคช๐Ÿคจ๐Ÿง๐Ÿค“๐Ÿ˜Ž๐Ÿคฉ๐Ÿฅณ๐Ÿ˜๐Ÿ˜’๐Ÿ˜ž๐Ÿ˜”๐Ÿ˜Ÿ๐Ÿ˜•๐Ÿ™โ˜น๏ธ๐Ÿ˜ฃ๐Ÿ˜–๐Ÿ˜ซ๐Ÿ˜ฉ๐Ÿฅบ๐Ÿ˜ข๐Ÿ˜ญ๐Ÿ˜ค๐Ÿ˜ ๐Ÿ˜ก๐Ÿคฌ๐Ÿคฏ๐Ÿ˜ณ๐Ÿฅต๐Ÿฅถ๐Ÿ˜ฑ๐Ÿ˜จ๐Ÿ˜ฐ๐Ÿ˜ฅ๐Ÿ˜“๐Ÿค—๐Ÿค”๐Ÿคญ๐Ÿคซ๐Ÿคฅ๐Ÿ˜ถ๐Ÿ˜๐Ÿ˜‘๐Ÿ˜ฌ๐Ÿ˜ฆ๐Ÿ˜ง๐Ÿ˜ฎ๐Ÿ˜ฒ๐Ÿ˜ด๐Ÿคค๐Ÿ˜ช๐Ÿ˜ต๐Ÿค๐Ÿฅด๐Ÿคข๐Ÿคฎ๐Ÿคง๐Ÿ˜ท๐Ÿค’๐Ÿค•๐Ÿค‘๐Ÿค ๐Ÿ˜ˆ'
                      n_sets = 4
                      vv_array = []
                      

                      Do

                      emojis = '๐Ÿ˜Š๐Ÿ˜œ๐Ÿ˜ฑ๐Ÿ’ฆโ˜”๏ธ๐Ÿ˜€๐Ÿ˜ƒ๐Ÿ˜„๐Ÿ˜๐Ÿ˜†๐Ÿ˜…๐Ÿ˜‚๐Ÿคฃโ˜บ๏ธ๐Ÿ˜Š๐Ÿ˜‡๐Ÿ™‚๐Ÿ™ƒ๐Ÿ˜‰๐Ÿ˜Œ๐Ÿ˜๐Ÿฅฐ๐Ÿ˜˜๐Ÿ˜—๐Ÿ˜™๐Ÿ˜š๐Ÿ˜‹๐Ÿ˜›๐Ÿ˜๐Ÿ˜œ๐Ÿคช๐Ÿคจ๐Ÿง๐Ÿค“๐Ÿ˜Ž๐Ÿคฉ๐Ÿฅณ๐Ÿ˜๐Ÿ˜’๐Ÿ˜ž๐Ÿ˜”๐Ÿ˜Ÿ๐Ÿ˜•๐Ÿ™โ˜น๏ธ๐Ÿ˜ฃ๐Ÿ˜–๐Ÿ˜ซ๐Ÿ˜ฉ๐Ÿฅบ๐Ÿ˜ข๐Ÿ˜ญ๐Ÿ˜ค๐Ÿ˜ ๐Ÿ˜ก๐Ÿคฌ๐Ÿคฏ๐Ÿ˜ณ๐Ÿฅต๐Ÿฅถ๐Ÿ˜ฑ๐Ÿ˜จ๐Ÿ˜ฐ๐Ÿ˜ฅ๐Ÿ˜“๐Ÿค—๐Ÿค”๐Ÿคญ๐Ÿคซ๐Ÿคฅ๐Ÿ˜ถ๐Ÿ˜๐Ÿ˜‘๐Ÿ˜ฌ๐Ÿ˜ฆ๐Ÿ˜ง๐Ÿ˜ฎ๐Ÿ˜ฒ๐Ÿ˜ด๐Ÿคค๐Ÿ˜ช๐Ÿ˜ต๐Ÿค๐Ÿฅด๐Ÿคข๐Ÿคฎ๐Ÿคง๐Ÿ˜ท๐Ÿค’๐Ÿค•๐Ÿค‘๐Ÿค ๐Ÿ˜ˆ'
                      n_emojis_in_set = 20
                      n_sets = 1 + int((len(emojis)-1)/n_emojis_in_set)
                      vv_array = []
                      
                      1 Reply Last reply Reply Quote 0
                      • cvp
                        cvp @shinya.ta last edited by cvp

                        @shinya.ta Sorry, I don't understand this

                        It is the best if I can set this emoji to the task bar only by the operation of my wife who is visually impaired.
                        
                        Is Pythonisa possible to set up a button only with buttons, not in the operation of the program?
                        

                        If I correctly understand, you want to ask this "next set of emojis" by a normal button.
                        But where do you want this button?

                        shinya.ta 1 Reply Last reply Reply Quote 0
                        • shinya.ta
                          shinya.ta @cvp last edited by

                          @cvp

                          Sorry for the poor English.

                          It is a button that my wife can set emoji by herself.

                          The location of the button is okay anywhere.

                          cvp 1 Reply Last reply Reply Quote 0
                          • cvp
                            cvp @shinya.ta last edited by cvp

                            @shinya.ta Try

                            #create normal keys
                            d = 32
                            dd = 4
                            emojis = '๐Ÿ˜Š๐Ÿ˜œ๐Ÿ˜ฑ๐Ÿ’ฆโ˜”๏ธ๐Ÿ˜€๐Ÿ˜ƒ๐Ÿ˜„๐Ÿ˜๐Ÿ˜†๐Ÿ˜…๐Ÿ˜‚๐Ÿคฃโ˜บ๏ธ๐Ÿ˜Š๐Ÿ˜‡๐Ÿ™‚๐Ÿ™ƒ๐Ÿ˜‰๐Ÿ˜Œ๐Ÿ˜๐Ÿฅฐ๐Ÿ˜˜๐Ÿ˜—๐Ÿ˜™๐Ÿ˜š๐Ÿ˜‹๐Ÿ˜›๐Ÿ˜๐Ÿ˜œ๐Ÿคช๐Ÿคจ๐Ÿง๐Ÿค“๐Ÿ˜Ž๐Ÿคฉ๐Ÿฅณ๐Ÿ˜๐Ÿ˜’๐Ÿ˜ž๐Ÿ˜”๐Ÿ˜Ÿ๐Ÿ˜•๐Ÿ™โ˜น๏ธ๐Ÿ˜ฃ๐Ÿ˜–๐Ÿ˜ซ๐Ÿ˜ฉ๐Ÿฅบ๐Ÿ˜ข๐Ÿ˜ญ๐Ÿ˜ค๐Ÿ˜ ๐Ÿ˜ก๐Ÿคฌ๐Ÿคฏ๐Ÿ˜ณ๐Ÿฅต๐Ÿฅถ๐Ÿ˜ฑ๐Ÿ˜จ๐Ÿ˜ฐ๐Ÿ˜ฅ๐Ÿ˜“๐Ÿค—๐Ÿค”๐Ÿคญ๐Ÿคซ๐Ÿคฅ๐Ÿ˜ถ๐Ÿ˜๐Ÿ˜‘๐Ÿ˜ฌ๐Ÿ˜ฆ๐Ÿ˜ง๐Ÿ˜ฎ๐Ÿ˜ฒ๐Ÿ˜ด๐Ÿคค๐Ÿ˜ช๐Ÿ˜ต๐Ÿค๐Ÿฅด๐Ÿคข๐Ÿคฎ๐Ÿคง๐Ÿ˜ท๐Ÿค’๐Ÿค•๐Ÿค‘๐Ÿค ๐Ÿ˜ˆ'
                            n_emojis_in_set = 20
                            n_sets = 1 + int((len(emojis)-1)/n_emojis_in_set)
                            vv_array = []
                            for i_set in range(0,n_sets):
                            	l = int(len(emojis)/n_sets)
                            	i = i_set * l
                            	set_emojis = emojis[i:i+l]
                            	w, h = ui.get_screen_size()	
                            	vv = ui.View(name='set'+str(i_set))
                            	vv.background_color = 'lightgray'
                            	h = 0
                            	x = dd
                            	y = dd
                            	for button_title in set_emojis:
                            		b = ui.Button(title=button_title)
                            		b_action = typeChar
                            		b.action=b_action
                            		b.frame = (x,y,d,d)
                            		b.font = ('.SFUIText', d)
                            		if (y+d+dd) > h:
                            			h = y + d + dd
                            		vv.add_subview(b)
                            		x = x + d + dd
                            		if (x+d+dd) > w:
                            			x = dd
                            			y = y + d + dd
                            	vv.frame = (0,0,w,h)
                            	vv_array.append(vv)
                            
                            tv.i_set = 0
                            tv.n_sets = n_sets
                            def nextSet(sender):
                            	tv.i_set = tv.i_set + 1
                            	if tv.i_set == tv.n_sets:
                            		tv.i_set = 0
                            	#attach our accessory to the textfield, and textview
                            	ww = vv_array[tv.i_set]
                            	tvo = tv.objc_instance
                            	#print(dir(tvo))
                            	tvo.setInputAccessoryView_(ObjCInstance(ww))
                            	tvo.reloadInputViews()
                            	
                            nextSet(vv_array[n_sets-1]['nextSet'])	# display 1st set
                            
                            # add a button at right of "typing suggestions", just above the keyboard
                            bb_target = ui.Button()
                            bb_target.action = nextSet
                            UIBarButtonItem = ObjCClass('UIBarButtonItem').alloc().initWithTitle_style_target_action_('Next Emojis',0,bb_target,sel('invokeAction:')).autorelease()
                            #UIBarButtonItem = ObjCClass('UIBarButtonItem').alloc().initWithImage_style_target_action_(ns(ui.Image.named('emj:Bicycle').with_rendering_mode(ui.RENDERING_MODE_ORIGINAL)),0,bb_target,sel('invokeAction:')).autorelease()
                            
                            UIBarButtonItemGroup = ObjCClass('UIBarButtonItemGroup').alloc().initWithBarButtonItems_representativeItem_([UIBarButtonItem],None)
                            
                            tvo = tv.objc_instance
                            tvo.inputAssistantItem().setTrailingBarButtonGroups([UIBarButtonItemGroup])
                            
                            v.present('sheet')
                            tv.selected_range = (0,0)
                            tv.begin_editing()
                            

                            shinya.ta 2 Replies Last reply Reply Quote 0
                            • shinya.ta
                              shinya.ta @cvp last edited by

                              @cvp

                              Dear.cvp

                              I didn't have a test because I didn't have time to try it.
                              I'll take a test on the weekend.

                              1 Reply Last reply Reply Quote 0
                              • shinya.ta
                                shinya.ta @cvp last edited by

                                @cvp

                                Dear.cvp

                                When I tried the program, I got a Syntaxerror. Why is that?

                                cvp 1 Reply Last reply Reply Quote 0
                                • cvp
                                  cvp @shinya.ta last edited by

                                  @shinya.ta If the syntax error comes from the last line, I had made a copy/paste error, please check the two last lines versus the edit script above

                                  shinya.ta 2 Replies Last reply Reply Quote 0
                                  • shinya.ta
                                    shinya.ta @cvp last edited by

                                    @cvp

                                    Dear.cvp

                                    I tried it, but iPad can show next emji, but I couldn't display it on iPhone.

                                    1 Reply Last reply Reply Quote 0
                                    • shinya.ta
                                      shinya.ta @cvp last edited by

                                      @cvp

                                      I would like to display multiple windows at the same time and edit the text.

                                      Can I make it with Pythonisa?

                                      I don't know how to send pictures here.
                                      If you see the picture, I think you can see the image.

                                      cvp 2 Replies Last reply Reply Quote 0
                                      • cvp
                                        cvp @shinya.ta last edited by

                                        @shinya.ta To post here a picture, I use this little script:

                                        import pyimgur,photos,clipboard,os,console
                                        i=photos.pick_image()
                                        if i:
                                        	print(i.format)
                                        	format = 'gif' if (i.format == 'GIF') else 'jpg'
                                        	i.save('img.'+format)
                                        	clipboard.set(pyimgur.Imgur("303d632d723a549").upload_image('img.'+format, title="Uploaded-Image").link)
                                        	console.hud_alert("link copied!")
                                        	os.remove('img.'+format)
                                        

                                        You have to

                                        • run this script
                                        • the program will ask you to pick a picture from your camera roll
                                        • the program sends the picture to imgur site and copy the url in the clipboard
                                        • here, in the forum, you paste this url from the clipboard in a post
                                        • that's all, it takes some seconds
                                        1 Reply Last reply Reply Quote 1
                                        • cvp
                                          cvp @shinya.ta last edited by cvp

                                          @shinya.ta If the 'next emoji' is not displayed on iPhone, it is perhaps a problem of screen width (sorry, I can't test it), you could try to put a shorter title to this button, like

                                          UIBarButtonItem = ObjCClass('UIBarButtonItem').alloc().initWithTitle_style_target_action_('โฉ',0,bb_target,sel('invokeAction:')).autorelease()
                                          

                                          If you parametrized big characters in your iPhone settings, the system does not have sufficient room to display this button

                                          shinya.ta 1 Reply Last reply Reply Quote 0
                                          • shinya.ta
                                            shinya.ta @cvp last edited by

                                            @cvp

                                            It was difficult to send a photo to me because it was difficult to send.
                                            So, I will explain in writing.

                                            Can I open multiple windows at the same time with Pythonisa so that I can open multiple tasks with a computer?

                                            cvp 3 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Powered by NodeBB Forums | Contributors