Exemple #1
0
 def __init__(self):
     AskDialog.title = "Welcome!"
     AskDialog.question = [
         "Congratulations! You have been elected President  ",
         "of a small land-grant University! Invest your",
         "resources wisely and grow your University!"
     ]
     pyforms.start_app(AskDialog, geometry=(400, 400, 0, 0))
     self.name = AskDialog.answer
Exemple #2
0
def onpick(event, names):
    thisline = event.artist
    ind = event.ind
    #points = tuple(zip(xdata[ind], ydata[ind]))
    scene_name = names[ind[0]]

    config.argument_defaults['selected_scene'] = scene_name
    print(config.argument_defaults['selected_scene'])
    start_app(VideoStatsViewer)
Exemple #3
0
def open_form(form, on_mouse=False):
    geom = (0,0,0,0)
    if on_mouse:
        pos = pygame.mouse.get_pos()
        size = form.size
        geom = (pos[0], pos[1], size[0], size[1])
    else:
        pos = form.pos
        size = form.size
        geom = (pos[0], pos[1], size[0], size[1])

    pyforms.start_app(form, geometry=geom)
Exemple #4
0
def main():
    # create generator
    path = find_latest(args.generator, 'generator_[0-9]*.pt')
    print(f'Resuming generator from path "{path}"')
    generator = RaceTrackGenerator.from_file(path)
    latent = generator.latent_size

    class GUIEx(GUI):
        def __init__(self):
            super().__init__(latent, generator)

    # create window
    pyforms.start_app(GUIEx)
def session_form(mouse_name: str = '') -> dict:
    root = QApplication(sys.argv)
    sForm = pyforms.start_app(SessionForm, parent_win=root,
                              geometry=(200, 200, 600, 400))
    sForm._mouseWeight.label = sForm._mouseWeight.label.format(mouse_name)
    root.exec()

    if sForm.valid_form_data:
        return sForm.form_data
    else:
        return -1
Exemple #6
0
def ephys_session_form(session_dict: dict) -> dict:
    root = QApplication(sys.argv)
    sForm0 = EphysSessionForm()
    sForm0.session_dict = dict_to_dstr(session_dict)
    sForm0.build()
    sForm = pyforms.start_app(sForm0,
                              parent_win=root,
                              geometry=(200, 200, 600, 400))
    # sForm.build()
    root.exec()
    return dstring_to_dict(sForm.form_data)
def start():

    try:
        pyforms.start_app(VideoAnnotator, geometry=conf.MAIN_WINDOW_GEOMETRY)

    except Exception as e:
        report = traceback.format_exc()

        app = QApplication(sys.argv)
        m = QMessageBox(
            QMessageBox.Question, "Send report",
            "<h2>Would you like to send us a report of the bug?</h2>"
            "This will help us improving the software."
            "<p>{bug}</p>".format(bug=str(e)),
            QMessageBox.Yes | QMessageBox.No)
        reply = m.exec_()

        if reply == QMessageBox.Yes:
            try:
                app_id = conf.USERSTATS_APP_ID
                reg_id = get_mac()
                os_name = platform.platform()
                version = pythonvideoannotator.__version__

                data = {
                    'app-id': app_id,
                    'reg-id': reg_id,
                    'os-name': os_name,
                    'version': version,
                    'report': report
                }
                url = "{}/register-bug".format(conf.USERSTATS_URL)
                request = Request(url, urlencode(data).encode())
                urlopen(request).read().decode()
            except Exception as ex:
                print("Could not register new access", ex)

        exit()
        app.exec_()
def start():

	try:
		pyforms.start_app(
			VideoAnnotator,
			geometry=conf.MAIN_WINDOW_GEOMETRY
		)

	except Exception as e:
		report = traceback.format_exc()

		app = QApplication(sys.argv)
		m = QMessageBox(
			QMessageBox.Question,
			"Send report",
			"<h2>Would you like to send us a report of the bug?</h2>"
			"This will help us improving the software."
			"<p>{bug}</p>".format( bug=str(e) ),
			QMessageBox.Yes | QMessageBox.No
		)
		reply = m.exec_()

		if reply==QMessageBox.Yes:
			try:
				app_id = conf.USERSTATS_APP_ID
				reg_id = get_mac()
				os_name = platform.platform()
				version = pythonvideoannotator.__version__

				data = {'app-id': app_id, 'reg-id': reg_id, 'os-name' : os_name, 'version': version, 'report': report}
				url = "{}/register-bug".format(conf.USERSTATS_URL)
				request = Request(url, urlencode(data).encode())
				urlopen(request).read().decode()
			except Exception as ex:
				print("Could not register new access", ex )

		exit()
		app.exec_()
