OberonCore
https://forum.oberoncore.ru/

Проект - Таблицы
https://forum.oberoncore.ru/viewtopic.php?f=47&t=653
Страница 1 из 2

Автор:  Илья Ермаков [ Понедельник, 17 Сентябрь, 2007 15:03 ]
Заголовок сообщения:  Проект - Таблицы

Краткое описание: разработка отображения-контейнера, позволяющего форматировать документы BlackBox (подобно таблицам Word/HTML и т.п.) Таблицы должны поддерживать произвольное разбиение на ячейки (видимыми заданной толщины либо невидимыми линиями - по выбору пользователя). В каждую ячейку пользователь может вставить какое-либо отображение (например, текстовое).

Тут требуется принять решение в основном относительно интерфейса - как именно и какие параметры пользователь должен настраивать. После того, как это будет продумано, можно приступить к разработке - и объяснениям, как именно це реализовать :-)

Автор:  Борис Рюмшин [ Понедельник, 17 Сентябрь, 2007 15:11 ]
Заголовок сообщения:  Re: Проект - Таблицы

Илья Ермаков писал(а):
Тут требуется принять решение в основном относительно интерфейса - как именно и какие параметры пользователь должен настраивать. После того, как это будет продумано, можно приступить к разработке - и объяснениям, как именно це реализовать :-)

В частности, нужно указание толщины линий - вплоть до нулевой. Также неплохо бы иметь возможность использовать стили граничных линий (двойная, пунктирная).

Автор:  Вячеслав Бойко [ Вторник, 18 Сентябрь, 2007 14:43 ]
Заголовок сообщения:  Re: Проект - Таблицы

Если я правильно понимаю, задача сейчас в следующем: как красиво разлиновать в клеточку документ ВВ (толщина линий, размер ячеек, цвет фона и пр.), т.к. ячейка таблицы = произвольному отображению и, стало быть, напрягаться над поведением ячейки не стоит?

Автор:  Илья Ермаков [ Вторник, 18 Сентябрь, 2007 16:43 ]
Заголовок сообщения:  Re: Проект - Таблицы

Нет, документ Вы просто так не разлинуете :-) В ББ есть прямоугольные отображения - и ничего кроме них. Рисовать "просто так" нельзя.

Поэтому задача - написать отображение-контейнер, которое "линует" своё пространство, позволяет пользователю настраивать всё, что требуется (что - подумаем!), перетаскивать мышкой размеры линий и т.п. А вот в ячейки, образованные этими линиями, таблица позволяет внедрять любые отображения. Внедрим TextView - получим самые обычные таблицы аля Ворд. Внедрим что-то ещё... это уж как потребуется - можно картинку, например. Что угодно. Этого уже самой таблице знать не надо.

Автор:  Trurl [ Вторник, 18 Сентябрь, 2007 17:09 ]
Заголовок сообщения:  Re: Проект - Таблицы

Илья Ермаков писал(а):
Внедрим TextView - получим самые обычные таблицы аля Ворд.

Аляворд нипалучицца. Работать с такими таблицами будет неудобно.

Автор:  Илья Ермаков [ Вторник, 18 Сентябрь, 2007 22:11 ]
Заголовок сообщения:  Re: Проект - Таблицы

Пхачэму? Если есть другие предложения - давайте обсуждать. Может, я чего-то не учитываю в своём воображении? :-)

Автор:  Иван Горячев [ Среда, 19 Сентябрь, 2007 01:40 ]
Заголовок сообщения:  Re: Проект - Таблицы

Илья Ермаков писал(а):
Пхачэму? Если есть другие предложения - давайте обсуждать. Может, я чего-то не учитываю в своём воображении? :-)

Если "аля ворд" - то курсор должен свободно перемещаться между ячейками. А внедрение простых TextViews такого не позволяет.

Автор:  Илья Ермаков [ Среда, 19 Сентябрь, 2007 01:57 ]
Заголовок сообщения:  Re: Проект - Таблицы

Можно ввести для этого особые сочетания клавиш. Таблица будет являться контейнером для TextView-s, поэтому все сообщения пройдут через неё. Можно сделать прыгание по ячейкам на Ctrl-Left, Ctrl-Right, например...

Автор:  Иван Горячев [ Среда, 19 Сентябрь, 2007 02:55 ]
Заголовок сообщения:  Re: Проект - Таблицы

Илья Ермаков писал(а):
Можно сделать прыгание по ячейкам на Ctrl-Left, Ctrl-Right, например...

Некузяво. Получаем ту самую "модальность". А я хочу весь документ пролистать с помощью клавиши PgDn, не обращая внимания на то, текст это или трёхстраничная таблица.

Да, ещё момент - в ворде ячейки дружно увеличиваются по мере ввода текста. А внедрённые TextViews - не менее дружно прокручиваются.

Автор:  Trurl [ Среда, 19 Сентябрь, 2007 08:04 ]
Заголовок сообщения:  Re: Проект - Таблицы

А поиск как делать?

Автор:  Иван Горячев [ Среда, 19 Сентябрь, 2007 08:13 ]
Заголовок сообщения:  Re: Проект - Таблицы

Trurl писал(а):
А поиск как делать?

Вот это то как раз просто - научить процедуру поиска работе со вложенными в таблицы текстовыми отображениями. Всего то в одном модуле TextCmds покопаться.

Автор:  Борис Рюмшин [ Среда, 19 Сентябрь, 2007 09:26 ]
Заголовок сообщения:  Re: Проект - Таблицы

Зачем делать контейнер с текстовыми отображениями?

Достаточно сделать новый вид текстового отображения со свойствами таблицы. В такое текстовое отображение можно втыкать и другие отображения, и само оно может втыкаться куды угодно.

Автор:  Иван Горячев [ Среда, 19 Сентябрь, 2007 09:56 ]
Заголовок сообщения:  Re: Проект - Таблицы

Я вижу проблему в том, что части составных документов ББ достаточно изолированы, и переключение между ними сильно "мышеориентированно". А документ ворда в плане взаимодействия с пользователем - однороден, вне зависимости от количества встроенных таблиц.

Автор:  Илья Ермаков [ Среда, 19 Сентябрь, 2007 12:43 ]
Заголовок сообщения:  Re: Проект - Таблицы

Так или иначе, хочется иметь средство оформления документа таблицей. Каков там будет ввод - вопрос второй, можно думать...

Автор:  Trurl [ Среда, 19 Сентябрь, 2007 13:34 ]
Заголовок сообщения:  Re: Проект - Таблицы

Иван Горячев писал(а):
Вот это то как раз просто - научить процедуру поиска работе со вложенными в таблицы текстовыми отображениями. Всего то в одном модуле TextCmds покопаться.

Не так все просто. Вот покопались мы, вшили таблицы в TextCmds... А потом у кого-то поиск не работает, потому что модуля TableViews нету. :-(

Автор:  Иван Горячев [ Среда, 19 Сентябрь, 2007 13:44 ]
Заголовок сообщения:  Re: Проект - Таблицы

А откуда это у него поправленный TextCmds есть, а TableViews нету?

Автор:  Илья Ермаков [ Среда, 19 Сентябрь, 2007 15:59 ]
Заголовок сообщения:  Re: Проект - Таблицы

Хорошо, а если пока переформулируем задачу - не "как в Ворде", а таблицы для позиционирования элементов документа. Когда нужно средство, чтобы удобно выстроить шапку бланка и т.п., то поиск и быстрое перемещение уходит на второй план...
В использовании единой идеологии вкладываемых блоков вместо начинения "побочными эффектами" основного текста тоже есть резон - это ближе к тому, как это делается в системах вёрстки, в том же Латехе, к примеру.

Автор:  Борис Рюмшин [ Среда, 19 Сентябрь, 2007 17:10 ]
Заголовок сообщения:  Re: Проект - Таблицы

Илья Ермаков писал(а):
Хорошо, а если пока переформулируем задачу - не "как в Ворде", а таблицы для позиционирования элементов документа. Когда нужно средство, чтобы удобно выстроить шапку бланка и т.п., то поиск и быстрое перемещение уходит на второй план...
В использовании единой идеологии вкладываемых блоков вместо начинения "побочными эффектами" основного текста тоже есть резон - это ближе к тому, как это делается в системах вёрстки, в том же Латехе, к примеру.

Ну правильно не ворд пишем... Часто ведь нужно не для редактирования текстовых документов это дело использовать, а для вывода чего либо. Ну например обработанных результатов выборки SQL (SqlTables довольно крив).

Автор:  Вячеслав Бойко [ Понедельник, 24 Сентябрь, 2007 09:31 ]
Заголовок сообщения:  Re: Проект - Таблицы

Пока не очень ясно, что же за таблица должна получиться. :?:

Автор:  Борис Рюмшин [ Понедельник, 24 Сентябрь, 2007 09:40 ]
Заголовок сообщения:  Re: Проект - Таблицы

Вячеслав Бойко писал(а):
Пока не очень ясно, что же за таблица должна получиться. :?:

Дык вот все по-разному понимают....

1. Это должно быть самостоятельное отображение.
2. Для начала - простые ячейки (без сложных конструкций, типа объединений)
3. К ячейке должна быть возможность обратиться по её адресу программно.
4. Внутренность ячейки должна вести себя как текст - либо просто вставляется строка, либо какое-то отображение.
5. Регулируемые параметры границы... что-то типа тега table из HTML

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/