www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - DlangIDE update

reply Vadim Lopatin <coolreader.org gmail.com> writes:
Hello,

DlangIDE is getting close to usable.
DlangIDE is and IDE for D programming language written in D using 
DlangUI library.

Project page: https://github.com/buggins/dlangide

To try, use `dub fetch dlangide && dub run dlangide` try to 
create and run DlangUI Helloworld project, or open Tetris project 
from workspaces/tetris.

Supported platforms: win32, linux, osx.

DlangIDE uses DUB to build and run projects, DUB .json as project 
format, DCD for code completion.
For code completion / go to references functionality, you need to 
build dcd-server and dcd-client executables from 
https://github.com/Hackerpilot/DCD.git and put them to some of 
PATH dirs.

Recent changes:
- New Project wizard
- New source file wizard
- Add / remove project files, refresh workspace
- A lot of bugfixes

Current activities:
- GDB MI debugger support
- integration of DML GUI builder (Delphi like)

DlangUI: https://github.com/buggins/dlangui

Recent DlangUI changes:
- MonoD and VisualD projects for development under Windows, 
Linux, OSX.
- pure X11 backend implemented to avoid SDL dependency
- dmledit app for editing DML
- spreadsheet example (excel like app, just started)
- a lot of bugfixes

Try dlangui:tetris, dlangui:example1, dlangui:dmledit examples.


Best regards,
     Vadim
Dec 08 2015
next sibling parent tired_eyes <pastuhov85 gmail.com> writes:
On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin wrote:
 Hello,

 DlangIDE is getting close to usable.
 DlangIDE is and IDE for D programming language written in D 
 using DlangUI library.

 [...]
Congrats! Glad to see that project is not abandoned.
Dec 08 2015
prev sibling next sibling parent reply default0 <Kevin.Labschek gmx.de> writes:
On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin wrote:
 Hello,

 DlangIDE is getting close to usable.
 DlangIDE is and IDE for D programming language written in D 
 using DlangUI library.
Sweet! Glad you're back and working on this! Was wanting to give it a shot, but typing } on my keyboard (german layout, right-alt + 0) did not actually insert the character into the opened document, so I gave up. Most of the UI stuff looks really neat (especially like the directory structure preview when creating a new project/workspace), but obviously still needs a lot of work (you cannot drag dialogs around, fe). One of the things I did manage to try was putting a readln() into the standard hello-world-console-app preset. Turns out that it causes dlangide to hang up because it's not actually possible to have user input (or to configure dlangide to start the project separately so a regular console window appears). Killing the started process also was not possible since the respective option to stop debugging is still grayed out. From the looks of it, this is very promising though. I like the Workspace layout and the general feel of the IDE (very responsive, very clean) and it all kind of makes me wish it wouldn already have enough features (especially debugging!) to be a viable option. I still haven't written much D code and my time is somewhat limited, but if there are simple tasks you need to get done, I would be glad to offer help! Here's to hoping this IDE will keep going and turn out well :-)
Dec 08 2015
next sibling parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
On Tuesday, 8 December 2015 at 18:18:29 UTC, default0 wrote:
 Sweet! Glad you're back and working on this!
 Was wanting to give it a shot, but typing } on my keyboard 
 (german layout, right-alt + 0) did not actually insert the 
 character into the opened document, so I gave up.
What is a platform? Linux with SDL? How do I reproduce it? Could you please submit a bug on github?
 Most of the UI stuff looks really neat (especially like the 
 directory structure preview when creating a new 
 project/workspace), but obviously still needs a lot of work 
 (you cannot drag dialogs around, fe).
Dialogs are currently displayed as popup widgets instead of separate windows due to issue with OpenGL contexts under Win32 when multiple windows are being used.
 One of the things I did manage to try was putting a readln() 
 into the standard hello-world-console-app preset. Turns out 
 that it causes dlangide to hang up because it's not actually 
 possible to have user input (or to configure dlangide to start 
 the project separately so a regular console window appears). 
 Killing the started process also was not possible since the 
 respective option to stop debugging is still grayed out.
