Re[4]: MultiView живет!
От: Al-Ko  
Дата: 29.07.04 13:24
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Вот что мне пришло на ум. View должны быть вложенными! То есть мы должны сделать у View два режима:

VD>1. View отображает данные грида.
VD>2. View является контейнером для других View.

Не нравится мне такой подход. У нас уже есть контейнер — ПАЛ-контрол. Вот в него View и вкладываются. Во вкладывании одного View в друнгой я не вижу ни физического смысла, ни преимуществ (но трудности) для прикладника.

Я бы определил следующие правила:
1) Вся клиентская поверхность ПАЛ-контрола всегда должна быть заполнена.
2) Новые View могут возникать только у границ ПАЛ-контрола
3) При создании View у границы можно выбрать варианты:
— либо он занимает всю границу ПАЛ-контрола и отодвигает все примыкавшие ранее к этой границе View
— либо он "пристраивается" c одного или другого края в тот же ряд или ту же колонку, где находятся все примыкавшие ранее к этой границе View.

Таким образом, его докинг, или вернее все-таки Anchor будет выражаться следующими значениями:

Top
Bottom
Left
Right
Top, Left
Top, Right
Left, Top
Left, Bottom
Right, Top
Right, Bottom
Bottom, Left
Bottom, Right

Все View будут автоматически докированы к нижней и правой области, с тем, чтобы при расширении грида в эти стороны у примыкающих к ним View становились видимыми новые ячейки.

Затем, ввести свойство наличия сплиттеров во всем гриде, принимающих значение:

None,
Inner — сплиттеры имеются только между смежными View, чтобы пользователь мог менять размеры созданных View
All — кроме варианта Inner, сплиттеры имеются еще по левой и верхней границам окна ПАЛ-контрола, чтобы пользователь мог создавать View, перемещая эти сплиттеры от границ (ну, как в Экселе)


И все. Больше ничего не нужно. Я думаю, что описанные тобой "гроздья" View в жизни не пригодятся — сам прикинь.

VD>VG как-то не хорошо. Давай уж тогда GridVieu. А то, во-первых, непонятное сокращение, а во-вторых, при использовании в конкретном гриде будет выглядить по дурацки.

Переименовал класс View на GridView. А интерфейс IView тоже переименовывать?
... << RSDN@Home 1.1.4 beta 2 >>
Старый глюк лучше новых двух!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.