OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 08:08

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




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Служба раскраски
СообщениеДобавлено: Воскресенье, 04 Декабрь, 2005 00:05 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Илья Ермаков писал(а):
Vlad писал(а):
Кстати, по поводу среды. Где подсветка синтаксиса и все остальное?


А что, собственно, надо? Подсветку? Так он же и так шрифт заглавный, куда еще жирнить? Разве что цветом... Ну дык что-то такое есть где-то... Написать эту подсветку - полчаса, кстати. Обявляется свой потомок Services.Action, у него - единственная процедура Do. Она берет Controllers.FocusView(). Если он IS TextViews.View, то берет view.ThisModel(). А дальше - просканить модель и расцветить ключевые слова. Всего строк 20-30 в процедуре. Ну и создали объект Action - и на очередь его, в Services. И какждый раз при "простое" он будет все расцвечивать, да хоть в горошек...


Создать службу раскраски - воистину гениальная идея.

Раньше я для этого пробовал делать:
1) Раскрашивать просто по явной команде (пункт меню, горячие клавиши).
2) Создавал свою wrapped-view над TextView, которая перехватывала сообщения о редактировании и раскрашивала текст.
3) Пытался создать свою wrapped-TextModel, но до конца не довёл.
4) По идее Ивана Горячева пытался встроить обработчик в TextControllers.

Но всё это как-то криво получалось...

Служба раскраски - самое правильное решение. Правда надо придумать способ, с помощью которого служба раскраски будет понимать какой документ раскрашивать, а какой трогать не надо. Я сделал так - просто в начале документа помещаю директиву: (* MASTER+ *), увидев которую служба раскрашивает этот документ, а если директивы нет - документ игнорируется.

А вот, собственно, сам текст службы (в закодированном виде):

