Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    default0
    @default0
    PR has been created.
    Maksym
    @Lastin
    Hello. I keep getting segmentation fault on destructor of one of my classes which uses Drawable for animated background. If I don't override destructor then I get error when releasing references, or memory leak in fonts. So it seems like the destructor is called twice for the same object. Is there a particular pattern in which objects should be destroyed using dlangui? To recreate, run https://github.com/Lastin/AlienCivilisations, click NEW GAME button, then hit ESCAPE button on the keyboard and then click EXIT GAME button in the menu.
    Vadim Lopatin
    @buggins
    please submit issue on GH
    Roman Chistokhodov
    @FreeSlave
    This is weird. When I build dlangui via dub, it says that building 0.6.32 while git describe --tags gives v0.7.77, so maybe some reported issues by me are not relevant now.
    Oh, it seems I had local override. What a shame.
    Roman Chistokhodov
    @FreeSlave
    Tried on 0.7.77. Issues still apply.
    Roman Chistokhodov
    @FreeSlave
    @buggins what distro and desktop environment do you use to test dlangui linux version?
    Vadim Lopatin
    @buggins
    what exactly are you going to customize in STRING_GRID?
    Vadim Lopatin
    @buggins
    most of externalized grid properties are color constants
    Vadim Lopatin
    @buggins
    new DlangUI example: IRC Client -- dlangui/examples/ircclient, dub dlangui:ircclient
    Roman Chistokhodov
    @FreeSlave
    Currently showInFileManager is duplicated among platforms. But platforms in dlangui refer to gui backends, not operating systems or desktop environments. How about moving showInFileManager to separate module? Maybe desktopservices.d. Not sure what package it would belong to though.
    Such module also could contain other desktop-specific functions like openURL (currently in common/platform), interface to trash can (if will be implemented), etc.
    Maksym
    @Lastin
    Hello lads. I've tried compiling my project on windows, but when I attempt to add dlangui-monod-windows.dproj to my project I get "object reference not set to an instance of an object". Has anyone had the same issue by any chance?
    Vadim Lopatin
    @buggins
    Don't you use VisualD
    ?
    Vadim Lopatin
    @buggins
    I did not update Mono-D / windows for long time. Some source files are missing in this project, and paths to dependency projects are obsolete
    Vadim Lopatin
    @buggins
    (updated Mono-D windows projects. Does it work now?)
    Maksym
    @Lastin
    I will test it on Windows later today. I actually compiled it with your DlangIDE. Only issue was that the window to open existing project did not contain any elements. So instead I created new project, pasted my source files there and it compiled.
    Vadim Lopatin
    @buggins
    looks like some problems with OpenGL context
    Vadim Lopatin
    @buggins
    NEWS: initial android support is added. Widget can be shown. Next step: add touch events handing.
    LA
    @mogrein
    Правильно я понимаю, что ComboEdit ещё не доделан? Не могу изменить в нём текст.
    Vadim Lopatin
    @buggins
    Надо проверить. Может и не доделан. Или readOnly в нем включен.
    Создай issue на github
    LA
    @mogrein
    Я пробовал сбрасывать в false - поведение не поменялось. Хорошо, поковыряюсь ещё и создам.
    Vadim Lopatin
    @buggins
    Немного поправил. Он действительно был readonly. Но теперь проблема с фокусом - фокус на ComboEdit, а не на внутреннем EditBox
    Vadim Lopatin
    @buggins
    New issue #244 is created to fix ComboEdit
    Vadim Lopatin
    @buggins
    partially fixed. as well, it allows setting items for ComboBox, ComboEdit in DML ComboEdit { text: "blabla"; items: ["item1", "item2"] }
    Vadim Lopatin
    @buggins
    fixed.
    Vadim Lopatin
    @buggins
    DlangUI Scene3d changes: added Fog support, added Skybox support; DMiner (minecraft) example is improved.
    Berling
    @Berling
    Is it possible to get a opengl context with a higher version than 3.x?
    Ross McKinlay
    @pezipink
    hello, I am struggling with a TreeWidget I have hosted in a class I have inherited from AppFrame. During createBody I create the tree, give it a bunch of nodes in a hierarchy and add it to a layout, all works as expected. During execution of the application however, I cannot seem to add new TreeItems. I gain access to either the root or one of the TreeItems, and add a node in the normal way using either items.newChild or newChild, but it does not render. I can tell via the keyboard navigation and events that the new node does actually exist, but it is not rendered to the screen. I have tried every combination I can think of to do with invalidate() and requestLayout() up the widget tree, expanding / collapsing things, but nothing seems to change this behaviour. Any clues on how to debug this? am I missing something silly? it is very frustrating now! Thanks! :)
    Vadim Lopatin
    @buggins
    On it. Will fix in 1-2 days.
    Vadim Lopatin
    @buggins
    fixed
    David Orchard
    @LaMaisonOrchard
    I am reading the API do but I can't see how to message/signal from a back ground thread to the GUI. I want to run a slow process in a back ground thread but update the GUI with the status of the process and display information the process produces. Can you please point me in the right direction.
    Vadim Lopatin
    @buggins
    see window.postEvent, window.executeInUiThread
    David Orchard
    @LaMaisonOrchard
    Thanks for that. I see those methods. But I need a mutable instance of the Window object in my back end thread to be able to call these methods. But the instance created in the UIAppMain(string[] args) by 'Platform.instance.createWindow()' is thread local storage. I am sorry if this seem obvious to you, but how do I get a reference to the window in my back end thread to call this method on the window?
    Vadim Lopatin
    @buggins
    It's not a problem to pass window (CustomEventTarget interface) to another thread or task to be executed in this thread. The only problem which may appear here is handling of window close - event may be sent after destroy of window. To handle this, some proxy implementing CustomEventTarget which is subscribed on window close signal, and skip incoming events or throw exception if window is destroyed.
    David Orchard
    @LaMaisonOrchard
    @buggins @buggins Thanks
    its-suun
    @its-suun
    hi, i'm using dlangui together with vibe.d but i cant access the widgets from the vibe.d thread since the dlangui thread is just blocked whole time by Platform.instance.enterMessageLoop(); . Is there a way to run code which fetches messages from the other thread in the dlangui thread while the gui is running (in a timer or something) ?
    its-suun
    @its-suun
    oh wait, that already got answered before me, im sorry
    Navadvipa Chandra das
    @Navadvipa-Chandra-das

    Здравствуйте, все! Здравствуйте, Вадим!

    Пишет вам Навадвипа Чандра дас.
    Написал программу "Конвертилка-переводчик Прабхупада" на языке D с использованием DLangUI.
    Библиотека DLangUI хорошая, спасибо!

    Вот запуск программы:
    $ dub fetch prabhupada_calendar
    $ dub run prabhupada_calendar

    Увидел недочеты DLangUI, возможно кое где я недосмотрел:

    1. Для заголовков окон нет UIString, хотя такую строку можно хранить в окне (или никак не прикрутить?) и при смене языка менять и заголовок. Пришлось эту ситуацию обрабатывать вручную, а заголовок окна выбора файлов и вовсе не менялся.

    2. TextWidget для UIString не предусматривает работу с многострочными метками. Хорошо бы перед отображением метки производить замену определенных управляющих символов на сивол перевода строки "\n" .

    3. Поля ввода текста, такие как EditLine, FileNameEditLine передают фокус следующему элементу при нажатии клавиши Tab, вот при нажатии клавиши Shift+Tab фокус ввода предыдущему элементу не передается!

    4. TreeWidget захватывает фокус и не передает его по клавише Tab. Это видно в окне "DLangIDE настройки".

    5. При получении фокуса выпадающий список ComboBox можно раскрыть при помощи клавиш пробела или Enter (хотя в Windows была клавиша для этого Alt+"Стрелка вниз") и выбрать нужное значение при помощи тех же клавиш. Но вот после выбора значения, фокус ввода уже не передается обратно выпадающему списку ComboBox, фокус никому не передается и как следствие при помощи клавиши Tab перемещаться по контролам уже нельзя, надо браться за мышь.

    6. Не нашел никакой возможности для приема фокуса закладками компонента TabWidget, с последующим их переключением при помощи стрелок. В Борланд Дельфи такая возможность была. Правда заработали клавиши Ctrl+Tab и Shift+Ctrl+Tab для перемещения по вкладкам, спасибо!

    7. В полях ввода FileNameEditLine не работаю клавиши Ctrl+C и Ctrl+V. Вместо них работают Ctrl+Insert и Shift+Insert (система Fedora 26 64 бита).

    8. В диалоге выбора файла нет возможности показа скрытых файлов! Есть менюшка "Показать в файловом менеджере", самое место рядом флажку - "Показывать скрытые файлы".

    9. Что-то не работает открытие сайта для меток UrlImageTextButton. Непонятно, что сделано не так:
      АдресНижнейНавадвипыанглийскими_буквами = new UrlImageTextButton( null, "nizhnyaya-navadvipa.ru"d, "http://nizhnyaya-navadvipa.ru/"c );

    10. Очень неприятный и пугающий момент. При выборе файла при помощи диалога выбора файлов компонента FileNameEditLine двойным щелчком, после выбора файла дополнительно нажимаются кнопки, флажки, радиокнопки - все что было внизу по мышью! Такое впечатление, что событие двойного щелчка не останавливается после выбора файла, а передается далее нижележащему окну!

    11. В полях ввода EditLine, FileNameEditLine нет возможности прокрутки текста при помощи мыши, соответсвенно нельзя пометить мышью длинный текст. Хотя при помощи стрелочек текст прокручивается хорошо и при нажатии клавиши Shift можно выделить длинный текст.

    12. При выходе из программы:
      017-11-08 20:56:23.010 E Resource leak: destroying resource while shutdown! dlangui.widgets.controls.TextWidget
      Откуда утечка? Никаких особых выкрутасов я не делаю.

    13. Функция Log.d( ... ) очень полезная! Спасибо, Вадим! Но вот при релизе остается вызов пустой функции, который оптимизатор может уберет, а может не уберет. А вот если бы Log.d возвращал бы не void, а bool со значением true, можно было бы писать assert( Log.d( ... ) ); assert то гарантировано не попадает в релиз.

    Спасибо!

    С уважением Навадвипа Чандра дас.

    Vadim Lopatin
    @buggins
    спасибо!
    Navadvipa Chandra das
    @Navadvipa-Chandra-das
    Пожалуйста!
    nirvanafm
    @nirvanafm
    Добрый день. Я только начал изучать язык D. Возможно вопрос прозвучит глупо, но как поставить dlangide?
    dub fetch dlangide
    dub run --build=release dlangide
    вот эти комманды выполнились успешно, но ничего не появилось, как его запустить.
    Good afternoon. I just started learning languageD. It may sound silly, but how to install dlangide? These commands was executed successfully, but nothing appeared, how to launch it?
    Nathanial P. Howard
    @OptimusPi
    Hello, can someone help me compile a dlangui project without using the dub command? I want to use VisualD for debugging. Thanks.
    Nathanial P. Howard
    @OptimusPi
    I figured it out and it's really easy using dub. dub generate visuald made a visual studio .sln file that compiled and ran right away. cool!