Автор | Сообщение |
gfilatov
|
| модератор
|
Пост N: 699
Зарегистрирован: 25.05.05
|
|
Отправлено: 29.01.08 13:59. Заголовок: Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)
Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №48, которая выйдет в конце недели. Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне Кратко, что нового: - исправление обнаруженных ошибок и неточностей кода; - новый класс HEADERIMAGE для Grid и Browse; - свойство Address в Hyperlink может теперь открывать папку или файл на диске; - добавлен NOTABSTOP класс для Browse; - поддержка пользовательских компонентов (заимствована из оффициального релиза); - расширения и исправления в библиотеках TsBrowse и PropGrid; - обновлены сборки Харбор и HMGS-IDE; - новые и обновленные старые примеры (как обычно ).
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
gfilatov2002
|
| moderator
|
Пост N: 1450
Зарегистрирован: 11.02.10
|
|
Отправлено: 21.02.19 17:06. Заголовок: SergKis пишет: прим..
SergKis пишет: цитата: | пример Tree по каталогам hmg |
| Супер Большое спасибо за пример
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2249
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.02.19 21:04. Заголовок: gfilatov2002 Добавь..
gfilatov2002 Добавьте, пожалуйста, в CLASS TKeyData ... ACCESS IsEvent INLINE ::lKey ASSIGN KeyUpper( lUpper ) INLINE hb_HCaseMatch( ::aKey, ! Empty( lUpper ) ) METHOD ISBLOCK( Key ) INLINE HB_ISBLOCK( ::Get( Key ) ) ...
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1451
Зарегистрирован: 11.02.10
|
|
Отправлено: 21.02.19 21:14. Заголовок: SergKis пишет: Доба..
SergKis пишет: цитата: | Добавьте, пожалуйста, в CLASS TKeyData |
| OK
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2252
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.02.19 20:04. Заголовок: gfilatov2002 Неболь..
gfilatov2002 Небольшая оболочка для hmg https://TransFiles.ru/dujpq Хотел сделать без сообщений, но DublClick на Tree в Item оставляет фокус на Item, а не на TsBrowse. Сделал работу по сообщениям. На вопросы отвечу
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1452
Зарегистрирован: 11.02.10
|
|
Отправлено: 23.02.19 23:09. Заголовок: SergKis пишет: Небо..
SergKis пишет: цитата: | Небольшая оболочка для hmg |
| Большое спасибо! Очень хорошо SergKis пишет: цитата: | Хотел сделать без сообщений |
| Было бы тоже интересно... SergKis пишет: Наверное, небольшое описание как использовать не помешает
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2254
Зарегистрирован: 17.02.12
|
|
Отправлено: 24.02.19 00:05. Заголовок: gfilatov2002 пишет Н..
gfilatov2002 пишет цитата: | Наверное, небольшое описание как использовать не помешает |
| 1. Располагаю на уровне каталогов Advanced Application Basic TEST в нем подкаталог HmgPrj -> разорачиваем архив. Запускаемся. 2. Пример взаимодействия tree + tsbrowse 3. Изучаем содержимое текстов hmg (source, примеры, утилиты, doc) - в tree выбираем item с файлом - для txt, ch запустится редактор сразу - для prg, c в tsb создается список Entity, по ключевым словам, номер строки в тексте и содержимое строки. Работают сортировки в колонках Line, Entity type, Entity name (двойной клик). Выбрав строку нужную Enter, DblClick попадем на указанную строку в редакторе 4. Пример использования App.Cargo, App.Object, ThisWindow.Object Можно, конечно, добавить сборку minigui lib-ов, но не ставил такую цель
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2255
Зарегистрирован: 17.02.12
|
|
Отправлено: 24.02.19 00:15. Заголовок: PS Ключевые слова дл..
PS Ключевые слова для C, PRG + FColor задаются в массивах (можно сделать из вне) см. AppInitEnv() Запуск редактора в App.Object строка (см. STAT FUNC PrjStart( cPath, cDir )) :O:Ed := cDir + 'ED' + cSep + 'Notepad3.exe' из :O:ChLog := cPath + 'DOC' + cSep + 'ChangeLog.txt' берется root текст для Tree
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2256
Зарегистрирован: 17.02.12
|
|
Отправлено: 24.02.19 00:32. Заголовок: PPS Запуск редактора..
PPS Запуск редактора (два варианта) в строках :Event( 2, {|ow,ky,par| _Execute ( , , ow:AO:Ed, par, , 5 ) } ) // без номера строки :Event( 3, {|ow,ky,par| _Execute ( , , ow:AO:Ed, '/g '+par[1]+' '+par[2], , 5 ) } ) // с установкой на номер строки Notepad3.exe использован по причине наличия подсветки Harbour синтаксиса. Можно исп. другой. Notepad2.exe как пример другого лежит рядом в ED каталоге
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2257
Зарегистрирован: 17.02.12
|
|
Отправлено: 24.02.19 07:50. Заголовок: gfilatov2002 пишет Б..
gfilatov2002 пишет цитата: | Было бы тоже интересно... |
| Тут без евентов (строки помечены // !!!) https://TransFiles.ru/3i5po Разницы по тексту почти нет, но DblClick по дереву не переключает фокус на TsBrowse. Команда в STAT FUNC Read_Entity( cFile, cItem ) стоит oBrw:Cargo := cFile oBrw:aSuperHead[1, 3] := upper(cFile) oBrw:Reset() oBrw:SetFocus() DO EVENTS
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2258
Зарегистрирован: 17.02.12
|
|
Отправлено: 24.02.19 08:28. Заголовок: PS добавление новых ..
PS добавление новых ключевых слов Скрытый текст
AppInitEnv() ... aEntityPrg := { "FUNC " , ; ... "PROCEDURE " , ; "CREATE CLASS " , ; "CLASS " , ; "END CLASS " , ; ... aEntityFClr := { { "STAT " , CLR_BLUE }, ; { "STATIC " , CLR_BLUE }, ; { "CREATE" , CLR_RED }, ; { "CLASS " , CLR_RED }, ; { "ENDCLASS ", CLR_RED }, ; { "END " , CLR_RED }, ; { "DEFINE " , CLR_RED }, ; ...
|
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2259
Зарегистрирован: 17.02.12
|
|
Отправлено: 24.02.19 09:12. Заголовок: PPS Отсечь каталоги ..
PPS Отсечь каталоги из просмотра можно так Скрытый текст
*-----------------------------------------------------------------------------* STAT FUNC PrjSampl( nNr ) *-----------------------------------------------------------------------------* LOCAL aMask := {"*.prg", "*.cpp", "*.c", "*.ch"} LOCAL aNoDir := {"OBJ,ED,TMP,TEMP"} // было {"OBJ"} DEFAULT nNr := TREE_NODE_SAMLPES WITH OBJECT App.Object :O:aSampl := DirListHmg(:O:Sampl, aMask, .T., .F., aNoDir) END WITH RETURN Nil
|
|
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1453
Зарегистрирован: 11.02.10
|
|
Отправлено: 24.02.19 18:50. Заголовок: SergKis пишет: DblC..
SergKis пишет: цитата: | DblClick по дереву не переключает фокус на TsBrowse |
| Решил эту проблему с помощью простого таймера: цитата: | oBrw:Reset() DEFINE TIMER t_1 OF &cWnd INTERVAL 50 ACTION ( oBrw:SetFocus(), DOMETHOD( cWnd, "t_1", "RELEASE" ) ) ONCE DO EVENTS |
| предварительно добавив 3-й параметр в функцию цитата: | STAT FUNC Read_Entity( cFile, cItem, cWnd ) |
| Теперь фокус переключается нормально
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1454
Зарегистрирован: 11.02.10
|
|
Отправлено: 24.02.19 18:52. Заголовок: SergKis пишет: Тут ..
SergKis пишет: Большое спасибо
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2260
Зарегистрирован: 17.02.12
|
|
Отправлено: 25.02.19 09:39. Заголовок: gfilatov2002 пишет Р..
gfilatov2002 пишет цитата: | Решил эту проблему с помощью простого таймера предварительно добавив 3-й параметр в функцию Теперь фокус переключается нормально |
| Это все хорошо Что бы этого не делать + убираются и др. бяки, предпочитаю работать с Event-ами. Тексты при этом не сильно отличаются (на примере видно). gfilatov2002 Можно добавить в h_objmisc.prg *-----------------------------------------------------------------------------* FUNCTION _wPost( nEvent, nIndex, xParam ) *-----------------------------------------------------------------------------* LOCAL oWnd If HB_ISOBJECT(nIndex) If nIndex:ClassName == 'TSBROWSE' oWnd := _WindowObj( nIndex:cParentWnd ) Else oWnd := nIndex EndIf nIndex := Nil Else oWnd := _WindowObj( _HMG_THISFORMNAME ) EndIf oWnd:PostMsg( nEvent, nIndex, xParam ) RETURN Nil *-----------------------------------------------------------------------------* FUNCTION _wSend( nEvent, nIndex, xParam ) *-----------------------------------------------------------------------------* LOCAL oWnd If HB_ISOBJECT(nIndex) If nIndex:ClassName == 'TSBROWSE' oWnd := _WindowObj( nIndex:cParentWnd ) Else oWnd := nIndex EndIf nIndex := Nil Else oWnd := _WindowObj( _HMG_THISFORMNAME ) EndIf oWnd:SendMsg( nEvent, nIndex, xParam ) RETURN Nil проще писать в текстах, например: ON DBLCLICK (ThisWindow.Object):Post(1, This.Index) ; --> _wPost(1, This.Index) :UserKeys(VK_ESCAPE, {|ob| _WindowObj(ob:cParentWnd):Send(4) } ) --> :UserKeys(VK_ESCAPE, {|ob| _wSend(4, ob) }) :UserKeys(VK_RETURN, {|ob,ow,cl| ow := _WindowObj(ob:cParentWnd), ; cl := hb_ntos((ob:cAlias)->R_2), ; ow:Send(3, , { cl, ob:Cargo }) } ) --> :UserKeys(VK_RETURN, {|ob| _wSend(3,ob, { hb_ntos((ob:cAlias)->R_2), ob:Cargo }) } )
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1455
Зарегистрирован: 11.02.10
|
|
Отправлено: 25.02.19 10:42. Заголовок: SergKis пишет: доба..
SergKis пишет: OK, добавил P.S. Новая сборка выйдет завтра...
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1456
Зарегистрирован: 11.02.10
|
|
Отправлено: 26.02.19 10:19. Заголовок: Выпущена новая сборк..
Выпущена новая сборка 19.02 для BCC 5.5.1 и компиляторов Harbour и xHarbour. Инсталлятор базового дистрибутива находится по адресу http://hmgextended.com/files/CONTRIB/hmg-19.02-setup.exe Также имеются дополнительные сборки для следующих Си-компиляторов: - MinGW 8.1.0 32-bit для Harbour 3.2.0dev; (есть в наличии) - MinGW 8.2.0 64-bit для Harbour 3.4.0dev; (есть в наличии) - MS VisualC 2017 32-bit для Harbour 3.2.0dev; (путь и имя архива не изменял) - MS VisualC 2017 64-bit для Harbour 3.2.0dev; (путь и имя архива не изменял) - Pelles C 8.0 32-bit для xHarbour b10244; (под заказ) - Pelles C 9.0 64-bit для xHarbour b10244; (под заказ) - Borland/Embarcadero C++ 7.3 (32-bit) для Harbour 3.2.0dev; (под заказ) - Open Watcom C/C++ 2.0 (32-bit) для Harbour 3.2.0dev. (под заказ) Благодарю за Ваше внимание
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2261
Зарегистрирован: 17.02.12
|
|
Отправлено: 27.02.19 21:18. Заголовок: Возможно, будет поле..
Возможно, будет полезно (на базе пред. примера). Утилита hmg_project для просмотра исходников MiniGui https://TransFiles.ru/o9ytl Добавлен пункт All entity для списка всех entity объектов файлов C и PRG каталога SOURCE. На индексных колонках есть подвод по вводимому тексту (для колонки line это по name файла) Архив разворачивать в UTILS\hmg_project. Сборка только под посл. версией hmg. На вопросы отвечу.
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1457
Зарегистрирован: 11.02.10
|
|
Отправлено: 27.02.19 23:33. Заголовок: SergKis пишет: Утил..
SergKis пишет: цитата: | Утилита hmg_project для просмотра исходников |
| Большое спасибо SergKis пишет: Да, очень наглядный пример системной утилиты
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6182
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.02.19 23:55. Заголовок: SergKis пишет: Утил..
SergKis пишет: цитата: | Утилита hmg_project для просмотра исходников MiniGui |
| Можно ли добавить в эту утилиту глобальный поиск по исходникам, но только не отдельных слов (это просто, можно Far использовать), а поиск по строкам 2х или 3х слов одновременно (Far такого не может) ?
|
|
|
TimTim
|
| |
Пост N: 162
Зарегистрирован: 10.07.07
|
|
Отправлено: 28.02.19 08:31. Заголовок: А что мелочиться, ср..
А что мелочиться, сразу уж поиск по регулярному выражению.
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|