StdCoder.Decode ..,, ..fJ,...3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x
hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLLCJuyKtYcZRiX
7.2.s,6wd.,k,5TWyql.bnayKmKKqGomC5XzET1.PuP.MHT9N9ntumaU2,CJuyKtQC98P9PP7O
NbXmb.2.obIk2EPG,,6.cUGpmWLuOpoKqvCbHZiYpedhA704TeKKw.bHfEWUmL.6..D.,z26.,
sUGpmWbBxhYhAbndMHT9NY6Mw.sQq2Y6cwB.0.JT2w,,El5,,6.,.1Q0cU.ktAcoZimBhWhioh
gnZcZRCY.2.g32U.EEE.2mE4G2.hONZ9N1fP1HA0z.U.2m,.P.1cUZT16.,Uh.,UUU..UK,.E.
07M.,U0Ikmj,2U.ET0.0.,,,EM0HM7.,Ef..6.V2o.AUG.,.,dqJEwnr,IklTcjpBZvPNvQR7I
fvQFfEf9RdvPR9F9vQ5nsD2.5uPR9R6F9vQ5HtD.2.e80E.6Y,U.6,PmkQCdnmICbmmIChnoQA
9HLQ8dnkICd15ldADb19nqI5b011kaAAkmICbmmICh1ELEuAAYCBmrQA0ktw6fnkIC71,..M.1
.16.2UU.EtvU.E.6z6.cWE.G.QCdnmkdgAZHv.o3bGuwBV15,.9nq.wBka.gAZndgAZHv.o3YC
T1B0ktw6AAZHmE...4k,E,O.4Ek6.36,M.N.3s,M.1.3c..c,k72.3s.M.7..Z,3M0M.P.3M,M
.1.3c.M.k,8Mtr.0E.cj6.,UU2.0UveeE.O3..,6Y1.GE.M.7.3M,M.z.3s.M.P.3M0M.N,5s,
2.7.3s.k0k,G.4.IU7U,Q,IU3.1.3c.M.k,.5.5s,M.9.3s.k1k,U,Y.IU3U,o.YU0KyBU.2.8
10E.666.if.6.,UK,.E.07M.,U,w.gU0KyBU.2.m10.000.,1,UK,.E.07s.,6.4k2E,U,g0oU
0KyBU.2.u42.000.VX.2.O3..,6YU1U,I.IU0U,g0IU1.9.K.4kGE,8.Q1gU1U,w.IU1U,g.wU
0KyBU.2.030.00,6.yje0,cJ..2UE0OE.M.H.3.I,IU3U,A.wU4U,g.2V0KyBU.2.G90.00,6.
0N.6.cJ..2UEC.s.E,E08.4ENE04U.M.t.D.4k1E1G.4E3E1a.Q.IU1U,A1IU7U,g3IU1.7.5s
,k,E,K.4k.k1U,g.2V12.4E,E08.4Eak28Mtr.0E.cj6.,UUU.6s,U.UK,6kns.6.,6YUYU,Y6
IU1U,o,IU7U,o0s.kEE,K.4.IU0U,o.2,EE6.G.4k4U1U,I6g.k.E04U.M.5.3.4E2E,a.A1IU
1.P.K.4k.E38Mtr.0E.6W1.0UUE.0U.8U0E.cJ.W,E.07s.,.9.D.4E0E,C.w,IU7U,Q0s.M.Z
.3M,kAE2.5.3s.M.d.a.4E3U3.5.3c.M.J.F.4k.E,G.4EbE1C0Y.IU1.3.3.I,M0M.Z.C..K.
A12,k,E,C.4E8U7U,A,IU3U,Q.IU0U,I,2,M.1.36,M.P,F.g,oUaU,Y.IU1..E2U3U,I.2U72
U.k.E,U,w.IU1U,I0AU.E.0Gh,U.6.,Ue0,UEW.6,P0bHugAQ89HtoC.RldYC11dH.Q2b0kmgB
.11ka.gAZndgAZHv.o3YC11dHX.QCD01HtYA2..U,A.AU.E.00.6.2..cWE.G.QCdnmkdgAZHv
.o3bGuwB6.5,.9nq.wBka.gAZndgAZHv.o3YCT1B0ktw6AAZHmE...4E,kzXGJ0ma4odGpW8pJ
0GJam4qobGoemoW0ma4qtGrm8rdKKtOroCqmin4qk28k28k4qk2aoa0pb8Je0mdGLmmorSKK0G
ECpm8LvktmGEGoo4KqyqnmWKBhZtQN76PM0H6J99S.mGEGpmWLuO3EekVyKrG5mqm8rtmm4ak2
qokCLusET9PTfQbvCPM1H6Jn8I9O1HM01uMdPOTfP,ND,7ITOGR8J9eI,7JT86ZOF5uHZ8F,78
bONZ1oZ,RgoBBaGEKIbGoRqk4aEf4Idqk2akkCKua4p761uMdPOQbBAV7IiZBgYhgmJbUYeZ3D
P0NHL8pm4KmsCPM1H6IZuH5OF7OJZOF,tJZPOdPNNeP,78bfC,NEZeI1OK,tHB8658G1eIHtCP
M03OFDOGR86b8R71RtIdfQHfPD98bP8r76b8R71mIrin4akWuIW0mf8roUvg,PM0V0.FOMhPNP
OMb118Rd1GbU2ZoJbUYeZ3DEqMHkIeHE8obyIaKoUuoRqU7oe,7659Op7658GQbBg,H6IZ0UBB
goRgc3YcQiu..kIeHE82.AVKVdZZUohu2Y7pdIhc5hcGRbBA,3OFko0GRqHE0nR0Gr0GRqHEmo
WuIICLGamRqk2ak2SJYaIaKIEuLtKqkG4RNNT9R,d7,7859O,ND,d6,d6H767uH,dQ9PMEdKqk
QccBgm3ZX3hd2Y3p7AV7..gAK4ko0GS0GraGEOGEWmlUnRfdhfd2Y2x7PM0HM0HcQ.Z050kR0m
YuoVWmoam4ak2akWuYv.ZOFdOJZeH,NO,ND,dPPM0HMF2YBBgolRqk4Ic3,1uIbOFZ8JF7R,t6
,dHH8HN76Z7AHtCPUmVZ76pNDGLLuomSLdKqkEI8rm44amR0GtK4oZHhgo3ejRic2adQbB.UGV
1,k4cI.POMdXcIYcIZWAZUo2POMUBBcHZ8IYdgV7gcCFY4Kv..kmin4ak4..5uPNvPaKxKKEWm
leHEGpmWb1,.RtET1UdQbBM0h0VfC,NGR0U0,.QgUQYUo7.UdhAuGVKqnaKrqorGqoOqoCqkGr
oyKrWGfaqmkouKvaqtaKlmqmmGECKLOroM8rN1HM0V96pND,tMRtE1fQ99RVuPAZvUB,C2QiiQ
6NXdFeKKw2ZXpZohAamRq.5f9bONdvE1fQ9HI0rIi1O3Cb3phYhdjZgd,.Ud,..HN1HMFsET9P
UvgV7g,V0.FFoaqteHE4olUd6FTvCPM0HkUsMp76kVEt.b1R1kRA,UX3YugbUYeZ3D.ktocjRg
pRicAZvk2aIX0GICKE.H76B76FOMh1cQ10kmWmluGuK4H76d8G9eH,tET9PUcQgd2Y3p7kdKKt
O5Cb2xhABgohgm3Zo3hd79,tI91EeaqliqtWmI0mJ0mdKKt.8rmCrrmquGroyaUYc7peUIadgV
7.7uPrVB6I.cH9vR1uMd1WmIeHE4olUvk2O34KR0mU.cEUChcL3ZVBZv2YGhcIh8AgBAV3VChg
r,UB..CJu4KtGLXyqlKb5hiVJiYJZU2ZKBcG3YkFWaqkEL0pk8rIi1302iiYgdRiVJgghgY3Yu
g5FNM59R66576R0PM090b8R11.sCPM103..JtCPM030qk2akYOYVRgo,vFbaIa0GeWoWgV7M01
1cCvFbK4UcAZv2YHhA.70kkCKuEK0mdK4UixhrBZvg,HM0jeQH9R683tl,zvbTy9Tv,D6Xzubj
t1Ds,7w,TwJDw,TwJDu,NH1uI.AV3l4akWuYU.in4q.EW.yKsOorCqu.e0...cEEE..pVc.2Yx
.H,UjdF.sCak428..JtCP.M1Ad4,kFUU.M0b0UGhghxhqhg,RgoVcAgX,HtC,NM59R66pVCB7r
N1HM0S3.RSwZDsPjv3zu9Tv,D6.UkXc1..HM0PkW66kRqk48oWS22Ze2YioZi2YeAZBQcAxdHh
cBAVHZij3iBgcCZ6Pmtkd.um4qk28.0G,5TekVEt.QeoZg1ZimZh2hgn7.XDJ..oZ1,U2hgn7.
C244.IC...Qii..70,cw7E.2.Y02.A,,U..U,IklbeZFdKLqKKtCLLC3ZORNX2V.AyI,ktuGdK
LqKa2V.Iy1E.2.i8SE.sc,U.2.5Qw.sQRtIQeoBjghg2hgnRg.AS.c9Ajg,0EtT.,E..WE.cK2
U.2.86.c918RUotQ70,E0E...7,,M.,.,.,tcpW.6.DOa1kDz41.1.,6.Ikmj,6..EBU.U,.JF
kns.U.2m,.,.E4WDN.Ntarm3Wj.Jklb6gBQC5uP..I06..E2E.UA2.0E.Tpt2YbQI,AzJE.nT3
2UP3B,h8l2jm0...
--- end of encoding ---

