Advertisement
Guest User

Untitled

a guest
Jan 14th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.86 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. # example radiobuttons.py
  4.  
  5. import pygtk
  6.  
  7. pygtk.require('2.0')
  8. import gtk
  9. from mayan_api_client import API
  10. api = API(host='http://www.sspu-opava.cz:82', username='Dave', password='dbvjdu123')
  11. for result in api.metadata.metadata_types.get()['results']:
  12. jmeno=result['name']
  13. print(jmeno)
  14.  
  15.  
  16.  
  17. dialog = gtk.FileChooserDialog("Open..",
  18. None,
  19. gtk.FILE_CHOOSER_ACTION_OPEN,
  20. (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
  21. gtk.STOCK_OPEN, gtk.RESPONSE_OK))
  22. dialog.set_default_response(gtk.RESPONSE_OK)
  23.  
  24. filter = gtk.FileFilter()
  25. filter.set_name("All files")
  26. filter.add_pattern("*")
  27. dialog.add_filter(filter)
  28.  
  29. filter = gtk.FileFilter()
  30. filter.set_name("Images")
  31. filter.add_mime_type("image/png")
  32. filter.add_mime_type("image/jpeg")
  33. filter.add_mime_type("image/gif")
  34. filter.add_pattern("*.png")
  35. filter.add_pattern("*.jpg")
  36. filter.add_pattern("*.gif")
  37. filter.add_pattern("*.tif")
  38. filter.add_pattern("*.xpm")
  39. dialog.add_filter(filter)
  40.  
  41. response = dialog.run()
  42. if response == gtk.RESPONSE_OK:
  43. print dialog.get_filename(), 'selected'
  44. elif response == gtk.RESPONSE_CANCEL:
  45. print 'Closed, no files selected'
  46. dialog.destroy()
  47.  
  48.  
  49. class RadioButtons:
  50. def callback(self, widget, data=None):
  51. print "%s was toggled %s" % (data, ("OFF", "ON")[widget.get_active()])
  52.  
  53. def close_application(self, widget, event, data=None):
  54. gtk.main_quit()
  55. return False
  56.  
  57. def __init__(self):
  58. self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
  59.  
  60. self.window.connect("delete_event", self.close_application)
  61.  
  62. self.window.set_title("Typ dokumentu")
  63. self.window.set_border_width(0)
  64.  
  65. box1 = gtk.VBox(False, 0)
  66. self.window.add(box1)
  67. box1.show()
  68.  
  69. box2 = gtk.VBox(False, 10)
  70. box2.set_border_width(10)
  71. box1.pack_start(box2, True, True, 0)
  72. box2.show()
  73.  
  74.  
  75. buttons = []
  76. position = 0
  77. for result in api.metadata.metadata_types.get()['results']:
  78. button = gtk.RadioButton(buttons[position - 1] if position > 0 else None, result['name'])
  79. button.connect('toggled', self.callback, result['name'])
  80. box2.pack_start(button, True, True, 0)
  81. button.show()
  82. buttons.append(button)
  83. position += 1
  84.  
  85.  
  86.  
  87.  
  88. separator = gtk.HSeparator()
  89. box1.pack_start(separator, False, True, 0)
  90. separator.show()
  91.  
  92. box2 = gtk.VBox(False, 10)
  93. box2.set_border_width(10)
  94. box1.pack_start(box2, False, True, 0)
  95. box2.show()
  96.  
  97. button = gtk.Button("post")
  98. button.connect_object("clicked", self.close_application, self.window,
  99. None)
  100. box2.pack_start(button, True, True, 0)
  101. button.set_flags(gtk.CAN_DEFAULT)
  102. button.grab_default()
  103. button.show()
  104. self.window.show()
  105.  
  106.  
  107. def main():
  108. gtk.main()
  109. return 0
  110.  
  111.  
  112. if __name__ == "__main__":
  113. RadioButtons()
  114. main()
  115.  
  116.  
  117.  
  118. class text_box:
  119. #Callback function, data arguments are ignored
  120. def hello(self, widget, entry):
  121. entry_text = self.entry.get_text()
  122. print("Entry contents: ".format(entry_text))
  123.  
  124.  
  125. def delete_event(self, widget, event, data=None):
  126. #Return of FALSE deletes event, True keeps it
  127. print("Delete even occurred")
  128. return False
  129.  
  130. def submit(self, button):
  131. try:
  132. input = self.entry.get_text()
  133. print(float(input))
  134. return input
  135. except ValueError:
  136. print("This is not a number...")
  137. self.md = gtk.MessageDialog(None, gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE, "This is not a number")
  138. self.md.set_position(gtk.WIN_POS_CENTER)
  139. self.md.run()
  140. self.md.destroy()
  141.  
  142.  
  143. def enter(self, button):
  144. try:
  145. input = self.entry.get_text()
  146. input = float(input)
  147. print(input)
  148. return input
  149. except ValueError:
  150. self.md = gtk.MessageDialog(None, gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE, "This is not a number")
  151. self.md.run()
  152. self.md.destroy()
  153. print("This is not a number...")
  154.  
  155.  
  156.  
  157. #Another Callback
  158. def destroy(self, widget, data=None):
  159. gtk.main_quit()
  160.  
  161. def __init__(self):
  162.  
  163. self.fix = gtk.Fixed()
  164.  
  165. #create a new window
  166. self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
  167. self.window.set_size_request(300, 300)
  168. self.window.set_title("metadata")
  169. self.window.set_position(gtk.WIN_POS_CENTER)
  170. vbox = gtk.VBox(False,0)
  171. self.window.add(vbox)
  172. vbox.show()
  173.  
  174. #When window is given delete_event, close
  175. self.window.connect("delete_event", self.delete_event)
  176.  
  177. #Connect the "destroy" event to a signal handler
  178. #Occurs with gtk_widget_destroy() or False in delete_event
  179. self.window.connect("destroy", self.destroy)
  180.  
  181. #Sets border width of window
  182. self.window.set_border_width(10)
  183.  
  184. #Creates button
  185. self.button = gtk.Button("Submit")
  186. #self.button.connect("clicked", self.hello, None)
  187.  
  188. #Submit data in window on click
  189. self.button.connect_object("clicked", self.submit, self.window)
  190.  
  191.  
  192.  
  193. #Make entry box
  194. for result in api.metadata.metadata_types.get()['results']:
  195. lol=result['name']
  196. self.entry = gtk.Entry()
  197. self.label = gtk.Label(lol)
  198. vbox.pack_start(self.label, False, False, 0)
  199. self.label.show()
  200. self.entry.set_max_length(20)
  201. self.entry.select_region(0, len(self.entry.get_text()))
  202. #self.entry.connect("activate", self.hello, self.entry)
  203. self.entry.connect_object("activate", self.enter, self.window)
  204. vbox.pack_start(self.entry, False, False, 0)
  205. self.entry.show()
  206.  
  207. #This packs the button and entry into the window
  208. #self.window.add(self.button)
  209. #self.window.add(self.entry)
  210.  
  211. #hbox = gtk.HBox(False, 0)
  212. #vbox.add(hbox)
  213. #hbox.show()
  214.  
  215. #The final step is to display this newly created widget.
  216. vbox.pack_start(self.button, False, False, 00)
  217. self.button.show()
  218.  
  219. #And the window
  220. self.window.show()
  221.  
  222. def main(self):
  223. #All PyGTK apps must have a gtk.main(). Control ends here
  224. #and waits for an event to occur
  225. gtk.main()
  226. return 0
  227.  
  228.  
  229. #If the program is run, create a gui instance and show it
  230. if __name__ == "__main__":
  231. hello = text_box()
  232. hello.main()
  233.  
  234.  
  235. if __name__ == "__main__":
  236. EntryExample()
  237. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement