| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
As in the case of class_shared.m4, we need to do the same for
class_interface.m4 as well, in order to export the items in the private
headers fully.
|
|
|
|
|
|
| |
Apparently more items in the generated code must be marked with the
function decoration that is specified, otherwise the exported symbols
will not be complete.
|
|
|
|
|
| |
This allows the compiler to use the decoration macro to export those methods
from the generated items
|
|
|
|
| |
This will make it easier to change the underlying RefPtr type.
|
| |
|
| |
|
|
|
|
|
|
| |
Don't repeat the virtual declaration from Glib::ObjectBase's destructor.
Instead use override to show that we expect the base destructor to
be virtual.
|
|
|
|
| |
This is useful for standard containers, for instance.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
These predeclarations, such as below, seem to confuse doxygen.
See bug #743918 .
namespace Gtk
{ class Window_Class; } // namespace Gtk
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tools/m4/class_interface.m4 (_CUSTOM_CTOR_CAST): Add a new macro so
that classes wrapped by the _CLASS_INTERFACE() macro can implement a
custom cast constructor. This is so that classes like
Tls[Client|Server]Connection, that derive from Glib::Interface but
should also derive from a Glib::Object derived type, though they do
not do so in the C API, don't produce warnings from an attempt to set
the non-existent properties of the GObject derived type when an
attempt to construct the C object is made in the default Glib::Object
constructor. Glib::wrap_auto_interface<>(), which is called by
Glib::wrap() for interfaces, uses the cast constructor to create the
wrapper which calls the cast constructor of Glib::Interface. If the
Glib::Object derived base class of the wrapper has a default
constructor, that constructor is then called which leads to the
Glib::Object default constructor being called, which tries to
construct the C object and set its properties thus producing the
property setting warnings. A custom cast constructor can chain up to
the cast constructor of the Glib::Object derived type thus avoiding
the call to the Glib::Object default constructor and the non-existent
property setting warnings.
* glib/glibmm/interface.cc:
* glib/glibmm/interface.h (Interface): Add a default constructor so
that in the cases above (when the cast constructor of the
Glib::Object's derived type is used), the compiler can find a
Glib::Interface default constructor to use. Using the Glib::Interface
cast constructor as well as the cast constructor of the Glib::Object
derived type would cause "ObjectBase::initialize() called twice
for the same GObject" errors.
|
|
|
|
|
|
|
|
|
|
|
| |
* tools/m4/class_boxedtype.m4:
* tools/m4/class_boxedtype_static.m4:
* tools/m4/class_gobject.m4:
* tools/m4/class_interface.m4: Move the static get_type()
functions out of the ifdef so that doxygen can see them,
because they are sometimes needed, for instance when
implementing a custom container.
Bug #670212 (Mark Vender).
|
|
|
|
| |
* tools/m4/class_interface.m4:
|
|
|
|
|
|
| |
classes.
Bug #673213
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tools/m4/base.m4 (SECTION_DTOR_DOCUMENTATION): Add a new section in
which to store a destructor's documentation.
* tools/m4/class_shared.m4 (_DOCUMENT_DTOR): Add a new macro which
takes text and places it in a Doxygen comment block sending the
comment block to the new section above. The text can be multiline.
The macro assumes that any lines below the first, if any, have at
least one space preceding them. If the text is a single line, it can
be double quoted (the double quotes are removed).
* tools/m4/class_boxedtype.m4:
* tools/m4/class_gobject.m4:
* tools/m4/class_interface.m4:
* tools/m4/class_opaque_copyable.m4: Modify these so that any Doxygen
comment block sent to the new section above is inserted in the
generated declaration of the destructor.
Bug #668918.
|
| |
|
|
|
|
|
|
|
|
|
| |
* configure.ac: Removed the --enable-api-exceptions, --enable-api-properties,
--enable-api-vfuncs and --enable-api-default-signal-handlers options.
* build/reduced.m4: Removed.
* tools/m4/*.m4:
* tools/pm/Output.pm: Remove any use of ifdefs and auto_ptr for reduced API.
* *.[hg|ccg|h|cc]: Remove the idefed code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-02-04 Murray Cumming <murrayc@murrayc.com>
* tools/m4/class_interface.m4: Allow _CLASS_INTERFACE() to take two
extra optional paremeters to specify the base class, so that appropriate
code is generated when we derive from another Interface - which seems
appropriate when the GInterface has a prerequisite.
* gio/src/loadableicon.ccg:
* gio/src/loadableicon.hg: Derive from Icon, because it is a prerequisite
of this interface. Use the extra _CLASS_INTERFACE() parameters.
* gio/src/fileicon.hg: Do not derive from Icon because that happens
through LoadableIcon now. But do use _IMPLEMENTS_INTERFACE(Icon) here,
because only a Glib::Object can actually implement an interface.
svn path=/trunk/; revision=580
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-09-25 Murray Cumming <murrayc@murrayc.com>
* glib/glibmm/wrap.cc:
* glib/glibmm/wrap.h: Added wrap_auto_interface<>(), which should
be used by wrap() specializations for interfaces, so we create
instances of the interface even if the derived C type is unknown to
us.
* glib/glibmm/signalproxy_connectionnode.h: Do not wrap.h from here
unnecessarily, to allow us to include objectbase.h in wrap.h,
needed by the new templated method.
* tools/m4/class_interface.m4: Use wrap_auto_interface<>()
instead of wrap_auto() for interfaces.
svn path=/trunk/; revision=445
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-05-14 Murray Cumming <murrayc@murrayc.com>
* tools/m4/class_boxedtype.m4:
* tools/m4/class_gobject.m4:
* tools/m4/class_gtkobject.m4:
* tools/m4/class_interface.m4:
* tools/m4/class_opaque_copyable.m4:
* tools/m4/class_opaque_refcounted.m4: Explicitly mention Glib::wrap()
in the documentation for generated Glib::wrap() functions, because doxygen
does not show their namespace.
svn path=/trunk/; revision=413
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-04-25 Murray Cumming <murrayc@murrayc.com>
* configure.in:
* glib/glibmmconfig.h.in:
* scripts/reduced.m4: Added a --enable-api-default-signal-handlers option. This defines
GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED, which is used to #ifdef default signal handlers.
This saves on library code size (less code and API symbols) and application code size and
loading time (less virtual methods, which must be imported and resolved at load time) and
per-object memory size (smaller object sizes because of less virtual methods.)
* tools/m4/class_interface.m4:
* tools/m4/class_shared.m4: Put default signal handler code in #ifdefs.
|
| |
|
|
|
|
|
|
|
| |
2003-12-13 Murray Cumming <murrayc@usa.net>
* tools/m4/*.m4: Added fuller Doxygen documentation to all gobj() and
wrap() methods. Doxygen should not emit warnings about these now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-11-01 Murray Cumming <murrayc@usa.net>
* glib/glibmm/propertyproxy.h, propertyproxy_base.[h|cc]: Now uses
ObjectBase instead of Object, because glib can now have properties
on interfaces. This is needed, for instance, by the GtkFileChooser
interface wrapper in gtkmm.
* glib/glibmm/object.h: Moved get/set_property() methods into
ObjectBase, for the same reason.
* tools/pm/WrapParser.pm, Output.pm: Added optional no_default_handler
parameter to gmmproc _WRAP_SIGNAL() macro, for signals whose
default signal handler is not in the klass struct and therefore
can not be overridden.
|
| |
|
|
|
|
|
|
|
|
| |
2003-05-02 Murray Cumming <murrayc@usa.net>
* tools/m4/*.m4: Added doxygen comments to gobj() methods.
* examples/markup/parser.cc: Commented-out a std::right that gcc 2.93
does not like.
|
|
|