Input hangs because running currently is just invoking of `dub run` - with input and output redirected. Output is shown in IDE message log, but for input just nothing is sent. I'm working on debugging, and as well will implement running apps w/o debugger with separate console.
 From the looks of it, this is very promising though. I like the 
 Workspace layout and the general feel of the IDE (very 
 responsive, very clean) and it all kind of makes me wish it 
 wouldn already have enough features (especially debugging!) to 
 be a viable option.
Debugging is high priority task now.
 I still haven't written much D code and my time is somewhat 
 limited, but if there are simple tasks you need to get done, I 
 would be glad to offer help!
It would be great.
 Here's to hoping this IDE will keep going and turn out well :-)
I think for programming language, it's big + to have native GUI library and IDE written in the same language. Adding Delphi style GUI builder could attract newbies.
Dec 08 2015
parent reply default0 <schneider.cedric gmx.de> writes:
On Wednesday, 9 December 2015 at 05:47:07 UTC, Vadim Lopatin 
wrote:
 On Tuesday, 8 December 2015 at 18:18:29 UTC, default0 wrote:
 Sweet! Glad you're back and working on this!
 Was wanting to give it a shot, but typing } on my keyboard 
 (german layout, right-alt + 0) did not actually insert the 
 character into the opened document, so I gave up.
What is a platform? Linux with SDL? How do I reproduce it? Could you please submit a bug on github?
Done!
 One of the things I did manage to try was putting a readln() 
 into the standard hello-world-console-app preset. Turns out 
 that it causes dlangide to hang up because it's not actually 
 possible to have user input (or to configure dlangide to start 
 the project separately so a regular console window appears). 
 Killing the started process also was not possible since the 
 respective option to stop debugging is still grayed out.
Input hangs because running currently is just invoking of `dub run` - with input and output redirected. Output is shown in IDE message log, but for input just nothing is sent. I'm working on debugging, and as well will implement running apps w/o debugger with separate console.
Sounds good! When the typical edit-compile-debug cycle works this will probably already be enough to start using it for smaller projects :-)
 I still haven't written much D code and my time is somewhat 
 limited, but if there are simple tasks you need to get done, I 
 would be glad to offer help!
It would be great.
Will be looking through GitHub and try to set DlangUI etc. up locally, too and see what I can do :-)
 Here's to hoping this IDE will keep going and turn out well :-)
I think for programming language, it's big + to have native GUI library and IDE written in the same language. Adding Delphi style GUI builder could attract newbies.
Yeah, also has the advantage of being able to work on DlangIDE while using DlangIDE, once it's come along some ways.
Dec 09 2015
next sibling parent Vadim Lopatin <coolreader.org gmail.com> writes:
On Wednesday, 9 December 2015 at 09:18:37 UTC, default0 wrote:
 One of the things I did manage to try was putting a readln() 
 into the standard hello-world-console-app preset. Turns out 
 that it causes dlangide to hang up because it's not actually 
 possible to have user input (or to configure dlangide to 
 start the project separately so a regular console window 
 appears). Killing the started process also was not possible 
 since the respective option to stop debugging is still grayed 
 out.
Input hangs because running currently is just invoking of `dub run` - with input and output redirected. Output is shown in IDE message log, but for input just nothing is sent. I'm working on debugging, and as well will implement running apps w/o debugger with separate console.
Sounds good! When the typical edit-compile-debug cycle works this will probably already be enough to start using it for smaller projects :-)
Running in external console is implemented. Run button now starts dub build, and if build is successful executes program in external console. Stop button added. Xterm is used as external console on posix. Tested under windows and linux.
Dec 09 2015
prev sibling parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
On Wednesday, 9 December 2015 at 09:18:37 UTC, default0 wrote:
 I still haven't written much D code and my time is somewhat 
 limited, but if there are simple tasks you need to get done, 
 I would be glad to offer help!
It would be great.
Will be looking through GitHub and try to set DlangUI etc. up locally, too and see what I can do :-)
Added development environment setup instructions (VisualD, Mono-D) to README.
Dec 09 2015
parent reply default0 <Kevin.Labschek gmx.de> writes:
On Wednesday, 9 December 2015 at 12:10:33 UTC, Vadim Lopatin 
wrote:
 On Wednesday, 9 December 2015 at 09:18:37 UTC, default0 wrote:
 I still haven't written much D code and my time is somewhat 
 limited, but if there are simple tasks you need to get done, 
 I would be glad to offer help!
