Why use gtkmm instead of GTK+?
gtkmm Frequently Asked Questionsgtkmm allows you to write code using normal C++ techniques such as encapsulation, derivation, and polymorphism. As a C++ programmer you probably already realise that this leads to clearer and better organised code. gtkmm is more type-safe, so the compiler can detect errors that would only be detected at run time when using C. This use of specific types also makes the API clearer because you can see what types should be used just by looking at a method's declaration.
Related QuestionsCan I use Gtk# on Windows?
FAQ: Gtk - MonoIn addition, when you install Gtk# for .NET if Visual Studio is installed templates for VB.NET and C# are installed, so you can create Gtk# based applications right from Visual Studio.
Related QuestionsHow do I use Gecko or Mozilla with Gtk#?
FAQ: Gtk - MonoYou can use pkg-config to auto-detect whether the Mozilla development libraries are installed, the pkg-config module name is: gecko-sharp-2.0 To test it, you can write: if pkg-config gecko-sharp-2.0; then echo Gecko# is installed else echo Gecko# is not installed fi To run the applications, you should set the environment variable, run the application like this: export MOZILLA_HOME="'pkg-config --variable=libdir mozilla-gtkmozembed'" mono demo.
Related QuestionsWhat is gtkmm (Previously known as Gtk--)?
gtkmm Frequently Asked Questionsgtkmm is a C++ wrapper for GTK+. That is, it is a language binding that lets you use GTK+ from C++. This includes support for C++ features such as inheritance, polymorphism and other powerful techniques which C++ programmers expect to have at their disposal.
Related QuestionsHow can I get the GTK+ object from a gtkmm object?
gtkmm Frequently Asked QuestionsIf you need some GTK+ functionality which is not supported through gtkmm, you can call Gtk::Widget::gobj() (gtkobj() in gtkmm version 1.x) which will return a pointer to the plain C GTK+ data structure. You can then operate directly on this C object as you would in any GTK+ program.
Related QuestionsWhat can I do with Gtk#?
FAQ: General - MonoGtk# is becoming very usable and you can create applications and applets like those you see in a GNOME desktop environment. It's easy to install so it's worth a try.
Related QuestionsBut PHP-GTK is a stable product. Why shouldn't I use it instead?
WinBinder: The native Windows binding for PHPPHP-GTK is a solid piece of work that has the big advantage of being multi-platform. You should definitely choose it if you need a stable framework for your project or if you need to port your programs to different platforms. the drawback is that PHP-GTK is complex. It has several hundred classes, methods, functions, enums, and structures. It also does not create truly native interfaces -- it does not need to.
Related QuestionsHow can I wrap a GTK+ widget in a gtkmm instance?
gtkmm Frequently Asked QuestionsGlib::wrap() will give you a pointer to gtkmm object. It is an overloaded function, so it will give you an instance of the appropriate class.
Related QuestionsUnder Linux, why are you using GTK+ instead of Qt?
AbiSource FAQPolitics. Most of the truly nerdy open source people prefer GTK+, since Qt is not quite free enough for the deepest dogma. We want the enthusiasm of those super-geeks right from the beginning, so we are making the choice that will make them happy. Truth be told, we would like to support both. If you would like to help with a Qt port, please let us know.
Related QuestionsCan I use C++ exceptions with gtkmm?
gtkmm Frequently Asked QuestionsYes, it is possible but it is not a very good idea. The official answer is that, since plain C doesn't know what a C++ exception is, you can use exceptions in your gtkmm code as long as there are no C functions in your call stack between the thrower and the catcher. This means that you have to catch your exception locally. You will be warned at runtime about uncaught exceptions, and you can specify a different handler for uncaught exceptions.
Related QuestionsHow can I use Glade and/or libglade with gtkmm?
gtkmm Frequently Asked QuestionsUse libglademm, which is part of gnomemm and wraps libglade. It allows you to load widget information from the XML user interface description files that Glade generates at runtime. This method is strongly recommended. Experience has shown that it works well for large projects, and there is a lot of example code out there you can look at. For an introduction, see the corresponding chapter in the gtkmm tutorial.
Related QuestionsHow do I load pixmaps for use with gtkmm?
gtkmm Frequently Asked QuestionsUse Gdk::Pixbuf and/or Gtk::Image. Both are easy to use and support a wide range of image file types via pixbuf loader plugins.
Related QuestionsWhere can I learn more about Gtk#?
FAQ: General - MonoSee the Gtk# page for more information about Gtk# or jump on over to the Gtk# Beginners Guide to get started.
Related QuestionsHow do I migrate a Gtk# 1.0 to Gtk# 2.0 application?
FAQ: Gtk - MonoIf you are getting errors like this: generated/PangoHelper.cs(17,55): error CS0039: Cannot convert type 'GLib.Object' to 'Pango.Context' via a built-in conversion generated/PangoHelper.cs(52,55): error CS0039: Cannot convert type 'GLib.Object' to 'Pango.Context' via a built-in conversion generated/PangoRenderer.cs(19,47): error CS1502: The best overloaded method match for 'Pango.Renderer.Renderer(GLib.GType)' has some invalid arguments generated/PangoRenderer.
Related QuestionsWhat compiler arguments should I use to compile a gtkmm program?
gtkmm Frequently Asked QuestionsYou should use pkg-config's PKG_CHECK_MODULES macro in your configure.in file, as demonstrated in the gtkmm_hello package. Since this is the single most asked question about running GTK+ programs, we'll answer it here, even though it is in the GTK+ FAQ. Make sure the /usr/local/lib (the default install dir for gtkmm) is properly configured in your /etc/ldconf or that it is in your LD_LIBRARY_PATH environment variable. Alternatively, specify another prefix when running configure.
Related QuestionsWhy not use chlorine instead?
Water Filters, Purifiers, and Purification FAQChlorine changes the tastes and odor of water. Chlorination can also produce harmful by-products called Trihalomethanes (THMs) which are linked to incidence of cancer. No, the UV unit will use about the same amount of energy as a 60 watt light bulb. It is a cost effective, natural way to increase water quality where microbiological contamination is present and to provide peace of mind where microbiological contamination is a greater risk.
Related QuestionsWhy should I use a Mohel instead of a doctor?
Frequently Asked Questions - Emoil.com/Emohel.comThe mohel is a super-specialist, an expert at his profession, who probably possesses more experience at performing circumcisions than most doctors. A mohel may have the opportunity to perform more brisses in a month than some doctors do in an entire year. Doctors may be called away on medical emergencies and have to cancel their participation in your child's circumcision at the last minute.
Related QuestionsWhy do you use a DTD instead of a schema?
MusicXML FAQ (Frequently Asked Questions)When we started developing MusicXML, a DTD (Document Type Definition) was the only official W3C recommendation for defining an XML document. Since that time, XML Schemas have become an official W3C recommendation, and alternative schema languages like RELAX NG have also become available. W3C XML Schemas offer many benefits when using XML in electronic commerce and business database applications. For musical documents, though, the advantages are less compelling.
Related QuestionsWhy do you use all these elements instead of attributes?
MusicXML FAQ (Frequently Asked Questions)This is mainly a stylistic decision. Several XML books advise representing semantics in elements rather than attributes where possible. One advantage of doing this is that elements have structure, but attributes do not. If you find that what you are representing really has more than one part, you can create a hierarchical structure with an element. With attributes, you are limited to an unordered list.
Related QuestionsWhy don't you use Gtk+2? / When will XMMS go Gtk+2?
TNSP - XMMS - Unofficial Additional FAQThere are multiple of reasons why XMMS does not use Gtk2. Probably the major reason is that porting XMMS to Gtk2 would require all the plugins to be ported too. Some independent people are working on this, however: Audacious (http://audacious-media-player.org/) is a fork, or rather a direct descendant of "classic" BMP, thus originally based on XMMS1 code, but with heavy modifications. Again, XMMS plugins do not directly work on Audacious, but are relatively easy to port.
Related QuestionsIs GTK+ still under the aegis of GIMP? Was it ever?
GIMP - DocumentationGTK was developed solely for GIMP, initially. Towards the end of the 0.99 development cycle in 1998, GTK was split from being bundled with GIMP to being a separately available library. See ancient history for some interesting tidbits from the GIMP perspective.
Related QuestionsWill Gtk# applications run on Windows?
FAQ: General - MonoNotice that using the Mozilla and Gnome libraries is not currently supported and will limit the portability of your application. Both issues are being addressed and will be fixed in the future. Update: some (but not all) Gnome librarites will work on Windows now. And GeckSharp will be able to run via the GRE and GeckoSharp installer for Windows. An experimental Mono and Gtk# installer for Windows (http://forge.novell.
Related QuestionsWhat is the difference between Gtk# and System.Windows.Forms?
FAQ: General - MonoGtk# is a set of bindings for the Gtk+ toolkit for C# (and other CIL-enabled languages), it integrates natively with the Gnome desktop. System.Windows.Forms is an API defined by Microsoft to build GUI applications.
Related Questionsgtkmm Frequently Asked QuestionsGTK+ is the GUI widget toolkit, written in C, which serves as the foundation for the GNOME project as well as many stand-alone applications. GTK+ is the foundation on which gtkmm is built. See http://www.gtk.org.Related Questions
The unlock dialog is funny looking, why not use GTK?
XScreenSaver FAQThe short answer is, for security reasons. The unlock dialog is implemented using raw Xlib because it would be very difficult to implement it using a GUI toolkit and still have xscreensaver be secure. More technical details can be found on the On Toolkits page. Instead of using the usual xscreensaver mechanisms, the KDE folks have chosen to roll their own screen saver wrapper that is inferior to the xscreensaver-demo way of doing things in any number of ways.
Related QuestionsWhy is it named gtkmm?
gtkmm Frequently Asked Questionsgtkmm was orignally named gtk-- because GTK+ already has a + in the name. However, as -- is not easily indexed by search engines the package generally went by the name gtkmm, and that's what we stuck with.
Related QuestionsHow good is gtkmm?
gtkmm Frequently Asked QuestionsWhat systems does it run under?2.2. How complete is it?2.3. Does gtkmm support all the C++ goodies like inheritance, polymorphism, etc?2.4. Does gtkmm use Standard C++ (STL) containers such as std::string and std::list2.5. Does gtkmm force STL-style interfaces onto GTK+ widgets in a way that is inappropriate, difficult, or badly-implemented?2.6. Does the gtkmm API use C types, such as structs?2.7. What applications have been written in gtkmm?2.8. How does gtkmm compare to Qt?2.9.
Related Questions