Exemple #9
0
class ExemploSimples(BaseWidget):

def __init__(self):
    super(ExemploSimples,self).__init__('ExemploSimples')
    #Definition of the forms fields
    self._nome = ControlText('Nome', 'Default value')
    self._sobrename = ControlText('Sobrenome')
    self._nomeCompleto = ControlText('Nome completo')
    self._button = ControlButton('Pressione o Botão')

#Execute the application
if __name__ == "__main__":
    from pyforms import start_app
    start_app(ExemploSimples)
Exemple #10
0
                img.parent = self._image_tbls
                print(self._infiles[c * row])
                img.value = self._infiles[
                    c * row]  # cv2.imread(self._infiles[c*row], 1)
                self._image_tbls.set_value(c, row, img)

    def __runEvent(self):
        """
        After setting the best parameters run the full algorithm
        """
        self.outbox = Queue()

        def update_progress():
            self._progress.value = self.outbox.qsize()

        def done_progress():
            self._progress.value = self._progress.max
            print("Completed")

        hasher = ImageHasher(self._indir.value,
                             self.outbox,
                             progress_callback=update_progress,
                             done_callback=done_progress)
        hasher.start()


if __name__ == '__main__':

    from pyforms import start_app
    start_app(ImageDeDuplicatorApp)
Exemple #11
0
    def __print_value(self):
        print("Player 1" + self._player.value)
        print("Player 2" + self._player1.value)
        print("File 1" + self._file1.value)
        print("File 2" + self._file2.value)

    def __play_all(self):

        self._player.show()
        self._player.value = self._file1.value

        self._player1.show()
        self._player1.value = self._file2.value

        self._player.play()
        self._player1.play()

    def __pause_all(self):
        self._player.stop()
        self._player1.stop()

    def __refresh_all(self):
        self._player.value = self._file1.value
        self._player1.value = self._file2.value


#Execute the application

if __name__ == "__main__":
    pyforms.start_app(VideoPlayer)
		self._formset = [
			('_videofile', '_outputfile'),
			# '_threshold',
			# ('_blobsize', '_runbutton'),
			# '_player'
		]

	def __video_file_selection_event(self):
		"""
		When the videofile is selected instanciate the video in the player
		"""
		self._player.value = self._videofile.value

	# def __process_frame(self, frame):
		"""
		Do some processing to the frame and return the result frame
		"""
		# return frame

	def run_event(self):
		"""
		After setting the best parameters run the full algorithm
		"""
		print("The function was executed", self._videofile.value)


if __name__ == '__main__':

	from pyforms import start_app
	start_app(ComputerVisionAlgorithm)
Exemple #13
0
        for i in range(1, 32):
            self._combo_day_1.add_item(str(i), i)
            self._combo_day_2.add_item(str(i), i)
        for i in range(1, 13):
            self._combo_month_1.add_item(str(i), i)
            self._combo_month_2.add_item(str(i), i)
        for i in range(1970, 2100):
            self._combo_year_1.add_item(str(i), i)
            self._combo_year_2.add_item(str(i), i)

        date_now = datetime.datetime.now().date()
        self._combo_day_2.value = date_now.day
        self._combo_month_2.value = date_now.month
        self._combo_year_2.value = date_now.year
        self._combo_year_1.value = date_now.year

    def __dummyEvent(self):
        ...

    def __buttonAction(self):
        """Button action event"""
        first = datetime.datetime(self._combo_year_1.value, self._combo_month_1.value, self._combo_day_1.value)
        second = datetime.datetime(self._combo_year_2.value, self._combo_month_2.value, self._combo_day_2.value)
        # Кол-во времени между датами.
        delta = second - first
        self._fullname.value = str(delta.days)


