#!/usr/bin/env python3
import gi
gi.require_version("Gtk", "4.0")
from gi.repository import Gtk, Gio

class TravelApp(Gtk.Application):

    def __init__(self):
        super().__init__(application_id="TravelApp")
        self.connect("activate", self.on_activate)

    def on_activate(self, app):
        window = Gtk.ApplicationWindow(application=app)
        window.set_title("Путеводитель по городам России")
        window.set_default_size(800, 600)
        
        main_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6)
        window.set_child(main_box)

        header = Gtk.Label(label="Выберите город для просмотра информации")
        header.set_margin_top(10)
        header.set_margin_bottom(10)
        main_box.append(header)

        separator = Gtk.Separator(orientation=Gtk.Orientation.HORIZONTAL)
        main_box.append(separator)

        content_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=6)
        main_box.append(content_box)

        self.city_list = Gtk.ListBox()
        self.city_list.connect("row-selected", self.on_city_selected)
        content_box.append(self.city_list)

        self.city_info = Gtk.Label()
        self.city_info.set_wrap(True)
        content_box.append(self.city_info)

        self.populate_city_list()

        window.present()

    def populate_city_list(self):
        cities = ["Москва", "Санкт-Петербург", "Казань", "Новосибирск", "Екатеринбург", "Волгоград"]
        for city in cities:
            row = Gtk.ListBoxRow()
            label = Gtk.Label(label=city)
            row.set_child(label)
            self.city_list.append(row)

    def on_city_selected(self, listbox, row):
        if row:
            city = row.get_child().get_text()
            info = self.get_city_info(city)
            self.city_info.set_text(info)
        else:
            self.city_info.set_text("")

    def get_city_info(self, city):
        city_info = {
            "Москва": (
                "Москва, столица России, – это мегаполис, сочетающий богатую историю и современную культуру. "
                "Город предлагает множество интересных мест, которые стоит посетить.\n\n"
                "Основные достопримечательности:\n"
                "Красная площадь – сердце Москвы, где расположены знаменитый Кремль, Собор Василия Блаженного и Государственный исторический музей.\n"
                "Московский Кремль – исторический комплекс, включающий музеи, соборы и резиденцию президента России.\n"
                "Третьяковская галерея – крупнейшее собрание русской изобразительной искусства.\n"
                "Большой театр – один из самых известных театров в мире, где можно насладиться оперой и балетом.\n"
                "Парк Горького – современное пространство для отдыха с многочисленными кафе, аттракционами и зоной для пикников.\n"
                "ВДНХ – огромный выставочный комплекс с павильонами, фонтанами и музеями.\n"
                "Музей космонавтики – посвящен истории освоения космоса.\n\n"
                "Сувениры:\n"
                "Матрешки – традиционные русские куклы-вложенки.\n"
                "Шапка-ушанка – теплая зимняя шапка.\n"
                "Самовары – традиционные русские чайники.\n"
                "Русские платки – красивые шерстяные или шелковые платки с яркими узорами.\n"
                "Хохлома – деревянная посуда с яркой росписью.\n\n"
                "Интересные места по пути в Москву:\n"
                "Сергиев Посад – город с уникальным Троице-Сергиевым монастырем, который является духовным центром Русской православной церкви.\n"
                "Владимир – старинный город с Золотыми воротами и Успенским собором.\n"
                "Суздаль – музей-заповедник под открытым небом с множеством исторических зданий и монастырей.\n"
                "Тула – известна своими пряниками и музеем самоваров.\n\n"
                "Средние цены на пребывание:\n"
                "Проживание: от 3000 до 8000 рублей за ночь в гостинице среднего класса.\n"
                "Питание: в среднем 1000-2000 рублей в день на человека.\n"
                "Транспорт: проезд на метро стоит около 60 рублей за поездку, такси – от 200 рублей за поездку по городу.\n"
                "Таким образом, на 3 дня пребывания в Москве можно рассчитывать на бюджет от 15,000 до 30,000 рублей, в зависимости от уровня комфорта и предпочтений."
            ),
            "Санкт-Петербург": (
                "Санкт-Петербург, культурная столица России, славится своими великолепными дворцами, музеями и театрами. "
                "Город предлагает множество интересных мест, которые стоит посетить.\n\n"
                "Основные достопримечательности:\n"
                "Эрмитаж – один из крупнейших и старейших музеев в мире.\n"
                "Петропавловская крепость – историческое ядро города.\n"
                "Нева – главная река города, набережные которой украшают гранитные парапеты и великолепные мосты.\n"
                "Мариинский театр – один из ведущих оперных и балетных театров в мире.\n"
                "Летний сад – один из старейших парков города.\n\n"
                "Сувениры:\n"
                "Фарфор – изысканные изделия из фарфора от Императорского фарфорового завода.\n"
                "Амбер – украшения и сувениры из янтаря.\n"
                "Русские платки – красивые шерстяные или шелковые платки с яркими узорами.\n"
                "Каслинское литье – художественные изделия из чугуна.\n\n"
                "Интересные места по пути в Санкт-Петербург:\n"
                "Петрозаводск – столица Республики Карелия, известен своими парками и музеями.\n"
                "Великий Новгород – один из древнейших городов России, с множеством памятников архитектуры.\n"
                "Псков – древний город с крепостью и множеством церквей.\n\n"
                "Средние цены на пребывание:\n"
                "Проживание: от 3000 до 8000 рублей за ночь в гостинице среднего класса.\n"
                "Питание: в среднем 1000-2000 рублей в день на человека.\n"
                "Транспорт: проезд на метро стоит около 60 рублей за поездку, такси – от 200 рублей за поездку по городу.\n"
                "Таким образом, на 3 дня пребывания в Санкт-Петербурге можно рассчитывать на бюджет от 15,000 до 30,000 рублей, в зависимости от уровня комфорта и предпочтений."
            ),
            "Казань": (
                "Казань, столица Татарстана, – город с богатым культурным наследием и уникальной архитектурой. "
                "Город предлагает множество интересных мест, которые стоит посетить.\n\n"
                "Основные достопримечательности:\n"
                "Казанский Кремль – ансамбль исторических зданий, включающий мечеть Кул-Шариф и Благовещенский собор.\n"
                "Улица Баумана – главная пешеходная улица города, полная кафе и магазинов.\n"
                "Храм всех религий – уникальное архитектурное сооружение, символизирующее единство всех религий.\n"
                "Кул-Шариф – одна из крупнейших мечетей в Европе.\n"
                "Парк Тысячелетия – популярное место для прогулок и отдыха.\n\n"
                "Сувениры:\n"
                "Татарские сладости – чак-чак и баурсак.\n"
                "Татарские платки – красивые шерстяные или шелковые платки  с яркими узорами.\n"
                "Татарская национальная одежда – традиционные наряды и аксессуары.\n\n"
                "Интересные места по пути в Казань:\n"
                "Чебоксары – столица Чувашии, известна своими музеями и парками.\n"
                "Йошкар-Ола – столица Марий Эл, с интересными архитектурными ансамблями.\n"
                "Нижний Новгород – крупный город с богатой историей и множеством достопримечательностей.\n\n"
                "Средние цены на пребывание:\n"
                "Проживание: от 2000 до 7000 рублей за ночь в гостинице среднего класса.\n"
                "Питание: в среднем 800-1500 рублей в день на человека.\n"
                "Транспорт: проезд на метро стоит около 35 рублей за поездку, такси – от 150 рублей за поездку по городу.\n"
                "Таким образом, на 3 дня пребывания в Казани можно рассчитывать на бюджет от 10,000 до 25,000 рублей, в зависимости от уровня комфорта и предпочтений."
            ),
            "Новосибирск": (
                "Новосибирск, третий по населению город России, является важным культурным и научным центром. "
                "Город предлагает множество интересных мест, которые стоит посетить.\n\n"
                "Основные достопримечательности:\n"
                "Новосибирский государственный академический театр оперы и балета – крупнейший театр в России.\n"
                "Площадь Ленина – центральная площадь города с многочисленными памятниками.\n"
                "Зоопарк Новосибирска – один из крупнейших зоопарков в России.\n"
                "Музей железнодорожной техники – уникальная коллекция старинных поездов и локомотивов.\n"
                "Академгородок – научный центр с множеством институтов и музеев.\n\n"
                "Сувениры:\n"
                "Сибирские меха – изделия из натурального меха.\n"
                "Кедровые орехи – популярное лакомство из Сибири.\n"
                "Матрешки – традиционные русские куклы-вложенки.\n\n"
                "Интересные места по пути в Новосибирск:\n"
                "Томск – один из старейших сибирских городов с богатой историей и деревянной архитектурой.\n"
                "Барнаул – столица Алтайского края, известен своими музеями и парками.\n"
                "Кемерово – центр угольной промышленности с интересными музеями и парками.\n\n"
                "Средние цены на пребывание:\n"
                "Проживание: от 1500 до 6000 рублей за ночь в гостинице среднего класса.\n"
                "Питание: в среднем 700-1300 рублей в день на человека.\n"
                "Транспорт: проезд на метро стоит около 30 рублей за поездку, такси – от 100 рублей за поездку по городу.\n"
                "Таким образом, на 3 дня пребывания в Новосибирске можно рассчитывать на бюджет от 8,000 до 20,000 рублей, в зависимости от уровня комфорта и предпочтений."
            ),
            "Екатеринбург": (
                "Екатеринбург, административный центр Свердловской области, является важным культурным и промышленным центром. "
                "Город предлагает множество интересных мест, которые стоит посетить.\n\n"
                "Основные достопримечательности:\n"
                "Храм-на-Крови – один из главных православных храмов города.\n"
                "Плотинка – исторический центр города с набережной и парком.\n"
                "Ельцин Центр – музей и общественный центр, посвященный первому президенту России Борису Ельцину.\n"
                "Усадьба Расторгуева-Харитонова – архитектурный памятник 18 века.\n"
                "Музей изобразительных искусств – богатая коллекция русской и зарубежной живописи.\n\n"
                "Сувениры:\n"
                "Малахит – изделия из уральского камня.\n"
                "Павлопосадские платки – красивые шерстяные платки с яркими узорами.\n"
                "Русские валенки – традиционная зимняя обувь.\n\n"
                "Интересные места по пути в Екатеринбург:\n"
                "Челябинск – крупный промышленный центр с интересными музеями и парками.\n"
                "Тюмень – один из старейших сибирских городов с историческим центром.\n"
                "Пермь – культурная столица Прикамья с множеством театров и музеев.\n\n"
                "Средние цены на пребывание:\n"
                "Проживание: от 2000 до 7000 рублей за ночь в гостинице среднего класса.\n"
                "Питание: в среднем 800-1500 рублей в день на человека.\n"
                "Транспорт: проезд на метро стоит около 32 рублей за поездку, такси – от 150 рублей за поездку по городу.\n"
                "Таким образом, на 3 дня пребывания в Екатеринбурге можно рассчитывать на бюджет от 10,000 до 25,000 рублей, в зависимости от уровня комфорта и предпочтений."
            ),
            "Волгоград": (
                "Волгоград, ранее известный как Сталинград, является городом с богатой историей и множеством памятников, посвященных Великой Отечественной войне. "
                "Это важный культурный и исторический центр на юге России.\n\n"
                "Основные достопримечательности:\n"
                "Мамаев Курган – мемориальный комплекс с величественной скульптурой 'Родина-мать зовет!'. "
                "Это одно из самых известных мест, посвященных Сталинградской битве.\n"
                "Панорама 'Сталинградская битва' – музей, где можно увидеть панорамную картину и экспозиции, связанные с битвой.\n"
                "Аллея Героев – улица, ведущая к Волге, украшенная бюстами героев Сталинградской битвы.\n"
                "Центральная набережная – прекрасное место для прогулок вдоль реки Волги с красивыми видами и памятниками.\n"
                "Площадь Павших Борцов – центральная площадь города, где находятся Вечный огонь и мемориалы.\n"
                "Музей-заповедник 'Старая Сарепта' – историко-архитектурный комплекс, рассказывающий о жизни немецких колонистов XVIII века.\n\n"
                "Сувениры:\n"
                "Модели памятников – миниатюры знаменитых скульптур и мемориалов.\n"
                "Медали и значки – реплики военных наград и символики.\n"
                "Керамические изделия – посуда и сувениры с местной росписью.\n"
                "Местные продукты – варенье, мед и другие кулинарные изделия.\n"
                "Книги и альбомы – издания о Сталинградской битве и истории города.\n\n"
                "Интересные места по пути в Волгоград:\n"
                "Саратов – город на Волге с красивой набережной и парком 'Липки'.\n"
                "Элиста – столица Калмыкии, известная своим буддийским храмом 'Золотая обитель Будды Шакьямуни'.\n"
                "Астрахань – город с богатой историей, знаменитыми рыболовными угодьями и Астраханским кремлем.\n\n"
                "Средние цены на пребывание:\n"
                "Проживание: от 2000 до 5000 рублей за ночь в гостинице среднего класса.\n"
                "Питание: в среднем 800-1500 рублей в день на человека.\n"
                "Транспорт: проезд на общественном транспорте стоит около 30 рублей за поездку, такси – от 150 рублей за поездку по городу.\n"
                "Таким образом, на 3 дня пребывания в Волгограде можно рассчитывать на бюджет от 10,000 до 20,000 рублей, в зависимости от уровня комфорта и предпочтений."
            )
        }
        return city_info.get(city, "Информация отсутствует")

app = TravelApp()
app.run()
