Metadata-Version: 2.4
Name: ctksnippets
Version: 0.2.0
Summary: Шпаргалка-сниппеты для разработчика на CustomTkinter
Author-email: Your Name <your@email.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/yourname/ctksnippets
Project-URL: Issues, https://github.com/yourname/ctksnippets/issues
Keywords: customtkinter,ctk,snippets,gui,tkinter,cheatsheet
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: customtkinter>=5.2.0
Requires-Dist: Pillow>=9.0.0

# ctksnippets

**Шпаргалка-сниппеты для разработчика на CustomTkinter.**

Вместо того чтобы гуглить «как сделать X в CTk», просто импортируйте нужный модуль
и нажмите `Ctrl+Click` (или `F12`) на функции — откроется готовый, рабочий код,
который можно скопировать прямо в ваш проект.

---

## Установка

### Из локальной папки (рекомендуется для разработки)

```bash
pip install .
```

### В режиме редактирования (изменения сразу видны без переустановки)

```bash
pip install -e .
```

---

## Использование

### Вариант 1 — импорт всего пакета

```python
import ctksnippets
```

Напишите `ctksnippets.` и IDE покажет все модули. Нажмите `Ctrl+Click`
на любой функции — откроется исходник с готовым сниппетом.

### Вариант 2 — импорт конкретного модуля

```python
from ctksnippets import auth
```

Затем `Ctrl+Click` на `auth` → появятся все функции модуля.
`Ctrl+Click` на нужной функции — и вы увидите сниппет прямо в docstring.

### Вариант 3 — импорт конкретной функции

```python
from ctksnippets.auth import login_form
```

`Ctrl+Click` на `login_form` → откроется готовый сниппет формы входа.

---

## Модули и их содержимое

| Модуль | Что внутри |
|---|---|
| `app_setup` | Окно CTk, класс App, mainloop, тема, масштаб, иконка, F11 |
| `auth` | Форма входа/регистрации, показать/скрыть пароль, валидация |
| `database` | SQLite3: подключение, CREATE, INSERT, SELECT, UPDATE, DELETE, менеджер |
| `frames` | Навигация между фреймами, боковая панель, TabView, ScrollableFrame |
| `table_view` | Таблица из SQLite, пагинация, сортировка по столбцу |
| `images` | Pillow + CTkImage, ресайз, плейсхолдер, кнопка с иконкой, галерея, GIF |

---

## Как работает Ctrl+Click

### PyCharm

1. Убедитесь, что `ctksnippets` установлен: `pip install .`
2. Напишите `from ctksnippets import auth`
3. Зажмите `Ctrl` и кликните мышью на `auth` или на любую функцию — откроется
   файл модуля с docstring-сниппетами.
4. Альтернатива: поставьте курсор на имя и нажмите `Ctrl+B`.

### VS Code

1. Убедитесь, что выбран правильный интерпретатор Python (`Ctrl+Shift+P` →
   *Python: Select Interpreter*) — тот, в который установлен пакет.
2. Установите расширение **Pylance** (входит в Python extension).
3. Напишите `from ctksnippets.auth import login_form` и зажмите `Ctrl`,
   затем кликните на `login_form` — откроется исходник.
4. Альтернатива: `F12` или `Ctrl+F12` для просмотра определения.

> **Совет:** сниппеты в docstring начинаются с маркера
> `# ── SNIPPET: <name> ──────────────────` — ищите его взглядом сразу.

---

## Зависимости

- [customtkinter](https://github.com/TomSchimansky/CustomTkinter) `>=5.2.0`
- [Pillow](https://python-pillow.org/) `>=9.0.0`

---

## Структура пакета

```
ctksnippets/
├── __init__.py       # экспортирует все модули, __version__ = "0.1.0"
├── app_setup.py      # настройка окна и приложения
├── auth.py           # формы входа и регистрации
├── database.py       # работа с SQLite3
├── frames.py         # навигация и боковая панель
├── table_view.py     # таблицы и пагинация
└── images.py         # изображения через Pillow
```

---

## Лицензия

MIT
