# Path: boris/dialog.py
# def MessageDialog(title, text, buttons):
# def error_message_box(task, error_type, error_file_name,
#                       error_lineno):  # do NOT use this function directly, use error_message function
# def error_message(task: str, exc_info: tuple) -> None:
#     def __init__(self, parent=None):
#     def __init__(self):
#     def browse(self):
#     def ok(self):
#     def __init__(self, label_caption, elements_list):
#     def __init__(self, text, codes_list):
#     def getCode(self):
#     def pbOK_clicked(self):
#     def __init__(self, text, observations_list):
#     def get_selected_observations(self):
#     def __init__(self, time_format):
#     def __init__(self):
#     def rb_changed(self):
#     def pbOK_clicked(self):
#     def pbCancel_clicked(self):
#     def __init__(self):
#     def click(self, msg):
#     def __init__(self):
#     def click(self, msg):
#     def __init__(self):
#     def __init__(self):
#     def save_results(self):
#     def __init__(self):
#     def save_results(self):
#     def __init__(self):
#     def __init__(self):
#     def tw_cellDoubleClicked(self, r, c):
# def choose_obs_subj_behav_category(pj: dict,
#                                    selected_observations: list,
#                                    maxTime=0,
#                                    flagShowIncludeModifiers: bool = True,
#                                    flagShowExcludeBehaviorsWoEvents: bool = True,
#                                    by_category: bool = False,
#                                    show_time: bool = False,
#                                    timeFormat: str = HHMMSS):
# class Info_widget(QWidget):
# class Video_overlay_dialog(QDialog):
# class Input_dialog(QDialog):
# class DuplicateBehaviorCode(QDialog):
# class ChooseObservationsToImport(QDialog):
# class Ask_time(QDialog):
# class EditSelectedEvents(QDialog):
# class FindInEvents(QWidget):
# class FindReplaceEvents(QWidget):
# class explore_project_dialog(QDialog):
# class Results_dialog(QDialog):
# class ResultsWidget(QWidget):
# class View_data_head(QDialog):
# class View_explore_project_results(QWidget):


from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from decimal import getcontext
from boris.config import *
from boris import dialog
import decimal
import json
import binascii
import os
            import io
    import sys
                ellipse = QGraphicsEllipseItem(self.view._start.x(), self.view._start.y(), 3, 3)
                ellipse.setPen(QPen(designColor, 1, Qt.SolidLine, Qt.RoundCap, Qt.RoundJoin))

                brush = QBrush()
                brush.setStyle(Qt.SolidPattern)
                brush.setColor(designColor)
                ellipse.setBrush(brush)

                self.view.scene().addItem(ellipse)
                self.view.elList.append(ellipse)

                self.view.points.append((self.view._start.x(), self.view._start.y()))

    def mapName_clicked(self):
        """
        change map name
        """
        text, ok = QInputDialog.getText(self, "Modifiers map name", "Enter a name for the modifiers map",
                                        QLineEdit.Normal, self.mapName)
        if ok:
            self.mapName = text
            self.setWindowTitle("{} - Modifiers map creator tool - {}".format(programName, self.mapName))

    def newMap(self):
        """
        create a new map
        """

        if self.flagMapChanged:


# Path: boris/dialog.py
# def MessageDialog(title, text, buttons):
# def error_message_box(task, error_type, error_file_name,
#                       error_lineno):  # do NOT use this function directly, use error_message function
# def error_message(task: str, exc_info: tuple) -> None:
#     def __init__(self, parent=None):
#     def __init__(self):
#     def browse(self):
#     def ok(self):
#     def __init__(self, label_caption, elements_list):
#     def __init__(self, text, codes_list):
#     def getCode(self):
#     def pbOK_clicked(self):
#     def __init__(self, text, observations_list):
#     def get_selected_observations(self):
#     def __init__(self, time_format):
#     def __init__(self):
#     def rb_changed(self):
#     def pbOK_clicked(self):
#     def pbCancel_clicked(self):
#     def __init__(self):
#     def click(self, msg):
#     def __init__(self):
#     def click(self, msg):
#     def __init__(self):
#     def __init__(self):
#     def save_results(self):
#     def __init__(self):
#     def save_results(self):
#     def __init__(self):
#     def __init__(self):
#     def tw_cellDoubleClicked(self, r, c):
# def choose_obs_subj_behav_category(pj: dict,
#                                    selected_observations: list,
#                                    maxTime=0,
#                                    flagShowIncludeModifiers: bool = True,
#                                    flagShowExcludeBehaviorsWoEvents: bool = True,
#                                    by_category: bool = False,
#                                    show_time: bool = False,
#                                    timeFormat: str = HHMMSS):
# class Info_widget(QWidget):
# class Video_overlay_dialog(QDialog):
# class Input_dialog(QDialog):
# class DuplicateBehaviorCode(QDialog):
# class ChooseObservationsToImport(QDialog):
# class Ask_time(QDialog):
# class EditSelectedEvents(QDialog):
# class FindInEvents(QWidget):
# class FindReplaceEvents(QWidget):
# class explore_project_dialog(QDialog):
# class Results_dialog(QDialog):
# class ResultsWidget(QWidget):
# class View_data_head(QDialog):
# class View_explore_project_results(QWidget):


# Path: boris/map_creator.py
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from decimal import getcontext
from boris.config import *
from boris import dialog
import decimal
import json
import binascii
import os
            import io
    import sys

                ellipse = QGraphicsEllipseItem(self.view._start.x(), self.view._start.y(), 3, 3)
                ellipse.setPen(QPen(designColor, 1, Qt.SolidLine, Qt.RoundCap, Qt.RoundJoin))

                brush = QBrush()
                brush.setStyle(Qt.SolidPattern)
                brush.setColor(designColor)
                ellipse.setBrush(brush)

                self.view.scene().addItem(ellipse)
                self.view.elList.append(ellipse)

                self.view.points.append((self.view._start.x(), self.view._start.y()))

    def mapName_clicked(self):
        """
        change map name
        """
        text, ok = QInputDialog.getText(self, "Modifiers map name", "Enter a name for the modifiers map",
                                        QLineEdit.Normal, self.mapName)
        if ok:
            self.mapName = text
            self.setWindowTitle("{} - Modifiers map creator tool - {}".format(programName, self.mapName))

    def newMap(self):
        """
        create a new map
        """

        if self.flagMapChanged:


            response = dialog.MessageDialog(programName + ' - Modifiers map creator',