# Execute the application
if __name__ == "__main__":   pyforms.start_app(DiffDate, geometry=(800, 400, 400, 400))
        self._buttonField.value = self.__buttonAction

        self.formset = [('_dateField', '_timeField'),
                        ('_imageField', ['_titleField', '_descriptionField']),
                        ('_directorField', '_actorField'),
                        ('_freeSeatsField', '_chosenSeatsField'),
                        '_buttonField', '_panel']

    def __buttonAction(self):
        if_places_free = self._client.service.ifPlacesFree(
            self._chosenSeatsField.value, self._screening_info['id_showing'])
        print(if_places_free)
        if if_places_free:
            person = self._client.service.getUserByPesel(self._pesel)
            self._client.service.addNewReservation(
                self._chosenSeatsField.value, False, person['id_user'],
                self._screening_info['id_showing'])
            print("Reservation added")
            self.message("Seats successfully booked", 'Booked')
            self.parent.updateInfo()
            self.close()
        else:
            self.alert("At least one place is taken, change your places",
                       "Warning")

    # Execute the application


if __name__ == "__main__":
    pyforms.start_app(ScreeningWindow)
Exemple #15
0
                                     str(show.movie.description)]
        self._reservation_list.clear()
        self._all_reservations = self._client.service.getUserReservationsByPesel(self._pesel)
        for reservation in self._all_reservations:
            self._reservation_list += [reservation['showing']['date'].strftime("%d-%m-%Y"),
                                       reservation['showing']['date'].strftime("%H:%M"),
                                       str(reservation['showing']['movie']['title']), str(reservation['places']),
                                       "Yes" if reservation['isPaid'] is True else "No"]

    def _searchScreeningsButton(self):
        self._screening_list.clear()
        self._all_showings = self._client.service.getShowingsByDate(self._selected_date.year, self._selected_date.month,
                                                                    self._selected_date.day)
        for show in self._all_showings:
            self._screening_list += [show.date.strftime("%H:%M"), str(show.movie.title),
                                     str(show.movie.description)]

    def _change_day(self):
        self._selected_date = self._selected_date.replace(day=int(self._screening_day.value))

    def _change_month(self):
        self._selected_date = self._selected_date.replace(month=int(self._screening_month.value), day=1)
        self._screening_day.max = monthrange(self._selected_date.year, self._selected_date.month)[1]
        self._screening_day.value = 1


if __name__ == '__main__':
    from pyforms import start_app

    start_app(CinemaManager)
Exemple #16
0
#                     self.parent, self.label, self.value)
#         elif self.use_save_dialog is False:
#             # QFileDialog.getOpenFileName returns (path, AllFiles(*))
#             value, _ = \
#                 QFileDialog.getOpenFileName(
#                     self.parent, self.label, self.value)
#
#         else:
#             raise ValueError(
#                 """Unsupported value for 'use_save_dialog' parameter""")
#
#         value = str(value)
#
#         # print(value)
#         if self.use_save_dialog is True:
#             self.su2_config.save_path = value
#             self.su2_gui_home.config_editor.saved_config_path_label = \
#                 self.su2_config.save_path
#
#         if self.use_save_dialog is False:
#             self.su2_config.load_path = value
#             self.su2_gui_home.config_editor.loaded_config_path_label = \
#                 self.su2_config.load_path
#
#     def _unpack_load_path_value(self, temp_path_value):
#         return temp_path_value[0]


if __name__ == '__main__':
    pyforms.start_app(FileOperationsWidget, geometry=(200, 200, 200, 200))
Exemple #17
0
            config.argument_defaults['poc_mode'])):
        if nusc == None:
            nusc = NuScenes(dataroot=args.dataroot, version=args.version)
        table = json.load(
            open(
                osp.join(osp.join(args.dataroot, args.version),
                         config.argument_defaults['filename'])))
        data_list = generate_video_data(table, nusc)
        dataset = Dataset(name="NuScenes",
                          video_path=config.argument_defaults['export_path'],
                          videos=data_list)
        dataset.label_videos(config.argument_defaults['poc_mode'])
        dataset.save_as_json(
            config.argument_defaults['video_data_path'].format(
                config.argument_defaults['poc_mode']))
    else:
        dataset = Dataset(
            "Nuscenes",
            json_path=config.argument_defaults['video_data_path'].format(
                config.argument_defaults['poc_mode']))

    start_app(VideoStatsViewer)
    print("Done")

    # for elt in deneme:
    #     dataset.label_videos(elt)
    #     dataset.save_as_json(config.argument_defaults['video_data_path'].format(elt) + ".json")
    #     print(config.argument_defaults['video_data_path']
    #           .format(elt) + " has {} many interesting cases out of 850"
    #           .format(sum(video.is_interesting for video in dataset.videos)))
