On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение
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;
- новые и обновленные старые примеры (как обычно ).




Спасибо: 5 
Профиль
Ответов - 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


Супер
Большое спасибо за пример

Спасибо: 0 
Профиль
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 ) )
...


Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1451
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 21.02.19 21:14. Заголовок: SergKis пишет: Доба..


SergKis пишет:

 цитата:
Добавьте, пожалуйста, в CLASS TKeyData


OK

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2252
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.02.19 20:04. Заголовок: gfilatov2002 Неболь..


gfilatov2002
Небольшая оболочка для hmg https://TransFiles.ru/dujpq

Хотел сделать без сообщений, но DublClick на Tree в Item оставляет фокус на Item, а не на TsBrowse.
Сделал работу по сообщениям.
На вопросы отвечу

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1452
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 23.02.19 23:09. Заголовок: SergKis пишет: Небо..


SergKis пишет:

 цитата:
Небольшая оболочка для hmg


Большое спасибо! Очень хорошо

SergKis пишет:

 цитата:
Хотел сделать без сообщений


Было бы тоже интересно...

SergKis пишет:

 цитата:
На вопросы отвечу


Наверное, небольшое описание как использовать не помешает

Спасибо: 0 
Профиль
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-ов, но не ставил такую цель

Спасибо: 0 
Профиль
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

Спасибо: 0 
Профиль
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 каталоге

Спасибо: 0 
Профиль
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

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2258
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.02.19 08:28. Заголовок: PS добавление новых ..


PS
добавление новых ключевых слов Скрытый текст


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 2259
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.02.19 09:12. Заголовок: PPS Отсечь каталоги ..


PPS
Отсечь каталоги из просмотра можно так Скрытый текст


Спасибо: 0 
Профиль
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 )


Теперь фокус переключается нормально

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1454
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 24.02.19 18:52. Заголовок: SergKis пишет: Тут ..


SergKis пишет:

 цитата:
Тут без евентов


Большое спасибо

Спасибо: 0 
Профиль
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 }) } )



Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1455
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 25.02.19 10:42. Заголовок: SergKis пишет: доба..


SergKis пишет:

 цитата:
добавить в h_objmisc.prg


OK, добавил

P.S. Новая сборка выйдет завтра...

Спасибо: 0 
Профиль
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. (под заказ)

Благодарю за Ваше внимание

Спасибо: 1 
Профиль
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.
На вопросы отвечу.

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1457
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 27.02.19 23:33. Заголовок: SergKis пишет: Утил..


SergKis пишет:

 цитата:
Утилита hmg_project для просмотра исходников


Большое спасибо

SergKis пишет:

 цитата:
будет полезно


Да, очень наглядный пример системной утилиты

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 6182
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.02.19 23:55. Заголовок: SergKis пишет: Утил..


SergKis пишет:

 цитата:
Утилита hmg_project для просмотра исходников MiniGui


Можно ли добавить в эту утилиту глобальный поиск по исходникам, но только не отдельных слов (это просто, можно Far использовать), а поиск по строкам 2х или 3х слов одновременно (Far такого не может) ?

Спасибо: 0 
Профиль
TimTim



Пост N: 162
Зарегистрирован: 10.07.07
ссылка на сообщение  Отправлено: 28.02.19 08:31. Заголовок: А что мелочиться, ср..


А что мелочиться, сразу уж поиск по регулярному выражению.

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 680
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет