-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathmenubar.py
53 lines (41 loc) · 1.54 KB
/
menubar.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import platform
from cv2 import imwrite, imread
from kivy.properties import ObjectProperty
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.popup import Popup
from filechooser import LoadDialog, SaveDialog
class MenuBar(BoxLayout):
ui = ObjectProperty(None)
open_button = ObjectProperty(None)
button = ObjectProperty(None)
def __init__(self, **kwargs):
self.last_file_names = list()
self.last_path = str()
self._popup = None
super(MenuBar, self).__init__(**kwargs)
def show_load(self):
print(self.ui)
content = LoadDialog(load=self.load, cancel=self.dismiss_popup)
self._popup = Popup(title="Load file", content=content,
size_hint=(0.9, 0.9))
self._popup.open()
def show_save(self):
content = SaveDialog(save=self.save, cancel=self.dismiss_popup)
self._popup = Popup(title="Save file", content=content,
size_hint=(0.9, 0.9))
self._popup.open()
def load(self, path, filename):
self.last_file_names = filename
self.last_path = path
self.ui.pdi_space.add_image(filename[0])
self.dismiss_popup()
def save(self, path, filename):
img = imread(self.ui.pdi_space.get_image().source)
if platform.system() == 'Windows':
filename = path + '\\' + filename
else:
filename = path + '/' + filename
imwrite(filename, img)
self.dismiss_popup()
def dismiss_popup(self):
self._popup.dismiss()