Подсветка синтаксиса в BlackBox собственными руками:
http://www.progz.ru/forum/viewtopic.php?t=11947


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 06 Декабрь, 2005 15:46 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
По-моему, самый правильный вариант - своя модель, которя "подменяет" Default Color у расцвечиваемых элементов. Потому что решение на основе "честного" изменения цвета текста не всегда удобно - если я перенёс исходник в BlackBox без подсветки синтаксиса (и не хочу её там видеть) - у меня всё равно будет цветастый "цирк".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 06 Декабрь, 2005 17:21 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Тогда, наверное, не то чтобы сама модель, а специфический Reader у этой модели. То есть пусть у модели будет настоящий Reader как и положено, а дополнительно ещё пусть будет и "цветастый" Reader.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Служба раскраски
СообщениеДобавлено: Среда, 01 Январь, 2014 16:44 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Сергей, а для более свежих ББ есть версия? Я нашел версию:
http://www.rsdn.ru/File/30795/Master.zip

Но там... GDI32, COMDLG32 при этом WinDlg уже не содержит многих функций для работы со шрифтами из COMDLG32, например ChooseFontData...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Служба раскраски
СообщениеДобавлено: Пятница, 28 Февраль, 2014 16:55 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 518
Откуда: Украина, Днепропетровская обл.
Иван Денисов писал(а):
а для более свежих ББ есть версия?
Есть: Подсветка синтаксиса в BlackBox 1.6 собственными руками


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Служба раскраски
СообщениеДобавлено: Пятница, 22 Май, 2015 13:51 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 987
Откуда: Казань
Нашел статью на английском, где критикуется подсветка синтаксиса в языках программирования:
http://www.linusakesson.net/programming ... hlighting/


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

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


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

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


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

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