Synonyms for gobject or Related words with gobject
Examples of "gobject"
PyGObject provides a wrapper for use in Python programs when accessing
is an object system used by GTK+, GLib,
, GIO, GStreamer and other libraries.
has its own separate set of documentation and is usually compiled into its own shared library file, the source code for
resides in the GLib source tree and is distributed along with GLib. For this reason,
uses the GLib version numbers and is typically packaged together with GLib (for example, Debian puts
in its codice_4 package family).
PyGObject can dynamically accesses any
libraries that use
Introspection. It replaces the need for separate modules such as PyGTK, GIO and python-gnome to build a full GNOME 3.0 application. Once new functionality is added to
library it is instantly available as a Python API without the need for intermediate Python glue.
Depending only on GLib and libc,
is a cornerstone of GNOME and is used throughout GTK+, Pango, ATK, and most higher-level GNOME libraries like GStreamer and applications. Prior to GTK+ 2.0, code similar to
was part of the GTK+ codebase. (The name “
” was not yet in use — the common baseclass was called codice_1.)
code in C in the first place, however, is relatively verbose. The library takes a good deal of time to learn, and programmers with experience in high-level object-oriented languages often find it somewhat tedious to work with
in C. For example, creating a subclass (even just a subclass of codice_3) can require writing and/or copying large amounts of boilerplate code. However, using Vala, a language that is designed primarily to work with
and which converts to C, is likely to make working with
based libraries nicer.
applications are written entirely in C, the
system maps well into the native object systems of many other languages, like C++, Java, Ruby, Python, Common Lisp, and .NET/Mono. As a result, it is usually relatively painless to create language bindings for well-written libraries that use the
object-oriented programming framework implements reference counting on its base types, including weak references. Reference incrementing and decrementing uses atomic operations for thread safety. A significant amount of the work in writing bindings to
from high-level languages lies in adapting
reference counting to work with the language's own memory management system.
provides a mostly complete object system for C, it can be seen as an alternative to C-derived languages such as C++ and Objective-C. (Though both also offer many other features beyond just their respective object systems.) An easily observed difference between C++ and
(like Java) does not support multiple inheritance.
Perhaps the most profound difference is GObject’s emphasis on signals (called events in other languages). This emphasis derives from the fact that
was specifically designed to meet the needs of a GUI toolkit. Whilst there are signal libraries for most object-oriented languages out there, in the case of
it is built into the object system. Because of this, a typical
application will tend to use signals to a much larger extent than a non-
application would, making
components much more encapsulated and reusable than the ones using plain C++ or Java. If using glibmm/gtkmm, the official C++ wrappers to Glib/GTK+ respectively, the sibling project libsigc++ allows easy use of underlying
signals using standard C++. Of course, other implementations of signals are available on almost all platforms, although sometimes an extra library is needed, such as Boost.Signals2 for C++.
Another important difference is that while C++ and Objective-C are separate languages,
is strictly a library and as such does not introduce any new syntax or compiler intelligence. For example, when writing
-based C code, it is frequently necessary to perform explicit upcasting. Hence, “C with
”, considered as a language separate from plain C, is a strict superset of plain C — like Objective C, but unlike C++.
The types that are derived from the built-in
fundamental types fall
messaging system consists of two complementary parts: "closures" and "signals".
The Vala programming language uses
reference counting as its primary garbage collection system, along with copy-heavy string handling.
class is implemented by at least two structures: the "class structure" and the "instance structure".
only aimed to avoid dependence on C++ compiler, but RRBC issues are the same as in generic C++.
The GLib Object System, or
, is a free software library providing a portable object system and transparent cross-language interoperability.
is designed for use both directly in C programs to provide object-oriented C-based APIs and through bindings to other languages to provide transparent cross-language interoperability, e.g. PyGObject.
Pantheon is built on top of the GNOME software base, i.e. GTK+, GDK, Cairo, GLib (including
and GIO), GVfs and Tracker
The main drawback of the
framework is its verbosity. Large amounts of boilerplate code, such as manual definitions of type casting macros and obscure type registration incantations, are necessary to create a new class. The
Builder, or GOB2, is a tool that attempts to remedy this problem by offering a template syntax reminiscent of Java. Code written using GOB2 is pre-processed into vanilla C code prior to compilation. Another compiler-to-C for the
type system is Vala, which uses a C#-style syntax.
The combination of C and
is used in many successful free software projects, such as the GNOME desktop, the GTK+ toolkit and the GIMP image manipulation program.
The proper way to access the GConf database held by the GConf daemon is to use the GConfClient
Copyright © 2017