OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 15 Июнь, 2025 20:28

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




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: Понедельник, 18 Январь, 2010 12:20 

Зарегистрирован: Вторник, 10 Ноябрь, 2009 13:15
Сообщения: 58
Всем доброго.
Хочу сделать разделение управления и данных
Есть две вьюшки. В первой предполагаю кинуть контролы, текстовое поле (поля), кнопки...
Во вторую по клику на кнопки будут выводиться данные (из БД).
как писать данные во вьюшку я понял.
А вот как мне вставить контрол в конкретную вьюшку?
Нашел только StdCmds.PasteView; но тут не указано в какую конкретно вьюху вставлять.

Есть ли способы указать что мол такой то контрол вставляется в такую-то View?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 18 Январь, 2010 13:18 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Я как-то с этим не работал, поэтому точного ответа дать не могу.

Однако:
1. данные вставляют в модель.
2. отображение всего лишь показывает часть модели.

Поэтому вопрос должен быть не "как вставить в", а "достаточно ли подготовлено отображение".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 18 Январь, 2010 13:29 

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 18 Январь, 2010 14:14 

Зарегистрирован: Вторник, 10 Ноябрь, 2009 13:15
Сообщения: 58
Иван, можно маленький примерчик для понимания, или ссылку на описание такого с примерами?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 18 Январь, 2010 14:14 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2461
Откуда: Россия, Томск
Виталий писал(а):
Нашел только StdCmds.PasteView
Controllers.EditMsg.op = Controllers.paste; .view = вставляемый view. Обрабатывается в HandleCtrlMsg целевого (куда вставляете) view.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 18 Январь, 2010 17:10 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Пример по использованию модели контейнера FormViews.View:

Код:
MODULE TestForm;

   IMPORT StdCmds, Ports, Views, Controls, FormGen,  FormViews, FormModels;

   PROCEDURE Do*;
      VAR p: Controls.Prop; v: Views.View;  m: FormModels.Model;
   BEGIN
      FormGen.Empty; StdCmds.SetMaskMode;
      NEW(p);
      p.link := 'TestForm.Do';
      p.label := 'Press me';
      v := Controls.dir.NewPushButton(p);
      m := FormViews.FocusModel();
      m.Insert(v, 40*Ports.mm, 30*Ports.mm, 60*Ports.mm, 37*Ports.mm);
   END Do;

END TestForm.


^Q TestForm.Do

Ну а пример создания собственного контейнера - да хоть ObxTwins, что ли...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 19 Январь, 2010 13:38 

Зарегистрирован: Вторник, 10 Ноябрь, 2009 13:15
Сообщения: 58
Цитата:
Иван Кузьмицкий

О-о-о... Теперь понял. Спасибо. Чето я метод Insert упустил извиду.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

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


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

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


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

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