It would be great.
Will be looking through GitHub and try to set DlangUI etc. up locally, too and see what I can do :-)
Added development environment setup instructions (VisualD, Mono-D) to README.
Thanks for the instructions! I followed them, but when I tried to build in Visual Studio, I got the following error: Building Debug\dlangide.exe... C:\Users\Administrator\Documents\DCode\DlangUI\src\dlangui\gr phics\images.d(34): Error: module io is in file 'dlib\image\io\io.d' which cannot be read import path[0] = C:\Users\Administrator\Documents\DCode\DlangUI\src import path[1] = C:\Users\Administrator\Documents\DCode\DlangUI\3rdparty import path[2] = C:\Users\Administrator\Documents\DCode\DlangUI\3rdparty\libpng\source import path[3] = C:\Users\Administrator\Documents\DCode\DlangUI\..\DerelictGL3\source import path[4] = C:\Users\Administrator\Documents\DCode\DlangUI\..\DerelictUtil\source import path[5] = C:\Users\Administrator\Documents\DCode\DlangUI\..\DerelictFT\source import path[6] = C:\Users\Administrator\Documents\DCode\DlangUI\..\DerelictSDL2\source import path[7] = C:\Users\Administrator\Documents\DCode\DlangUI\..\de_image\source\interfaces import path[8] = C:\Users\Administrator\Documents\DCode\DlangUI\..\de_image\source\png import path[9] = C:\Users\Administrator\Documents\DCode\DlangUI\..\dlib import path[10] = C:\Users\Administrator\Documents\DCode\DlangUI\..\libdparse\src import path[11] = C:\D\dmd2\windows\bin\..\..\src\phobos import path[12] = C:\D\dmd2\windows\bin\..\..\src\druntime\import Building Debug\dlangide.exe failed! I checked the import path[9] it listed, and relative to that path, there is the dlib/image/io/io.d file (ie in "C:\Users\Administrator\Documents\DCode\DlangUI\..\dlib\dlib\image\io\io.d"). I'm not sure why it doesn't find that file, despite listing a path that contains this file in the imports (and has the necessary permissions for reading it, and the file obviously not being used by anything). I'm using Visual D. Pretty stumped on that right now, building with dub obviously works, and I suppose I could then attach the debugger from within Visual Studio, but that's not a workflow I'm looking forward to (nor do I know if it works the way I hope)...
Dec 09 2015
parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
On Wednesday, 9 December 2015 at 15:31:46 UTC, default0 wrote:
 On Wednesday, 9 December 2015 at 12:10:33 UTC, Vadim Lopatin 
 Thanks for the instructions! I followed them, but when I tried 
 to build in Visual Studio, I got the following error:
 C:\Users\Administrator\Documents\DCode\DlangUI\src\dlangui\gr
phics\images.d(34): Error: module io is in file 'dlib\image\io\io.d' which
cannot be read
...
 I checked the import path[9] it listed, and relative to that 
 path, there is the dlib/image/io/io.d file (ie in 
 "C:\Users\Administrator\Documents\DCode\DlangUI\..\dlib\dlib\image\io\io.d").
I'm not sure why it doesn't find that file, despite listing a path that
contains this file in the imports (and has the necessary permissions for
reading it, and the file obviously not being used by anything). I'm using
Visual D.

 Pretty stumped on that right now, building with dub obviously 
 works, and I suppose I could then attach the debugger from 
 within Visual Studio, but that's not a workflow I'm looking 
 forward to (nor do I know if it works the way I hope)...
Looks like you have opened obsolete project. Deps should be in dlangui/deps, not in dlangui/.. Probably, you have used old build instructions. See at end of dlangide's README.md Open dlangui/dlangui-msvc.sln
Dec 09 2015
parent reply default0 <Kevin.Labschek gmx.de> writes:
On Wednesday, 9 December 2015 at 16:26:14 UTC, Vadim Lopatin 
wrote:
 On Wednesday, 9 December 2015 at 15:31:46 UTC, default0 wrote:
 Looks like you have opened obsolete project.
 Deps should be in dlangui/deps, not in dlangui/..
 Probably, you have used old build instructions.
 See at end of dlangide's README.md
 Open dlangui/dlangui-msvc.sln
