База - конструктор
Нужно написать ПО, которое может работать в двух режимах: "база" и "конструктор" по типу окон.
Целостность программы видится как окно, разделённое вертикально на 1\3 и 2\3.
1\3 - Левая часть дерево каталога. 2\3 - правая часть под-категории, описание.
В режиме конструктора можно:
1. Добавлять новые разделы, категории
2. Добавлять описание !с рисунком! (в описании рисунок сжимается в масштабе для нормальной читабельности, но при нажатии на него он развёртывается возможно отдельным окном в полный размер)
3. Поля для описания текстом и фотографии создаются вручную как в "paint". Типа: щёлкаешь мышкой по пустому месту, ведёшь курсор в сторону - создаётся прямоугольное поле - которое потом можно перетаскивать и менять размер.
4. Добавлять \ изменять столбцы. При изменении столбца, добавлении к каждому пункту каталога добавляется соответственно такой же параметр.
5. Внутри созданного поля можно создавать ещё поля. (Которые (как и картинки) при нажатии должны развёртываться и свёртываться при повторном нажатии.)
6. Каждому полю можно назначать условия. (К примеру на одну категорию 6 полей описания, 2 из которых внутри первых, 5 текст и 1 рисунок. В режиме "база" мы можем нажать "сформировать презентацию", "отправить клиенту", "прайс". При нажатии "прайс" формируется страница с двумя полями текста и маленькое фото, "отправить клиенту" - поле описания и 3 других поля текста. и т.п.)
В режиме "База" всё работает как в обычном окне Windows.
По Каждому из столбцов можно проводить выборку \ поиск. (например 5 столбцов, поиск нужно произвести по двум, пишем рядом с каждым из них критерий и происходит выборка. Если нажимаем галочку "во всём каталоге" - поиск идёт по всему каталогу, а не только раскрытой области. Так же можно искать словами по описанию)
Для создания "сформировать презентацию", "отправить клиенту", "прайс" можно "галочкой" выбрать любое количество пунктов каталога. Эти варианты можно сохранять и редактировать, а когда всё будет готово формировать в документ word и отправлять \ распечатывать.
Переход между редактором и базой сделать нужно простым, чтобы без труда тут же редактировать информацию.