Такая ситуация.
Имеется компонент MainFrame с горизонтальным меню. Под меню вызывается с помощью render: дочерний компонент (в зависимости от выбранного пункта меню). В дочернем компоненте есть ссылка на добавление некого объекта с помощью формы и мне нужно сделать так, чтобы при нажатии на эту ссылку вызывался нужный компонент, который бы полностью закрывал MainFrame. Но вместо этого, компонент вызывается только в дочернем компоненте. Получается такая связка (в скобках дан метод, вызвавший компонент): MainFrame(call)-->PrivatePage(render)-->ProjectCreation(call) Как сделать так, чтобы ProjectCreation перекрывал MainFrame?
-- http://groups.google.ru/group/sugr |
mainFrame call: projectCreator — кому посылаем #call:, того и заменяем. mainFrame в PrivatePage можно передать параметром при создании. Или я чего-то не понял?
17 ноября 2011 г. 14:24 пользователь kirand <[hidden email]> написал: Такая ситуация. Dennis Schetinin http://groups.google.ru/group/sugr |
Как же я передам MainFrame параметром, если у меня получается наоборот, что PrivatePage - параметр для переменной в вызове render: и меняется от пункта меню. Самого себя передавать самому себе? Не то.
--
http://groups.google.ru/group/sugr |
Тогда я ничего не понимаю :) Может быть, код стоит показать?
17 ноября 2011 г. 21:37 пользователь kirand <[hidden email]> написал: Как же я передам MainFrame параметром, если у меня получается наоборот, что PrivatePage - параметр для переменной в вызове render: и меняется от пункта меню. Самого себя передавать самому себе? Не то. -- Dennis Schetinin -- http://groups.google.ru/group/sugr |
In reply to this post by kirand
CONTENTS DELETED
The author has deleted this message.
|
Спасибо. Проблему понял.
--
http://groups.google.ru/group/sugr |
In reply to this post by vmusulainen-2
Я это и пытался написать :)
18 ноября 2011 г. 9:04 пользователь Владимир Мусулайнен <[hidden email]> написал: Насколько я помню, это типичный вопрос при применении компонентов в Dennis Schetinin -- http://groups.google.ru/group/sugr |
На сколько мне ясно посылать сообщение call: нужно от имени mainFrame т.е. в callback добавить код mainFrame call: anatherComponent. Здесь главное кто отправитель сообщения.
18 ноября 2011 г. 12:14 пользователь Dennis Schetinin <[hidden email]> написал: Я это и пытался написать :) -- http://groups.google.ru/group/sugr |
In reply to this post by Dennis Schetinin
Код такой.
MainFraime имеет переменную content для хранения субкомпонента. Метод MainFrame>>renderContenOn: renderContentOn: html html anchor callback: [ self content: SZPrivatePage new]; with: 'Личная'. html space. html anchor callback: [ self content: SZProjectPage new ]; with: 'Проекты'. html render: self content Класс SZPrivatePage содержит переменную project. Метод SZPrivatePage >>renderContenOn: renderContentOn: html
Буду очень признателен, если скажете как поменять код, чтобы вызвать SZProjectCreation из под MainFrame.
-- http://groups.google.ru/group/sugr |
Ошибся. SZPrivatePage не содержит никаких переменных.
--
http://groups.google.ru/group/sugr |
In reply to this post by kirand
Дабавляем в SZPrivatePage переменную экземпляра mainFrame, создаем методы доступа, перед первым использованием компонента инициализируем экземпляром mainFrame. Далее в методе
SZPrivatePage>>renderContentOn:html html anchor callback: [mainFrame call: SZProjectCreation new] ... Самое главное перед первым использованием экземпляра SZPrivatePage инициализировать переменную mainFrame
18 ноября 2011 г. 13:43 пользователь kirand <[hidden email]> написал: Код такой. -- http://groups.google.ru/group/sugr |
In reply to this post by Nikolay Kleptsov
Как я и говорил, при инициализации MainFrame инициализируется по умолчанию PrivatePage (открывается по умолчанию). И получается бесконечный вызов MainFrame... ))
--
http://groups.google.ru/group/sugr |
в методе MainFrame>>initialize на стороне экземпляра добавляем последнюю строку кода
content mainFrame: self. 18 ноября 2011 г. 14:14 пользователь kirand <[hidden email]> написал: Как я и говорил, при инициализации MainFrame инициализируется по умолчанию PrivatePage (открывается по умолчанию). И получается бесконечный вызов MainFrame... )) -- -- http://groups.google.ru/group/sugr |
Free forum by Nabble | Edit this page |