I did open that solution (I even double checked I got the right one). So no, that's not it, I'm afraid :/
Dec 09 2015
parent reply default0 <Kevin.Labschek gmx.de> writes:
I should mention that the dlangui\.. is some build artifact, too, 
the files are in dlangui\deps locally (it probably tries to 
shorten the path name?)
Dec 09 2015
parent Vadim Lopatin <coolreader.org gmail.com> writes:
On Wednesday, 9 December 2015 at 19:24:19 UTC, default0 wrote:
 I should mention that the dlangui\.. is some build artifact, 
 too, the files are in dlangui\deps locally (it probably tries 
 to shorten the path name?)
I found that I forgot to change project import paths for all configurations. I used Debug/X64 only so did not notice it. You probably using Debug/win32. Fixed. Project file is updated.
Dec 09 2015
prev sibling parent Georg Wrede <georg.wrede iki.fi> writes:
On Tuesday, 8 December 2015 at 18:18:29 UTC, default0 wrote:
 On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin 
 wrote:
 Hello,

 DlangIDE is getting close to usable.
 DlangIDE is and IDE for D programming language written in D 
 using DlangUI library.
Sweet! Glad you're back and working on this! Was wanting to give it a shot, but typing } on my keyboard (german layout, right-alt + 0) did not actually insert the character into the opened document, so I gave up.
As a European, I have a secret trick about keyboards, that I "got for free" with my Kaypro-II computer (the blue-key version), back in 1984. Always use the en-US keyboard when programming. Period! Keys, such as []{}\/?|*$ etc. are in very handy and quick places. The inventors of programming languages and operating systems have put the most used characters in easy-to-reach keys. -- And on top of it, all of the funky key combinations just work. On Linux, I merely press both Shifts to temporarily switch to my native language, which I only need for text strings, nothing else. I'd expect Windows and Mac to provide something similar. After a couple of weeks, you'll never look back.
Dec 09 2015
prev sibling next sibling parent reply Chris Wright <dhasenan gmail.com> writes:
Awesome!

Is there any chance of bundling DCD? It would be a lot more convenient if 
I didn't even have to think about getting another completion program and 
running it on my project.
Dec 08 2015
parent Vadim Lopatin <coolreader.org gmail.com> writes:
On Tuesday, 8 December 2015 at 23:45:47 UTC, Chris Wright wrote:
 Awesome!

 Is there any chance of bundling DCD? It would be a lot more 
 convenient if I didn't even have to think about getting another 
 completion program and running it on my project.
For win32, it's bundled with dcd-client and dcd-server binaries (although of quite old version). For mac, I suppose there should not be a problem too to add dcd binaries. But for Linux I'm unsure how to build DCD which is able to work on all distributions.
Dec 08 2015
prev sibling next sibling parent Vadim Lopatin <coolreader.org gmail.com> writes:
On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin wrote:
 Hello,

 DlangIDE is getting close to usable.
 DlangIDE is and IDE for D programming language written in D 
 using DlangUI library.

 Project page: https://github.com/buggins/dlangide
Recent changes: Settings for DUB, GDB, DMD, LDC, GDC, xterm. Project settings allow to select toolchain, architecture for building, commandline parameters and working directory for running. Running of project is done as spawn instead of DUB run. External terminal is supported. New project wizard is improved. New source file wizard added. Workspace tree context menus allow to add/remove projects, files, build/clean/rebuild/run projects. Current activity: GDB debugging support.
Dec 10 2015
prev sibling next sibling parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin wrote:
 Hello,

 DlangIDE is getting close to usable.
 DlangIDE is and IDE for D programming language written in D 
 using DlangUI library.

 Project page: https://github.com/buggins/dlangide

 To try, use `dub fetch dlangide && dub run dlangide` try to 
 create and run DlangUI Helloworld project, or open Tetris 
 project from workspaces/tetris.