Exemple #18
0
import pyforms
from pyforms.basewidget import BaseWidget
from pyforms.controls import ControlText
from pyforms.controls import ControlButton


class HomeExample(BaseWidget):

    def __init__(self):
        super(HomeExample, self).__init__("My Home Window")

        self._firstName = ControlText("First name", "Kevin")
        self._lastName = ControlText("Last name", "Herrarte")
        self._email = ControlText("E-mail", "*****@*****.**")
        self._button = ControlButton("Ok!")

        self.formset = [{
            '1) Personal Information': ['_firstName', '||', '_lastName'],
            '2) Contacts': ['_email']
            },
            '=',
            (' ', '_button', ' ')]


if __name__ == "__main__": pyforms.start_app(HomeExample)
            ' ', (' ', '||', '_email', '||', ' '),
            (' ', '||', '_password', '||', ' '),
            (' ', '||', '_loginButton', '||', ' '), ' '
        ]

    def __loginAction(self):
        try:
            self._user = login(self._connection, self._email.value,
                               self._password.value)  #user also public
        except ValueError as error:
            self._password.value = ''
            err = ErrorWin(error)
            err.show()
            return
        #if self._user['displayname'] = '':
        #dispNameWin =
        if self.parent != None: self.parent.loadUser(self._user)
        if self._user != None:
            self.close()

    def _keyPressEvent(self, event):
        if event.key() == QtCore.Key_Enter:
            self.__loginAction(self)


#class displayNameWidget(BaseWidget):
#def __init__(self, user= None, connection=None):

if __name__ == "__main__":
    pyforms.start_app(loginWidget, geometry=(200, 200, 400, 400))
Exemple #20
0
            if self._notifCache[i]['message']== message:
                key = i
                #print("popedit key found: " + key)
        win = NotificationWidget(self._user, self._connection, timestamp, symbol, index, message, "edit", key)
        win.parent = self
        win.show()


    def __softSelect(self, row, column):
        self._notifList.form.get_value(row, column)

    def __deleteNotif(self):
        row = self._notifList.selected_row_index
        message = self._notifList.get_value(3, row)
        for i in self._notifCache:
            if self._notifCache[i]['message']== message:
                key= i
        try:
            del_notification(self._user, self._connection, key)
            self._notifList.__sub__(row)
        except ValueError as error:
            err= ErrorWin(error)
            err.parent = self
            err.show()
            return



if __name__== "__main__":
    pyforms.start_app(NotificationsWidget, geometry=(400, 400, 600, 600))
Exemple #21
0
        data = self._fileio.ReadFullFile( selection[0] )

        self._FileEditor.value = ''
        if data!=[]:
            self._FileEditor.value = ''.join(data)

        
    def __DAT_selection_changed(self):
        #
        # Activated when user clicks on a dat file
        #
        selection = self._DatPicker.get_currentrow_value()   
        data = self._fileio.ReadFullFile( os.path.join(selection[1],selection[0]) )
        
        includes = self._fileio.FindAllIncludedFiles(selection[0])
        self.__addlog(f'Found {includes} included files')
        
        self._IncludedFilePicker.clear()
        if includes!=[]:
            for include in includes:
                self._IncludedFilePicker += [include[0], include[1]] 
            
        
        
        self._FileEditor.value = ''
        if data!=[]:
            self._FileEditor.value = ''.join(data)

