Вверх ↑
Этот топик читают: Гость
Ответов: 2125
Рейтинг: 159
#16: 2008-10-28 18:45:41 ЛС | профиль | цитата
Ну в принципе да, а сверху они некрасиво смотрятся, что-ли? Я, как-бы, предполагал их сверху...
------------ Дoбавленo:

Типа так:

карма: 1

0
файлы: 2polymorf_multi.png [8.7KB] [296], polymorf_multi_.png [5.2KB] [295]
Разработчик
Ответов: 25655
Рейтинг: 2085
#17: 2008-10-28 18:48:33 ЛС | профиль | цитата
А мне больше импонирует структура с вложенными мультиками, проще как-то, и нагляднее
карма: 19

0
Администрация
Ответов: 15278
Рейтинг: 1514
#18: 2008-10-28 19:06:51 ЛС | профиль | цитата
открываем аукцион по этому вопросу...
карма: 26
0
Ответов: 3655
Рейтинг: 69
#19: 2008-10-28 21:09:29 ЛС | профиль | цитата
Закладки
карма: 0

0
Администрация
Ответов: 15278
Рейтинг: 1514
#20: 2008-11-02 21:57:42 ЛС | профиль | цитата
добавлена тестовая реализация полиморфного динамического мультиэлемента с возможностью наследования неограниченного числа сабклассов от одного базового класса. Проще говоря контейнер данного типа может содержать в себе множество схем, интерфейс которых полностью идентичен и определяется интерфейсом базового контейнера с именем base. В остальном все работает и выглядит так, как описано выше по топику. Разве что не все точки связанные с управлением контейнеров в RunTime еще определены.
Вот тестовый пример:
code_10491.txt

думаю из доработок первым делом имеет смысл добавить некий элемент среды, который позволит вызывать унаследованные методы от класса base.

Кроме того есть желание переделать логику работы с массивом схем, а именно расширить понятие "текущая схема" - т.е. если в качестве текущей ничего не задано, то любое doWork дублируется на все схемы контейнера. Это избавит от необходимости лепить внешние циклы для перебора всех схем контейнера.

Если есть какие еще дополнения по этому вопросу вписываем их сюда.
карма: 26
0
файлы: 1code_10491.txt [2.4KB] [264]
Разработчик
Ответов: 25655
Рейтинг: 2085
#21: 2008-11-02 22:37:36 ЛС | профиль | цитата
Dilma писал(а):
Если есть какие еще дополнения по этому вопросу вписываем их сюда

Я уже писал, что при варианте с табуляторами хуже визуальное восприятие, визуально непонятно, сколькоа схем в мультике, можно предложить область с квадратными иконками схем, по которым можно кликать и заходить внутрь -- альтернатива табуляторам.
А в остальном -- очень интересно получилось.
карма: 19

0
Администрация
Ответов: 15278
Рейтинг: 1514
#22: 2008-11-02 22:43:06 ЛС | профиль | цитата
nesco писал(а):
можно предложить область с квадратными иконками схем, по которым можно кликать и заходить внутрь -- альтернатива табуляторам.

а картинку нарисовать?
карма: 26
0
Главный модератор
Ответов: 2945
Рейтинг: 386
#23: 2008-11-02 23:22:44 ЛС | профиль | цитата
Polymorph - полиморф [N]
Polymorphic - полиморфный [A]
Polymorphism - полиморфизм [N]
Polymorphous - полиморфный [A]
карма: 7
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 25655
Рейтинг: 2085
#24: 2008-11-03 00:16:14 ЛС | профиль | цитата
Nic писал(а):
а картинку нарисовать?

Что-то типа того (сам же сначала это предлагал)





------------ Дoбавленo:


Насчет ошибки правописания -- именно Polymorph, а не Polimorph
карма: 19

0
файлы: 1project_poly_001.png [5.8KB] [286]
Администрация
Ответов: 15278
Рейтинг: 1514
#25: 2008-11-03 00:28:15 ЛС | профиль | цитата
nesco, всетаки решение с табами имеет неоспоримые преимущества
- сразу видны имена сабклассов
- при реализации только базового класса получаем полный аналог обычного MultiElement в режиме Dynamic, т.е. для пользователя не вводим новых сущностей, что делает освоение этой технологии более мягким
карма: 26
0
Разработчик
Ответов: 25655
Рейтинг: 2085
#26: 2008-11-03 00:41:41 ЛС | профиль | цитата
Dilma, еще вопрос -- а возможна ли связь между сабклассами
------------ Дoбавленo:

Да, еще -- а почему ничего не выдает базовый элемент, а ведь стоит выдать строку base worked
карма: 19

0
Администрация
Ответов: 15278
Рейтинг: 1514
#27: 2008-11-03 00:48:11 ЛС | профиль | цитата
nesco, то, что лежит внутри любого динамического контейнера это всего лишь шаблон, по которому строится схема в RunTime. Если мы говорим о каких-то связях в них то должны сначала определиться, что это за связи и как они должны работать. Связь в классическом виде - Event-Work - не возможна тут физически.
------------ Дoбавленo:

nesco писал(а):
Да, еще -- а почему ничего не выдает базовый элемент, а ведь стоит выдать строку base worked

потому что перекрытые методы базового класса не выполняются пока их явно не вызовет потомок - классическое поведение в ООП при наследованиях
карма: 26
0
Ответов: 3655
Рейтинг: 69
#28: 2008-11-03 00:50:27 ЛС | профиль | цитата
Появилась ещё одна идея
Вообщем в Висте есть иммитация трёхмерных окон
Может и нам что то подобное
Только думаю это сложно-реализуемо

Пока писал вспомнил ещё про одну фичу для рабочего
стола.
Вообщем миниатюры окон.
При вставке мультика слева появляется ещё одна закладка
в которой скролом можно перемещять миниатюры.
Вообщем панель такая же как сейчас Elements
Только там мультики .
карма: 0

0
Разработчик
Ответов: 25655
Рейтинг: 2085
#29: 2008-11-03 00:53:10 ЛС | профиль | цитата
Dilma писал(а):
потому что перекрытые методы базового класса не выполняются пока их явно не вызовет потомок - классическое поведение в ООП при наследованиях

Понял
карма: 19

0
Администрация
Ответов: 15278
Рейтинг: 1514
#30: 2008-11-03 01:33:03 ЛС | профиль | цитата
Вячеслав писал(а):
При вставке мультика слева появляется ещё одна закладка
в которой скролом можно перемещять миниатюры.

при вставке куда? закладка где? миниатюры чего?

вот еще интересный пример:
code_10493.txt

тут оба наследника имеют общий код ввиде рандомов, которые генерируют случайные координаты для объекта. Обычно такой код выносится в protected метод или в конструктор базового класса, а результаты его работы сохраняются в protected полях, которые затем используются в потомках. Реализовать такое более менее адекватным образом сегодня можно только через аналоги GlobalVar, но действующие исключительно между base кслассом и его потомком. Т.е. примерно такая схема получится:
code_10494.txt

nesco, считай, что это так же пример одного из видов связи, о которых я говорил выше.
карма: 26
0
файлы: 2code_10493.txt [4.5KB] [223], code_10494.txt [1.6KB] [222]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)