Initial GDB debugging support is implemented. You can start / stop debugging, set breakpoints, step in/out/over, continue. TODO: stack trace & local variables display As well, following features implemented: - bookmarks in source files (toggle, go to next/prev) - recent workspace list
Dec 16 2015
parent reply ZombineDev <valid_email he.re> writes:
On Wednesday, 16 December 2015 at 12:50:25 UTC, Vadim Lopatin 
wrote:
 On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin 
 wrote:
 Hello,

 DlangIDE is getting close to usable.
 DlangIDE is and IDE for D programming language written in D 
 using DlangUI library.

 Project page: https://github.com/buggins/dlangide

 To try, use `dub fetch dlangide && dub run dlangide` try to 
 create and run DlangUI Helloworld project, or open Tetris 
 project from workspaces/tetris.
Initial GDB debugging support is implemented. You can start / stop debugging, set breakpoints, step in/out/over, continue. TODO: stack trace & local variables display As well, following features implemented: - bookmarks in source files (toggle, go to next/prev) - recent workspace list
Exellent progress! Congrats!
Dec 17 2015
parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
On Thursday, 17 December 2015 at 08:27:05 UTC, ZombineDev wrote:
 Initial GDB debugging support is implemented.

 You can start / stop debugging, set breakpoints, step 
 in/out/over, continue.

 TODO: stack trace & local variables display


 As well, following features implemented:
 - bookmarks in source files (toggle, go to next/prev)
 - recent workspace list
Exellent progress! Congrats!
GDB support improvements: stack and local variables windows added.
Dec 18 2015
parent reply default0 <Kevin.Labschek gmx.de> writes:
On Friday, 18 December 2015 at 10:41:13 UTC, Vadim Lopatin wrote:
 On Thursday, 17 December 2015 at 08:27:05 UTC, ZombineDev wrote:

 GDB support improvements: stack and local variables windows 
 added.
