OberonCore
https://forum.oberoncore.ru/

BlackBox на OpenGL
https://forum.oberoncore.ru/viewtopic.php?f=114&t=4287
Страница 4 из 7

Автор:  Евгений Темиргалеев [ Пятница, 29 Март, 2013 20:39 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Пётр Кушнир писал(а):
Кстати, так как в новом ББ не планируется вводить полноценный MDI "как-в-винде", то принимаются идеи по утилизации пространства внутри основного окна, которое пока никуда не исчезнет.
Эх... были бы в наличии толковые и/или трудолюбивые студенты, может было бы что предложить посолиднее идеи... идея, Пётр, кстати, Ваша.

Тема курсовой, предлагавшаяся на 2011-12 уч. год. Контейнерная вьюшка BlackBox «Мозаичный "менеджер окон"»
Код:
StdCoder.Decode ..,, ...O,...3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x
 hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLLCJuyKtYcZRiX
 7.2.s,M,h.0k,5TWyql.bnayKmKKqGomC5XzET1.PuP.MHT9N9ntumaU2,CJuyKtQC98P9PP7O
 NbXmb.2.QeJk2kZK,,6.,U08J99SdfJHPNjvQCJuGKfaqmY6MwdONl1QCh0708T,U..w.gyIU.
 sUGpmWbBxhYhAbndMHT9NY6Mw.sQq2Y6cwB.0.lv2w,2iHE.0E.M.NP0cU.ktAcoZimBhWhioh
 gnZcZRCY.2.o36.I16.M.,U.I3,S45.0ES9.2.c8fP3d8mBE,5TeEdKLqKKtCLLCJuIepZBGom
 Crl0ks,ktuGdKLqKa2V.Iy1.,USX56.C80E.QE.sQRtIQeoBjghg2hgn7.X5.u0n9PU.Iy5.,.
 60cK6.,U00.umUG5.E.Y.2..EGE.4.2.2YXK9VuI3Eyuv.Ih8l.k,U.UczzzzT1.,6xzzzzr3U
 izzzzT3.0zzzzzB.6yzzzzL,k.8Mtr.2.S02.e,0E.k.0.eG.WFs5.2UEC.c.0U0Ikmj,6.2w0
 U.2.p.0.4.I3.0ES,l51M.M.Zzzzzz1.ozzzzz1Yyzzzz12yzzzz1Yzzzzz1IS.oyzzzz1oxzz
 zz1Yxzzzz12zzzzz1oT.YT.YS60M.x54.owzzzzf.M.U,.Z5S,4Epzzzzj,.3zzzzz.h5.t5.F
 5.Z5.x5.Z5.J5.N5.h5.d5.x5m,IzzzzzP.Ep,Eu,Ez,EsV0.d5.N5C..4...h5.R5.Z5.p5.F
 5e.YTM.Eu,EyV0.h54....Ew,Eu,EoV7.d5y.oRM.Ew,..2S6,EwV0.t54.YS.IS.YQ.YSc.Ew
 V,.V5.t5.d5q.2.,6.ZJ,QXiI.3Qwb8R79HHfPLvQR7HHfPL9F9vQs.6.,UR,,UIV.k.m2aKN4
 ntartCokmKqCLLyIsKKrWmHWKuGLsenLyGnyKtKrqumr8qm8rruqlyKtKKL8ruyGvaqmYij3id
 Rgi2ic3iz2ixIaswakwaX2im2br24DN8CE,9z4U.kNU.EBE.0.z50EJ.36.2GkPk.0.89.Zz26
 .,U6J.2U.606..4k.E,4.Yyzzzz9,EtzD4.4Ez,Et,Er,Eq,Ew,Ez,Ey,EuV0U,IRM.Er,Ey,E
 o,Et,Ez,El,Ey,Eq,ErV0.d5y.4EpV,.R5i.IQM.Eo,ErV0.J54.oR.YS.YT.YSM0EtV,.J5.x
 5.J5.R5..EqV3.x5m,ITM.Eq,EszD.N5.t5.d5.V5.l5O,oTM...YR.oT.2RM,EqV8U0A.IUi1
 v016.0E.89.U.2.482.S62.1sTMO....TfM9fQ.EqaKl8rk8rwymvaKtGLoypnKLuiKrKqlWKu
 yJs8rreqmCKuypr84wfo3hZxfYhgnBhbphTxhaxfVphTxhkhgmBgoBhixgTRitRiohghxfVphY
 xfXxhh3idZhZJibA35cOM.,.Z3.E.0.x0,6.2,2..1M.M.h5S14EzV,.d5.N5.x5.l58.4E.6.
 Z3.E.0.,X.2.o66.4ETko.....C4UWZhVRgfJgj3jjggipidJijphhhgiZibA35M8M.,U.IK..
 0..2,2..16,EuVBU,2R61sz3c47gD7QD7gE7QB7QC7QD7QB7AE7QD7AA7wH7A6Z7VN8VR8VF8V
 p7VV7V,dENPM5HVyKw0mJnF0vH0TH01H0XH0TI0rH0jI0bH01GFmH0LH0rH07B7gB7QB7AE0GT
 GMRGMTEFiv4uEHGsOGsRGMaGs4WF0TH0DI0TI0XH09I0nI01GQGMEeH01I01H09I0fH076l7Vj
 7Vr7Vx7Vh7Vl7V3GaMD7AA0GUGsVGsUGsUGMRGMTYb24YDZkrYk9ZkuYkpYkUAc2Kc24c20flN
 GMQGMbGME0I01XrYkwYkpYk7ZkpYkx6C7wH7ITG6g5,dA7A6x6V17V,d57QA7QB7AEuH0r1rOA
 N76dNL,73,B6,8VkSGMTGMNGMQGMOGsSGMTAc2K6NWW2b2ia246VFUGsWGMQGsXga2Cc20n7V,
 7D7gD7wBUuYksYkW2YP3hdhgmBgmRgcBhX3YoBhgBhixgRpZU2Y2ia24a2Sb24b2y4x7VZFMGM
 VY70H0jXnYkyYk.ZksYk07D7AC7wF.CI0vI01mXGMMGsUGMVUxUUIX2qb2a5z7Vx7VvlOg53mS
 GMTY5,t57AA7Yu6AiXpYkU2b24YssBC2cEm2Z7Vx7VjFSo5hlSG610NWsMD7gEK10I01X4ZksY
 ksYkUgd2Kc2qb2Sa2q5,7D7QB8I07B7AA7A6ZFE8Iq.AaioahIiXpaUQfLBhiZgjxinhfUYa2S
 b2yd2420I0DH01H0rH0XXr6AO2EUG6X7Vx7V38VL8V,NE7A6ZFao7F0VFSGMQ68x7VplSGMMY5
 AZUYa2qb2K55GSGsOg5ENoZBgVUYkpYkksCWXr.sHwb2q51mRGsOY4vlOQ4xFEcDOXpcE0GTGM
 R24j,3018VT8V,,iH0LXrYkx6A0mTGMUGMQ2YzcD0Y0ZksYk.ZkycA0Xx6CW130UxYEYa24c2S
 c2Sa245f7V,d54Wv2Y0ZkkYkuYkqYE0maG6xFSQc24YlYk1ZkoYk1Zk0ZkU26Ya2Sd24YwYkxY
 kysAW1wb2mRY7j7VxFNEVg4rFQ2YLBhiZAgZmYkp6E4I0XH0FV.68P8FH86l7VvFVg4Yc2ia2C
 518V,7D0H0jXy66p7Vx,2YxYk.ZkkcA7AC8Y,ZkDN8RN1P647AB7QB7wH7A9,ND7AAo51mSGMT
 I4f7V,dC7Y0dD0YyMCA678Vx7V,GSGsVQb245,GTI4VlS24SH01Xo6ASI01Xg2YlYk9ZkvYkkY
 kUo5jFNGsVGsXg4vFMMDEWGMT265GSEEyIlK4Cor8rmeHE8EoGLu05O4.sMc9cR..cAkF.8k4u
 k9GMMY4EMgVlAZU2X2ya2S6253Ga220GTwb24b2Cc24a2K6ME7gE0YkcEKXn6CuYU26w4t,H0v
 FQw7uXucDqXUI4,d566A426xlSoZU2Y2GMQ5llPo5Z,3Ga6AsAuX.7C8YwsG7oSEEe,mXzUxMB
 qX0NDuXw66kUI5Q5fFEW1dlOYb2q5Ac2K6,0,mVo7H8Vl7Vn7V,7CKI01GN25jlV2a2S5NmSGs
 ZA5e1sDUp.0GI8H0nYC7GsEaGE8Iq44c9PcAH76,7VfFMQ5l,xFNEVY7,dC.MD.I6.N76z7V,m
 OGMOo51GV24ZlRGsbod206B7AC7QD0Xw6CSYpMEeXsMCI5g53mOA5vlO26N76,8VESkY2a2qd2
 C7UmsCuXqUxMD7wGKH01GNY7RGYEQ2YzcD0GSg43GTY45GEWmMaGLqkNaGEWF0tES2820GNo5j
 FSo5hlSo510NWs66kT26xlMGMTI4I6cAiI0zH0vXvMD7AC82kSGsOY4,mOg5llO2YuUw.q1qX0
 7A0GI8nI0GNGME82UUA4.r0kikRw7,tE7wD7AE0XmUpMDWXDFNY7R024t,,7BuXusEmXpMD8Yy
 cA0GQw4,NEyH0XX,Vk66xFVI5,mZGMVGsZgc24YyYkucDqXUwed,uGmaKtuGXaKtCLuWmImGEG
 FE1GNGMEGH0tDuXvMDK1WXp662Y,Zk07AqXoYkk6E8YxcDmX1laGoYqGQGsSGMVg4,GWG6nlUQ
 c24YLBBUBoVQYkkcEK1WXkYkvsG7Q1XN8Spo8Lu2YCpZg2Y5hioRBEEeIL0Gc8rre40mb84IbU
 YechgUYcZRidFEyKn0mkuKEyIsKKtMO2YHBjnZC0mkuKm0mVyqq0roEL0mLyG,WKuG5wBklICE
 q..y3.yZm,y3kjGLo.sLUTlm.y3kjkj.c.Ps27wC7Ym6A0GO0GFGJoKKEAhn3igBgt3YHBjnVW
 oZBIadcEN1kVyqqwhihgiZiUIcpBhgZgZJiU2b24Y,tDUyYku66r7VlFV.VFVQc24c2S7,dC7o
 SGsOY55GR0G,Wao,.5Ht.3184.ghZF,qkNaWQYkyYkoUv6H0mVoho,2YcYa2q5plVY5g53GMo6
 w78IqEVM8RN13QwdONQcjpBZvPN9P9fQbf9bGmCIu8LqGomCrl0ks,.ELCYiZCU2hA0U1VV,u0
 IC...Qii..70,cw7.,.d.,.HE.2U..U,IER.,6.AAw.,kgE.0U1KyEE.0.U66.y12.8Mt9V.E.
 .UY2.0k.0.0.0mF7.2UlSw,sbTX,U,U.2.8cB.,..e,2.A.c8U.E.0t.U..61lbAUgQnPt0lLU
 8ssH2q4Cb1xB..O,2..606.k22.WtZCbUwYX8Utj00MyfUMwdc7cJ7a.yS1...
 --- end of encoding ---

Автор:  Пётр Кушнир [ Пятница, 29 Март, 2013 22:44 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

По волнам моей памяти... :)

Автор:  Пётр Кушнир [ Суббота, 30 Март, 2013 16:54 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Сегодня, добравшись до функций выпадающего меню, решил две проблемы.

Первая - это абстрактное представление, а что же такое вообще всплывающее/выпадающее меню? Из ответа сразу последовал типовой сценарий применения.
Итак, всплывающее меню это просто особое отображение, которое при встраивании возвращает особый Плавающий Фрейм, связанный с хост-реализацией, которая в свою очередь помогает этому фрейму находиться поверх остальных элементов, в том числе и окон системы, что зависит от реализации. То есть, фрейм лежит "как бы" там, где ему положено, то есть внутри вызывающего отображения. А так как встраиваемое отображение всё равно является отображением, оказалось, что больше ничего выдумывать не надо.

Вторая проблема - это реализация. В данном случае я упёрся в деревянное API freeglut, которое вообще для игр предназначено, а они либо в одном окне, либо вообще на полный экран, и собственно, проблемы отображения меню в полноэкранном режиме нет.
Но ведь абстракция нашего Плавающего Фрейма требует от нас отображения поверх текущего окна, поэтому пришлось немного погрузиться в винапи и пошаманить со стилями окна glut, чтобы оно перестало быть окном в привычном понимании :)

Применение этой концепции выглядит так: при вызове Restore полоски меню проверяется состояние выпадающего меню, которое меняется при нажатии кнопок мыши. Если необходимо отобразить меню, отображение просто встраивает в себя новое отображение выпадающего меню. Всё остальное делает хост-часть. В том числе, у отображение меню запрашиваются размеры, и всё такое.

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

Автор:  Пётр Кушнир [ Понедельник, 01 Апрель, 2013 19:39 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

А вот такой вопрос, кто может оценить частоту использования в своих проектах системных диалогов открытия/сохранения/выбора цвета/шрифта/каталога и прочего модального мусора в работе с текущим ББ?
А то они не очень вяжутся с общей концепцией, и поэтому в планах возник возможный сценарий по игнорированию функций модальных диалогов.
Единственную проблему составляют вопросы пользователю через GetOK, даже прям не знаю, что с ними делать.

Автор:  adva [ Вторник, 02 Апрель, 2013 10:36 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Пётр Кушнир писал(а):
А вот такой вопрос, кто может оценить частоту использования в своих проектах системных диалогов открытия/сохранения/выбора цвета/шрифта/каталога и прочего модального мусора в работе с текущим ББ?
А то они не очень вяжутся с общей концепцией, и поэтому в планах возник возможный сценарий по игнорированию функций модальных диалогов.
Единственную проблему составляют вопросы пользователю через GetOK, даже прям не знаю, что с ними делать.

Т.к. система хранения файловая, то думаю без этого не обойтись.

Я конечно не предсталяю оконную систему, но если я правильно понял, у Вас получилось контекстное меню связать с оконной системой, а оно (меню) вроде как всегда поверх других окон. Может сделать аналогично?

Автор:  Пётр Кушнир [ Вторник, 02 Апрель, 2013 15:30 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Заготовка меню, выводимое через механизм плавающих фреймов, не является модальным в общем случае, и тем более оно не блокирует работу фреймворка.

В противоположность этому, вызов Dialog.GetIntSpec например является синхронным и выводит модальное окно.
А так как механизм стандартный, то изменить я его не могу, а если и могу, то не в виде изменения интерфейсов процедур, а разве что в виде хака на уровне хост-части.

Автор:  Пётр Кушнир [ Вторник, 02 Апрель, 2013 16:01 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Часики: примитивы, сглаживание, анимация.

Изображение

Автор:  Пётр Кушнир [ Вторник, 02 Апрель, 2013 20:50 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

ObxOmosi, героическими усилиями Ивана по борьбе с тесселяцией.

Изображение

Автор:  Info21 [ Вторник, 02 Апрель, 2013 21:05 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Пётр Кушнир писал(а):
А вот такой вопрос, кто может оценить частоту использования в своих проектах системных диалогов открытия/сохранения/выбора цвета/шрифта/каталога и прочего модального мусора в работе с текущим ББ?
Каталоги часто открываются.

Для этих диалогов было (в 1992/3) соображение, чтоб было как в подлежащей ОСи.
Если это соображение уходит -- а оно сейчас, видимо, не особо уже актуально, т.к. у всех всё стало похоже -- то и путь открыт.

Про GetOK с ходу сообразить не могу.

Автор:  Пётр Кушнир [ Четверг, 04 Апрель, 2013 21:32 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Кубы наши друзья!

Изображение

Автор:  Пётр Кушнир [ Понедельник, 08 Апрель, 2013 23:06 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Несколько дней молчания не прошли зря, теперь у нас есть работающий механизм выделения (Ports.Rider.MarkRect), работа с фокусом, меню и клавиатурными шорткатами. Можно даже редактировать и изменять стили у текстов. И даже компилировать!

Изображение

Автор:  Info21 [ Вторник, 09 Апрель, 2013 08:17 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

что такое несколько дней в таком усилии

Автор:  Пётр Кушнир [ Среда, 10 Апрель, 2013 09:47 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Подсистема Ole настолько винапишная, что аж противно.
Плюс, на неё завязан драг-н-дроп в реализации HostMechanisms.
Вот ничего больше не завязано на винапи в Mechanisms, только драг-н-дроп, и ещё операция pick, но там совсем маленькая привязка.
Мерзко.

Автор:  Info21 [ Среда, 10 Апрель, 2013 20:29 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

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

Автор:  Пётр Кушнир [ Понедельник, 15 Апрель, 2013 18:53 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

По традиции, небольшой отчёт.

Реализовано почти похожее на windows поведение меню, с учётом потери фокуса и так далее.
Многие пункты меню, как оказалось, работают, особенно порадовали почти совместимые с новым ББ демки из Obx.

Реализованы некоторые механизмы из модуля Mechanisms. Как и всегда, при погружении начинают проявляться проблемы и органичения.

Например, при реализации Mechanisms я столкнулся с несовместимостью старой схемы рисования и нового порта на OpenGL, так, при ресайзе контролов внутри контейнера выполняется приснопамятный цикл с Ports.Rider.Input внутри, что предполагает рисование на канвасе окна вин-апи внутри этого цикла, однако глут построен по другой схеме и выполняет перерисовку ПОСЛЕ обработки сигналов коллбеком пользователя, то есть, цикл внутри ББ рисует в буфер, который будет обновлён внешними системами только после выхода из цикла, ну и естественно никакой рамки ресайза не появляется на экране.

Да и вообще, сам принцип зацикливания внутри коллбэка слишком чужероден, мне кажется его можно расположить на одной полке с уже обсуждавшимися модальными диалогами/сообщениями. Мешает то, что абстрактные интерфейсы и платформонезависимые сущности не избежали небольшой деформации в эту сторону, и не предполагают дефолтных асинхронных решений проблемы.

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

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

Так же были реализованы самые простые контролы, а мои вкладки вообще по сути править не пришлось, разве что убрать паразитную зависимость от HostPorts.
Картинка:
Изображение

Автор:  Иван Кузьмицкий [ Понедельник, 15 Апрель, 2013 21:04 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Да, это переломный этап для OpenGL-BlackBox. Надо что-то делать с Ports.rider.Input (напомню, были обсуждения, посвящённые циклу обработки мыши здесь и здесь.

Я ещё как-то делал режим "hover" для кнопки, который выглядит так: Кнопка с ховером, а работает так: при получении кнопкой сообщения Controllers.CursorMessage включается периодическая проверка координат курсора, и кнопка перерисовывается "приподнятой". Ну а при нажатии на кнопку надо отрабатывать сход курсора с кнопки при помощи этого самого REPEAT f.Input(x, y, modifiers, isDown) UNTIL ~isDown; с перерисовкой внутри цикла, что совсем не ложится на схему рендера в OpenGL.

И что-то я не вижу, как можно порешать эту проблему безболезненно. Ситуаций типа "ховера" будет полно, к гадалке не ходи. Думаю, что для дальнейшего продвижения придётся ломать ввод f.Input и терять совместимость со всеми компонентами, которые на нём построены.

Автор:  Пётр Кушнир [ Понедельник, 15 Апрель, 2013 21:38 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

2007-й год, хыых.

Автор:  Роман М. [ Вторник, 16 Апрель, 2013 01:53 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Поди, на дворе 2013 год. То, что мышь являлась чуть ли не единственным манипулятором в 1990-х, собственно и отразилось на Обероне и абстрактном модуле Ports. Сегодня же мультитач встречаешь повсюду.
Так что ломать совместимость с исходным ББ придётся рано или поздно. Главное, чтобы это было в лучшую сторону.

А много ли компонентов зависят от Rider.Input? У меня вообще была мысль разделить модуль Ports на следующие функциональные части: растровые операции, обработку ввода-вывода, курьер для вывода графических примитивов и текстовый курьер - для операций над текстом. Только, на мой взгляд, полноценно описать текстовый курьер в абстрактном виде довольно сложно. Собственно, это зависит от того насколько полно абстрактное описание должно покрывать нужды каркаса.

Автор:  Илья Ермаков [ Вторник, 16 Апрель, 2013 02:16 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Если пойти принципиально до конца по пути сохранения совместимости, то можно попробовать сделать в Input переключение контекста.

В том месте фреймворка, где идёт вызов HandleCtrlMsg, сделать логику запоминания "базы" и продолжения (если при прошлом вызове HandleCtrlMsg был вызван Input). А внутри Input запоминать контекст потока, снимать со стека все кадры выше запомненной "базы".
Есть пробная реализация такого механизма.

Автор:  Пётр Кушнир [ Вторник, 16 Апрель, 2013 07:58 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Илья Ермаков писал(а):
А внутри Input запоминать контекст потока, снимать со стека все кадры выше запомненной "базы".Есть пробная реализация такого механизма.
Это было бы неплохо. Думаю, технически никак не нужно ограничивать работу пользователей с Ports.Input, но в реализацию встроить механизм.
Правильно я понимаю, он будет работать даже с вызовом Input внутри цикла, в каждой новой итерации восстанавливая прежнее состояние процедуры/метода?
А какие побочные эффекты могут быть?
И можно ли использовать подобный механизм для замены модальных диалогов/сообщений? или же имеет смысл проработать альтернативный способ в первую очередь, а манипуляции со стеком оставить только для legacy-кода?
Роман М. писал(а):
У меня вообще была мысль разделить модуль Ports на следующие функциональные части: растровые операции, обработку ввода-вывода, курьер для вывода графических примитивов и текстовый курьер - для операций над текстом.
В этом я с вами согласен, но делить по идее можно и реализацию YHostPorts, ведь она вполне легально может использовать абстракцию Ports только для поддержки работоспособности ББ, а более крутые фичи будут расположены в отдельных абстракциях, у меня например для расширения функций оконной подсистемы уже возник модуль YSystemWindows. Думаю, ваша идея вполне может быть реализована подобным образом, ну и не надо забывать, что основа порта у нас OpenGL, а значит к нему тоже надо дать доступ людям.
Но пока я хочу выйти на крейсерскую скорость с максимумом прежних механизмов, всё таки ББ как консервативно развивающийся софт должен хранить совместимость :)

Роман М. писал(а):
А много ли компонентов зависят от Rider.Input?
Цитата:
Location Count
Controls/Mod/Scrollers.odc 6
Grid/Mod/Views.odc 6
O3app/Mod/Movie.odc 5
O3base/Mod/WebObj.odc 5
ypk/Mod/CtlsSplitter.odc 5
O3base/Mod/WebContainers.odc 4
O3std/Mod/WebUser.odc 4
Text/Mod/Controllers.odc 4
Ctls/Mod/Sliders.odc 3
Ctls/Mod/Trackbar.odc 3
Dev/Mod/Dependencies.odc 3
Host/Mod/Mechanisms.odc 3
Std/Mod/Tables.odc 3
Stern/Mod/Tables.odc 3
System/Mod/Containers.odc 3
YStd/Mod/Mechanisms.odc 3
Abf/Mod/MtScrollers.odc 2
Dev/Mod/Debug.odc 2
Dev/Mod/MsgSpy.odc 2
Sql/Mod/Controls.odc 2
Std/Mod/Links.odc 2
Stern/Mod/Controls.odc 2
ygl/Mod/Windows.odc 2
ypk/Mod/HostTabFrames.odc 2
Cpc/Mod/ControlTips.odc 1
Ctls/Mod/Buttons2.odc 1
Ctls/Mod/ButtonsB.odc 1
Ctls/Mod/ButtonsV.odc 1
Ctls/Mod/Progress.odc 1
Ctls/Mod/UnitField.odc 1
Db/Mod/SqlLogView.odc 1
Dev/Mod/Commanders.odc 1
Dev/Mod/HeapSpy.odc 1
Dev/Mod/Markers.odc 1
Dev/Mod/Selectors.odc 1
Form/Mod/Controllers.odc 1
Host/Mod/Menus.odc 1
Host/Mod/~Menus.odc 1
O3base/Mod/WebElements.odc 1
O3base/Mod/WebElements2.odc 1
O3bb/Mod/WebServlets.odc 1
Obx/Mod/Buttons.odc 1
Obx/Mod/Calc.odc 1
Obx/Mod/Ctrls.odc 1
Obx/Mod/Graphs.odc 1
Obx/Mod/Lines.odc 1
Obx/Mod/Omosi.odc 1
Obx/Mod/Views5.odc 1
Obx/Mod/Views6.odc 1
Ogl/Mod/Cube.odc 1
Ogl/Mod/Image.odc 1
Ogl/Mod/MoveLight.odc 1
Ogl/Mod/PickSquare.odc 1
Ogl/Mod/Polyoff.odc 1
Ogl/Mod/VArray.odc 1
Priv/Mod/Views6.odc 1
Std/Mod/Folds.odc 1
Std/Mod/Stamps.odc 1
Stern/Mod/Ctrls.odc 1
System/Mod/Ports.odc 1
Text/Mod/Rulers.odc 1
ygl/Mod/Msg.odc 1
YHost/Mod/Ports.odc 1

Страница 4 из 7 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/