[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master b26ba73 34/40: snippet: Add missing GObjectClass vfunc
From: |
Daiki Ueno |
Subject: |
[elpa] master b26ba73 34/40: snippet: Add missing GObjectClass vfunc |
Date: |
Fri, 22 Jan 2016 22:48:47 +0000 |
branch: master
commit b26ba7336c90418cb3c5eaf7b06c2ccba31b6b1e
Author: Daiki Ueno <address@hidden>
Commit: Daiki Ueno <address@hidden>
snippet: Add missing GObjectClass vfunc
---
gnome-c-snippet.el | 51 ++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 46 insertions(+), 5 deletions(-)
diff --git a/gnome-c-snippet.el b/gnome-c-snippet.el
index d0dbaad..c5290ba 100644
--- a/gnome-c-snippet.el
+++ b/gnome-c-snippet.el
@@ -325,7 +325,7 @@ GObjectConstructParam *construct_properties)\n")
" (gnome-c-snippet--format-PackageClass package class) " *self = "
(gnome-c-snippet--format-PACKAGE_CLASS package class) " (object);
- G_OBJECT_CLASS (" (gnome-c-snippet--format-package_class package class)
"_parent_class)->constructed (object);
+ G_OBJECT_CLASS (" (gnome-c-snippet--format-package_class package class)
"_parent_class)->constructed (type, n_construct_properties,
construct_properties);
}
")
(indent-region body-start (point))))
@@ -446,6 +446,38 @@ static void
")
(indent-region body-start (point))))
+(defun gnome-c-snippet-insert-dispatch_properties_changed (package class)
+ "Insert 'dispatch_properties_changed vfunc of GObjectClass for
+PACKAGE and CLASS."
+ (interactive
+ (gnome-c-snippet--read-package-and-class
+ nil nil
+ 'gnome-c-snippet-package
+ 'gnome-c-snippet-class))
+ (let (arglist-start body-start)
+ (insert "\
+static void
+" (gnome-c-snippet--format-package_class package class)
"_dispatch_properties_changed (")
+ (setq arglist-start (point-marker))
+ (insert "GObject *object,
+guint n_pspecs,
+GParamSpec **pspecs)\n")
+ (setq body-start (point-marker))
+ (if gnome-c-snippet-align-arglist
+ (progn
+ (goto-char arglist-start)
+ (gnome-c-align-arglist-at-point))
+ (indent-region arglist-start (point)))
+ (goto-char body-start)
+ (insert "{
+ " (gnome-c-snippet--format-PackageClass package class) " *self = "
+ (gnome-c-snippet--format-PACKAGE_CLASS package class) " (object);
+
+ G_OBJECT_CLASS (" (gnome-c-snippet--format-package_class package class)
"_parent_class)->dispatch_properties_changed (object, n_pspecs, pspecs);
+}
+")
+ (indent-region body-start (point))))
+
(defun gnome-c-snippet-insert-notify (package class)
"Insert 'notify' vfunc of GObjectClass for PACKAGE and CLASS."
(interactive
@@ -453,16 +485,24 @@ static void
nil nil
'gnome-c-snippet-package
'gnome-c-snippet-class))
- (let (body-start)
+ (let (arglist-start body-start)
(insert "\
static void
-" (gnome-c-snippet--format-package_class package class) "_notify (GObject
*object)\n")
+" (gnome-c-snippet--format-package_class package class) "_notify (")
+ (setq arglist-start (point-marker))
+ (insert "GObject *object,
+GParamSpec *pspec)\n")
(setq body-start (point-marker))
+ (if gnome-c-snippet-align-arglist
+ (progn
+ (goto-char arglist-start)
+ (gnome-c-align-arglist-at-point))
+ (indent-region arglist-start (point)))
(insert "{
" (gnome-c-snippet--format-PackageClass package class) " *self = "
(gnome-c-snippet--format-PACKAGE_CLASS package class) " (object);
- G_OBJECT_CLASS (" (gnome-c-snippet--format-package_class package class)
"_parent_class)->finalize (object);
+ G_OBJECT_CLASS (" (gnome-c-snippet--format-package_class package class)
"_parent_class)->notify (object, pspec);
}
")
(indent-region body-start (point))))
@@ -502,7 +542,8 @@ static void
("GObjectClass.get_property" . gnome-c-snippet-insert-get_property)
("GObjectClass.dispose" . gnome-c-snippet-insert-dispose)
("GObjectClass.finalize" . gnome-c-snippet-insert-finalize)
- ;; GObjectClass.dispatch_properties_changed
+ ("GObjectClass.dispatch_properties_changed" .
+ gnome-c-snippet-insert-dispatch_properties_changed)
("GObjectClass.notify" . gnome-c-snippet-insert-notify)
("GObjectClass.contructed" . gnome-c-snippet-insert-constructed)))
- [elpa] master f339477 28/40: Add references to developer.gnome.org, (continued)
- [elpa] master f339477 28/40: Add references to developer.gnome.org, Daiki Ueno, 2016/01/22
- [elpa] master 78a0cce 31/40: align: Fix `max' usage, Daiki Ueno, 2016/01/22
- [elpa] master 03f8dca 32/40: tests: Add line wrapping tests, Daiki Ueno, 2016/01/22
- [elpa] master a65924c 26/40: align: Remove spaces between two '*', Daiki Ueno, 2016/01/22
- [elpa] master 39e7fb6 29/40: Rename some commands, Daiki Ueno, 2016/01/22
- [elpa] master 570b52f 30/40: snippet: Fix indentation, Daiki Ueno, 2016/01/22
- [elpa] master e84487c 35/40: snippet: Add FIXME comment, Daiki Ueno, 2016/01/22
- [elpa] master b04d18e 33/40: Change copyright holder to FSF, Daiki Ueno, 2016/01/22
- [elpa] master 06c8a6a 38/40: * packages/gnome-c-style/gnome-c-tests.el: Really add copyright blurb, Daiki Ueno, 2016/01/22
- [elpa] master 8d0f8c1 37/40: Fix command names in comment, Daiki Ueno, 2016/01/22
- [elpa] master b26ba73 34/40: snippet: Add missing GObjectClass vfunc,
Daiki Ueno <=
- [elpa] master 1054ea1 39/40: Add links to GNOME programming guideline, Daiki Ueno, 2016/01/22
- [elpa] master 957d395 36/40: maint: Fix license notice, Daiki Ueno, 2016/01/22
- [elpa] master eaa2c7a 40/40: Merge commit '1054ea1bc5b07a1438a18c1b33f4266b28ff9d77', Daiki Ueno, 2016/01/22
- [elpa] master 7f7d7cb 16/40: Rename to gnome-minor-mode, Daiki Ueno, 2016/01/22
- [elpa] master b6e010d 17/40: align: Add option to control max columns, Daiki Ueno, 2016/01/22
- [elpa] master a654ab4 25/40: Rename to gnome-c-style, Daiki Ueno, 2016/01/22