FreeBasic
Главная
Вход
Регистрация
Суббота, 21.12.2024, 17:32Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
VisualFBEditor (визуальный кроссплатформенный редактор)
haavДата: Понедельник, 18.01.2021, 18:58 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Репутация: 50
Статус: Offline
VisualFBEditor




IDE для Windows и Linux c отладчиком и визуальным построением интерфейса.

Ссылка на проект: https://github.com/XusinboyBekchanov/VisualFBEditor/releases
Прикрепления: 8440859.png (209.2 Kb)


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
haavДата: Понедельник, 18.01.2021, 19:47 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Репутация: 50
Статус: 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
Прикрепления: 1904257.png (47.6 Kb) · 0438011.jpg (46.2 Kb)


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
bxusinboyДата: Понедельник, 18.01.2021, 20:37 | Сообщение # 3
Рядовой
Группа: Пользователи
Сообщений: 16
Репутация: 2
Статус: 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
Репутация: 50
Статус: Offline
Xusinboy, давай не будем выкать и перейдем на ты?

Цитата bxusinboy ()
Здравствуйте, вы сами скомпилировали VisualFBEditor или запускали имеющийся VisualFBEditor64_gtk3?


Я запускал скомпилированные тобой VisualFBEditor64_gtk2 и VisualFBEditor64_gtk3 , но результат один и тот же.

Цитата
И libmff64_gtk3.so есть в MyFbFramework, так?


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


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
bxusinboyДата: Понедельник, 18.01.2021, 21:23 | Сообщение # 5
Рядовой
Группа: Пользователи
Сообщений: 16
Репутация: 2
Статус: 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
Репутация: 50
Статус: Offline
Цитата bxusinboy ()
Может быть в путях есть русские символы?


Да в пути были не латинские символы. Если путь без латиницы, то значки появляются. Однако библиотеку libmff64_gtk3.so все так же не видит.

Вот маленькое видео

Цитата
Это я уловил в GTK2 только.


Да это в gtk2. Больше того окно с контролами исчезает полностью , в видео видно. Кроме того в видео будет видно , что значки в тулбаре в gtk2 обрезанные.

--------------

Баги с перемещением\изменением размера как я понял "плавающие" (то появляются, то исчезают). Например сегодня обычная кнопка почти всегда изменяла размер , но в один момент не хотела выделяться (несколько раз пришлось по ней кликнуть) Это плохие ошибки , отловить их бывает непросто.

-------------

Так же на видео видно, что некоторые кнопки (скрепки) постоянно моргают. Это не эффект видео , так на самом деле происходит.

-------------

Я не смотрел код редактора , наверное ты используешь реальные виджеты на FORM? Я еще когда писал преимущественно под windows, баловался с визуальным редактором и понял , что самый лучший вариант - это полностью рисовать все контролы\виджеты вручную. Может сильно не нужно прорисовывать , просто человек должен приблизительно понимать где какой контрол. То есть например listbox - это рамка и надпись внутри , что это listbox. Есть такая программа VISG , к сожалению только под Windows. Вот в ней автор часть контролов брал оригинальные , а часть просто рисовал.

Цитата
С клавишами работает, так?


Честно скажу , пользоваться клавишами в визуальном редакторе , размещая виджеты - это совсем не то.

------------

Редактор у тебя шикарный , если его довести до ума.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
bxusinboyДата: Вторник, 19.01.2021, 20:34 | Сообщение # 7
Рядовой
Группа: Пользователи
Сообщений: 16
Репутация: 2
Статус: 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
Репутация: 50
Статус: Offline
Цитата bxusinboy ()
Это исправлено:
https://github.com/Xusinbo....5ccec4e


здорово

Цитата 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
Репутация: 2
Статус: 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
Репутация: 50
Статус: Offline
Цитата bxusinboy ()
Один из помощников этой библиотеки предлагал сделать справку. Но не видно ещё.


Хочешь сделать хорошо , cделай сам! Не знаю кому изначально принадлежала эта фраза. Никто , кроме тебя не знает всех тонкостей библиотеки, поэтому никто кроме тебя не сможет написать справку с наименьшим кол-вом неточностей.

-----------

Скомпилировал и запустил простой исходник без gui. Вроде нормально , но опять есть проблемы с русскими путями. Компиляция проходит и файл запускается , но в окне вывода:

Цитата
Do not build file.


Ну и конечно после выключения процесс висит в списке задач. И вишенка на торте: пропали все значки с виджетами с боковой панели.

Тут все таки встают вопросы:

1) Почему , если файл не создан судя по лог-выводу, он все таки создается? По логике файла быть не должно
2) Почему , если файл создан с ошибкой , редактор его запускает? Ведь я использую кнопку F5 (Start with compile) ? По логике если компиляция с ошибкой, то запуск должен быть запрещен. Нет проверок?

Далее по отладке:

Я не стал сильно мучить редактор с GUI и скомпилировал простенький исходник из нескольких строк кнопочкой Compile (CTRL+F9). Перед этим конечно включил (Use Debugger). Компиляция прошла , далее нажимаю F8 запускается терминал с ошибкой "Произошла ошибка при создании дочернего процесса для этого терминала". Ну и конечно процесс висит после закрытия, впрочем сам редактор после его закрытия тоже висит.

Далее залез в код и понял что отладчик под Linux даже не реализован. Тогда почему на клавишах с отладкой заглушка не стоит? А то я тут пытаюсь понять почему не работает smile

-------------

У тебя linux c каким языковым интерфейсом? Если с английским , тогда понятно , почему ты не увидел столько очевидные проблемы с не латинскими символами с путями к файлам.

-----------

Что же, желаю тебе терпения , удачи и желания для реализации всех нужных функций под Linux.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
bxusinboyДата: Среда, 20.01.2021, 20:38 | Сообщение # 11
Рядовой
Группа: Пользователи
Сообщений: 16
Репутация: 2
Статус: 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.

Спасибо тебе за всю критику, предложения и пожелания.
 
  • Страница 1 из 1
  • 1
Поиск: