def search_call(root: tk.Tk, pane: ttk.Panedwindow, selector, option: str,
                search_data, save, create):
    if not glob.is_db_open():
        selector.current(0)
        return
    if not glob.is_saved():
        ans = err.yes_no("Сохранить изменения?")
        if ans:
            save()
    filter_option = ''
    if option == "Без фильтра":
        filter_option = 'all'
    elif option == "По названию":
        filter_option = 'Name'
    elif option == "По типу":
        filter_option = 'Type'
    elif option == "По стране":
        filter_option = 'Country'
    elif option == "По цунами":
        filter_option = 'TSU'
    elif option == "По землетрясению":
        filter_option = 'EQ'
    search_result = hand_base.searching(search_data, filter_option)
    # допилите сообщения)))
    if search_result.empty:
        err.warning('Ничего не найдено', True)
        return
    search_result.reset_index(inplace=True, drop=True)
    create()
    glob.work_list[glob.base_list.get(glob.base_list.size() -
                                      1)] = search_result
    open_base(root, pane, glob.base_list.size() - 1)
def save_event(*args):
    """
    Автор:  
    Цель:
    Вход:
    Выход:
    """
    # открыта ли база?
    if not glob.is_db_open():
        return "break"
    # сохранена ли база?
    if not glob.is_saved():
        glob.unmark_changes()
        glob.work_list[glob.current_base_name] = glob.current_base
        glob.update_list()
        # сохраняем в файл
        hand_base.save_base()
def save_event(*args):
    """
    Автор: Баканов Г. 
    Цель: Сохранение текущей базы в файл
    Вход: Нет
    Выход: Нет (файл)
    """
    # открыта ли база?
    if not glob.is_db_open():
        return "break"
    # сохранена ли база?
    if not glob.is_saved():
        glob.unmark_changes()
        glob.work_list[glob.current_base_name] = glob.current_base
        glob.update_list()
        # сохраняем в файл
        hand_base.save_base()
def close_event(pane: ttk.Panedwindow, save):
    """
        Автор:  
        Цель:   закрывает открытую базу и показывает приглащение к открытию новой на правой стороне pane,
                save вызывается для сохранения базы, по решению пользователя
        Вход: pane - растягивающийся виджет, save - объект функции save_event из main
        Выход: нет
    """

    # открыта ли база?
    if not glob.is_db_open():
        return "break"
    # сохранена ли база?
    if not glob.is_saved():
        ans = err.yes_no("Сохранить изменения?")
        if ans:
            save()
    glob.delete_current_base()
    pane.forget(1)
    pls_select_frame = show_invitation(pane)
    pane.add(pls_select_frame, weight=9)
def search_call(root: tk.Tk, pane: ttk.Panedwindow, selector, option: str,
                search_data, save, create):

    """
    Автор: Подкопаева П.
    Цель: Поиск в базе данных по ключевому слову
    Вход: Ключевое слово типа строка
    Выход: dataframe
    """

    if not glob.is_db_open():
        selector.current(0)
        return
    if not glob.is_saved():
        ans = err.yes_no("Сохранить изменения?")
        if ans:
            save()
    filter_option = ''
    if option == "Без фильтра":
        filter_option = 'all'
    elif option == "По названию":
        filter_option = 'Name'
    elif option == "По типу":
        filter_option = 'Type'
    elif option == "По стране":
        filter_option = 'Country'
    elif option == "По цунами":
        filter_option = 'TSU'
    elif option == "По землетрясению":
        filter_option = 'EQ'
    search_result = hand_base.searching(search_data, filter_option)
    if search_result.empty:
        err.warning('Ничего не найдено', True)
        return
    search_result.reset_index(inplace=True, drop=True)
    create()
    glob.work_list[glob.base_list.get(glob.base_list.size() - 1)] = search_result
    open_base(root, pane, glob.base_list.size() - 1)
    glob.mark_changes()
    save()
def show_form(root, pane, selector, form: str, save):
    """
            Автор:  
            Цель:
            Вход:
            Выход:  нет
    """
    if not glob.is_db_open():
        selector.current(0)
        return
    if not glob.is_saved():
        ans = err.yes_no("Сохранить изменения?")
        if ans:
            save()
    if form == "Общий вид":
        glob.columns = constants.origin_columns
    elif form == "Вид первый":
        glob.columns = constants.first_form
    elif form == "Вид второй":
        glob.columns = constants.second_form
    elif form == "Вид третий":
        glob.columns = constants.third_form

    open_base(root, pane, glob.current_base_list_id)