summaryrefslogtreecommitdiff
path: root/tools/m4/class_interface.m4
Commit message (Collapse)AuthorAgeFilesLines
* class_interface.m4: Export the generated private classChun-wei Fan2020-08-311-1/+1
| | | | | | 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.
* m4: Apply function decoration more thoroughlyChun-wei Fan2020-03-091-1/+1
| | | | | | 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.
* tools/m4: Allow one to decorate the generated wrap() prototypeChun-wei Fan2020-03-051-0/+3
| | | | | This allows the compiler to use the decoration macro to export those methods from the generated items
* Add and use make_refptr_for_instance().Murray Cumming2017-04-061-1/+1
| | | | This will make it easier to change the underlying RefPtr type.
* Remove trailing whitespace.Murray Cumming2016-05-161-6/+6
|
* C++11: gmmproc: Use using instead of typedef.Murray Cumming2016-03-311-8/+8
|
* C++11: gmmproc: GObject/GInterface: Use override on destructor.Murray Cumming2015-12-241-1/+1
| | | | | | 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.
* gmmproc: Make all move operations noexcept.Murray Cumming2015-08-311-4/+4
| | | | This is useful for standard containers, for instance.
* gmmproc: Make destructors explicitly noexcept.Murray Cumming2015-08-311-2/+2
|
* gmmproc: _CLASS_INTERFACE(): Generate move operations.Murray Cumming2015-08-221-0/+14
|
* C++11: Use = delete instead of private to make classes noncopyable.Murray Cumming2015-07-181-4/+4
|
* C++11: Use nullptr.Murray Cumming2015-07-161-1/+1
|
* C++11: gmmproc: Use of auto in generated files.Murray Cumming2015-07-151-1/+1
|
* gmmproc: Put DOXYGEN_SHOULD_SKIP_THIS around *_Class prototypes.Murray Cumming2015-02-031-0/+3
| | | | | | | | These predeclarations, such as below, seem to confuse doxygen. See bug #743918 . namespace Gtk { class Window_Class; } // namespace Gtk
* tools: Remove blank lines in files.José Alburquerque2013-04-291-1/+1
|
* Gio::TlsClientConnection: Make the class work correctly.José Alburquerque2013-04-071-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Show get_type() in the API documentation.Murray Cumming2012-07-161-1/+4
| | | | | | | | | | | * 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).
* Slight rewrite of the documenation in the previous commit.Murray Cumming2012-04-031-1/+1
| | | | * tools/m4/class_interface.m4:
* gmmproc: Generate the documentation of default constructors of interface ↵Mark Vender2012-04-031-2/+7
| | | | | | classes. Bug #673213
* gmmproc: Allow destructors to be documented.José Alburquerque2012-03-011-0/+1
| | | | | | | | | | | | | | | | | | | * 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.
* tools: Recursive whitespace cleanup in folder.José Alburquerque2011-06-051-1/+1
|
* Remove the reduced API options and code, as discussed on mailing list.Murray Cumming2010-05-311-12/+0
| | | | | | | | | * 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.
* Allow _CLASS_INTERFACE() to take two extra optional paremeters to specifyMurray Cumming2008-02-041-5/+18
| | | | | | | | | | | | | | | | | 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
* Added wrap_auto_interface<>(), which should be used by wrap()Murray Cumming2007-09-251-1/+7
| | | | | | | | | | | | | | | | | 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
* Explicitly mention Glib::wrap() in the documentation for generatedMurray Cumming2007-05-141-2/+5
| | | | | | | | | | | | | | | 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
* Added a --enable-api-default-signal-handlers option. This definesMurray Cumming2006-07-191-0/+6
| | | | | | | | | | | | | | 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.
* Merged changes from glibmm-2-10 branch.Murray Cumming2006-05-121-0/+7
|
* Added fuller Doxygen documentation to all gobj() and wrap() methods.Murray Cumming2003-12-141-3/+6
| | | | | | | 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.
* Now uses ObjectBase instead of Object, because glib can now haveMurray Cumming2003-11-011-0/+4
| | | | | | | | | | | | | | | 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.
* stuff from gtkmm2Murray Cumming2003-05-211-3/+4
|
* Added doxygen comments to gobj() methods. Commented-out a std::right thatMurray Cumming2003-05-021-0/+3
| | | | | | | | 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.
* Initial revisionMurray Cumming2003-01-071-0/+240