summaryrefslogtreecommitdiff
path: root/glib/glibmm/object.h
Commit message (Collapse)AuthorAgeFilesLines
* glib/glibmm/*.h: Mark classes and methods with GLIBMM_APIChun-wei Fan2020-03-051-4/+4
| | | | | This prepares the code to use __declspec(dllexport) to export all symbols, so that we can eventually bid farewell to gendf.exe
* Update the Free Software Foundation address in copyright noticesKjell Ahlstedt2017-08-301-2/+1
| | | | Bug 786824
* Object: build fixMarcin Kolny2017-08-011-2/+2
| | | | Value_Pointer class takes only one template argument
* Use std::dynamic_pointer_cast<>().Murray Cumming2017-04-071-4/+4
| | | | Instead of Glib::RefPtr<>::cast_dynamic().
* Add and use make_refptr_for_instance().Murray Cumming2017-04-061-2/+2
| | | | This will make it easier to change the underlying RefPtr type.
* ConstructParams: Remove copy constructor.Murray Cumming2017-04-061-6/+1
| | | | | I doubt that this is really necessary with C++11. Please file a bug if this causes a real compilation problem.
* C++11: ConstructParams: =delete the operator=, instead of making it private.Murray Cumming2017-04-061-3/+1
|
* Object: Use g_object_new_with_properties().Murray Cumming2017-04-041-3/+5
| | | | | | | Instead of (deprecated) g_object_newv() and (deprecated) GParameter. This seems to work. It is meant to be the simplest possible change. I would like to translate this code properly to C++ now that I've noticed it.
* C++11: .h/.cc files: Replace typedefs with using.Murray Cumming2016-03-311-17/+17
|
* Re-run clang-format on some files.Murray Cumming2016-02-261-1/+1
| | | | | I need to make a subsequent commit to fix the now-unaligned trailing comments.
* Run clang-format on glib .h files.Murray Cumming2016-02-261-85/+82
|
* C++11: Replace virtual keyword with override keyword on destructors.Murray Cumming2015-12-241-1/+1
| | | | This ensures that the base class is really virtual.
* Glib: More nullptr instead of 0Kjell Ahlstedt2015-11-231-3/+2
|
* Make destructors explicitly noexcept.Murray Cumming2015-08-311-2/+2
| | | | | Destructors are already noexcept, but this makes that even clearer. This might be foolish.
* Glib::ObjectBase, Object, Interface: Add move operators.Murray Cumming2015-08-221-0/+3
| | | | | Add move constructors and move assignment operators so that derived classes can have these too.
* C++11: Use = delete instead of private to make classes noncopyable.Murray Cumming2015-07-181-4/+4
|
* Strip trailing whitespace.Mark Vender2012-10-291-3/+3
| | | | | | | * gio/giomm/*.[h|cc]: * gio/src/*.[hg|ccg]: * glib/glibmm/*.[h|cc]: * glib/src/*.[hg|ccg]: Strip trailing whitespace. Bug #681072.
* Get rid of all uses of GLIBMM_USING_STD()Daniel Elstner2009-08-161-4/+2
| | | | | | | | | | * glib/src/*.{ccg,hg}: Remove all uses of GLIBMM_USING_STD(). We definitely do not need this anymore, and probably never did. We never covered all symbols from namespace std anyway and never got any complaint about it. Also, be careful to always include the glibmmconfig.h header when it is needed. * glib/glibmm/*.{cc,h}: ditto. * glib/glibmmconfig.h.in: Clean up and re-indent.
* Change license header to mention Lesser General Public License version 2.1Deng Xiyue2009-01-191-4/+4
| | | | | | | | | | 2009-01-20 Deng Xiyue <manphiz@gmail.com> * Change license header to mention Lesser General Public License version 2.1 instead of Library General Public License, to be consistent with COPYING. svn path=/trunk/; revision=779
* Clean up glib includes (Bug #563987)Jonathon Jongsma2008-12-101-1/+1
| | | | svn path=/trunk/; revision=749
* Clean up the code a bit. (get_application_name): Remove the code thatDaniel Elstner2007-01-201-25/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * glib/glibmm/miscutils.cc: Clean up the code a bit. (get_application_name): Remove the code that checked the string for valid UTF-8, and attempted conversion if not valid. I must have been on crack when I wrote this, as the combination of conditions that would cause the string to be invalid UTF-8 is quite unlikely. If this is a valid concern at all, it should be filed as a GLib bug and not worked around in glibmm. (build_filename(const std::string&, const std::string&)): Just call the plain g_build_filename() instead of building a temporary array and passing that via ArrayHandle to the build_filename() overload for containers. (build_path): Remove the already deactivated custom implementation from the time before g_build_pathv() was added to GLib. * glib/glibmm/object.{cc,h}: Improve/fix a couple of comments. (ConstructParams::ConstructParams): Add G_GNUC_NULL_TERMINATED function attribute to make the compiler complain if the variadic argument list is not terminated by a NULL pointer. * glib/glibmm/ustring.{cc,h} (utf8_find_last_of): Avoid applying bitwise logical operators directly to (possibly signed) operands of char type. In order to avoid relying on implementation-defined behavior, make sure that the operands are of unsigned integer type. (ustring::is_ascii): Likewise, (ustring_Iterator<T>::operator--): Likewise. (get_unichar_from_std_iterator): De-obfuscate this highly optimized piece of code, as the current stable release of GCC (4.1.2-pre on my system) generates better assembler output without the voodoo. svn path=/trunk/; revision=369
* Check whether DestroyNotify is defined, so we can warn about includingMurray Cumming2006-06-191-0/+6
| | | | | | | | 2006-06-19 Murray Cumming <murrayc@murrayc.com> * glib/glibmm/object.h: Check whether DestroyNotify is defined, so we can warn about including X11/Xlib.h before this header, which will break things. Bug #316726 from Mert Tugcu and Javeed Shaikh.
* Embed the manifest file into executables in the case of the Debug target.Cedric Gustin2006-04-061-1/+3
| | | | | | | | | | | | | | | | | 2006-04-06 Cedric Gustin <cedric.gustin@gmail.com> * MSVC_Net2003/*.vcproj: Embed the manifest file into executables in the case of the Debug target. * README.win32: Fixed a few typos. * build_shared/Makefile_build.am_fragment: Add -DGLIBMM_BUILD to the extra_defines compiler flags (switch between dllexport/dllimport on win32). * glib/glibmmconfig.h.in: Define GLIBMM_DLL when building with mingw32/cygwin. This makes the GLIBMM_API tag (and GTKMM_API for gtkmm) active with these two platforms, as required by bug #309030. * glib/glibmm/object.h, glib/glibmm/objectbase.h : Tag the Object and ObjectBase classes with GLIBMM_API to make Visual Studio happy.
* Hide some internal stuff from Doxygen. Add/Improve the DoxygenMurray Cumming2005-12-161-1/+1
| | | | | | | | | | | | 2005-12-16 Murray Cumming <murrayc@murrayc.com> * glib/glibmm/object.h: * glib/glibmm/objectbase.h: Hide some internal stuff from Doxygen. Add/Improve the Doxygen documentation. * glib/src/convert.hg: Correct the declaration of filename_display_name() to match the implementation. Previously this would have been unusable due to a linker error.
* Added new compiler tests. 1. To see whether it allows use of non extern CMurray Cumming2005-01-211-0/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-01-21 Murray Cumming <murrayc@localhost.localdomain> * configure.in, scripts/cxx.m4, glibmm/glibmmconfig.h.in: Added new compiler tests. 1. To see whether it allows use of non extern C functions as extern C callbacks, because the Tru64 compiler does not allow this, when using strict_ansi. We do not actually use this yet. 2. To see whether it allows us to define a template that uses an undefined type, even if we do not use it before defining the type. Tru64 does not allow this. That's probably correct. * glib/glibmm/container.h: #ifdef out a dynamic_cast that Tru64 does not allow, and which I can not think of a better place to put. See the comment in the code. * glib/glibmm/containerhandler_helpers.h: When the compiler does not alllow the GObject and GtkObject (dynamic_cast of) specializations here, then put them in glib/glibmm/object.h and gtkmm/gtk/src/object.hg instead.- needed by Tru64 compiler. * glib/glibmm/value.h, value_custom.[h|cc]: Conditionally moved the RefPtr Value specialization into object.h, as above. * glib/src/ optiongroup.ccg, spawn.ccg, thread.ccg: Make C callacks separate extern C. * glib/src/optiongroup.ccg: Do not use the StringArrayHandle, because the Tru64 compiler has problems with it - see comments in code. * glib/src/optionentry.hg: Remove the include of value.h, because it is not used and it causes a Tru64 compile error in optioncontext.cc because its templates are included before the types that the template uses. 2005-01-19 Murray Cumming <murrayc@murrayc.com> * configure.in, scripts/cxx.m4, glibmm/glibmmconfig.h.in: Added a compiler test, because the IRIX MipsPro compiler does not allow the inline initialization of ustring::npos. * glib/glibmm/ustring.[h|cc]: When the compiler does not support the inline initialization of npos, initialize it in the .cc file. Declare partial specializations of the SequenceString inner class inside the class - needed by IRIX MipsPro compiler.
* Temporarily reverted some stuff. I will recommit some of it.Murray Cumming2005-01-211-131/+0
|
* Custom boxed types, more #ifdef ABI-changing to add intermediate extern-CMurray Cumming2005-01-201-1/+1
| | | | | | | | | | | 2005-01-20 Murray Cumming <murrayc@murrayc.com> * glib/glibmm/value.h, value_custom.[h|cc]: Custom boxed types, more #ifdef ABI-changing to add intermediate extern-C callback function, for the IRIX MipsPro compiler. This might not actually work at runtime, but if it does not then lots of funtionality should still work. Conditionally moved the RefPtr Value specialization into object.h, as before.
* Custom boxed types, more #ifdef ABI-changing to add intermediate extern-CMurray Cumming2005-01-201-0/+1
| | | | | | | | | | | 2005-01-20 Murray Cumming <murrayc@murrayc.com> * glib/glibmm/value.h, value_custom.[h|cc]: Custom boxed types, more #ifdef ABI-changing to add intermediate extern-C callback function, for the IRIX MipsPro compiler. This might not actually work at runtime, but if it does not then lots of funtionality should still work. Conditionally moved the RefPtr Value specialization into object.h, as before.
* Custom boxed types, more #ifdef ABI-changing to add intermediate extern-CMurray Cumming2005-01-201-0/+45
| | | | | | | | | | | 2005-01-20 Murray Cumming <murrayc@murrayc.com> * glib/glibmm/value.h, value_custom.[h|cc]: Custom boxed types, more #ifdef ABI-changing to add intermediate extern-C callback function, for the IRIX MipsPro compiler. This might not actually work at runtime, but if it does not then lots of funtionality should still work. Conditionally moved the RefPtr Value specialization into object.h, as before.
* Make C callacks separate extern C functions instead of static memberMurray Cumming2005-01-201-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | 2005-01-20 Murray Cumming <murrayc@murrayc.com> * glib/src/iochannel.[hg|ccg], markup.[hg|ccg], optiongroup.ccg, spawn.ccg, thread.ccg: Make C callacks separate extern C functions instead of static member functions, to satisfy the IRIX MipsPro compiler. Unfortunately this means that we export some private API. * glib/src/optionentry.hg: Remove the include of value.h, because it is not used and it causes a MipsPro compile error in optioncontext.cc because its templates are included before the types that the template uses. * glib/src/optiongroup.ccg: Do not use the StringArrayHandle, because the MipsPro compiler has problems with it - see comments in code. * configure.in, scripts/cxx.m4, glibmm/glibmmconfig.h.in: Added a compiler test, because the IRIX MipsPro compiler does not allow us to define a template that uses an undefined type, even if we do not use it before defining the type. That's probably correct. * glib/glibmm/containerhandler_helpers.h: When the compiler does not alllow the GObject and GtkObject (dynamic_cast of) specializations here, then put them in glib/glibmm/object.h and gtkmm/gtk/src/object.hg instead.- needed by MipsPro (IRIX) compiler..
* :ConstructParams): Implement the copy constructor in a way that actuallyDaniel Elstner2004-05-131-4/+4
| | | | | | * glib/glibmm/object.{cc,h} (ConstructParams::ConstructParams): Implement the copy constructor in a way that actually works if used. Relying on the compiler to optimize it away is a bad idea. (#132300)
* Remove the parent get_type() call from the Class::init() function, becauseMurray Cumming2004-03-131-3/+8
| | | | | | | | | | | | | 2004-03-13 Murray Cumming <murrayc@murrayc.com> * tools/m4/class_shared.m4: Remove the parent get_type() call from the Class::init() function, because it is optimised away, and g++ 3.4 actually complains that it does nothing. * glib/glibmm/object.[h|cc]: Add a public ConstructParams copy constructor, needed by g++ 3.4. See comments in the code. * tests/glibmm_value/glibmm_value.cc: Instantiate instances of value types, to fix the g++ 3.4 build. I don't know what the code was meant to do before anyway.
* Now uses ObjectBase instead of Object, because glib can now haveMurray Cumming2003-11-011-42/+0
| | | | | | | | | | | | | | | 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.
* Initial revisionMurray Cumming2003-01-071-0/+188