#Execute the application
if __name__ == "__main__":   pyforms.start_app( AlyaGUI ) #, geometry=(100, 100, 2000, 2000) )
		Find all the events available on the timeline
		"""
        timeline = self.parent().timeline
        rows = timeline.rows

        events = {}
        for row in rows:
            for event in row.events:
                events[event.title] = True

        events = sorted(events.keys())

        loaded_events = dict(self._splitevents.items)
        self._splitevents.value = [(e, loaded_events.get(e, False))
                                   for e in events]

    @property
    def project(self):
        return self._project

    @project.setter
    def project(self, value):
        self._project = value
        self._tree.clear()
        self._tree.clone_tree(value.tree, copy_function=self.__copy_tree_node)
        self.__reload_events()


if __name__ == "__main__":
    pyforms.start_app(ExportWindow)
            equation  = equation.replace(graphname, 'graphs[{0}][i]'.format(i) )
        
        graphs = self.graphs
        data   = []
        try:
            for i in range(max_frame):

                try:
                    value = eval(equation)
                except:
                    value = None

                data.append( (i, value) )
            self._timeline.add_chart(self._graphname.value, data)

            self._graphname.value = "generated-graph-{0}".format( len(self._timeline.graphs)) 
        except Exception as e:
            traceback.print_exc()
            QMessageBox.warning( self, "Error!", str(e) )

    
##################################################################################################################
##################################################################################################################
##################################################################################################################

# Execute the application
if __name__ == "__main__":
    import pyforms
    pyforms.start_app(GraphsEventsGenerator, geometry=(0, 0, 600, 400))
Exemple #24
0
        with open('predictor.pickle', 'rb') as f:
            predictor = pickle.load(f)

        encoded = encoder.encode(data)
        encoded = pd.DataFrame(encoded)

        ddata = pd.concat([encoded, other], axis=1)
        res = predictor.predict(ddata)
        return res

    def _fileOpen(self):
        if self._load.value == '':
            pass
        elif self._load.value[-4:] == '.zip':
            data, other = self._extractData()
            res = self._predict(data, other)
            if np.mean(res) > 0.5:
                self._answer.value = 'будет светиться'
            else:
                self._answer.value = 'не будет светиться'

        else:
            pass

        return True


#Execute the application
if __name__ == "__main__":
    pyforms.start_app(FluorescencePredictor)
Exemple #25
0
def start():
    from pyforms import start_app
    start_app(ApplicationDeployer, geometry=(200, 200, 400, 400))
Exemple #26
0
import pyforms
from pyforms import basewidget as bw
from pyforms import controls as ct


class Desk(bw.BaseWidget):
    def __init__(self):
        super(Desk, self).__init__('To-do desk')

        # Definition of the forms fields
        self.nameDo = ct.ControlLabel('To-do')
        self.toAdd = ct.ControlText('Add: ')
        self.add = ct.ControlButton('Add')
        self.delet = ct.ControlButton('Delete')
        self.list = ct.ControlList()


if __name__ == '__main__':
    pyforms.start_app(Desk, geometry=(500, 200, 200, 200))
Exemple #27
0
from su2_config_creator import SU2Config
from srfs_loader_ctrl import SurfLoaderCtrl


class SurfLoader(BaseWidget):
    @property
    def ctrl(self):
        return self._ctrl

    @ctrl.setter
    def ctrl(self, new_val):
        self._ctrl = new_val

    def __init__(self,
                 su2_cfg_obj: SU2Config = SU2Config(),
                 surf_loader_but_label: str = 'Load surfaces from su2 mesh',
                 msh_prsng_params_pth: str = 'su2_msh_parsing_params.yaml'):
        super(SurfLoader, self).__init__('sample')

        self.ctrl = SurfLoaderCtrl(ctrld_w=self,
                                   su2_cfg_obj=su2_cfg_obj,
                                   surf_loader_but_label=surf_loader_but_label,
                                   msh_prsng_params_pth=msh_prsng_params_pth)

        # self._qq = ControlButton('sample')
        self.formset = ['_srf_load_butt']


if __name__ == '__main__':
    pyforms.start_app(SurfLoader)
Exemple #28
0
        self.start_head = ControlButton('Start Head Pose Detection')
        self.start_head.value = self.button_action_3
        
        self.start_driver = ControlButton('Start Driver Monitoring System')
        self.start_driver.value = self.button_action_4


    #on click call drowsiness detection class
    def button_action_1(self):
        drowsy = drowsiness_detection()        


    #on click call talking detection class
    def button_action_2(self):
        talk = talking_detection()

    #on click call head pose detection class
    def button_action_3(self):
        head_pose = head_pose_detection()

    #on click call driver monitoring system class
    def button_action_4(self):
        driver = driver_monitoring_system()
        
    
#Execute the application
if __name__ == "__main__":   
    pyforms.start_app(user_interface, geometry=(500, 215, 320, 215))

Exemple #29
0
        if self._spamreader != None:
            row = self._spamreader.next()
            return [row[int(col)] for col in self._cols]
        else:
            raise StopIteration()

    def __refreshPreview(self):
        if self._filename.value != None and self._filename.value != '':
            with open(self._filename.value, 'U') as csvfile:
                spamreader = csv.reader(csvfile, delimiter=self._separator.value)
                for i in range(int(self._startingrow.value)): next(spamreader, None)  # skip the headers
                self._filePreview.value = []
                self._filePreview.horizontalHeaders = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", ]
                for i, row in enumerate(spamreader):
                    self._filePreview += row
                    if i >= 10:
                        break

    def load(self): 
        self.__refreshPreview()
        self._loadButton.value()

##################################################################################################################
##################################################################################################################
##################################################################################################################

# Execute the application
if __name__ == "__main__":
    import pyforms
    pyforms.start_app(CsvParserDialog, geometry=(0, 0, 600, 400))
Exemple #30
0
        super().__init__('DiceRoller')
        #PYFORMS_STYLESHEET = 'style.css'

        self._resultlabel = ControlLabel('Last 3 Results: ')
        self._resultDisplay0 = ControlLabel()
        self._resultDisplay1 = ControlLabel()
        self._resultDisplay2 = ControlLabel()

        self._1d4img = ControlImage('img\1d4a.jpg')
        self._1d4 = ControlButton('1d4')
        self._1d6 = ControlButton('1d6')
        self._1d8 = ControlButton('1d8')
        self._1d10 = ControlButton('1d10')
        self._1d12 = ControlButton('1d12')
        self._1d20 = ControlButton('1d20')

        #Define the Button Actions

        self._1d4.value = self._1d4Action

        #Define the organization of the Form Controls
        self._formset = [
            '_1d4', '_1d6', '_1d8', '_1d10', '_1d12', '_1d20',
            ('_resultlabel', '_resultDisplay0', '_resultDisplay1',
             '_resultDisplay2')
        ]


if __name__ == '__main__':
    pyforms.start_app(DiceRoller)
Exemple #31
0
from pyforms.controls import ControlButton
from pyforms.controls import ControlTree


class ProjectTree(BaseWidget):


	def __init__(self):
		super(ProjectTree, self).__init__('Project')

		self._addButton 	= ControlButton('Add')
		self._projectTree	= ControlTree('Project tree')

		root = QtGui.QTreeWidgetItem(self._projectTree, ["root"])
		A = QtGui.QTreeWidgetItem(root, ["A"])
		barA = QtGui.QTreeWidgetItem(A, ["bar", "i", "ii"])
		bazA = QtGui.QTreeWidgetItem(A, ["baz", "a", "b"])

		self._projectTree.showHeader = False
		

		self.formset = [ (' ','_addButton'), '_projectTree']

		
##################################################################################################################
##################################################################################################################
##################################################################################################################

#Execute the application
if __name__ == "__main__":	 pyforms.start_app( ProjectTree )
Exemple #32
0
                    "games_to_show", self.games_to_show.value, 1,
                    self.population_size.value, 0) and not self.check_variable(
                        "grid_count", self.grid_count.value, 3, 10000, 0)
                and not self.check_variable("grid_size", self.grid_size.value),
                1, 1000, 0)

    def show_var_error(self, var, min_value, max_value, variable_type):
        self.show_error(var + " must be between " + str(min_value) + " and " +
                        str(max_value))

    def show_error(self, message):
        self.error.value = message

    def isFloat(self, value):
        try:
            float(value)
            return True
        except ValueError:
            return False

    def isInt(self, value):
        try:
            int(value)
            return True
        except ValueError:
            return False


if __name__ == "__main__":
    pyforms.start_app(Main, geometry=(200, 200, 1, 1))
Exemple #33
0
		self._geo_window.video_capture = kwargs.get('video', '') if kwargs.get('video', '') is not None else ''

		try:
			self.layout().setContentsMargins(10, 5, 10, 5)
			self.setMinimumHeight(50)
		except:
			pass

		self._draw_btn = ControlButton('Draw a mask')

		self._draw_btn.value = self.__draw_btn_event

	def __polys_ready(self):
		self._param_polygons_polys  = self._geo_window.polygons
		self._param_polygons_mask   = None
		self._geo_window._player.stop()
		self._geo_window.hide()

	def __draw_btn_event(self):
		self._geo_window.show()

	@property	
	def video(self): return self._geo_window.video_capture
	@video.setter
	def video(self, value): self._geo_window.video_capture = value



if __name__ == '__main__': 
	pyforms.start_app(PolygonsMask)