This is quick progress! Awesome! I finally have some free time on my hands, so I deleted my workspace and tried to set things up following the How to hack on DlangIDE steps again. After doing that and trying to compile on Debug/Win32 I get output with a linker error: Building Debug\dlangide.exe... Microsoft (R) Incremental Linker Version 14.00.23026.0 Copyright (C) Microsoft Corporation. All rights reserved. "Debug\dlangide.obj,Debug\dlangide.exe,Debug\dlangide.map,C:\Users\Administrator\Documents\DCode\dlangui\Debug\dlangui.lib+" ole32.lib+ kernel32.lib+ user32.lib+ comctl32.lib+ comdlg32.lib+ psapi.lib+ user32.lib+ kernel32.lib/NOMAP/CO/NOI/DELEXE /SUBSYSTEM:WINDOWS LINK : fatal error LNK1104: Datei "Debug\dlangide.obj,Debug\dlangide.exe,Debug\dlangide.map,C:\Users\Administrator\Documents\DCode\dlangui Debug\dlangui.lib+" kann nicht geöffnet werden. Building Debug\dlangide.exe failed! The dlangui project builds correctly btw (it's the only one in the solution that does). If I change to Debug/x64 I get a popup from VS telling me that it couldn't find the right project to launch since there are no startup projects set (even though I did set DlangIDE as startup project and it shows). If I explicitly tell it to build dlangide (right-click the project > build) I get another linker error telling me it cannot open "phobos64.lib". I do have phobos64.lib in the normal directory it is in after installation (ie windows/lib64), but for some reason it doesn't pick up on that. I even tried setting PATH directly to it, but that also didn't help. I started up ProcessMonitor and looked at where it was searching for phobos64.lib and the results were pretty worrying: C:\Users\Administrator\Documents\DCode\dlangide\phobos64.lib C:\Users\Administrator\Documents\DCode\dlangide\phobos64.lib C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\amd64\phobos64.lib C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\amd64\phobos64.lib C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x64\phobos64.lib C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x64\phobos64.lib C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64\phobos64.lib C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64\phobos64.lib C:\Users\Administrator\Documents\DCode\dlangide\phobos64.lib C:\Users\Administrator\Documents\DCode\dlangide\phobos64.lib C:\Users\Administrator\Documents\DCode\dlangide\phobos64.lib Where DCode\dlangide is obviously the path where I set things up. The rest seem to be things coming from automatic configuration VS has done at some point. I'm not sure how or where I can tell it to also look into my dmd installation paths. Now instead of going for a proper fix I simply attempted copying the phobos64.lib to the dlangide directory just to see if this would get it to compile: Turns out it doesn't. When trying to compile like that, I get a popup saying std.utf.UTFException c:\s\d\rainers\phobos\std\utf.d(1109): Invalid UTF-8 sequence (at index 1) Is this an ICE? Is my Visual D installation broken (I did reinstall Visual D a few times by now already)? I'm using dmd 2.069.2 which is the most recent version to my knowledge. Pretty stumped about all of this and this looks a lot like something in my VS or VD setup is horribly broken (especially looking at the Win32 linker errors and the lack of properly configured search paths for phobos64.lib), but I'm not sure what exactly or how to go about fixing it/narrowing down the problem. Any help in somehow getting this all to build would be much appreciated. Oh and of course "dub run" works just fine.
Dec 20 2015
parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
On Sunday, 20 December 2015 at 13:53:33 UTC, default0 wrote:
 This is quick progress! Awesome! I finally have some free time 
 on my hands, so I deleted my workspace and tried to set things 
 up following the How to hack on DlangIDE steps again. After 
 doing that and trying to compile on Debug/Win32 I get output 
 with a linker error:
...
 Any help in somehow getting this all to build would be much 
 appreciated. Oh and of course "dub run" works just fine.
For me, Visual Studio 2015 Community Edition + recent Visual D works ok. Try to create some helloworld project using VisualD and build it. Does it work? Clone dlangui and dlangide into the same directory (!!!) Inside dlangui directory create directory /deps and clone dependencies into it (as described in readme). Open dlangui/dlangui-msvc.sln In workspace, select dlangide as a startup project. Build dlangide. As well you can try to build other projects (e.g. dmledit, tetris, example1) - does it work?
Dec 21 2015
parent default0 <Kevin.Labschek gmx.de> writes:
On Monday, 21 December 2015 at 18:03:32 UTC, Vadim Lopatin wrote:
 On Sunday, 20 December 2015 at 13:53:33 UTC, default0 wrote:
 This is quick progress! Awesome! I finally have some free time 
 on my hands, so I deleted my workspace and tried to set things 
 up following the How to hack on DlangIDE steps again. After 
 doing that and trying to compile on Debug/Win32 I get output 
 with a linker error:
...
 Any help in somehow getting this all to build would be much 
 appreciated. Oh and of course "dub run" works just fine.
For me, Visual Studio 2015 Community Edition + recent Visual D works ok. Try to create some helloworld project using VisualD and build it. Does it work? Clone dlangui and dlangide into the same directory (!!!) Inside dlangui directory create directory /deps and clone dependencies into it (as described in readme). Open dlangui/dlangui-msvc.sln In workspace, select dlangide as a startup project. Build dlangide. As well you can try to build other projects (e.g. dmledit, tetris, example1) - does it work?
Simple Hello World project compiles and runs okay. I did do that. My directory structure is like this: DCode/dlangide DCode/dlangui DCode/dlangui/deps/<lots-of-stuff-in-here> Which I assume is what you are describing. I just tried opening the setup I had from last time (ie dlangui-msvc.sln) and compile that (startup project set and all), now I get http://www.digitalmars.com/ctg/optlink.html OPTLINK : Warning 9: Unknown Option : OUT OPTLINK : Error 12: Number Overflow :  Building Debug\dlangide.exe failed! I'm starting to think that either my VS or VD installation is cursed (I recently reinstalled VS though, so that shouldn't be it, maybe VD? But it generally works and I do have the latest stable version of it). I redid my setup again right now, though, but apparently the current master has some compiler errors: src\dlangui\core\files.d(264): Error: cannot implicitly convert expression (lastSlash + 1LU) of type ulong to uint src\dlangui\core\files.d(354): Error: cannot implicitly convert expression (start) of type ulong to uint. After crudely fixing these with cast(uint) I got it to build though. So, something about my computer is definitely cursed (I ran the EXACT same commands as always - basically straight copy-paste from the Readme in DlangIDE and I didn't notice any changes to this file since I first did the setup). Anyhow, it finally builds! \o/ Thanks a lot for the help and putting up with my incompetence at diagnosing issues through this, will probably start hacking away on things as time permits :-)
Dec 21 2015
prev sibling next sibling parent Vadim Lopatin <coolreader.org gmail.com> writes:
On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin wrote:
 DlangIDE is getting close to usable.
 DlangIDE is and IDE for D programming language written in D 
 using DlangUI library.
 [...]
Recent changes: DCD is now integrated as a library instead of using commandline dcdclient/dcdserver --contrubuted by Keywan Ghadami GDB support fixes Some crashes fixed
Jan 14
prev sibling parent reply Basile B. <b2.temp gmx.com> writes:
On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin wrote:
 - integration of DML GUI builder (Delphi like)
Can you explain me how do you think it can be done while there is even no official object streaming for D ? Just one thing: " widget" is not enough. I don't know how to explain you the problem. But let's say you have an object inspector that displays the properties of an object. The D way doesn't work (templates). You won't be able to assign an untyped Object to an inspector if your object doesn't store runtime informations. It's just impossible. Furthemore properties are not just for the visual things... You won't be able to make a good run-time designer "à la Delphi" until the D standard library gets a serialization library. And when this will happen, you won't be able to use this serialization library because it won't work at run-time (object inspectors, property bindings, etc.). It won't work.
Jan 25
next sibling parent Kapps <opantm2+spam gmail.com> writes:
On Monday, 25 January 2016 at 20:00:57 UTC, Basile B. wrote:
 On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin 
 wrote:
 - integration of DML GUI builder (Delphi like)
Can you explain me how do you think it can be done while there is even no official object streaming for D ? Just one thing: " widget" is not enough. I don't know how to explain you the problem. But let's say you have an object inspector that displays the properties of an object. The D way doesn't work (templates). You won't be able to assign an untyped Object to an inspector if your object doesn't store runtime informations. It's just impossible. Furthemore properties are not just for the visual things... You won't be able to make a good run-time designer "à la Delphi" until the D standard library gets a serialization library. And when this will happen, you won't be able to use this serialization library because it won't work at run-time (object inspectors, property bindings, etc.). It won't work.
Just register the metadata for the control types. I use https://shardsoft.com/stash/projects/SHARD/repos/shardtools/browse/source/Sha dTools/Reflection.d and it seems to work fine, with the caveat that you have to do createMetadata!MyControl at some point (I generally do it in a mixin that all, in my case content processors, are supposed to include). Theoretically one could use rtInfo to make this automatic.
Jan 25
prev sibling parent Vadim Lopatin <coolreader.org gmail.com> writes:
On Monday, 25 January 2016 at 20:00:57 UTC, Basile B. wrote:
 On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin 
 wrote:
 - integration of DML GUI builder (Delphi like)
Can you explain me how do you think it can be done while there is even no official object streaming for D ? Just one thing: " widget" is not enough. I don't know how to explain you the problem. But let's say you have an object inspector that displays the properties of an object. The D way doesn't work (templates). You won't be able to assign an untyped Object to an inspector if your object doesn't store runtime informations. It's just impossible. Furthemore properties are not just for the visual things... You won't be able to make a good run-time designer "à la Delphi" until the D standard library gets a serialization library. And when this will happen, you won't be able to use this serialization library because it won't work at run-time (object inspectors, property bindings, etc.). It won't work.
Currently it's being done by adding lines like following into modules which contain widgets to publish: import dlangui.widgets.metadata; mixin(registerWidgets!(Widget, TextWidget, ScrollBar, CanvasWidget)()); Unless widgets are registered, it's impossible to create them from DML like this: auto layout = parseDML!VerticalLayout(q{ VerticalLayout { layoutWidth: fill; layoutHeight: fill; backgroundColor: #FF8080 TextWidget { text: "Input text here" } EditLine { id: edName } } }); Sample DML editor: dub run dlangui:dmledit
Jan 26