VisualFBEditor (визуальный кроссплатформенный редактор)
|
|
haav | Дата: Понедельник, 18.01.2021, 18:58 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| VisualFBEditor
IDE для Windows и Linux c отладчиком и визуальным построением интерфейса.
Ссылка на проект: https://github.com/XusinboyBekchanov/VisualFBEditor/releases
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
haav | Дата: Понедельник, 18.01.2021, 19:47 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Теперь напишу о проблемах , которые вылезают у меня и надеюсь , что автор зайдет в эту тему и хоть что-то подскажет. Можно конечно было написать на английском сайте , но на чужом языке иногда трудно объяснить все тонкости.
1) При запуске редактора выскакивает сообщение: file not found ......MyFbFramework/libmff64_gtk3.so. При чем папка такая существует в каталоге с редактором , но редактор ее почему-то не видит.
2) Кнопки toolbar не видны , но это наверное из-за проблемы №1
3) Что за меню справа?
4) При нажатии "компиляция" , показывается окно с сохранением. Но если нажать "отмена" , то виснет вся система.
5) тулбар с Controls плывет и превращается в одну колонку с прокруткой
6) Если перенести на форму простую кнопку , то ее можно перемещать , но после этого не меняется ее размер
7) У некоторых других контролов , например checkbox размер меняется не всегда ,и даже когда меняется не видно насколько нужно менять , поскольку боковые зацепы для мыши исчезают
8) Если положить на форму comboboxedit , потом кликнуть мышью на другой контрол и опять попробовать изменить размер comboboxedit , то он не выделяется вообще.
Возможно под Windows все работает хорошо , но под Linux пока работать не получается.
Вот пока то , что попробовал. Система Linux mint 19.3 cinnamon
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
bxusinboy | Дата: Понедельник, 18.01.2021, 20:37 | Сообщение # 3 |
Рядовой
Группа: Пользователи
Сообщений: 16
Статус: Offline
| Цитата haav ( ) 1) При запуске редактора выскакивает сообщение: file not found ......MyFbFramework/libmff64_gtk3.so. При чем папка такая существует в каталоге с редактором , но редактор ее почему-то не видит. Здравствуйте, вы сами скомпилировали VisualFBEditor или запускали имеющийся VisualFBEditor64_gtk3? Если вы сами скомпилировали, тогда при компиляции нужно установить этот ключ: -x "../VisualFBEditor64_gtk3". Тогда приложение станет на свое место и должен найти рисунков Toolbar'а, находящийся в папке Resources. И libmff64_gtk3.so есть в MyFbFramework, так?Добавлено (18.01.2021, 20:45) ---------------------------------------------
Цитата haav ( ) 3) Что за меню справа? Там кнопки Toolbar'a не вмещается в строку, поэтому остальные показывает как меню.
Сообщение отредактировал bxusinboy - Понедельник, 18.01.2021, 20:43 |
|
| |
haav | Дата: Понедельник, 18.01.2021, 20:52 | Сообщение # 4 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Xusinboy, давай не будем выкать и перейдем на ты?
Цитата bxusinboy ( ) Здравствуйте, вы сами скомпилировали VisualFBEditor или запускали имеющийся VisualFBEditor64_gtk3?
Я запускал скомпилированные тобой VisualFBEditor64_gtk2 и VisualFBEditor64_gtk3 , но результат один и тот же.
Цитата И libmff64_gtk3.so есть в MyFbFramework, так?
конечно , я же брал готовый архив со всем необходимым. Распаковал и запустил.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
bxusinboy | Дата: Понедельник, 18.01.2021, 21:23 | Сообщение # 5 |
Рядовой
Группа: Пользователи
Сообщений: 16
Статус: Offline
| Цитата haav ( ) Xusinboy, давай не будем выкать и перейдем на ты? Ок.
Я же добавляю ExePath & "/Resources" в gtk_icon_theme_append_search_path:
Код Constructor Application If pApp = 0 Then pApp = @This #ifdef __USE_GTK__ 'g_thread_init(NULL) gdk_threads_init() gtk_init(NULL, NULL) gtk_icon_theme_append_search_path(gtk_icon_theme_get_default(), ExePath & "/resources") gtk_icon_theme_append_search_path(gtk_icon_theme_get_default(), ExePath & "/Resources")
Потом устанавливаю icon по названию файла PNG:
Код Property ToolButton.ImageKey(ByRef Value As WString) WLet(FImageKey, Value) #ifdef __USE_GTK__ If GTK_IS_TOOL_BUTTON(Widget) Then gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(Widget), Value) #else
Как может не найти PNG ресурсов. Я тестировал все это на Ubuntu. У тебя случайно нету Ubuntu, чтобы проверить: там показывает значки или нет. Или может быть проблема в версии gtk.Добавлено (18.01.2021, 22:23) ---------------------------------------------
Цитата haav ( ) 4) При нажатии "компиляция" , показывается окно с сохранением. Но если нажать "отмена" , то виснет вся система. Спасибо что сообщил эту проблему, исправил это сейчас: https://github.com/Xusinbo....5a7d328Добавлено (19.01.2021, 06:36) ---------------------------------------------
Цитата bxusinboy ( ) Как может не найти PNG ресурсов. Я тестировал все это на Ubuntu. У тебя случайно нету Ubuntu, чтобы проверить: там показывает значки или нет. Или может быть проблема в версии gtk. Может быть в путях есть русские символы? Это буду проверять, когда буду дома, там есть система Ubuntu (надо будет ToUTF8(ExePath)).
Цитата haav ( ) 5) тулбар с Controls плывет и превращается в одну колонку с прокруткой Это я уловил в GTK2 только.
Цитата haav ( ) 6) Если перенести на форму простую кнопку , то ее можно перемещать , но после этого не меняется ее размер С клавишами тоже можно (Shift + Left, Shift + Down). В GTK2 не исправил ещё показ указателей. Но если нажать кнопку мыши на один из квадратиков изменение размера и перемещать, то работает.
Цитата haav ( ) 7) У некоторых других контролов , например checkbox размер меняется не всегда ,и даже когда меняется не видно насколько нужно менять , поскольку боковые зацепы для мыши исчезают С клавишами работает, так?
Цитата haav ( ) 8) Если положить на форму comboboxedit , потом кликнуть мышью на другой контрол и опять попробовать изменить размер comboboxedit , то он не выделяется вообще. Это из-за не доступности comboboxedit'a. Если нет элементов в КомбоБоксе, то изначально этот контроль не доступный, это могу исправить добавлением одного итем'а, проверив если это в дизайн режиме. Но можно выделить нарисовав четырёхугольник в форме над КомбоБоксом.Добавлено (19.01.2021, 06:39) ---------------------------------------------
Цитата haav ( ) 1) При запуске редактора выскакивает сообщение: file not found ......MyFbFramework/libmff64_gtk3.so. При чем папка такая существует в каталоге с редактором , но редактор ее почему-то не видит. Это тоже может быть из-за русских символов. Это тоже буду проверять.
|
|
| |
haav | Дата: Вторник, 19.01.2021, 12:10 | Сообщение # 6 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Цитата bxusinboy ( ) Может быть в путях есть русские символы?
Да в пути были не латинские символы. Если путь без латиницы, то значки появляются. Однако библиотеку libmff64_gtk3.so все так же не видит.
Вот маленькое видео
Цитата Это я уловил в GTK2 только.
Да это в gtk2. Больше того окно с контролами исчезает полностью , в видео видно. Кроме того в видео будет видно , что значки в тулбаре в gtk2 обрезанные.
--------------
Баги с перемещением\изменением размера как я понял "плавающие" (то появляются, то исчезают). Например сегодня обычная кнопка почти всегда изменяла размер , но в один момент не хотела выделяться (несколько раз пришлось по ней кликнуть) Это плохие ошибки , отловить их бывает непросто.
-------------
Так же на видео видно, что некоторые кнопки (скрепки) постоянно моргают. Это не эффект видео , так на самом деле происходит.
-------------
Я не смотрел код редактора , наверное ты используешь реальные виджеты на FORM? Я еще когда писал преимущественно под windows, баловался с визуальным редактором и понял , что самый лучший вариант - это полностью рисовать все контролы\виджеты вручную. Может сильно не нужно прорисовывать , просто человек должен приблизительно понимать где какой контрол. То есть например listbox - это рамка и надпись внутри , что это listbox. Есть такая программа VISG , к сожалению только под Windows. Вот в ней автор часть контролов брал оригинальные , а часть просто рисовал.
Цитата С клавишами работает, так?
Честно скажу , пользоваться клавишами в визуальном редакторе , размещая виджеты - это совсем не то.
------------
Редактор у тебя шикарный , если его довести до ума.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
bxusinboy | Дата: Вторник, 19.01.2021, 20:34 | Сообщение # 7 |
Рядовой
Группа: Пользователи
Сообщений: 16
Статус: Offline
| Цитата haav ( ) Да в пути были не латинские символы. Если путь без латиницы, то значки появляются. Однако библиотеку libmff64_gtk3.so все так же не видит. Теперь это исправлено, иконки теперь видны в Линукс, если путь к редактору в Юникоде (и ещё FileExists тоже исправлен): https://github.com/Xusinbo....ccd7674
Добавлено (19.01.2021, 21:32) ---------------------------------------------
Цитата haav ( ) Да это в gtk2. Больше того окно с контролами исчезает полностью , в видео видно. Это исправлено: https://github.com/Xusinbo....5ccec4e
Добавлено (19.01.2021, 21:59) ---------------------------------------------
Цитата haav ( ) Кроме того в видео будет видно , что значки в тулбаре в gtk2 обрезанные. В gtk3 если размер не хватает, сам автоматом увеличивает размеры тулбара, а в gtk2 нет. Нужно подумать над этим (как определить, что размер хватает или нет, у тебя кнопки тулбара очень большие, а у меня маленькие).
Добавлено (19.01.2021, 22:19) ---------------------------------------------
Цитата haav ( ) Баги с перемещением\изменением размера как я понял "плавающие" (то появляются, то исчезают). Например сегодня обычная кнопка почти всегда изменяла размер , но в один момент не хотела выделяться (несколько раз пришлось по ней кликнуть) Это плохие ошибки , отловить их бывает непросто. Я вижу что, когда нажимаешь на CommandButton1, высвечивает ListControl1, поэтому не выделяется CommandButton. ListControl1 и ListView1 не показались на дизайнере, но функционировали, например вовремя DblClick для ListView1 открылось событие для BeginScroll в редакторе кода. Я ещё посмотрю это.
Добавлено (20.01.2021, 04:45) ---------------------------------------------
Цитата haav ( ) Так же на видео видно, что некоторые кнопки (скрепки) постоянно моргают. Это не эффект видео , так на самом деле происходит. Как то без открытия программы во время показа пути к редактору тоже моргала Explorer. Может быть это системная ошибка?
Добавлено (20.01.2021, 04:51) ---------------------------------------------
Цитата haav ( ) Я не смотрел код редактора , наверное ты используешь реальные виджеты на FORM? Я еще когда писал преимущественно под windows, баловался с визуальным редактором и понял , что самый лучший вариант - это полностью рисовать все контролы\виджеты вручную. Может сильно не нужно прорисовывать , просто человек должен приблизительно понимать где какой контрол. То есть например listbox - это рамка и надпись внутри , что это listbox. Есть такая программа VISG , к сожалению только под Windows. Вот в ней автор часть контролов брал оригинальные , а часть просто рисовал. Придется так сделать, наверное, для некоторых контролов (для пустых ImageBox'ов, например). ListControl1 и ListView1 не показалось, по-моему, из-за того, что они были внутри ScrolledWindow, и неправильно определились позиции.
Добавлено (20.01.2021, 04:53) ---------------------------------------------
Цитата haav ( ) Честно скажу , пользоваться клавишами в визуальном редакторе , размещая виджеты - это совсем не то. С помощью клавишами можно изменять размеры и позиции по пикселям (с помощью Shift).Добавлено (20.01.2021, 06:10) ---------------------------------------------
Цитата bxusinboy ( ) В gtk3 если размер не хватает, сам автоматом увеличивает размеры тулбара, а в gtk2 нет. Нужно подумать над этим (как определить, что размер хватает или нет, у тебя кнопки тулбара очень большие, а у меня маленькие). Один из способов, по-моему, не устанавливать высоту. Проверю это когда будет время, вечером.
Сообщение отредактировал bxusinboy - Среда, 20.01.2021, 05:14 |
|
| |
haav | Дата: Среда, 20.01.2021, 07:45 | Сообщение # 8 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Цитата bxusinboy ( )
здорово
Цитата bxusinboy ( ) В gtk3 если размер не хватает, сам автоматом увеличивает размеры тулбара, а в gtk2 нет. Нужно подумать над этим (как определить, что размер хватает или нет, у тебя кнопки тулбара очень большие, а у меня маленькие).
Да, это зависит от темы.
Цитата bxusinboy ( ) Я вижу что, когда нажимаешь на CommandButton1, высвечивает ListControl1, поэтому не выделяется CommandButton. ListControl1 и ListView1 не показались на дизайнере, но функционировали, например вовремя DblClick для ListView1 открылось событие для BeginScroll в редакторе кода. Я ещё посмотрю это.
Так наверное кнопка наехала на listcontrol. Но ведь это из-за того , что часть контролов визуально исчезает после установки на FORM, поэтому и не видно куда размещать. Получается работа вслепую. Тут обязательно нужно делать , чтобы контролы после размещения были видны и имелась возможность их перемещать\изменять размер , иначе пропадает главная функция инструмента и его полезность.
Цитата bxusinboy ( ) Как то без открытия программы во время показа пути к редактору тоже моргала Explorer. Может быть это системная ошибка?
Это был как раз эффект видео (что-то с алгоритмом записи в программе vokoscreen). В случае же со скрепками в твоей программе , они моргают всегда, даже когда я не веду запись.
Цитата bxusinboy ( ) С помощью клавишами можно изменять размеры и позиции по пикселям (с помощью Shift).
Да это здорово , что такая возможность есть, но первоначальное приблизительное размещение всегда удобно делать мышью
------------------------
Кстати , все контролы , что указаны на панели имеются в Linux?
Я попробовал размещать: Grid , Animate , CheckedLitbox , DateTimePicker , Header , IpAddress, NativeFontControl , PageScroller , ReBar их так же не видно после размещения. Более того , если щелкнуть двойным кликом по тому месту куда установил эти контролы , программа аварийно завершается.
Вот эти контролы: ComboBoxedit , ComboBoxEx , RadioButton , ScrollBarControl , TextBox , ToolBar , TrackBar , HScrollBar , VscrollBar , WebBrowser , MainMenu часть из них тоже не видна , но не вылетают после двойного клика, однако и реакции на двойной клик никакой , то есть перехода в окно с кодом не происходит.
------------------------------------
Я не понял как работать с меню... Закинул на форму MainMenu, а дальше что делать? Все пункты меню руками в коде прописывать?
И кстати, а где справка для библиотеки MyFbFramework? Вот я к примеру набросал на форму виджетов, а дальше как я ими буду взаимодействовать? Ведь нужны функции . Понятно , что они есть , но инструкции для их использования я не вижу. Допустим я знаю в определенных пределах winapi, gtk и смогу разобраться в твоем исходном коде библиотеки , а что делать тем , кто не знаком с нативными функциями систем?
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
bxusinboy | Дата: Среда, 20.01.2021, 10:18 | Сообщение # 9 |
Рядовой
Группа: Пользователи
Сообщений: 16
Статус: Offline
| Цитата haav ( ) Кстати , все контролы , что указаны на панели имеются в Linux?Я попробовал размещать: Grid , Animate , CheckedLitbox , DateTimePicker , Header , IpAddress, NativeFontControl , PageScroller , ReBar их так же не видно после размещения. Более того , если щелкнуть двойным кликом по тому месту куда установил эти контролы , программа аварийно завершается. Я не пробовал ни разу щелкнуть двойным кликом, потому что эти контролы в Linux не реализованы. Если аварийно завершается тогда нужно исправить это и сказать пользователю что не создан такой-то контрол.
Цитата haav ( ) Вот эти контролы:ComboBoxedit , ComboBoxEx , RadioButton , ScrollBarControl , TextBox , ToolBar , TrackBar , HScrollBar , VscrollBar , WebBrowser , MainMenu часть из них тоже не видна , но не вылетают после двойного клика, однако и реакции на двойной клик никакой , то есть перехода в окно с кодом не происходит. Здесь WebBrowser тоже не реализован, даже в Windows. В двойном клике может быть не уловимая проблема. Посмотрим. Здесь не видимым может быть только WebBrowser.
Цитата haav ( ) Я не понял как работать с меню... Закинул на форму MainMenu, а дальше что делать? Все пункты меню руками в коде прописывать? Конструктор для меню ещё не реализован. В Windows тоже.
Цитата haav ( ) И кстати, а где справка для библиотеки MyFbFramework? Вот я к примеру набросал на форму виджетов, а дальше как я ими буду взаимодействовать? Ведь нужны функции . Понятно , что они есть , но инструкции для их использования я не вижу. Допустим я знаю в определенных пределах winapi, gtk и смогу разобраться в твоем исходном коде библиотеки , а что делать тем , кто не знаком с нативными функциями систем? Один из помощников этой библиотеки предлагал сделать справку. Но не видно ещё.Добавлено (20.01.2021, 11:52) --------------------------------------------- Вот начатое мной: https://github.com/XusinboyBekchanov/MyFbFramework/wiki/CheckBox
|
|
| |
haav | Дата: Среда, 20.01.2021, 16:21 | Сообщение # 10 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Цитата bxusinboy ( ) Один из помощников этой библиотеки предлагал сделать справку. Но не видно ещё.
Хочешь сделать хорошо , cделай сам! Не знаю кому изначально принадлежала эта фраза. Никто , кроме тебя не знает всех тонкостей библиотеки, поэтому никто кроме тебя не сможет написать справку с наименьшим кол-вом неточностей.
-----------
Скомпилировал и запустил простой исходник без gui. Вроде нормально , но опять есть проблемы с русскими путями. Компиляция проходит и файл запускается , но в окне вывода:
Цитата Do not build file.
Ну и конечно после выключения процесс висит в списке задач. И вишенка на торте: пропали все значки с виджетами с боковой панели.
Тут все таки встают вопросы:
1) Почему , если файл не создан судя по лог-выводу, он все таки создается? По логике файла быть не должно 2) Почему , если файл создан с ошибкой , редактор его запускает? Ведь я использую кнопку F5 (Start with compile) ? По логике если компиляция с ошибкой, то запуск должен быть запрещен. Нет проверок? Далее по отладке:
Я не стал сильно мучить редактор с GUI и скомпилировал простенький исходник из нескольких строк кнопочкой Compile (CTRL+F9). Перед этим конечно включил (Use Debugger). Компиляция прошла , далее нажимаю F8 запускается терминал с ошибкой "Произошла ошибка при создании дочернего процесса для этого терминала". Ну и конечно процесс висит после закрытия, впрочем сам редактор после его закрытия тоже висит.
Далее залез в код и понял что отладчик под Linux даже не реализован. Тогда почему на клавишах с отладкой заглушка не стоит? А то я тут пытаюсь понять почему не работает
-------------
У тебя linux c каким языковым интерфейсом? Если с английским , тогда понятно , почему ты не увидел столько очевидные проблемы с не латинскими символами с путями к файлам.
-----------
Что же, желаю тебе терпения , удачи и желания для реализации всех нужных функций под Linux.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
bxusinboy | Дата: Среда, 20.01.2021, 20:38 | Сообщение # 11 |
Рядовой
Группа: Пользователи
Сообщений: 16
Статус: Offline
| Цитата haav ( ) Хочешь сделать хорошо , cделай сам! Не знаю кому изначально принадлежала эта фраза. Никто , кроме тебя не знает всех тонкостей библиотеки, поэтому никто кроме тебя не сможет написать справку с наименьшим кол-вом неточностей. Когда время будет, делаю конечно.
Цитата haav ( ) Скомпилировал и запустил простой исходник без gui. Вроде нормально , но опять есть проблемы с русскими путями. Компиляция проходит и файл запускается , но в окне вывода:Цитата Do not build file. У меня тоже так сообщил: Do not build file, но у меня автоматом не запускался. Исправил проверку существования компилированного файла: https://github.com/Xusinbo....1545ada
Цитата haav ( ) Ну и конечно после выключения процесс висит в списке задач. Если процесс висит в списке задач, может быть в скомпилированном исходнике проблема?
Цитата haav ( ) И вишенка на торте: пропали все значки с виджетами с боковой панели. Да, я это раньше тоже видел. Сейчас определил строку, вынуждающее пропасть значков. Это в начале запуска компилятора, ещё надо мне продолжать проверку с разными аргументами командной строки.
Цитата haav ( ) Тут все таки встают вопросы:1) Почему , если файл не создан судя по лог-выводу, он все таки создается? По логике файла быть не должно 2) Почему , если файл создан с ошибкой , редактор его запускает? Ведь я использую кнопку F5 (Start with compile) ? По логике если компиляция с ошибкой, то запуск должен быть запрещен. Нет проверок?
Проверки есть. У меня не запускалось.
Цитата haav ( ) Далее по отладке:Я не стал сильно мучить редактор с GUI и скомпилировал простенький исходник из нескольких строк кнопочкой Compile (CTRL+F9). Перед этим конечно включил (Use Debugger). Компиляция прошла , далее нажимаю F8 запускается терминал с ошибкой "Произошла ошибка при создании дочернего процесса для этого терминала". Ну и конечно процесс висит после закрытия, впрочем сам редактор после его закрытия тоже висит.
Далее залез в код и понял что отладчик под Linux даже не реализован. Тогда почему на клавишах с отладкой заглушка не стоит? А то я тут пытаюсь понять почему не работает У меня F8 запускает gdb. Если выберу Integrated IDE Debugger, тогда произойдет так как описано (с исключением: редактор работает, но кнопки запуска не работает из-за незаконченной отладки). В Linux для Integrated IDE Debugger планировал использовать gdb. Могу временно убрать эту настройку.
Цитата haav ( ) У тебя linux c каким языковым интерфейсом? Если с английским , тогда понятно , почему ты не увидел столько очевидные проблемы с не латинскими символами с путями к файлам. У меня Linux русский, но у меня программы стоят в папках с не русскими буквами.
Цитата haav ( ) Что же, желаю тебе терпения , удачи и желания для реализации всех нужных функций под Linux. Спасибо тебе за всю критику, предложения и пожелания.
|
|
| |
|