OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 29 Март, 2024 15:08

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Проект - Таблицы
СообщениеДобавлено: Понедельник, 24 Сентябрь, 2007 09:43 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Как нулевое приближение можно взять таблицу из Sql...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект - Таблицы
СообщениеДобавлено: Пятница, 16 Ноябрь, 2007 14:41 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 252
Откуда: Austria, Bruck
ИМХО нужны две реализации таблиц.

Одна - это отображение таблиц в тексте (а ля RichTextEdit). Можно реализовать с помощью движка HTML. Отображения должны вставляться в двух режимах - как символ, и как "плавающая" картинка.

Вторая - это собственно контрол компоновки отображений в табличном виде (я ля Tcl\Tk).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект - Таблицы
СообщениеДобавлено: Среда, 09 Июль, 2008 21:50 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Вот ещё требования к таблице (я не буду употреблять таких понятий, как отображение, составной документ и т.п., а постараюсь описать то, что увидит конечный пользователь).

  • Курсор должен уметь выделять не только одну строку, а сразу две или три. Это удобно для избавления от прокрутки, когда длинная строка разбивается на две и благодаря разбивке информация целиком умещается на экране.
  • Шапка таблицы также может состоять более чем из одной строки.
  • Раскраска отдельной ячейки + шрифт текста в ней.
  • Настраиваемые цвета текста, курсора, текста под курсором, фона и линий разметки.
  • Объединяемые ячейки.

Есть острое желание в самое ближайшее время соорудить что-то близкое к этому.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект - Таблицы
СообщениеДобавлено: Четверг, 14 Май, 2009 12:41 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Замахнулся на мега-таблицу, которой можно и текст отформатировать, и которой можно порулить на форме, программно через интерактор.

Выделил сохраняемую модель таблицы, сделал компоновку отображений в контроле с интерактором, и наткнулся на противоречие. Интерактор подвязан на модель, модель сохраняется в домене, а скопировать контрол в другой документ уже нельзя. Вернее, можно, но тогда придётся копировать модель и терять связь с интерактором.

Конечно, на самом деле, никакого противоречия тут нет, ведь контрол - это только наблюдатель глобальной переменной-интерактора (пока, что называется, ручками не попробуешь, не поймёшь :)). А одна модель не может принадлежать двум доменам. Промашка у меня вышла-с.

Короче, одной, универсальной таблицы не получается. Образуются, минимум, две:
- табличный контрол для использования в диалогах; вид контрола можно настраивать мышкой. Данные не хранятся в составном документе, а заливаются через интерактор;
- табличный объект отображения с моделью, который можно вставить в документ, настроить, заполнить ячейки вручную или взять модель и заполнить программно. Модель сохраняется вместе с документом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект - Таблицы
СообщениеДобавлено: Четверг, 14 Май, 2009 23:12 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Может, в случае, когда таблица работает как контрол, пусть она не делает Join, не сохраняет модель и говорит, что ThisModel = NIL? Шифруется, в общем :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект - Таблицы
СообщениеДобавлено: Пятница, 15 Май, 2009 22:18 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Я делаю примерно так: есть объект отображения таблицы. Два таких объекта компонуются в контрол (наследник Controls.Control, для поддержки интеракторов и прочей рутины), и получается элемент управления с шапкой таблицы и телом таблицы. Контролы можно компоновать какие угодно, а для этого конкретного контрола, получаются две модели (шапка и таблица). Завожу интерактор, как раз для такого контрола, с двумя моделями. Через интерактор и рулим программно моделями.

А для таблицы в тексте, контрол и интерактор не нужны. Только придётся создать отображение-обёртку, с моделью. Оно и будет размещаться в тексте и сохранять модель.

В принципе, наверное можно сделать и универсальную штуку, совмещающую всё (контрол-таблица-модель-интерактор), но нужно ли? Получится, мне кажется, слишком сложно и путано.

Кстати, всплыла ещё интересная идея. Предполагается, что пользователь может рулить шириной колонок таблицы. Ну и вообще, настраивать. Делать это можно прямо в режиме маски. И было бы интересно (а может, не совсем хорошая идея) хранить настройки прямо в документе формы. Но в режиме маски, изменения не сохранить в документе (на данный момент, во всяком случае, у меня не получается), и настройки таблицы нужно будет хранить отдельно.

P.S. Нет, всё-таки пользовательские настройки должны храниться всегда отдельно. Иначе, прилетит обновление - и привет, всё установится в исходное состояние.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB