# -*- coding: utf-8 -*-
# gui/components/__init__.py

"""Компоненты пользовательского интерфейса."""

from .button import Button
from .dialog import Dialog
from .label import Label
from .text_input import TextInput
from .coordinate_input import CoordinateInput
from .combo_box import ComboBox
from .double_spin_box import DoubleSpinBox
from .radio_button import RadioButton
from .radio_group import RadioGroup
from .toggle_button import ToggleButton
from .tab_button import TabButton
from .tab_widget import TabWidget
from .topology_tree_widget import TopologyTreeWidget
from .model_view_widget import ModelViewWidget
from .part_visualizer import PartVisualizer
from .photo_view_widget import PhotoViewWidget
from .springs import VSpring, HSpring
from .group_box import GroupBox
from .color_swatch import ColorSwatch
from .color_palette import ColorPalette
from .kanban_board import KanbanBoard, KanbanColumn, KanbanCard

__all__ = [
    'Button',
    'Dialog',
    'Label',
    'TextInput',
    'CoordinateInput',
    'ComboBox',
    'DoubleSpinBox',
    'RadioButton',
    'RadioGroup',
    'ToggleButton',
    'TabButton',
    'TabWidget',
    'TopologyTreeWidget',
    'ModelViewWidget',
    'PartVisualizer',
    'PhotoViewWidget',
    'VSpring',
    'HSpring',
    'GroupBox',
    'ColorSwatch',
    'ColorPalette',
    'KanbanBoard',
    'KanbanColumn',
    'KanbanCard',
]


# ---------------------------------------------------------------------------
# Module workflow notes
# ---------------------------------------------------------------------------
#
# 1) Назначение модуля:
#    Пакетный __init__: реэкспорт всех публичных UI-компонентов проекта
#    из единой точки входа gui.components.
#
# 2) Зависимости модуля:
#    Импортирует все компоненты: Button, Label, TextInput, CoordinateInput,
#    ComboBox, DoubleSpinBox, RadioButton, RadioGroup, ToggleButton,
#    TabButton, TabWidget, TopologyTreeWidget, ModelViewWidget,
#    PartVisualizer, PhotoViewWidget, VSpring, HSpring, GroupBox,
#    ColorSwatch, ColorPalette.
#
# 3) Экспорт:
#    __all__ — список из 20 публичных символов.
#    Потребители импортируют: from gui.components import Button, Label, ...
