-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New GUI front-end #12
Conversation
Think you can work the new feature into the new GUI? |
Stuck at GObject. Simple POD structs need to be wrapped in GObject boilerplate for adding to Gio::ListStore :(
First time using Meson -- I can see the appeal :-) I'm having some trouble building with it... How do I specify a search path for libraries? It's complaining that it cannot find GLFW, even though it is there. That doesn't come with the library binaries, but those are easy enough to get and install to where the compiler can find it (if I can provide the build system with a path...). |
I haven't built it on Windows. The GUI is not complete yet. |
No worries -- I just wanted to get my build-chain set up so long. It'll be amazing progress if it's "complete" by the end of today ;-) The main source is not Linux-compatible at the moment. I think it's only the JFile class that is still obsolete -- the rest should be cross-platform, but I'm not sure... I want to replace them with the Toolbox anyway, and will do so soon -- after I've updated it to be platform independent. Anyway. You can delete your Illustrations folder and do any updates to the concept directly in Docs/GUI/Concept. I have a read-me there with a couple ideas and questions... |
I've ported the base |
I made some changes to meson.build file. |
Build.zip Still to implement: Background layer color, |
The combine checkbox is replaced with a new page separator. Thanks for the idea. It made the UI more intuitive. |
Might not be a bad idea to down-port to C++14. GCC version 5 (the current MinGW) has full support.
This is fine -- you are at prototype (pre-alpha) stage anyway. There's lots of work left on the layout, but this can happen later (after all the functionality is in). Feel free to merge
Random idea for loading a saved configuration -- export a JSON string. You can export to a separate file, or to a "rem" line in the batch script. I wrote a little JSON abstraction some time ago -- submodule the Toolbox. You can have a look at the unit test on how to use it. It's not the most versatile or well-written library, so feel free to suggest a different one. |
e4e86f7
to
87943bd
Compare
Some preliminary thoughts:
|
I'm starting to think it might be a good idea to re-factor my converter so that you can statically link the engine into the GUI. This will make it easier for the user to set up the system (no need for special paths, etc.) Eventually I might even want to link the two into a single project -- the GUI loads when you run the executable with no parameters; and the converter works as it does at the moment (i.e. terminal only) when you have parameters present. Let me think on it a bit more... |
I'm not sure I handled strokes2fills correctly.. |
Don't follow the sketch exactly -- that's just me fooling around with ideas ;-) The finer details are up to you. My idea is that the working folder is the "current folder", i.e. the folder of the files in the "File List", as well as the location of the output files in the case where they carry no paths. When the user uses the file list to browse, the working folder updates accordingly. The user can also save the output files to a different location by specifying a path, or browsing by using the three-dot icons. It might be a better idea to leave the "working folder" at the top of the "File List", giving the user a stronger association with what it means... |
That is the idea, yes. All instances of the same file must have the same stroke-to-fills setting. |
The drag-and-drop is working beautifully :-) You can drop the "Up" and "Down" button idea. At some later stage you can make it all nice with shadows and animation and stuff, but for now it's great. |
It's pointless to be able to open a browser window when the file list is the browser window...
When generating batch script, is it okay if I specify strokes2fills multiple times?
|
Yes - specifying it multiple times is fine. The problem lies in how the Engine does caching. It reuses the render results of the first instance and simply changes the colour. If the first instance is filled, all other instances will also be filled, and vice versa. What I should actually do is change that so that the strokes-to-fills becomes another condition of reuse, in addition to the file name... Let me see if I can fit that in today... I'll let you know. |
This merge removes the limitation where -strokes2fills applies the same setting to all instances of the Gerber file.
That was much easier than I thought it would be... You can remove the -strokes2fills linking. The new version of the Engine applies the Sorry for making you do extra work and then asking you to undo it again half a day later! |
It's okay.. It was only a small work :) |
Engine update: removed obsolete and duplicate stuff from the PDF output
Engine updated with new Gerber file format features
Hello, I'm busy with an update to the Engine and merged in what I've done so far... I've checked that the Engine compiles under both Windows and Linux, but please also check that it compiles and links correctly on your side. Nothing changed on the interface you're using. In summary, I've done the following:
|
Hi, I am sorry that I got really busy with college stuff.. |
No worries -- college should take priority ;-) I'm looking forward to what you come up with during the holidays -- maybe we can launch the first beta-version at the end of it... |
Hello, Long time no see... Anyway -- I have good news. T-Dragon has released MinGW for Windows based on GCC-9. You should therefore be able to rip out the Boost dependency and use C++17 directly... When you get a chance, please could you do so? |
Hi, |
I'm closing this as "obsolete" |
Issue: #10
A pre-emptive pull-request in order to obtain email-notifications on commits to this branch.