i'm trying to develop an application with Gtk# and MonoDevelop.
I like Mono and i like Gtk#, but the problem is there's a lack of "official" book about it.
You could say "there is mono site with documentation", i know, but i would like to find a "comprehensive" book about Gtk#, like the classics Wrox or aPress book about .net, asp.net etc.
Does anyone know if exists what i'm looking for ?
You have to write it :-))
Seriously, all you need to do is this:
Install GTK runtime
Install GTK#
Get the GTK# assemblies from the GAC and reference them in your project
Start glade and create a window with some buttons, textboxs, etc.
Save the glade file
Create a new console application and copy the text from mono gtk#
"getting started" program in there, or
google for a gtk# hello world program.
On point 6 you have to use intellisense for loading of the glade file, because the parameters changed (other sequence) since the tutorial was written.
That's all. You can still tell visual studio to open .glade files with Glade, that way you get a smooth experience.
From there on, you can google any minor issue if you have a problem.
If that doesn't solve the problem, there still is the mono mailing list, or the stackoverflow forum.
If you need any deeper knowledge of GTK, you can buy a C/C++ book over GTK. But all the problems you will have is probably sizers and datagridview.
Related
VSCode has a very customizable UI with Activity Bar, Sidebar, Tabs, Status Bar etc (https://code.visualstudio.com/docs/getstarted/userinterface); customizable via extensions and seems to have been developed without any of the common web frameworks (https://github.com/microsoft/vscode/issues/99845).
It is well maintained, works in different OSes and has automatic updates.
Even if we remove the code-editor part, there is a lot of work in that.
This makes me wonder if it is possible to write a totally different app (not a code editor) on top of VSCode. For example a Slack-like messaging app, an Obsidian-like knowledge base app, etc.
Is it possible? Are there apps built on top of this code? Have I missed an important point that makes this idea unviable?
EDIT:
Some have pointed a very valid point. Some of what I mentioned here as VSCode features are really Electron features that VSCode inherits. Having developed an Electron app (5yrs ago) I see many things in VSCode that are not in Electron (but maybe my concept of Electron is wrong).
I want to emphasize that VSCode UI (bars, tabs, etc) + its extensibility seems to be a valid development framework. And I am ignorant of anything in this sense.
EDIT (jan/2023):
I guess we can add StackBlitz as a product that just did that.
I think your question is very valid and I was wondering the same thing, so thanks for asking it.
One thing that VS Code gives you that Electron doesn't is a distribution model - the marketplace and how new versions of your app can be detected and downloaded automatically etc. This is a big deal.
I think the disadvantages are that a very fancy UX may not be possible directly - but you have to "work around" by putting HTML within a Web View perhaps. This is just my guess and I haven't directly tried it.
To answer your question - the only one I am aware of is Thunder Client - so think of Postman - but as a VS Code plugin.
See also https://stackoverflow.com/a/67069697/314780 , which points to Eclipse Theia which uses parts from Visual Studio Code (i.e "Code - OSS") - https://theia-ide.org/ . The site links to a number of IDE-style apps built on top of it.
VS Code is an electron app. You might want to research what electron is – because you mention it: The Slack app is built on that same framework.
So, you've just invented something that already is done, very widely, in practice.
I'm trying to make an application in C# that can download, install and manage various games that I and a few friends'll be making.
I know how I'm gonna do it, but I want users to be able to use this app on both Windows and Linux as most games will run on both. That's not the big issue, I know how I'm gonna get that working. Ohhhh, the power of Mono and GTK#.
The issue is, however, that for GUI-designing I can't figure out how to design GTK windows within Visual Studio just like you can with Windows Forms. I don't know if there's an add-in or whateverthelike, I just need some way of designing my GUIs for Linux.
I am running Visual Studio Express 2015, on Windows 10.
I have never seen a public version of a Visual Studio embedded GTK (+/2/3) Designer, let alone one that supports GTK#.
As far as Mono GTK# goes, it's designer is called 'Stetic' and is embedded into MonoDevelop/Xamarin Studio.
Stetic has a GUI based designer but also uses the files produced from that designer to generate the C# code from a xml file (gui.stetic) and combine that with user written code (actions/events/etc...) via C# partial classes.
You can also use the Glade Designer (older versions) and import them into MD/XS and it will convert them to a gui.stetic files and thus create the C# classes for your UI. This is what I used to do when I needed to knock out a complex GUI prototype quickly. Stetic can really try your patience with the ways it works, but in the end, personally I would skip the Stetic and Glade GUI designers and just code the GTK# containers, widgets and actions in straight C#.
http://www.monodevelop.com/documentation/stetic-gui-designer/
Stetic GUI Designer Move to Glade for Gtk#3
GUI building with GTK#
MonoDevelop editor GUI designer
https://glade.gnome.org
I am unable to add the Javadoc for the Google Glass Development Kit (GDK) to either Eclipse or Android Studio; I'd love to be able to reference the GDK documentation right inside my IDE instead of just referencing the webpage.
Is there any way to do this? I'm aware of the typical way to add Javadoc to an Eclipse project, but I can't seem to find the actual documentation files for the GDK anywhere...
Thanks in advance!
Currently there is none for the small number of Google glass specific classes. The majority of classes are simple Android. (I understand from a talk with Jenny Murphy that the Google glass specific classes are implemented in native language and the java is just wrapper code.)
Perhaps this will change with the next GDK release (briefly saw indications of testing an XE15.2 version in the glass gdk issues, though that is hidden now).
I learned the little I know of wxPython (as in: Python wrappers for wx widgets) from the absolutely outstanding demo app: http://wxpython.org/download.php
With that demo app, you get examples for many, many uses of the framework widgets: both code and running UI frames. It is absolutely amazing just how well that is done.
Is there anything even remotely close to that for Eclipse RCP or SWT/JFace?
I have to "port" a concept I developed in wx over to Java.. and I am not sure Swing would cut it. Eclipse RCP or SWT/JFace look extremely good but.. where's the material to help me get started? I Googled but I couldn't find anywhere something that I could download and run.. and see the code behind it!
Note: I could of course "download and run" Eclipse itself.. but that's way more complex that I can probably manage at the moment. There's the brilliance of wx demos: they are even gradual in complexity!
I would start with the vogella website. There you can find all you need to start with. As Alexey Romanov mentioned, the RCP Mail Template is also a really good example, but I'm not sure if Eclipse 4.x is used, but I doubt. So start learning the 4.x platform.
For SWT there is a Demo application showing all the components.For JFaces I also recommend you the JFace Snippets.
The canonical example is the RCP Mail Template (version 2.0). There are more examples listed here and JFace Snippets.
I wish to write my own Python IDE (just for the heck of it). I was wondering if I could use Eclipse as a foundation. This will save me from coding a whole lotta things (code editor, intellisense and so on).
To understand what I mean, please take a look at Visual Studio Isolated Shell. I'm essentially looking for something equivalent. Searching on Google hasn't helped. Is there anything like this available in Eclipse's case?
Yes. Eclipse is designed to have additional languages added and there is extensive support for this kind of plugin development. I'm surprised Googling didn't help - there's an entire site dedicated to a tutorial on the basics and a toolkit for developing such things