From 3dbac943322ccf649b137fd1e8c2d29e108ba79c Mon Sep 17 00:00:00 2001 From: Dmitry Kalyanov Date: Sat, 3 Oct 2009 23:10:21 +0400 Subject: [PATCH] Add bindings; add information on bindings coverage --- .gitignore | 1 + api.ods | Bin 0 -> 47406 bytes ...e-0749e4c3cb64863c22480499d203fe68d4141885.yaml | 18 ++++++ ...e-21b2b215170ebc35876fa3a350518b7f9700bd78.yaml | 18 ++++++ ...e-22aa16299e7c1ecd68d2ce7852a768929028e3f3.yaml | 18 ++++++ ...e-23861ef1324f6316848582a5636055e9497cbd92.yaml | 18 ++++++ ...e-24992d0ce785d18d70ee0aeb17c5a5fdecdc5354.yaml | 18 ++++++ ...e-25a39c12de2cd7101903148ee7dafdc3e5d790ae.yaml | 18 ++++++ ...e-27f069ca44609eacd23170c3ab5129a3912e76b8.yaml | 18 ++++++ ...e-2f4e005e8d303828a7607922edd996b9faf0c5d9.yaml | 18 ++++++ ...e-39d60c033f5310200786db0a8c3974d754e051de.yaml | 18 ++++++ ...e-63c3a59fe7aee4e4fcae00d98e34ba5c720fa5ae.yaml | 18 ++++++ ...e-66999cce178a0179fddcb4e1b9d6ac6ba2473190.yaml | 18 ++++++ ...e-81334381f6a1febaf00a4374413bb963a3338708.yaml | 18 ++++++ ...e-851f4edcff20a72b77b2ab9894724ffa3604711a.yaml | 18 ++++++ ...e-88756a6cd1cd743ffaecede0345087107030e3a5.yaml | 18 ++++++ ...e-88836c61db109ee78dec552d38cde9fc66deac35.yaml | 18 ++++++ ...e-9d580aeb583e4c619dc06c8318232242fe7d3438.yaml | 18 ++++++ ...e-a2340a465d5e5475ce246455ca8a3254760d0154.yaml | 18 ++++++ ...e-ac7fa2746fbaed907e43aa3a690a744062fc7392.yaml | 18 ++++++ ...e-b04f8b7353dd92900dacb7c30562331c34561171.yaml | 18 ++++++ ...e-bb8c71d21d73d1ad594c73f0ac5ac8a6db82729c.yaml | 18 ++++++ ...e-cd59e8bd909376222bd16cf13c8558a3a024a309.yaml | 18 ++++++ ...e-ceea6984eef15f2ae49e03107ece93c2b5bf665a.yaml | 18 ++++++ ...e-d0e2cd10341f9ea26673090eba5698c19c01eaa2.yaml | 18 ++++++ ...e-df143d2fb5d923fc265fff6b8cdba490af89633f.yaml | 18 ++++++ ...e-ed99e9ad80242712fe92e0a6d8f3925ae30bd3ed.yaml | 18 ++++++ ...e-f26913fe08284ee04e9d0a3f6acd36faa2341aae.yaml | 18 ++++++ generating.lisp | 48 +++++++++++++--- gtk/cl-gtk2-gtk.asd | 1 - gtk/gtk.base-classes.lisp | 29 ++++++++++ gtk/gtk.bin.lisp | 6 -- gtk/gtk.cell-renderer.lisp | 8 ++- gtk/gtk.combo-box.lisp | 4 +- gtk/gtk.container.lisp | 15 +++-- gtk/gtk.generated-classes.lisp | 59 ++++++++++++++++---- gtk/gtk.icon-view.lisp | 2 +- gtk/gtk.menu.lisp | 25 ++++++++- gtk/gtk.objects.lisp | 23 +++++++- gtk/gtk.selectors.lisp | 34 ++++++++++- gtk/gtk.tree-view-column.lisp | 29 +++++++++- gtk/gtk.tree-view.lisp | 14 ++++- gtk/gtk.ui-manager.lisp | 17 +++++- gtk/gtk.widget.lisp | 14 +---- 44 files changed, 741 insertions(+), 56 deletions(-) create mode 100644 api.ods create mode 100644 bugs/issue-0749e4c3cb64863c22480499d203fe68d4141885.yaml create mode 100644 bugs/issue-21b2b215170ebc35876fa3a350518b7f9700bd78.yaml create mode 100644 bugs/issue-22aa16299e7c1ecd68d2ce7852a768929028e3f3.yaml create mode 100644 bugs/issue-23861ef1324f6316848582a5636055e9497cbd92.yaml create mode 100644 bugs/issue-24992d0ce785d18d70ee0aeb17c5a5fdecdc5354.yaml create mode 100644 bugs/issue-25a39c12de2cd7101903148ee7dafdc3e5d790ae.yaml create mode 100644 bugs/issue-27f069ca44609eacd23170c3ab5129a3912e76b8.yaml create mode 100644 bugs/issue-2f4e005e8d303828a7607922edd996b9faf0c5d9.yaml create mode 100644 bugs/issue-39d60c033f5310200786db0a8c3974d754e051de.yaml create mode 100644 bugs/issue-63c3a59fe7aee4e4fcae00d98e34ba5c720fa5ae.yaml create mode 100644 bugs/issue-66999cce178a0179fddcb4e1b9d6ac6ba2473190.yaml create mode 100644 bugs/issue-81334381f6a1febaf00a4374413bb963a3338708.yaml create mode 100644 bugs/issue-851f4edcff20a72b77b2ab9894724ffa3604711a.yaml create mode 100644 bugs/issue-88756a6cd1cd743ffaecede0345087107030e3a5.yaml create mode 100644 bugs/issue-88836c61db109ee78dec552d38cde9fc66deac35.yaml create mode 100644 bugs/issue-9d580aeb583e4c619dc06c8318232242fe7d3438.yaml create mode 100644 bugs/issue-a2340a465d5e5475ce246455ca8a3254760d0154.yaml create mode 100644 bugs/issue-ac7fa2746fbaed907e43aa3a690a744062fc7392.yaml create mode 100644 bugs/issue-b04f8b7353dd92900dacb7c30562331c34561171.yaml create mode 100644 bugs/issue-bb8c71d21d73d1ad594c73f0ac5ac8a6db82729c.yaml create mode 100644 bugs/issue-cd59e8bd909376222bd16cf13c8558a3a024a309.yaml create mode 100644 bugs/issue-ceea6984eef15f2ae49e03107ece93c2b5bf665a.yaml create mode 100644 bugs/issue-d0e2cd10341f9ea26673090eba5698c19c01eaa2.yaml create mode 100644 bugs/issue-df143d2fb5d923fc265fff6b8cdba490af89633f.yaml create mode 100644 bugs/issue-ed99e9ad80242712fe92e0a6d8f3925ae30bd3ed.yaml create mode 100644 bugs/issue-f26913fe08284ee04e9d0a3f6acd36faa2341aae.yaml delete mode 100644 gtk/gtk.bin.lisp diff --git a/.gitignore b/.gitignore index 2f6ec56..168975e 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ *~ *.fasl +bugs/html/ diff --git a/api.ods b/api.ods new file mode 100644 index 0000000000000000000000000000000000000000..eb1e6798d5baba60b2552f000ffa86c353ce6858 GIT binary patch literal 47406 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 c&40O%D$2k<&M^Q0&>laBkMjxW>z +status: :unstarted +disposition: +creation_time: 2009-10-02 19:33:27.068743 Z +references: [] + +id: 0749e4c3cb64863c22480499d203fe68d4141885 +log_events: +- - 2009-10-02 19:33:28.028531 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-21b2b215170ebc35876fa3a350518b7f9700bd78.yaml b/bugs/issue-21b2b215170ebc35876fa3a350518b7f9700bd78.yaml new file mode 100644 index 0000000..7571a0a --- /dev/null +++ b/bugs/issue-21b2b215170ebc35876fa3a350518b7f9700bd78.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: finish GtkWidget binding +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-03 01:23:31.425523 Z +references: [] + +id: 21b2b215170ebc35876fa3a350518b7f9700bd78 +log_events: +- - 2009-10-03 01:23:32.209292 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-22aa16299e7c1ecd68d2ce7852a768929028e3f3.yaml b/bugs/issue-22aa16299e7c1ecd68d2ce7852a768929028e3f3.yaml new file mode 100644 index 0000000..9610085 --- /dev/null +++ b/bugs/issue-22aa16299e7c1ecd68d2ce7852a768929028e3f3.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: make GtkCellRenderer interface binding +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-02 21:04:21.830719 Z +references: [] + +id: 22aa16299e7c1ecd68d2ce7852a768929028e3f3 +log_events: +- - 2009-10-02 21:04:22.647103 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-23861ef1324f6316848582a5636055e9497cbd92.yaml b/bugs/issue-23861ef1324f6316848582a5636055e9497cbd92.yaml new file mode 100644 index 0000000..59e0149 --- /dev/null +++ b/bugs/issue-23861ef1324f6316848582a5636055e9497cbd92.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: make binding to GtkListStore +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-02 21:13:30.969849 Z +references: [] + +id: 23861ef1324f6316848582a5636055e9497cbd92 +log_events: +- - 2009-10-02 21:13:33.001426 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-24992d0ce785d18d70ee0aeb17c5a5fdecdc5354.yaml b/bugs/issue-24992d0ce785d18d70ee0aeb17c5a5fdecdc5354.yaml new file mode 100644 index 0000000..69dd782 --- /dev/null +++ b/bugs/issue-24992d0ce785d18d70ee0aeb17c5a5fdecdc5354.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: make GtkCellLayout interface implementor binding +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-02 21:01:20.927960 Z +references: [] + +id: 24992d0ce785d18d70ee0aeb17c5a5fdecdc5354 +log_events: +- - 2009-10-02 21:01:21.663782 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-25a39c12de2cd7101903148ee7dafdc3e5d790ae.yaml b/bugs/issue-25a39c12de2cd7101903148ee7dafdc3e5d790ae.yaml new file mode 100644 index 0000000..1c65f00 --- /dev/null +++ b/bugs/issue-25a39c12de2cd7101903148ee7dafdc3e5d790ae.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: finish GtkContainer binding +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-03 00:58:04.994858 Z +references: [] + +id: 25a39c12de2cd7101903148ee7dafdc3e5d790ae +log_events: +- - 2009-10-03 00:58:06.106586 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-27f069ca44609eacd23170c3ab5129a3912e76b8.yaml b/bugs/issue-27f069ca44609eacd23170c3ab5129a3912e76b8.yaml new file mode 100644 index 0000000..b361df5 --- /dev/null +++ b/bugs/issue-27f069ca44609eacd23170c3ab5129a3912e76b8.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: fix running on ecl +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-02 19:33:58.167071 Z +references: [] + +id: 27f069ca44609eacd23170c3ab5129a3912e76b8 +log_events: +- - 2009-10-02 19:33:59.062857 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-2f4e005e8d303828a7607922edd996b9faf0c5d9.yaml b/bugs/issue-2f4e005e8d303828a7607922edd996b9faf0c5d9.yaml new file mode 100644 index 0000000..de0af40 --- /dev/null +++ b/bugs/issue-2f4e005e8d303828a7607922edd996b9faf0c5d9.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: add GtkTreeView drag-and-drop binding +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-02 20:29:13.250523 Z +references: [] + +id: 2f4e005e8d303828a7607922edd996b9faf0c5d9 +log_events: +- - 2009-10-02 20:29:14.586319 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-39d60c033f5310200786db0a8c3974d754e051de.yaml b/bugs/issue-39d60c033f5310200786db0a8c3974d754e051de.yaml new file mode 100644 index 0000000..d174859 --- /dev/null +++ b/bugs/issue-39d60c033f5310200786db0a8c3974d754e051de.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: make GtkTreeModelSort binding +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-02 20:56:39.451716 Z +references: [] + +id: 39d60c033f5310200786db0a8c3974d754e051de +log_events: +- - 2009-10-02 20:56:40.331508 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-63c3a59fe7aee4e4fcae00d98e34ba5c720fa5ae.yaml b/bugs/issue-63c3a59fe7aee4e4fcae00d98e34ba5c720fa5ae.yaml new file mode 100644 index 0000000..a1cc1f5 --- /dev/null +++ b/bugs/issue-63c3a59fe7aee4e4fcae00d98e34ba5c720fa5ae.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: add GtkTreeRowReference binding +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-01 20:09:17.851799 Z +references: [] + +id: 63c3a59fe7aee4e4fcae00d98e34ba5c720fa5ae +log_events: +- - 2009-10-01 20:09:18.939592 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-66999cce178a0179fddcb4e1b9d6ac6ba2473190.yaml b/bugs/issue-66999cce178a0179fddcb4e1b9d6ac6ba2473190.yaml new file mode 100644 index 0000000..1e566c2 --- /dev/null +++ b/bugs/issue-66999cce178a0179fddcb4e1b9d6ac6ba2473190.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: add public API for copying GBoxed to and from C structures +desc: "" +type: :task +component: cl-gtk2 +release: +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-03 19:04:44.190664 Z +references: [] + +id: 66999cce178a0179fddcb4e1b9d6ac6ba2473190 +log_events: +- - 2009-10-03 19:04:45.142658 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-81334381f6a1febaf00a4374413bb963a3338708.yaml b/bugs/issue-81334381f6a1febaf00a4374413bb963a3338708.yaml new file mode 100644 index 0000000..2c41c99 --- /dev/null +++ b/bugs/issue-81334381f6a1febaf00a4374413bb963a3338708.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: make bindings to GtkHSV +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-02 23:20:29.355658 Z +references: [] + +id: 81334381f6a1febaf00a4374413bb963a3338708 +log_events: +- - 2009-10-02 23:20:30.179437 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-851f4edcff20a72b77b2ab9894724ffa3604711a.yaml b/bugs/issue-851f4edcff20a72b77b2ab9894724ffa3604711a.yaml new file mode 100644 index 0000000..d674100 --- /dev/null +++ b/bugs/issue-851f4edcff20a72b77b2ab9894724ffa3604711a.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: finish GtkTreeView binding +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-02 20:28:42.648171 Z +references: [] + +id: 851f4edcff20a72b77b2ab9894724ffa3604711a +log_events: +- - 2009-10-02 20:28:43.743906 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-88756a6cd1cd743ffaecede0345087107030e3a5.yaml b/bugs/issue-88756a6cd1cd743ffaecede0345087107030e3a5.yaml new file mode 100644 index 0000000..2761b35 --- /dev/null +++ b/bugs/issue-88756a6cd1cd743ffaecede0345087107030e3a5.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: finish GtkTreePath bindings +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-01 20:07:26.739035 Z +references: [] + +id: 88756a6cd1cd743ffaecede0345087107030e3a5 +log_events: +- - 2009-10-01 20:07:27.762845 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-88836c61db109ee78dec552d38cde9fc66deac35.yaml b/bugs/issue-88836c61db109ee78dec552d38cde9fc66deac35.yaml new file mode 100644 index 0000000..7ac0c45 --- /dev/null +++ b/bugs/issue-88836c61db109ee78dec552d38cde9fc66deac35.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: make bindings for GtkBuildable +desc: "" +type: :task +component: cl-gtk2 +release: +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-03 19:01:23.359691 Z +references: [] + +id: 88836c61db109ee78dec552d38cde9fc66deac35 +log_events: +- - 2009-10-03 19:01:23.879643 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-9d580aeb583e4c619dc06c8318232242fe7d3438.yaml b/bugs/issue-9d580aeb583e4c619dc06c8318232242fe7d3438.yaml new file mode 100644 index 0000000..635fc80 --- /dev/null +++ b/bugs/issue-9d580aeb583e4c619dc06c8318232242fe7d3438.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: finish GtkFileChooser binding +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-02 23:26:28.059405 Z +references: [] + +id: 9d580aeb583e4c619dc06c8318232242fe7d3438 +log_events: +- - 2009-10-02 23:26:29.281302 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-a2340a465d5e5475ce246455ca8a3254760d0154.yaml b/bugs/issue-a2340a465d5e5475ce246455ca8a3254760d0154.yaml new file mode 100644 index 0000000..2f74c20 --- /dev/null +++ b/bugs/issue-a2340a465d5e5475ce246455ca8a3254760d0154.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: finish GtkMenu bindings (gtk_menu_attach_to_widget) +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-02 21:47:03.781363 Z +references: [] + +id: a2340a465d5e5475ce246455ca8a3254760d0154 +log_events: +- - 2009-10-02 21:47:04.621156 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-ac7fa2746fbaed907e43aa3a690a744062fc7392.yaml b/bugs/issue-ac7fa2746fbaed907e43aa3a690a744062fc7392.yaml new file mode 100644 index 0000000..00a03fe --- /dev/null +++ b/bugs/issue-ac7fa2746fbaed907e43aa3a690a744062fc7392.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: make binding to Printing +desc: "" +type: :task +component: cl-gtk2 +release: +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-03 00:20:51.439501 Z +references: [] + +id: ac7fa2746fbaed907e43aa3a690a744062fc7392 +log_events: +- - 2009-10-03 00:20:52.367292 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-b04f8b7353dd92900dacb7c30562331c34561171.yaml b/bugs/issue-b04f8b7353dd92900dacb7c30562331c34561171.yaml new file mode 100644 index 0000000..3f2bc43 --- /dev/null +++ b/bugs/issue-b04f8b7353dd92900dacb7c30562331c34561171.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: finish bindings to GtkColorSelection +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-02 23:18:52.109533 Z +references: [] + +id: b04f8b7353dd92900dacb7c30562331c34561171 +log_events: +- - 2009-10-02 23:18:53.021324 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-bb8c71d21d73d1ad594c73f0ac5ac8a6db82729c.yaml b/bugs/issue-bb8c71d21d73d1ad594c73f0ac5ac8a6db82729c.yaml new file mode 100644 index 0000000..1ef53c0 --- /dev/null +++ b/bugs/issue-bb8c71d21d73d1ad594c73f0ac5ac8a6db82729c.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: make binding to GtkTreeStore +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-02 21:13:54.989400 Z +references: [] + +id: bb8c71d21d73d1ad594c73f0ac5ac8a6db82729c +log_events: +- - 2009-10-02 21:13:55.957193 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-cd59e8bd909376222bd16cf13c8558a3a024a309.yaml b/bugs/issue-cd59e8bd909376222bd16cf13c8558a3a024a309.yaml new file mode 100644 index 0000000..ed109e4 --- /dev/null +++ b/bugs/issue-cd59e8bd909376222bd16cf13c8558a3a024a309.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: finish GtkIconView binding +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-02 20:54:04.688339 Z +references: [] + +id: cd59e8bd909376222bd16cf13c8558a3a024a309 +log_events: +- - 2009-10-02 20:54:06.039958 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-ceea6984eef15f2ae49e03107ece93c2b5bf665a.yaml b/bugs/issue-ceea6984eef15f2ae49e03107ece93c2b5bf665a.yaml new file mode 100644 index 0000000..ba604ac --- /dev/null +++ b/bugs/issue-ceea6984eef15f2ae49e03107ece93c2b5bf665a.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: make GtkTreeSortable binding +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-02 20:55:06.732780 Z +references: [] + +id: ceea6984eef15f2ae49e03107ece93c2b5bf665a +log_events: +- - 2009-10-02 20:55:07.596600 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-d0e2cd10341f9ea26673090eba5698c19c01eaa2.yaml b/bugs/issue-d0e2cd10341f9ea26673090eba5698c19c01eaa2.yaml new file mode 100644 index 0000000..844bab0 --- /dev/null +++ b/bugs/issue-d0e2cd10341f9ea26673090eba5698c19c01eaa2.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: make bindings of Recent Manager +desc: "" +type: :task +component: cl-gtk2 +release: +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-03 18:58:38.399224 Z +references: [] + +id: d0e2cd10341f9ea26673090eba5698c19c01eaa2 +log_events: +- - 2009-10-03 18:58:39.079051 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-df143d2fb5d923fc265fff6b8cdba490af89633f.yaml b/bugs/issue-df143d2fb5d923fc265fff6b8cdba490af89633f.yaml new file mode 100644 index 0000000..ff42618 --- /dev/null +++ b/bugs/issue-df143d2fb5d923fc265fff6b8cdba490af89633f.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: fix running on clisp +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-02 19:33:46.049295 Z +references: [] + +id: df143d2fb5d923fc265fff6b8cdba490af89633f +log_events: +- - 2009-10-02 19:33:46.873122 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-ed99e9ad80242712fe92e0a6d8f3925ae30bd3ed.yaml b/bugs/issue-ed99e9ad80242712fe92e0a6d8f3925ae30bd3ed.yaml new file mode 100644 index 0000000..a754746 --- /dev/null +++ b/bugs/issue-ed99e9ad80242712fe92e0a6d8f3925ae30bd3ed.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: make GtkCellEditable interface binding +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-02 21:04:55.400564 Z +references: [] + +id: ed99e9ad80242712fe92e0a6d8f3925ae30bd3ed +log_events: +- - 2009-10-02 21:04:56.352332 Z + - Kalyanov Dmitry + - created + - "" diff --git a/bugs/issue-f26913fe08284ee04e9d0a3f6acd36faa2341aae.yaml b/bugs/issue-f26913fe08284ee04e9d0a3f6acd36faa2341aae.yaml new file mode 100644 index 0000000..11bdfc6 --- /dev/null +++ b/bugs/issue-f26913fe08284ee04e9d0a3f6acd36faa2341aae.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: fix running on win32 +desc: "" +type: :task +component: cl-gtk2 +release: "0.1" +reporter: Kalyanov Dmitry +status: :unstarted +disposition: +creation_time: 2009-10-02 19:33:09.967891 Z +references: [] + +id: f26913fe08284ee04e9d0a3f6acd36faa2341aae +log_events: +- - 2009-10-02 19:33:11.063621 Z + - Kalyanov Dmitry + - created + - "" diff --git a/generating.lisp b/generating.lisp index bf3bd5a..45d4723 100644 --- a/generating.lisp +++ b/generating.lisp @@ -138,7 +138,9 @@ (:cffi gtk::mode gtk::tree-selection-mode gtk::selection-mode "gtk_tree_selection_get_mode" "gtk_tree_selection_set_mode") (:cffi gtk::select-function gtk::tree-selection-select-function nil - gtk::tree-selection-get-selection-function gtk::tree-selection-set-select-function)) + gtk::tree-selection-get-selection-function gtk::tree-selection-set-select-function) + (:cffi gtk::tree-view gtk::tree-selection-tree-view (g-object gtk::tree-view) + "gtk_tree_selection_get_tree_view" nil)) ("GtkTreeView" (:cffi gtk::selection gtk::tree-view-selection g-object "gtk_tree_view_get_selection" nil) @@ -156,15 +158,21 @@ nil gtk::tree-view-set-row-separartor-func)) ("GtkCellView" (:cffi gtk::displayed-row gtk::cell-view-displayed-row (g-boxed-foreign gtk::tree-path) - "gtk_cell_view_get_displayed_row" "gtk_cell_view_set_displayed_row")) + "gtk_cell_view_get_displayed_row" "gtk_cell_view_set_displayed_row") + (:cffi gtk::cell-renderers gtk::cell-view-cell-renderers (glist (g-object gtk::cell-renderer) :free-from-foreign t) + "gtk_cell_view_get_cell_renderers" nil)) ("GtkComboBox" (:cffi gtk::active-iter gtk::combo-box-active-iter (g-boxed-foreign gtk::tree-iter) gtk::combo-box-get-active-iter "gtk_combo_box_set_active_iter") (:cffi gtk::row-separator-func gtk::combo-box-separator-func nil - nil gtk::combo-box-set-separator-func)) + nil gtk::combo-box-set-separator-func) + (:cffi gtk::title gtk::combo-box-title (:string :free-from-foreign nil :free-to-foreign t) + "gtk_combo_box_get_title" "gtk_combo_box_set_title")) ("GtkMenu" (:cffi gtk::screen gtk::menu-screen g-object - nil "gtk_menu_set_screen")) + nil "gtk_menu_set_screen") + (:cffi gtk::title gtk::menu-title (:string :free-from-foreign nil :free-to-foreign t) + "gtk_menu_get_title" "gtk_menu_set_title")) ("GtkToolItem" (:cffi gtk::expand gtk::tool-item-expand :boolean "gtk_tool_item_get_expand" "gtk_tool_item_set_expand") @@ -233,14 +241,18 @@ "gtk_layout_get_bin_window" nil)) ("GtkCalendar" (:cffi gtk::detail-function gtk::calendar-detail-function nil - nil gtk::calendar-set-detail-function)) + nil gtk::calendar-set-detail-function) + (:cffi gtk::display-options gtk::calendar-display-options gtk::calendar-display-options + "gtk_calendar_get_display_options" "gtk_calendar_set_display_options")) ("GtkContainer" (:cffi gtk::focus-child gtk::container-focus-child g-object "gtk_container_get_focus_child" "gtk_container_set_focus_child") (:cffi gtk::focus-vadjustment gtk::container-focus-vadjustment g-object "gtk_container_get_focus_vadjustment" "gtk_container_set_focus_vadjustment") (:cffi gtk::focus-hadjustment gtk::container-focus-hadjustment g-object - "gtk_container_get_focus_hadjustment" "gtk_container_set_focus_hadjustment")) + "gtk_container_get_focus_hadjustment" "gtk_container_set_focus_hadjustment") + (:cffi gtk::reallocate-redraws gtk::container-reallocate-redraws :boolean + nil "gtk_container_set_reallocate_redraws")) ("GtkWidget" (:cffi gtk::parent-window gtk::widget-parent-window (g-object gdk::gdk-window) "gtk_widget_get_parent_window" "gtk_widget_set_parent_window") @@ -330,7 +342,29 @@ "gtk_text_mark_get_buffer" nil)) ("GtkTextBuffer" (:cffi gtk::modified gtk::text-buffer-modified :boolean - "gtk_text_buffer_get_modified" "gtk_text_buffer_set_modified")))))) + "gtk_text_buffer_get_modified" "gtk_text_buffer_set_modified")) + ("GtkToolShell" + (:cffi gtk::icon-size gtk::tool-shell-icon-size gtk::icon-size + "gtk_tool_shell_get_icon_size" nil) + (:cffi gtk::orientation gtk::tool-shell-orientation gtk::orientation + "gtk_tool_shell_get_orientation" nil) + (:cffi gtk::relief-style gtk::tool-shell-relief-style gtk::relief-style + "gtk_tool_shell_get_relief_style" nil) + (:cffi gtk::style gtk::tool-shell-style gtk::toolbar-style + "gtk_tool_shell_get_style" nil)) + ("GtkColorSelection" + (:cffi gtk::previous-alpha gtk::color-selection-previous-alpha :uint16 + "gtk_color_selection_get_previous_alpha" "gtk_color_selection_set_previous_alpha") + (:cffi gtk::previous-color gtk::color-selection-previous-color (g-boxed-foreign gdk::color) + gtk::gtk-color-selection-get-previous-color gtk::gtk-color-selection-set-previous-color)) + ("GtkScrolledWindow" + (:cffi gtk::hscrollbar gtk::scrolled-window-hscrollbar (g-object gtk::widget) + "gtk_scrolled_window_get_hscrollbar" nil) + (:cffi gtk::vscrollbar gtk::scrolled-window-vscrollbar (g-object gtk::widget) + "gtk_scrolled_window_get_vscrollbar" nil)) + ("GtkBin" + (:cffi gtk::child gtk::bin-child (g-object gtk::widget) + "gtk_bin_get_child" nil)))))) (defun gtk-generate-child-properties (filename) (with-open-file (stream filename :direction :output :if-exists :supersede) diff --git a/gtk/cl-gtk2-gtk.asd b/gtk/cl-gtk2-gtk.asd index 6dd4847..b5991fe 100644 --- a/gtk/cl-gtk2-gtk.asd +++ b/gtk/cl-gtk2-gtk.asd @@ -39,7 +39,6 @@ (:file "gtk.calendar") (:file "gtk.size-group") (:file "gtk.tooltip") - (:file "gtk.bin") (:file "gtk.box") (:file "gtk.container") (:file "gtk.paned") diff --git a/gtk/gtk.base-classes.lisp b/gtk/gtk.base-classes.lisp index 0d38a0d..c5ec8d3 100644 --- a/gtk/gtk.base-classes.lisp +++ b/gtk/gtk.base-classes.lisp @@ -1,2 +1,31 @@ (in-package :gtk) +(defcfun (scale-get-layout "gtk_scale_get_layout") g-object + (scale (g-object scale))) + +(export 'scale-get-layout) + +(defcfun gtk-scale-get-layout-offsets :void + (scale (g-object scale)) + (x (:pointer :int)) + (y (:pointer :int))) + +(defun scale-get-layout-offsets (scale) + (with-foreign-objects ((x :int) (y :int)) + (gtk-scale-get-layout-offsets scale x y) + (values (mem-ref x :int) (mem-ref y :int)))) + +(export 'scale-get-layout-offsets) + +(defcfun (scale-add-mark "gtk_scale_add_mark") :void + (scale (g-object scale)) + (value :double) + (position position-type) + (markup :string)) + +(export 'scale-add-mark) + +(defcfun (scale-clear-marks "gtk_scale_clear_marks") :void + (scale (g-object scale))) + +(export 'scale-clear-marks) diff --git a/gtk/gtk.bin.lisp b/gtk/gtk.bin.lisp deleted file mode 100644 index 2f99f8a..0000000 --- a/gtk/gtk.bin.lisp +++ /dev/null @@ -1,6 +0,0 @@ -(in-package :gtk) - -(defcfun (bin-child "gtk_bin_get_child") g-object - (bin g-object)) - -(export 'bin-child) \ No newline at end of file diff --git a/gtk/gtk.cell-renderer.lisp b/gtk/gtk.cell-renderer.lisp index 1578a7f..4f8d4a6 100644 --- a/gtk/gtk.cell-renderer.lisp +++ b/gtk/gtk.cell-renderer.lisp @@ -28,4 +28,10 @@ ; TODO: GtkCellRendererText -; TODO: GtkCellRendererToggle \ No newline at end of file +; TODO: GtkCellRendererToggle + +(defcfun (cell-renderer-text-set-fixed-height-from-font "gtk_cell_renderer_text_set_fixed_height_from_font") :void + (renderer (g-object cell-renderer-text)) + (number-of-rows :int)) + +(export 'cell-renderer-text-set-fixed-height-from-font) diff --git a/gtk/gtk.combo-box.lisp b/gtk/gtk.combo-box.lisp index 5e58ee5..c403750 100644 --- a/gtk/gtk.combo-box.lisp +++ b/gtk/gtk.combo-box.lisp @@ -39,4 +39,6 @@ (gtk-combo-box-set-row-separator-func combo-box (callback gtk-tree-view-row-separator-func-callback) (allocate-stable-pointer func) - (callback stable-pointer-free-destroy-notify-callback))) \ No newline at end of file + (callback stable-pointer-free-destroy-notify-callback))) + + diff --git a/gtk/gtk.container.lisp b/gtk/gtk.container.lisp index 23f99ee..67e557e 100644 --- a/gtk/gtk.container.lisp +++ b/gtk/gtk.container.lisp @@ -49,25 +49,24 @@ (defcfun (container-children "gtk_container_get_children") (glist g-object :free-from-foreign t) (container g-object)) -; TODO: ownership issues - (export 'container-children) -; TODO: gtk_container_set_reallocate_redraws - (defcfun (container-resize-children "gtk_container_resize_children") :void (container g-object)) (export 'container-resize-children) -(defcfun gtk-container-child-type g-type +(defcfun (container-child-type "gtk_container_child_type") g-type-designator (container g-object)) -; TODO: export gtk-container-child-type, requires better interface +(export 'container-child-type) -; TODO: child properties +(defcfun (container-propagate-expose "gtk_container_propagate_expose") :void + (container (g-object container)) + (child (g-object widget)) + (event (g-boxed-foreign event))) -; TODO: gtk_container_propagate_expose +(export 'container-propagate-expose) ; TODO: gtk_container_get_focus_chain diff --git a/gtk/gtk.generated-classes.lisp b/gtk/gtk.generated-classes.lisp index e6faf8f..daee837 100644 --- a/gtk/gtk.generated-classes.lisp +++ b/gtk/gtk.generated-classes.lisp @@ -1146,7 +1146,14 @@ (define-g-interface "GtkToolShell" tool-shell - (:export t :type-initializer "gtk_tool_shell_get_type")) + (:export t :type-initializer "gtk_tool_shell_get_type") + (:cffi icon-size tool-shell-icon-size icon-size + "gtk_tool_shell_get_icon_size" nil) + (:cffi orientation tool-shell-orientation orientation + "gtk_tool_shell_get_orientation" nil) + (:cffi relief-style tool-shell-relief-style relief-style + "gtk_tool_shell_get_relief_style" nil) + (:cffi style tool-shell-style toolbar-style "gtk_tool_shell_get_style" nil)) (define-g-interface "GtkOrientable" orientable @@ -1531,7 +1538,11 @@ "show-week-numbers" "gboolean" t t) (year calendar-year "year" "gint" t t) (:cffi detail-function calendar-detail-function nil nil - calendar-set-detail-function))) + calendar-set-detail-function) + (:cffi display-options calendar-display-options + calendar-display-options + "gtk_calendar_get_display_options" + "gtk_calendar_set_display_options"))) (define-g-object-class "GtkCellView" cell-view (:superclass widget :export t :interfaces @@ -1547,7 +1558,10 @@ (:cffi displayed-row cell-view-displayed-row (g-boxed-foreign tree-path) "gtk_cell_view_get_displayed_row" - "gtk_cell_view_set_displayed_row"))) + "gtk_cell_view_set_displayed_row") + (:cffi cell-renderers cell-view-cell-renderers + (glist (g-object cell-renderer) :free-from-foreign t) + "gtk_cell_view_get_cell_renderers" nil))) (define-g-object-class "GtkContainer" container (:superclass widget :export t :interfaces @@ -1566,13 +1580,16 @@ "gtk_container_set_focus_vadjustment") (:cffi focus-hadjustment container-focus-hadjustment g-object "gtk_container_get_focus_hadjustment" - "gtk_container_set_focus_hadjustment"))) + "gtk_container_set_focus_hadjustment") + (:cffi reallocate-redraws container-reallocate-redraws + :boolean nil "gtk_container_set_reallocate_redraws"))) (define-g-object-class "GtkBin" bin (:superclass container :export t :interfaces ("AtkImplementorIface" "GtkBuildable") :type-initializer "gtk_bin_get_type") - nil) + ((:cffi child bin-child (g-object widget) + "gtk_bin_get_child" nil))) (define-g-object-class "GtkAlignment" alignment (:superclass bin :export t :interfaces @@ -1711,7 +1728,10 @@ (g-boxed-foreign tree-iter) combo-box-get-active-iter "gtk_combo_box_set_active_iter") (:cffi row-separator-func combo-box-separator-func nil - nil combo-box-set-separator-func))) + nil combo-box-set-separator-func) + (:cffi title combo-box-title + (:string :free-from-foreign nil :free-to-foreign t) + "gtk_combo_box_get_title" "gtk_combo_box_set_title"))) (define-g-object-class "GtkComboBoxEntry" combo-box-entry (:superclass combo-box :export t :interfaces @@ -1863,7 +1883,13 @@ "window-placement" "GtkCornerType" t t) (window-placement-set scrolled-window-window-placement-set - "window-placement-set" "gboolean" t t))) + "window-placement-set" "gboolean" t t) + (:cffi hscrollbar scrolled-window-hscrollbar + (g-object widget) "gtk_scrolled_window_get_hscrollbar" + nil) + (:cffi vscrollbar scrolled-window-vscrollbar + (g-object widget) "gtk_scrolled_window_get_vscrollbar" + nil))) (define-g-object-class "GtkToolItem" tool-item (:superclass bin :export t :interfaces @@ -2257,7 +2283,14 @@ color-selection-has-opacity-control "has-opacity-control" "gboolean" t t) (has-palette color-selection-has-palette "has-palette" - "gboolean" t t))) + "gboolean" t t) + (:cffi previous-alpha color-selection-previous-alpha + :uint16 "gtk_color_selection_get_previous_alpha" + "gtk_color_selection_set_previous_alpha") + (:cffi previous-color color-selection-previous-color + (g-boxed-foreign color) + gtk-color-selection-get-previous-color + gtk-color-selection-set-previous-color))) (define-g-object-class "GtkFileChooserWidget" file-chooser-widget (:superclass v-box :export t :interfaces @@ -2363,7 +2396,10 @@ (tearoff-title menu-tearoff-title "tearoff-title" "gchararray" t t) (:cffi screen menu-screen g-object nil - "gtk_menu_set_screen"))) + "gtk_menu_set_screen") + (:cffi title menu-title + (:string :free-from-foreign nil :free-to-foreign t) + "gtk_menu_get_title" "gtk_menu_set_title"))) (define-g-object-class "GtkRecentChooserMenu" recent-chooser-menu (:superclass menu :export t :interfaces @@ -3504,7 +3540,10 @@ "gtk_tree_selection_set_mode") (:cffi select-function tree-selection-select-function nil tree-selection-get-selection-function - tree-selection-set-select-function))) + tree-selection-set-select-function) + (:cffi tree-view tree-selection-tree-view + (g-object tree-view) + "gtk_tree_selection_get_tree_view" nil))) (define-g-object-class "GtkTreeStore" tree-store (:superclass g-object :export t :interfaces diff --git a/gtk/gtk.icon-view.lisp b/gtk/gtk.icon-view.lisp index d8bb61f..4984848 100644 --- a/gtk/gtk.icon-view.lisp +++ b/gtk/gtk.icon-view.lisp @@ -1,6 +1,6 @@ (in-package :gtk) -(defcfun (icon-view-get-path-at-pos "gtk_icon_view_get_path_at_pos") g-object +(defcfun (icon-view-get-path-at-pos "gtk_icon_view_get_path_at_pos") (g-boxed-foreign tree-path :return) (icon-view g-object) (x :int) (y :int)) diff --git a/gtk/gtk.menu.lisp b/gtk/gtk.menu.lisp index 4a8ba7e..6062169 100644 --- a/gtk/gtk.menu.lisp +++ b/gtk/gtk.menu.lisp @@ -60,11 +60,27 @@ ; TODO: gtk_menu_attach_to_widget -; TODO: gtk_menu_detach +(defcfun (menu-detach "gtk_menu_detach") :void + (menu (g-object menu))) -; TODO: gtk_menu_get_attach_widget +(export 'menu-detach) -; TODO: gtk_menu_get_for_attach_widget +; TODO: gtk_menu_get_attach_to_widget + +(defcfun (menu-attached-to-widget "gtk_menu_get_for_attach_widget") (glist (g-object menu) :free-from-foreign nil) + (width (g-object widget))) + +(export 'menu-attached-to-widget) + +(defcfun (radio-menu-item-group "gtk_radio_menu_item_get_group") (glist (g-object radio-menu-item) :free-from-foreign nil) + (radio-menu-item (g-object radio-menu-item))) + +(export 'radio-menu-item-group) + +(defcfun (tool-shell-rebuild-menu "gtk_tool_shell_rebuild_menu") :void + (shell (g-object tool-shell))) + +(export 'tool-shell-rebuild-menu) (defcfun (menu-shell-append "gtk_menu_shell_append") :void (menu-shell g-object) @@ -184,3 +200,6 @@ (export 'tool-item-rebuild-menu) +(defcfun (radio-tool-button-get-group "gtk_radio_tool_button_get_group") + (gslist (g-object radio-tool-button) :free-from-foreign nil) + (button (g-object radio-tool-button))) diff --git a/gtk/gtk.objects.lisp b/gtk/gtk.objects.lisp index abbe492..5dc5980 100644 --- a/gtk/gtk.objects.lisp +++ b/gtk/gtk.objects.lisp @@ -84,4 +84,25 @@ (define-g-enum "PangoEllipsizeMode" pango-ellipsize-mode (:export t :type-initializer "pango_ellipsize_mode_get_type") - (:none 0) (:start 1) (:middle 2) (:end 3)) \ No newline at end of file + (:none 0) (:start 1) (:middle 2) (:end 3)) + +(defcfun (adjustment-clamp-page "gtk_adjustment_clamp_page") :void + (adjustment (g-object adjustment)) + (lower :double) + (upper :double)) + +(export 'adjustment-clamp-page) + +(define-g-boxed-cstruct requisition "GtkRequisition" + (width :int :initform 0) + (height :int :initform 0)) + +(export (boxed-related-symbols 'requisition)) + +(define-g-boxed-cstruct allocation "GtkAllocation" + (x :int :initform 0) + (y :int :initform 0) + (width :int :initform 0) + (height :int :initform 0)) + +(export (boxed-related-symbols 'allocation)) diff --git a/gtk/gtk.selectors.lisp b/gtk/gtk.selectors.lisp index 7fb7125..9544206 100644 --- a/gtk/gtk.selectors.lisp +++ b/gtk/gtk.selectors.lisp @@ -1,11 +1,43 @@ (in-package :gtk) +(defcfun (%gtk-color-selection-get-previous-color "gtk_color_selection_get_previous_color") :void + (color-selection (g-object color-selection)) + (color (g-boxed-foreign color))) + +(defun gtk-color-selection-get-previous-color (color-selection) + (let ((color (make-color))) + (%gtk-color-selection-get-previous-color color-selection color) + color)) + +(defcfun gtk-color-selection-set-previous-color :void + (color-selection (g-object color-selection)) + (color (g-boxed-foreign color))) + (defcfun (color-selection-adjusting-p "gtk_color_selection_is_adjusting") :boolean (color-selection g-object)) (export 'color-selection-adjusting-p) -; TODO: gtk_color_selection_palette_from_string +(defcfun gtk-color-selection-palette-from-string :boolean + (str :string) + (colors :pointer) + (n-colors :pointer)) + +(defun color-selection-palette-from-string (str) + (with-foreign-objects ((colors :pointer) (n-colors :int)) + (when (gtk-color-selection-palette-from-string str colors n-colors) + (iter (with colors-ar = (mem-ref colors :pointer)) + (for i from 0 below (mem-ref n-colors :int)) + (for color-ptr = + (inc-pointer colors-ar + (* i (foreign-type-size 'gdk::color-cstruct)))) + (for color = (convert-from-foreign color-ptr '(g-boxed-foreign color))) + (collect color) + (finally (g-free colors-ar)))))) + +(defcfun gtk-color-selection-palette-to-string (g-string :free-from-foreign t) + (colors :pointer) + (n-colors :int)) ; TODO: gtk_color_selection_palette_to_string diff --git a/gtk/gtk.tree-view-column.lisp b/gtk/gtk.tree-view-column.lisp index bf81801..da1e3a1 100644 --- a/gtk/gtk.tree-view-column.lisp +++ b/gtk/gtk.tree-view-column.lisp @@ -75,9 +75,34 @@ (is-expander :boolean) (is-expanded :boolean)) -(export 'tree-view-column-set-cell-data) +(export 'tree-view-column-cell-set-data) + +(defcfun gtk-tree-view-column-cell-get-size :void + (tree-column (g-object tree-view-column)) + (cell-area (g-boxed-foreign rectangle)) + (x-offset (:pointer :int)) + (y-offset (:pointer :int)) + (width (:pointer :int)) + (height (:pointer :int))) + +(defun tree-view-column-cell-size (tree-column cell-area) + (with-foreign-objects ((x :int) (y :int) (width :int) (height :int)) + (gtk-tree-view-column-cell-get-size tree-column cell-area x y width height) + (values (mem-ref x :int) (mem-ref y :int) (mem-ref width :int) (mem-ref height :int)))) + +(export 'tree-view-column-cell-size) + +(defcfun gtk-tree-view-column-cell-get-position :boolean + (tree-column (g-object tree-view-column)) + (cell-renderer (g-object cell-renderer)) + (start-pos (:pointer :int)) + (width (:pointer :int))) + +(defun tree-view-column-cell-position (tree-column cell-renderer) + (with-foreign-objects ((start :int) (width :int)) + (when (gtk-tree-view-column-cell-get-position tree-column cell-renderer start width) + (list (mem-ref start :int) (mem-ref width :int))))) -;; TODO gtk_tree_view_column_cell_get_size () gtk_tree_view_column_cell_get_position () (defcfun (tree-view-column-focus-cell "gtk_tree_view_column_focus_cell") :void (tree-column (g-object tree-view-column)) diff --git a/gtk/gtk.tree-view.lisp b/gtk/gtk.tree-view.lisp index f9a1e19..34cf773 100644 --- a/gtk/gtk.tree-view.lisp +++ b/gtk/gtk.tree-view.lisp @@ -452,4 +452,16 @@ (export 'tree-view-get-tooltip-context) -; TODO: GtkTreeView drag-and-drop \ No newline at end of file +; TODO: GtkTreeView drag-and-drop + +(defcfun gtk-cell-view-get-size-of-row :boolean + (cell-view (g-object cell-view)) + (path (g-boxed-foreign tree-path)) + (requisition (g-boxed-foreign requisition))) + +(defun cell-view-get-size-of-row (cell-view path) + (let ((requisition (make-requisition))) + (gtk-cell-view-get-size-of-row cell-view path requisition) + requisition)) + +(export 'cell-view-get-size-of-row) diff --git a/gtk/gtk.ui-manager.lisp b/gtk/gtk.ui-manager.lisp index 99e2348..9bbdb4a 100644 --- a/gtk/gtk.ui-manager.lisp +++ b/gtk/gtk.ui-manager.lisp @@ -200,6 +200,16 @@ (export 'action-disconnect-accelerator) +(defcfun (action-block-activate "gtk_action_block_activate") :void + (action (g-object action))) + +(export 'action-block-activate) + +(defcfun (action-unblock-activate "gtk_action_unblock_activate") :void + (action (g-object action))) + +(export 'action-unblock-activate) + (defcfun (action-block-activate-from "gtk_action_block_activate_from") :void (action g-object) (proxy g-object)) @@ -210,4 +220,9 @@ (action g-object) (proxy g-object)) -(export 'action-unblock-activate-from) \ No newline at end of file +(export 'action-unblock-activate-from) + +(defcfun (radio-action-get-group "gtk_radio_action_get_group") (gslist (g-object radio-action) :free-from-foreign nil) + (action (g-object radio-action))) + +(export 'radio-action-get-group) diff --git a/gtk/gtk.widget.lisp b/gtk/gtk.widget.lisp index 69a459c..25df5fb 100644 --- a/gtk/gtk.widget.lisp +++ b/gtk/gtk.widget.lisp @@ -12,16 +12,6 @@ (export 'widget-flags) -(defcstruct %gtk-requisition - (:width :int) - (:height :int)) - -(defcstruct %gtk-allocation - (:x :int) - (:y :int) - (:width :int) - (:height :int)) - (defcstruct %gtk-widget (:object %gtk-object) (:private-flags :uint16) @@ -29,8 +19,8 @@ (:saved-state state-type) (:name (:pointer :char)) (:style :pointer) - (:requisition %gtk-requisition) - (:allocation %gtk-allocation) + (:requisition requisition-cstruct) + (:allocation allocation-cstruct) (:window :pointer) (:parent :pointer)) -- 1.7.10.4