From yahyai-0@hotmail.com Sun Jan 1 07:08:25 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 2D29C7500AA for ; Sun, 1 Jan 2012 07:08:25 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -102.795 X-Spam-Level: X-Spam-Status: No, score=-102.795 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-1.3, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077, USER_IN_WHITELIST=-100] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YscsO09chVBR for ; Sun, 1 Jan 2012 07:08:22 +0000 (UTC) X-Greylist: delayed 460 seconds by postgrey-1.32 at menubar.gnome.org; Sun, 01 Jan 2012 07:08:22 UTC Received: from dub0-omc3-s2.dub0.hotmail.com (dub0-omc3-s2.dub0.hotmail.com [157.55.2.11]) by menubar.gnome.org (Postfix) with ESMTP id 50DF5750092 for ; Sun, 1 Jan 2012 07:08:13 +0000 (UTC) Received: from DUB112-W94 ([157.55.2.7]) by dub0-omc3-s2.dub0.hotmail.com with Microsoft SMTPSVC(6.0.3790.4675); Sat, 31 Dec 2011 22:59:05 -0800 Message-ID: Content-Type: multipart/alternative; boundary="_b5340511-b68c-4dbe-893b-d67fa78801d3_" X-Originating-IP: [188.66.225.137] From: "Kaiser ." To: Subject: Best and esiest to implemet pthread , GLib::Thread , GLib::Dispatcher Date: Sun, 1 Jan 2012 10:59:04 +0400 Importance: Normal MIME-Version: 1.0 X-OriginalArrivalTime: 01 Jan 2012 06:59:05.0276 (UTC) FILETIME=[D9BC1FC0:01CCC852] X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jan 2012 07:08:25 -0000 --_b5340511-b68c-4dbe-893b-d67fa78801d3_ Content-Type: text/plain; charset="windows-1256" Content-Transfer-Encoding: 8bit Hello I have made small gtkmm program that download some files from Internet by using libcurl.. But when the program start downloading the files it Freez until it finish (cuz of single thread??).. I knew that I must implement multi-threading to solve the problem ... I have 3 classes in the program : WINDOW , APP , CURL // here are some brief of the program CURL contains CURLREAD function to download the files and some helper functions APP contains other utils of program and contains getPKG() which get the URLS and download the files throught the object curl.curlread(url ,,,) Window has progressBAR CURL is object on APP ,,,, and APP is object on WINDOW which one I should implement pthread , GLib::Thread or GLib::Dispatcher ?! --_b5340511-b68c-4dbe-893b-d67fa78801d3_ Content-Type: text/html; charset="windows-1256" Content-Transfer-Encoding: 8bit
Hello

I have made small gtkmm program that download some files from Internet by using libcurl..

But when the program start downloading the files it Freez until it finish (cuz of  single thread??)..

I knew that I must implement multi-threading to solve the problem ...

I have 3 classes in the program : WINDOW , APP , CURL

// here are some brief of the program
CURL contains CURLREAD function to download the files and some helper functions
APP contains other utils of program and contains getPKG() which get the URLS and download the files throught the object curl.curlread(url ,,,)
Window has progressBAR

CURL is object on APP ,,,, and APP is object on WINDOW

which one I should implement pthread ,  GLib::Thread  or GLib::Dispatcher ?!
--_b5340511-b68c-4dbe-893b-d67fa78801d3_-- From memjjay@yahoo.com Sun Jan 1 07:46:57 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id BF4637500AA for ; Sun, 1 Jan 2012 07:46:57 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -3.144 X-Spam-Level: X-Spam-Status: No, score=-3.144 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-1.3, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XOfvmFpvDuLS for ; Sun, 1 Jan 2012 07:46:54 +0000 (UTC) Received: from nm6-vm0.bullet.mail.sp2.yahoo.com (nm6-vm0.bullet.mail.sp2.yahoo.com [98.139.91.206]) by menubar.gnome.org (Postfix) with SMTP id A30D8750092 for ; Sun, 1 Jan 2012 07:46:46 +0000 (UTC) Received: from [98.139.91.67] by nm6.bullet.mail.sp2.yahoo.com with NNFMP; 01 Jan 2012 07:46:44 -0000 Received: from [98.139.91.45] by tm7.bullet.mail.sp2.yahoo.com with NNFMP; 01 Jan 2012 07:46:44 -0000 Received: from [127.0.0.1] by omp1045.mail.sp2.yahoo.com with NNFMP; 01 Jan 2012 07:46:44 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 295041.93111.bm@omp1045.mail.sp2.yahoo.com Received: (qmail 8203 invoked by uid 60001); 1 Jan 2012 07:46:44 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1325404003; bh=uth/EtZEMXLqPqm73K7T/fYOXgdR4lcfZZb4WWzvB2Y=; h=X-YMail-OSG:Received:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=kfIfMx9DP6buNo6FF+jaxOS5Q2P4brD1sUZHYsNEnGo5Q49rwIydImnni1LdCoCJq64QSWBq8leTjAZJtkznpEFtQ79fEvfNoCBm0xQTNRXXapt9T+hO9VI/o9Ai0i5GqPeaT1q89gcBzkqw+0lrGjHisBuX7YPHBjurgx6lK7c= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=u/DXpz7Qck7t4woleq2WTNu7BYztzMjRnhutOBt9PFEOzeh4BWQEeLjpDvvV9mgokTt5hm9bhftpXf2bXTApHogukJ26rXp+Y8h0zhRetnM5cLAKxUNiwoe16x3XR+PVIMvOVU+CF/I3aUPXtOZHmMW6rFIA+Rnmmawnq+XQNPM=; X-YMail-OSG: oWaN7XUVM1nJby02fw0OplJm5zzmH_p0..mGgJG1N5pi79Y aQ6dsJpvliLJ_3Va9mpBuxvaoa5wqQnTepdBrcKG1DIZCjFDNStbw1bfCjW7 dplX06W.yh_aK2Y1vRW2Y2GGL6iJnCl0OrAYidEHOJQ5SPhOIX3ZKxHCmBwv 8_pBvJwf6WxHnAbPa_NvxBigvnL9wyrMhr0jqqhGaBrWG1wZeH6bib1aPOuQ b0zK5JbEIdM1gU8PmDB_VqAjAJFtKq7Wkx14msUIogQ5WqPkaZ5tQywgXr0Y KNnIipXPBxd7oJoJt9QKi6tVZcgxGFLUhOy9EcNIxOT4p3AGn7wDWqaFOo6f QaKjeIXo0In_kEN5SFrJzmn9eGe1ejSgDP8WOg4Rifjjtqeds18dghnn45nu 9BARSnfHRkp8IImUsiocVuyn1_DaGEaAuWZANkQxgU4fQsxhiRyy2VEbtJam 5hU9hcPO1yoXmLH5c1I6TJRo- Received: from [68.49.105.108] by web111712.mail.gq1.yahoo.com via HTTP; Sat, 31 Dec 2011 23:46:43 PST X-Mailer: YahooMailWebService/0.8.115.331698 References: Message-ID: <1325404003.7724.YahooMailNeo@web111712.mail.gq1.yahoo.com> Date: Sat, 31 Dec 2011 23:46:43 -0800 (PST) From: Michael Moorman Subject: Re: Best and esiest to implemet pthread , GLib::Thread , GLib::Dispatcher To: "Kaiser ." , "gtkmm-list@gnome.org" In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="-1754065889-1576538691-1325404003=:7724" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: Michael Moorman List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jan 2012 07:46:58 -0000 ---1754065889-1576538691-1325404003=:7724 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Hi Kaiser,=0A=0AThis one way I would approach this problem.=0A=0A=0A1. Laun= ch a GLib::Thread to download the files. The API is quite nice and easy to = use.=0A2. Register a timeout function on the main gtk loop that periodicall= y =0Achecks (maybe once every half second) on the status of the thread you = =0Alaunched in 1 ( see http://developer.gnome.org/gtkmm-tutorial/3.2/sec-ti= meouts.html.en ). This can safely update anything on the GUI since it's inv= oked from =0Athe main loop. Update any GUI related things (progress bar, = =0Aerror/success indications, etc) using this function. =0A=0A=0AConsider u= sing a Glib::Mutex to facilitate safe communication between the two threads= , i.e. synchronizing access to any shared buffer.=A0=0AGood luck!=0A=0A=0A= =0A>________________________________=0A> From: Kaiser . =0A>To: gtkmm-list@gnome.org =0A>Sent: Sunday, January 1, 2012 1:59 AM= =0A>Subject: Best and esiest to implemet pthread , GLib::Thread , GLib::Di= spatcher=0A> =0A>=0A> =0A>Hello=0A>=0A>I have made small gtkmm program that= download some files from Internet by using libcurl..=0A>=0A>But when the p= rogram start downloading the files it Freez until it finish (cuz of=A0 sing= le thread??)..=0A>=0A>I knew that I must implement multi-threading to solve= the problem ...=0A>=0A>I have 3 classes in the program : WINDOW , APP , CU= RL =0A>=0A>// here are some brief of the program=0A>CURL contains CURLREAD = function to download the files and some helper functions=0A>APP contains ot= her utils of program and contains getPKG() which get the URLS and download = the files throught the object curl.curlread(url ,,,)=0A>Window has progress= BAR =0A>=0A>CURL is object on APP ,,,, and APP is object on WINDOW=0A>=0A>w= hich one I should implement pthread ,=A0 GLib::Thread=A0 or GLib::Dispatche= r ?!=0A>=0A>_______________________________________________=0A>gtkmm-list m= ailing list=0A>gtkmm-list@gnome.org=0A>http://mail.gnome.org/mailman/listin= fo/gtkmm-list=0A>=0A>=0A> ---1754065889-1576538691-1325404003=:7724 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable
Hi Kaiser,

<= /span>
This one way I would approach this problem.

1. Launch a GLib::Thread to = download the files. The API is quite nice and easy to use.
2.=0A Register a timeout function on the main gtk loop that periodic= ally =0Achecks (maybe once every half second) on the status of the thread y= ou =0Alaunched in 1 ( see http://developer.gnome.org/gtkmm-tutorial/3.2/sec-ti= meouts.html.en=0A ). This can safely update anything on the GUI = since it's invoked from =0Athe main loop. Update any GUI related things (pr= ogress bar, =0Aerror/success indications, etc) using this function.

Consider using a Glib::Mut= ex to facilitate safe communication between the two threads, i.e.=0A synchr= onizing access to any shared buffer
Good luck!


From: Kaiser . &l= t;yahyai-0@hotmail.com>
To: gtkmm-list@gnome.org
Se= nt: Sunday, January 1, 2012 1:59 AM
Subject: Best and esiest to implemet pthread , GL= ib::Thread , GLib::Dispatcher

=0A
= =0A=0A=0A
=0AHello=

I have made small gtkmm program that download some files from Inter= net by using libcurl..

But when the program start downloading the fi= les it Freez until it finish (cuz of  single thread??)..

I knew= that I must implement multi-threading to solve the problem ...

I ha= ve 3 classes in the program : WINDOW , APP , CURL

// here are some = brief of the program
CURL contains CURLREAD function to download the fil= es and some helper functions
APP contains other utils of program and con= tains getPKG() which get the URLS and download the files throught the objec= t curl.curlread(url ,,,)
Window has progressBAR

CURL is object o= n APP ,,,, and APP is object on WINDOW

which one I should implement = pthread ,  GLib::Thread  or GLib::Dispatcher ?!
=09=09 =09 = =09=09
=0A

__________________________________________= _____
gtkmm-list mailing list
gtkmm-list@gnome.org
h= ttp://mail.gnome.org/mailman/listinfo/gtkmm-list


---1754065889-1576538691-1325404003=:7724-- From jonathon@quotidian.org Sun Jan 1 18:00:10 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id A84C27500AA for ; Sun, 1 Jan 2012 18:00:10 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.445 X-Spam-Level: X-Spam-Status: No, score=-2.445 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SwuuAdziXbAT for ; Sun, 1 Jan 2012 18:00:08 +0000 (UTC) Received: from mail-gy0-f182.google.com (mail-gy0-f182.google.com [209.85.160.182]) by menubar.gnome.org (Postfix) with ESMTP id 8FAA6750099 for ; Sun, 1 Jan 2012 18:00:00 +0000 (UTC) Received: by ghrr16 with SMTP id r16so6964558ghr.27 for ; Sun, 01 Jan 2012 09:59:58 -0800 (PST) Received: by 10.236.179.7 with SMTP id g7mr58598953yhm.74.1325440798666; Sun, 01 Jan 2012 09:59:58 -0800 (PST) Received: from [127.0.0.1] (97-127-9-63.mpls.qwest.net. [97.127.9.63]) by mx.google.com with ESMTPS id 39sm110850163ans.10.2012.01.01.09.59.55 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 01 Jan 2012 09:59:57 -0800 (PST) In-Reply-To: References: From: jonathon@quotidian.org Subject: Re: Best and esiest to implemet pthread , GLib::Thread , GLib::Dispatcher To: gtkmm-list@gnome.org Cc: Content-Type: multipart/alternative; charset=UTF-8; boundary="[)} MIME-Version: 1.0 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jan 2012 18:00:10 -0000 This is a multipart message in Mime 1.0 format --[)}
Have you consider= ed simply using libsoup instead of libcurl? Libsoup can do async I/O integ= rated with the glib mainloop so that you won't need to use threads (in the= ory).

On 1/1/12 12:59 AM Kaiser= . wrote:

Hello

I have made small gtkmm program that download some files from= Internet by using libcurl..

But when the program start downloading= the files it Freez until it finish (cuz of  single thread??)..
I knew that I must implement multi-threading to solve the problem ...
I have 3 classes in the program : WINDOW , APP , CURL

// here= are some brief of the program
CURL contains CURLREAD function to downl= oad the files and some helper functions
APP contains other utils of pro= gram and contains getPKG() which get the URLS and download the files throu= ght the object curl.curlread(url ,,,)
Window has progressBAR

CU= RL is object on APP ,,,, and APP is object on WINDOW

which one I=20= should implement pthread ,  GLib::Thread  or GLib::Dispatcher=20= ?!

--[)} X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 27FBF750101 for ; Mon, 2 Jan 2012 09:25:36 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.125 X-Spam-Level: X-Spam-Status: No, score=-2.125 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HS_INDEX_PARAM=0.574, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eDAJS6Khb5dZ for ; Mon, 2 Jan 2012 09:25:33 +0000 (UTC) Received: from mail-qy0-f182.google.com (mail-qy0-f182.google.com [209.85.216.182]) by menubar.gnome.org (Postfix) with ESMTP id A3D75750068 for ; Mon, 2 Jan 2012 09:25:24 +0000 (UTC) Received: by qcse13 with SMTP id e13so12883205qcs.27 for ; Mon, 02 Jan 2012 01:25:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; bh=rFP3iJIlCYq3VoT8SLFCKfyot4KJo2F3dHzz+YINuKw=; b=XVc/Za0Yd8S3iQvKV5OUmhQNnd0lvQuaZluV7zSHVV5B9zdvnKz+VY81XyKLzupceG 4v0g/agx9srf4siiQZbeExlpJgqGlHEnjz7ggPR633ZY3/vwhrC7zixoG/YUfcb5vJpj IyS/sg9EpgBQvQQNd7ZgEwFPH3ZHLh/SMGjqc= MIME-Version: 1.0 Received: by 10.224.35.68 with SMTP id o4mr6094094qad.75.1325496323031; Mon, 02 Jan 2012 01:25:23 -0800 (PST) Received: by 10.229.114.79 with HTTP; Mon, 2 Jan 2012 01:25:22 -0800 (PST) Date: Mon, 2 Jan 2012 16:25:22 +0700 Message-ID: Subject: GStreamermm: Unable to insert "const char*" of Gst::TAG_TITLE & Gst::TAG_GENRE into SQLite3 database From: Phong Cao To: gtkmm-list@gnome.org Content-Type: multipart/alternative; boundary=20cf306f77f27c449204b58829ad X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jan 2012 09:25:36 -0000 --20cf306f77f27c449204b58829ad Content-Type: text/plain; charset=ISO-8859-1 Hello everybody, I am trying to develop a small music manager using Gtkmm, GStreamermm & SQLite3. It reads metadata (track, title, artist, album, etc...) of all the files using GStreamermm & inserts these metadata into the underlying SQLite database. Then it will load these metadata into the Gtk::TreeView next time it starts. The program is able to read Gst::TAG_TITLE & Gst::TAG_GENRE and output these tags into . It can insert the "const char*" of these tags (I used Glib::ustring::c_str() to get the "const char*" from the Glib::ustring returned by Gst::TAG_TITLE & Gst::TAG_GENRE) into the underlying SQLite3 database. However, the title & genre of the song do not appear when I do a query of the SQLite3 database. It seems that Glib::ustring::c_str() returns an * empty const char* * and SQLite3 just inserts that empty const char* into the database. I have been scratching over my head for several days because of this. I wonder if this is my fault or is there any problem with GStreamermm or SQLite3. I am currently using Fedora 16 with all the latest updates. My GStreamermm version is 0.10.10. Here is the link to download the program. If you can please download it & type "make" to compile it in your machine & see if there is any problem with my code, or the libraries. http://www.mediafire.com/?tazj62a2rcdl3a5 Thank you for reading my message! Happy New Year everybody! Best regards, -- Phong V. Cao phngcv@gmail.com --20cf306f77f27c449204b58829ad Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hello everybody,

I am trying to develop a small music manager using = Gtkmm, GStreamermm & SQLite3. It reads metadata (track, title, artist, = album, etc...) of all the files using GStreamermm & inserts these metad= ata into the underlying SQLite database. Then it will load these metadata i= nto the Gtk::TreeView next time it starts.

The program is able to read Gst::TAG_TITLE & Gst::TAG_GENRE and out= put these tags into <iostream>. It can insert the "const char*&q= uot; of these tags (I used Glib::ustring::c_str() to get the "const ch= ar*" from the Glib::ustring returned by Gst::TAG_TITLE & Gst::TAG_= GENRE) into the underlying SQLite3 database. However, the title & genre= of the song do not appear when I do a query of the SQLite3 database. It se= ems that Glib::ustring::c_str() returns an * empty const char* * and SQLite= 3 just inserts that empty const char* into the database. I have been scratc= hing over my head for several days because of this. I wonder if this is my= fault or is there any problem with GStreamermm or SQLite3.

I am currently using Fedora 16 with all the latest updates. My GStreame= rmm version is 0.10.10.

Here is the link to download the program. I= f you can please download it & type "make" to compile it in y= our machine & see if there is any problem with my code, or the librarie= s.

http://www.mediafire.com/?tazj62a2rcdl3a5

Thank you for reading= my message! Happy New Year everybody!


Best regards,

--
Phong V. Cao


--20cf306f77f27c449204b58829ad-- From phngcv@gmail.com Mon Jan 2 09:29:36 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 01873750068 for ; Mon, 2 Jan 2012 09:29:36 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.125 X-Spam-Level: X-Spam-Status: No, score=-2.125 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HS_INDEX_PARAM=0.574, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id O1R+x9uJTqx1 for ; Mon, 2 Jan 2012 09:29:32 +0000 (UTC) Received: from mail-qy0-f182.google.com (mail-qy0-f182.google.com [209.85.216.182]) by menubar.gnome.org (Postfix) with ESMTP id 1BA907500FF for ; Mon, 2 Jan 2012 09:29:23 +0000 (UTC) Received: by qcse13 with SMTP id e13so12884584qcs.27 for ; Mon, 02 Jan 2012 01:29:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=je6LKPTn7LsLGl0ofmyJOQWOCTmQYNdtyKjLYbceIBU=; b=lW7/hWoznkr9bfpJZcKbA3/WSUIg0m/Ik+I4yvMoenHMaWUgxxbFlkSm9gkbWiY3Xd H+gp8BltXw+IEEdccj5X6xwrGbhc7kyGvH7dpwnMexvbA7iAIoJFe7ZdV3JEpu1PneSn hCG2WswKGO/TVV7tvPSLdH7h2VzUgTSoG/Jr8= MIME-Version: 1.0 Received: by 10.229.136.11 with SMTP id p11mr10160340qct.4.1325496562237; Mon, 02 Jan 2012 01:29:22 -0800 (PST) Received: by 10.229.114.79 with HTTP; Mon, 2 Jan 2012 01:29:22 -0800 (PST) In-Reply-To: References: Date: Mon, 2 Jan 2012 16:29:22 +0700 Message-ID: Subject: Re: GStreamermm: Unable to insert "const char*" of Gst::TAG_TITLE & Gst::TAG_GENRE into SQLite3 database From: Phong Cao To: gtkmm-list@gnome.org Content-Type: multipart/alternative; boundary=00248c7118e5be421d04b588375d X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jan 2012 09:29:36 -0000 --00248c7118e5be421d04b588375d Content-Type: text/plain; charset=ISO-8859-1 ADDITIONAL NOTES: I also included the SQLite3 commands I used to create the underlying SQLite3 database. The file is named "dingo-model.sql". If you have MySQL Workbench >= 5.x installed you can open the "dingo.mwb" file and see my database design. The database file is also included in the same folder and is named "dingo.db". On Mon, Jan 2, 2012 at 4:25 PM, Phong Cao wrote: > Hello everybody, > > I am trying to develop a small music manager using Gtkmm, GStreamermm & > SQLite3. It reads metadata (track, title, artist, album, etc...) of all the > files using GStreamermm & inserts these metadata into the underlying SQLite > database. Then it will load these metadata into the Gtk::TreeView next time > it starts. > > The program is able to read Gst::TAG_TITLE & Gst::TAG_GENRE and output > these tags into . It can insert the "const char*" of these tags > (I used Glib::ustring::c_str() to get the "const char*" from the > Glib::ustring returned by Gst::TAG_TITLE & Gst::TAG_GENRE) into the > underlying SQLite3 database. However, the title & genre of the song do not > appear when I do a query of the SQLite3 database. It seems that > Glib::ustring::c_str() returns an * empty const char* * and SQLite3 just > inserts that empty const char* into the database. I have been scratching > over my head for several days because of this. I wonder if this is my fault > or is there any problem with GStreamermm or SQLite3. > > I am currently using Fedora 16 with all the latest updates. My GStreamermm > version is 0.10.10. > > Here is the link to download the program. If you can please download it & > type "make" to compile it in your machine & see if there is any problem > with my code, or the libraries. > > http://www.mediafire.com/?tazj62a2rcdl3a5 > > Thank you for reading my message! Happy New Year everybody! > > > Best regards, > > -- > Phong V. Cao > phngcv@gmail.com > > > -- Phong V. Cao phngcv@gmail.com --00248c7118e5be421d04b588375d Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable ADDITIONAL NOTES: I also included the SQLite3 commands I used to create the= underlying SQLite3 database. The file is named "dingo-model.sql"= . If you have MySQL Workbench >=3D 5.x installed you can open the "= dingo.mwb" file and see my database design. The database file is also = included in the same folder and is named "dingo.db".

On Mon, Jan 2, 2012 at 4:25 PM, Phong Cao <phngcv@gmail.com> wrote:
Hello everybody,

I am trying to develop a small music manager using = Gtkmm, GStreamermm & SQLite3. It reads metadata (track, title, artist, = album, etc...) of all the files using GStreamermm & inserts these metad= ata into the underlying SQLite database. Then it will load these metadata i= nto the Gtk::TreeView next time it starts.

The program is able to read Gst::TAG_TITLE & Gst::TAG_GENRE and out= put these tags into <iostream>. It can insert the "const char*&q= uot; of these tags (I used Glib::ustring::c_str() to get the "const ch= ar*" from the Glib::ustring returned by Gst::TAG_TITLE & Gst::TAG_= GENRE) into the underlying SQLite3 database. However, the title & genre= of the song do not appear when I do a query of the SQLite3 database. It se= ems that Glib::ustring::c_str() returns an * empty const char* * and SQLite= 3 just inserts that empty const char* into the database. I have been scratc= hing over my head for several days because of this. I wonder if this is my= fault or is there any problem with GStreamermm or SQLite3.

I am currently using Fedora 16 with all the latest updates. My GStreame= rmm version is 0.10.10.

Here is the link to download the program. I= f you can please download it & type "make" to compile it in y= our machine & see if there is any problem with my code, or the librarie= s.

http://www.mediafire.com/?tazj62a2rcdl3a5

Thank you for reading= my message! Happy New Year everybody!


Best regards,

--
Phong V. Cao





--
Phong V. = Cao


--00248c7118e5be421d04b588375d-- From yahyai-0@hotmail.com Mon Jan 2 09:42:27 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 70F4B750114 for ; Mon, 2 Jan 2012 09:42:27 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -102.781 X-Spam-Level: X-Spam-Status: No, score=-102.781 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-1.286, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077, USER_IN_WHITELIST=-100] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 005CQiXrqUYH for ; Mon, 2 Jan 2012 09:42:24 +0000 (UTC) Received: from dub0-omc3-s6.dub0.hotmail.com (dub0-omc3-s6.dub0.hotmail.com [157.55.2.15]) by menubar.gnome.org (Postfix) with ESMTP id 9B8BF750068 for ; Mon, 2 Jan 2012 09:42:15 +0000 (UTC) Received: from DUB112-W84 ([157.55.2.7]) by dub0-omc3-s6.dub0.hotmail.com with Microsoft SMTPSVC(6.0.3790.4675); Mon, 2 Jan 2012 01:42:13 -0800 Message-ID: Content-Type: multipart/alternative; boundary="_66fd02ac-78a1-4305-aaf2-19220729d803_" X-Originating-IP: [188.66.225.137] From: "Kaiser ." To: Subject: RE: Best and esiest to implemet pthread , GLib::Thread , GLib::Dispatcher Date: Mon, 2 Jan 2012 13:42:12 +0400 Importance: Normal In-Reply-To: <1325404003.7724.YahooMailNeo@web111712.mail.gq1.yahoo.com> References: , <1325404003.7724.YahooMailNeo@web111712.mail.gq1.yahoo.com> MIME-Version: 1.0 X-OriginalArrivalTime: 02 Jan 2012 09:42:13.0473 (UTC) FILETIME=[CE5E3510:01CCC932] X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jan 2012 09:42:27 -0000 --_66fd02ac-78a1-4305-aaf2-19220729d803_ Content-Type: text/plain; charset="windows-1256" Content-Transfer-Encoding: 8bit Thank you both I have used Libsoup :) _______________________________________________________________________________________________________________________________ _____________________________________________________________________________________________________________________________________________ From: jonathon quotidian org Have you considered simply using libsoup instead of libcurl? Libsoup can do async I/O integrated with the glib mainloop so that you won't need to use threads (in theory). From: Michael Moorman Hi Kaiser, This one way I would approach this problem. 1. Launch a GLib::Thread to download the files. The API is quite nice and easy to use.2. Register a timeout function on the main gtk loop that periodically checks (maybe once every half second) on the status of the thread you launched in 1 ( see http://developer.gnome.org/gtkmm-tutorial/3.2/sec-timeouts.html.en ). This can safely update anything on the GUI since it's invoked from the main loop. Update any GUI related things (progress bar, error/success indications, etc) using this function. Consider using a Glib::Mutex to facilitate safe communication between the two threads, i.e. synchronizing access to any shared buffer. Good luck! Hello I have made small gtkmm program that download some files from Internet by using libcurl.. But when the program start downloading the files it Freez until it finish (cuz of single thread??).. I knew that I must implement multi-threading to solve the problem ... I have 3 classes in the program : WINDOW , APP , CURL // here are some brief of the program CURL contains CURLREAD function to download the files and some helper functions APP contains other utils of program and contains getPKG() which get the URLS and download the files throught the object curl.curlread(url ,,,) Window has progressBAR CURL is object on APP ,,,, and APP is object on WINDOW which one I should implement pthread , GLib::Thread or GLib::Dispatcher ?! _______________________________________________ gtkmm-list mailing list gtkmm-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtkmm-list --_66fd02ac-78a1-4305-aaf2-19220729d803_ Content-Type: text/html; charset="windows-1256" Content-Transfer-Encoding: 8bit

Thank you both

I have used
Libsoup :)

_______________________________________________________________________________________________________________________________
_____________________________________________________________________________________________________________________________________________

From
: jonathon quotidian org

Have you considered simply using libsoup instead of libcurl? Libsoup can do async I/O integrated with the glib mainloop so that you won't need to use threads (in theory).



From: Michael Moorman

Hi Kaiser,

This one way I would approach this problem.

1. Launch a GLib::Thread to download the files. The API is quite nice and easy to use.
2. Register a timeout function on the main gtk loop that periodically checks (maybe once every half second) on the status of the thread you launched in 1 ( see http://developer.gnome.org/gtkmm-tutorial/3.2/sec-timeouts.html.en ). This can safely update anything on the GUI since it's invoked from the main loop. Update any GUI related things (progress bar, error/success indications, etc) using this function.

Consider using a Glib::Mutex to facilitate safe communication between the two threads, i.e. synchronizing access to any shared buffer

Good luck!



Hello

I have made small gtkmm program that download some files from Internet by using libcurl..

But when the program start downloading the files it Freez until it finish (cuz of  single thread??)..

I knew that I must implement multi-threading to solve the problem ...

I have 3 classes in the program : WINDOW , APP , CURL

// here are some brief of the program
CURL contains CURLREAD function to download the files and some helper functions
APP contains other utils of program and contains getPKG() which get the URLS and download the files throught the object curl.curlread(url ,,,)
Window has progressBAR

CURL is object on APP ,,,, and APP is object on WINDOW

which one I should implement pthread ,  GLib::Thread  or GLib::Dispatcher ?!

_______________________________________________
gtkmm-list mailing list
gtkmm-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtkmm-list


--_66fd02ac-78a1-4305-aaf2-19220729d803_-- From murrayc@murrayc.com Mon Jan 2 09:46:34 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 452EA7500FF for ; Mon, 2 Jan 2012 09:46:34 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.6 X-Spam-Level: X-Spam-Status: No, score=-2.6 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mvpT5nQD+KZO for ; Mon, 2 Jan 2012 09:46:32 +0000 (UTC) X-Greylist: delayed 562 seconds by postgrey-1.32 at menubar.gnome.org; Mon, 02 Jan 2012 09:46:31 UTC Received: from out5.smtp.messagingengine.com (out5.smtp.messagingengine.com [66.111.4.29]) by menubar.gnome.org (Postfix) with ESMTP id F3236750068 for ; Mon, 2 Jan 2012 09:46:23 +0000 (UTC) Received: from compute3.internal (compute3.nyi.mail.srv.osa [10.202.2.43]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 49684208CB; Mon, 2 Jan 2012 04:36:59 -0500 (EST) Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161]) by compute3.internal (MEProxy); Mon, 02 Jan 2012 04:36:59 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:subject:from:to:cc:date :in-reply-to:references:content-type:content-transfer-encoding :mime-version; s=smtpout; bh=MiZySHk4x/n5bcEA2Xw25PFioBU=; b=T+B 5AVZ2vH4c2NKsiQrc6D5VEkW9vSyCUkKwK4NE3hhUkvIYbggP5BGQhfh7PoW/2gZ Kr3YVUWBCErgjyvFUSPsSbDo6YsIy3T1lMVa2h2VeAGIun6Uwtkzt2ebeS0TJWC6 uRshrVqXe3kJNZ96iWLyg23tbrpZ/okbpUIMXL9E= X-Sasl-enc: 64H02fAKRbRLZbKigsrdH6SNNU5RBiRE93eqiEBiQopw 1325497018 Received: from [192.168.178.34] (ppp-188-174-33-212.dynamic.mnet-online.de [188.174.33.212]) by mail.messagingengine.com (Postfix) with ESMTPSA id 9232448256C; Mon, 2 Jan 2012 04:36:58 -0500 (EST) Message-ID: <1325497016.2283.10.camel@localhost> Subject: Re: Caching the result produced by Gtk::Builder? From: Murray Cumming To: Nils Asmussen Date: Mon, 02 Jan 2012 10:36:56 +0100 In-Reply-To: <1325355786.3836.14.camel@hrniels-desktop> References: <1325346096.3836.7.camel@hrniels-desktop> <1325355786.3836.14.camel@hrniels-desktop> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.2 (3.2.2-1.fc16) Content-Transfer-Encoding: 7bit Mime-Version: 1.0 Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jan 2012 09:46:34 -0000 On Sat, 2011-12-31 at 19:23 +0100, Nils Asmussen wrote: > Sometimes it gets even in an endless loop. > Is this a known bug? I don't think so. Maybe you can create a simple test case and file a GTK + bug. -- murrayc@murrayc.com www.murrayc.com www.openismus.com From Markus.Elfring@web.de Tue Jan 3 15:15:28 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id C963B7501A8 for ; Tue, 3 Jan 2012 15:15:28 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -3.727 X-Spam-Level: X-Spam-Status: No, score=-3.727 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-1.828] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Sp7STucaWKXo for ; Tue, 3 Jan 2012 15:15:24 +0000 (UTC) Received: from fmmailgate03.web.de (fmmailgate03.web.de [217.72.192.234]) by menubar.gnome.org (Postfix) with ESMTP id 0FF6C75005F for ; Tue, 3 Jan 2012 15:15:15 +0000 (UTC) Received: from moweb001.kundenserver.de (moweb001.kundenserver.de [172.19.20.114]) by fmmailgate03.web.de (Postfix) with ESMTP id 24FE61AEFE2C1 for ; Tue, 3 Jan 2012 16:15:13 +0100 (CET) Received: from Sonne.site ([78.49.195.139]) by smtp.web.de (mrweb002) with ESMTPA (Nemesis) id 0LsQ9o-1Sk7o04AzQ-012HZ6; Tue, 03 Jan 2012 16:15:13 +0100 Message-ID: <4F031B7F.3050300@web.de> Date: Tue, 03 Jan 2012 16:15:11 +0100 From: Markus Elfring User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111219 Thunderbird/9.0 MIME-Version: 1.0 To: gtkmm-list@gnome.org Subject: Re: How to forward accesses from model attributes to other class attributes? References: <4E91BFBF.4060900@web.de> In-Reply-To: <4E91BFBF.4060900@web.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V02:K0:G+brmrAyO/+NYxzbNYF3jQK8OsLcCKuxmAvRtgaVF4q NbQ2+spev1vdTcSuvLwRIImONAAhCLFHjjHWKaLNPlg7dwAl8H CHKbOTbq6fYi/j0hIU7lfK7B7MDj3kpkh0zHzFKAW0HwK6F2b2 VS7Mo3TkzOh5r2HOTJ2NbQXyHOtjZC+JI/FJJfRlLoWlImnVFh QEqh2P/Hu+UzavTLy6k2g== X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jan 2012 15:15:29 -0000 > Can read/write accesses be forwarded from a model column to a different attribute? Can a column act as a proxy for an other item? How do you think about the use of a "Gtk::...ModelColumn" that can be initialised with a reference to the passed template type by a constructor variant? Regards, Markus From daeatel@gmail.com Wed Jan 4 20:00:57 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id B9050750188 for ; Wed, 4 Jan 2012 20:00:57 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.545 X-Spam-Level: X-Spam-Status: No, score=-2.545 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iL9K5rx4+Shz for ; Wed, 4 Jan 2012 20:00:54 +0000 (UTC) Received: from mail-ee0-f54.google.com (mail-ee0-f54.google.com [74.125.83.54]) by menubar.gnome.org (Postfix) with ESMTP id 2A8C77500A5 for ; Wed, 4 Jan 2012 20:00:45 +0000 (UTC) Received: by eekc50 with SMTP id c50so21676077eek.27 for ; Wed, 04 Jan 2012 12:00:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :content-type; bh=oTAF3ARpdWceefgCY0y0+k9RqOt0tHcd7FQ3tea2tTg=; b=tmqsK/4oVAgl9ngiGDv6+Kn9qzuuU1wjS3SJDrBNKUk6TldSABtjZlHCO+CsBjyPLa 3AZkKrkHXL1se/Az6gW/I+OYJe7i0H+DVCGvxYB9t4KWT8K1EDKe2hpwQWM9yQi1ylWT lph1MVhp2mOQFLxZPNYooxJ1ywsWWrlEzDcEg= Received: by 10.213.16.195 with SMTP id p3mr5602743eba.133.1325707243902; Wed, 04 Jan 2012 12:00:43 -0800 (PST) Received: from [147.32.127.81] ([147.32.127.81]) by mx.google.com with ESMTPS id 13sm223794845eeu.1.2012.01.04.12.00.42 (version=SSLv3 cipher=OTHER); Wed, 04 Jan 2012 12:00:42 -0800 (PST) Message-ID: <4F04AFE8.9000004@gmail.com> Date: Wed, 04 Jan 2012 21:00:40 +0100 From: da Eatel User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0 MIME-Version: 1.0 To: gtkmm-list@gnome.org Subject: sigc++ error during GTKmm cross-compilation Content-Type: multipart/alternative; boundary="------------070602070206050301090604" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jan 2012 20:00:57 -0000 This is a multi-part message in MIME format. --------------070602070206050301090604 Content-Type: text/plain; charset=ISO-8859-2; format=flowed Content-Transfer-Encoding: 8bit Hi, I wrote simple GTKmm program from documentation example: /#include int main(int argc, char *argv[]){ Gtk::Main kit(argc, argv); Gtk::Window window; Gtk::Main::run(window); return 0; }/ and then I try to cross-compile for Windows it using mingw cross-compiler, but it fails. My command is: /i686-pc-mingw32-g++ -o test-gtk.exe main.cpp `pkg-config --cflags --libs gtkmm-2.4`/ but it throws lines of errors like: /In file included from /home/michal/Dropbox/GTK/GTKmm-Devel/include/sigc++-2.0/sigc++/sigc++.h:23:0, from /home/michal/Dropbox/GTK/GTKmm-Devel/include/glibmm-2.4/glibmm/dispatcher.h:24, from /home/michal/Dropbox/GTK/GTKmm-Devel/include/glibmm-2.4/glibmm.h:32, from /home/michal/Dropbox/GTK/GTKmm-Devel/include/gtkmm-2.4/gtkmm.h:29, from main.cpp:1: /home/michal/Dropbox/GTK/GTKmm-Devel/include/sigc++-2.0/sigc++/signal.h:1675:26: error: declaration of 'typedef sigc::signal0::slot_list_type sigc::signal0::slot_list' [-fpermissive] /home/michal/Dropbox/GTK/GTKmm-Devel/include/sigc++-2.0/sigc++/signal.h:167:8: error: changes meaning of 'slot_list' from 'struct sigc::slot_list >' [-fpermissive] /home/michal/Dropbox/GTK/GTKmm-Devel/include/sigc++-2.0/sigc++/signal.h:1784:26: error: declaration of 'typedef sigc::signal1::slot_list_type sigc::signal1::slot_list' [-fpermissive] /home/michal/Dropbox/GTK/GTKmm-Devel/include/sigc++-2.0/sigc++/signal.h:167:8: error: changes meaning of 'slot_list' from 'struct sigc::slot_list >' [-fpermissive] /home/michal/Dropbox/GTK/GTKmm-Devel/include/sigc++-2.0/sigc++/signal.h:1895:26: error: declaration of 'typedef sigc::signal2::slot_list_type sigc::signal2::slot_list' [-fpermissive]/ and much more... Donīt really know, what is wrong, because when compiling just with gtk.h file included everything works fine. The same for compilation of above-mentioned code for unix - it works fine. Thank you in advance, Michael --------------070602070206050301090604 Content-Type: text/html; charset=ISO-8859-2 Content-Transfer-Encoding: 8bit Hi, I wrote simple GTKmm program from documentation example:

#include <gtkmm.h>
int main(int argc, char *argv[]){
    Gtk::Main kit(argc, argv);
    Gtk::Window window;
    Gtk::Main::run(window);
  
    return 0;
}


 and then I try to cross-compile for Windows it using mingw cross-compiler, but it fails. My command is:
i686-pc-mingw32-g++ -o test-gtk.exe main.cpp `pkg-config --cflags --libs gtkmm-2.4`

but it throws lines of errors like:
In file included from /home/michal/Dropbox/GTK/GTKmm-Devel/include/sigc++-2.0/sigc++/sigc++.h:23:0,
                 from /home/michal/Dropbox/GTK/GTKmm-Devel/include/glibmm-2.4/glibmm/dispatcher.h:24,
                 from /home/michal/Dropbox/GTK/GTKmm-Devel/include/glibmm-2.4/glibmm.h:32,
                 from /home/michal/Dropbox/GTK/GTKmm-Devel/include/gtkmm-2.4/gtkmm.h:29,
                 from main.cpp:1:
/home/michal/Dropbox/GTK/GTKmm-Devel/include/sigc++-2.0/sigc++/signal.h:1675:26: error: declaration of 'typedef sigc::signal0<T_return, T_accumulator>::slot_list_type sigc::signal0<T_return, T_accumulator>::slot_list' [-fpermissive]
/home/michal/Dropbox/GTK/GTKmm-Devel/include/sigc++-2.0/sigc++/signal.h:167:8: error: changes meaning of 'slot_list' from 'struct sigc::slot_list<sigc::slot<T_return> >' [-fpermissive]
/home/michal/Dropbox/GTK/GTKmm-Devel/include/sigc++-2.0/sigc++/signal.h:1784:26: error: declaration of 'typedef sigc::signal1<T_return, T_arg1, T_accumulator>::slot_list_type sigc::signal1<T_return, T_arg1, T_accumulator>::slot_list' [-fpermissive]
/home/michal/Dropbox/GTK/GTKmm-Devel/include/sigc++-2.0/sigc++/signal.h:167:8: error: changes meaning of 'slot_list' from 'struct sigc::slot_list<sigc::slot<T_return, T_arg1> >' [-fpermissive]
/home/michal/Dropbox/GTK/GTKmm-Devel/include/sigc++-2.0/sigc++/signal.h:1895:26: error: declaration of 'typedef sigc::signal2<T_return, T_arg1, T_arg2, T_accumulator>::slot_list_type sigc::signal2<T_return, T_arg1, T_arg2, T_accumulator>::slot_list' [-fpermissive]


and much more...
Donīt really know, what is wrong, because when compiling just with gtk.h file included everything works fine. The same for compilation of above-mentioned code for unix - it works fine.

Thank you in advance,
Michael
--------------070602070206050301090604-- From tweenk.pl@gmail.com Thu Jan 5 00:09:55 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id B6AAA7500B9 for ; Thu, 5 Jan 2012 00:09:55 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.7 X-Spam-Level: X-Spam-Status: No, score=-2.7 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UvRyAcTCsjiP for ; Thu, 5 Jan 2012 00:09:53 +0000 (UTC) Received: from mail-tul01m020-f182.google.com (mail-tul01m020-f182.google.com [209.85.214.182]) by menubar.gnome.org (Postfix) with ESMTP id AF7A1750296 for ; Thu, 5 Jan 2012 00:09:45 +0000 (UTC) Received: by obbwd18 with SMTP id wd18so25889176obb.27 for ; Wed, 04 Jan 2012 16:09:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; bh=g8Boboxr4GYO1D9W8vGa+yB2OsQ+tSKBaaAHwQ5EcEo=; b=mnwkYoFN+1kwuBrE291uVGPUW22UBm9nI7DCKyF1ltjWtxQJ3hnPa/wd4nnoRQ1uP2 zyclt5087q2Af0uOnuT4KoCJCBIPnHvJtgdeKQUri2oC0FAsKhz2TnnQlifYMgl+GALo /qxUNc9LssmHF0FnUivsDwsUmFljhLq2Mo07M= MIME-Version: 1.0 Received: by 10.182.225.98 with SMTP id rj2mr19257399obc.16.1325722182700; Wed, 04 Jan 2012 16:09:42 -0800 (PST) Received: by 10.182.133.2 with HTTP; Wed, 4 Jan 2012 16:09:42 -0800 (PST) Date: Thu, 5 Jan 2012 01:09:42 +0100 Message-ID: Subject: Creating toolbar menubuttons via UI Manager From: =?UTF-8?Q?Krzysztof_Kosi=C5=84ski?= To: gtkmm-list Content-Type: text/plain; charset=UTF-8 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jan 2012 00:09:55 -0000 Hello all I found a post that describes how to create toolbar menubuttons (GtkMenuToolButton) on toolbars with GTK's GtkUIManager. http://www.gtkforums.com/viewtopic.php?t=4215 The solution is rather messy and involves deriving a new GType from GtkAction and setting the toolbar_item_type member of its GtkActionClass to a different value. Now my question is: is this possible at all with gtkmm? Regards, Krzysztof From vietory2g@gmail.com Thu Jan 5 02:59:14 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 57AA175007F for ; Thu, 5 Jan 2012 02:59:14 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.699 X-Spam-Level: X-Spam-Status: No, score=-2.699 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id A7Sg+DYNXtiG for ; Thu, 5 Jan 2012 02:59:12 +0000 (UTC) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by menubar.gnome.org (Postfix) with ESMTP id 9F531750021 for ; Thu, 5 Jan 2012 02:59:04 +0000 (UTC) Received: by vbbfr13 with SMTP id fr13so132486vbb.27 for ; Wed, 04 Jan 2012 18:59:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; bh=l1ui6Qy66BXdoqw5fp7CGQC43B/087nr4TOcX/zeOro=; b=g4oLwNe+XTooZK+NRZCJ0gS4gZnXUuJW/t6CSucD6qxtOC/jUV3MfVp2HbWroAw32T 9jB3r0SVvv/TbINWh6g0/wLD5DKjI5P5+BNdVE7637gXI+xLImkpFUrFwUElh0n3q91g fp8zRb7XtVPsHkb5v3SLzZjkCU2PCV5emFsfw= MIME-Version: 1.0 Received: by 10.52.67.179 with SMTP id o19mr65486vdt.106.1325732342688; Wed, 04 Jan 2012 18:59:02 -0800 (PST) Received: by 10.52.158.71 with HTTP; Wed, 4 Jan 2012 18:59:02 -0800 (PST) Date: Thu, 5 Jan 2012 13:59:02 +1100 Message-ID: Subject: change background color for Gtk::fixed container From: kiet tran To: gtkmm-list@gnome.org Content-Type: multipart/alternative; boundary=20cf307ca6305a6abb04b5bf1d24 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jan 2012 02:59:14 -0000 --20cf307ca6305a6abb04b5bf1d24 Content-Type: text/plain; charset=ISO-8859-1 hi everyone, Is it possible to change the background of Gtk::fixed container I tried using modify_bg() function and it didnt do anything. That modify_bg() works for a button widget and Gtk::window. So is there any other method to do this. Cheers, Kiet Tran --20cf307ca6305a6abb04b5bf1d24 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable hi everyone,

Is it possible to change the background of = Gtk::fixed container I tried using modify_bg() function and it didnt do any= thing.=A0
That modify_bg() works for a button widget and Gtk::win= dow.

So is there any other method to do this.=A0
<= br>
Cheers,

Kiet Tran
--20cf307ca6305a6abb04b5bf1d24-- From kjell.ahlstedt@bredband.net Thu Jan 5 08:30:05 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 3EF6A75007F for ; Thu, 5 Jan 2012 08:30:05 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.901 X-Spam-Level: X-Spam-Status: No, score=-1.901 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vxi0sAHgTuXN for ; Thu, 5 Jan 2012 08:30:02 +0000 (UTC) Received: from smtprelay-b12.telenor.se (smtprelay-b12.telenor.se [62.127.194.21]) by menubar.gnome.org (Postfix) with ESMTP id B8601750021 for ; Thu, 5 Jan 2012 08:29:54 +0000 (UTC) Received: from ipb4.telenor.se (ipb4.telenor.se [195.54.127.167]) by smtprelay-b12.telenor.se (Postfix) with ESMTP id C3DD0DD56 for ; Thu, 5 Jan 2012 09:29:52 +0100 (CET) X-SMTPAUTH-B2: [kjelahls] X-SENDER-IP: [85.227.232.137] X-LISTENER: [smtp.bredband.net] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AssjAOheBU9V4+iJPGdsb2JhbAAMN4lWoGGCVQEBAQE3giQBAQEBAzhAARALIRYPCQMCAQIBMRQGDQEHAQEXvQWMEQSnOg X-IronPort-AV: E=Sophos;i="4.71,461,1320620400"; d="scan'208";a="1787083396" Received: from c-89e8e355.06-203-73746f44.cust.bredbandsbolaget.se (HELO [192.168.1.64]) ([85.227.232.137]) by ipb4.telenor.se with ESMTP; 05 Jan 2012 09:29:52 +0100 Message-ID: <4F055F80.4060409@bredband.net> Date: Thu, 05 Jan 2012 09:29:52 +0100 From: Kjell Ahlstedt User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0 MIME-Version: 1.0 To: kiet tran Subject: Re: change background color for Gtk::fixed container References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jan 2012 08:30:05 -0000 2012-01-05 03:59, kiet tran skrev: > hi everyone, > > Is it possible to change the background of Gtk::fixed container I > tried using modify_bg() function and it didnt do anything. > That modify_bg() works for a button widget and Gtk::window. > > So is there any other method to do this. > > Cheers, > > Kiet Tran > Some widgets don't have their own Gdk::Window. They draw on their parent container's window. Some of those widgets don't draw their background. E.g. Gtk::Label does not draw its background. Probably Gtk::Fixed is also one of the widgets that don't draw their background. There are (at least) two solutions: 1. Change the background of Gtk::Fixed's parent container. If that's not suitable, perhaps too much background is changed, then 2. Put the Gtk::Fixed in a Gtk::EventBox, and change the background color of the Gtk::EventBox. Kjell From vietory2g@gmail.com Fri Jan 6 05:58:15 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 43DCE75006B for ; Fri, 6 Jan 2012 05:58:15 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.699 X-Spam-Level: X-Spam-Status: No, score=-2.699 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ikmloLnHNn8t for ; Fri, 6 Jan 2012 05:58:12 +0000 (UTC) Received: from mail-tul01m020-f182.google.com (mail-tul01m020-f182.google.com [209.85.214.182]) by menubar.gnome.org (Postfix) with ESMTP id 9EFF975005F for ; Fri, 6 Jan 2012 05:58:04 +0000 (UTC) Received: by obbwd18 with SMTP id wd18so2578567obb.27 for ; Thu, 05 Jan 2012 21:58:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=R0jNvId0KkIK/LI5d0VpuUjYcmFAnOg/6dF0fUzKFUM=; b=We1xSZuwc3FkoO7fvaut0HD2Bv8yhcmWKRaWz3C6OBNdNT4wAzLAMxsbMUemo/fpix UhOVxg2dB5APcxzXISBCV3TQBddw3tjN1j/bCzrZnpjHh7yH2g7VDx8S2rDNr09sxhSY YQwgRkLIl+KIwOGwTAWtr4Fi8DAQW7W6lSjTg= MIME-Version: 1.0 Received: by 10.182.160.73 with SMTP id xi9mr3823427obb.26.1325829482936; Thu, 05 Jan 2012 21:58:02 -0800 (PST) Received: by 10.60.17.197 with HTTP; Thu, 5 Jan 2012 21:58:02 -0800 (PST) In-Reply-To: <4F055F80.4060409@bredband.net> References: <4F055F80.4060409@bredband.net> Date: Fri, 6 Jan 2012 16:58:02 +1100 Message-ID: Subject: Re: change background color for Gtk::fixed container From: kiet tran To: Kjell Ahlstedt Content-Type: multipart/alternative; boundary=f46d04478a0b5cfb2c04b5d5bbce Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jan 2012 05:58:15 -0000 --f46d04478a0b5cfb2c04b5d5bbce Content-Type: text/plain; charset=ISO-8859-1 I used the second method and it works thank-you On Thu, Jan 5, 2012 at 7:29 PM, Kjell Ahlstedt wrote: > 2012-01-05 03:59, kiet tran skrev: > > hi everyone, >> >> Is it possible to change the background of Gtk::fixed container I tried >> using modify_bg() function and it didnt do anything. >> That modify_bg() works for a button widget and Gtk::window. >> >> So is there any other method to do this. >> >> Cheers, >> >> Kiet Tran >> >> Some widgets don't have their own Gdk::Window. They draw on their parent > container's window. Some of those widgets don't draw their background. E.g. > Gtk::Label does not draw its background. Probably Gtk::Fixed is also one of > the widgets that don't draw their background. There are (at least) two > solutions: > 1. Change the background of Gtk::Fixed's parent container. > If that's not suitable, perhaps too much background is changed, then > 2. Put the Gtk::Fixed in a Gtk::EventBox, and change the background color > of the Gtk::EventBox. > > Kjell > > --f46d04478a0b5cfb2c04b5d5bbce Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable I used the second method and it works thank-you

On Thu, Jan 5, 2012 at 7:29 PM, Kjell Ahlstedt <= ;kjell.ahlstedt@bredband.net= > wrote:
2012-01-05 03:59, kiet tran skrev:

hi everyone,

Is it possible to change the background of Gtk::fixed container I tried usi= ng modify_bg() function and it didnt do anything.
That modify_bg() works for a button widget and Gtk::window.

So is there any other method to do this.

Cheers,

Kiet Tran

Some widgets don't have their own Gdk::Window. They draw on their paren= t container's window. Some of those widgets don't draw their backgr= ound. E.g. Gtk::Label does not draw its background. Probably Gtk::Fixed is = also one of the widgets that don't draw their background. There are (at= least) two solutions:
1. Change the background of Gtk::Fixed's parent container.
If that's not suitable, perhaps too much background is changed, then 2. Put the Gtk::Fixed in a Gtk::EventBox, and change the background color o= f the Gtk::EventBox.

Kjell


--f46d04478a0b5cfb2c04b5d5bbce-- From vietory2g@gmail.com Fri Jan 6 06:13:28 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 48E6475006B for ; Fri, 6 Jan 2012 06:13:28 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.699 X-Spam-Level: X-Spam-Status: No, score=-2.699 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2aap6UmzJtQi for ; Fri, 6 Jan 2012 06:13:25 +0000 (UTC) Received: from mail-tul01m020-f182.google.com (mail-tul01m020-f182.google.com [209.85.214.182]) by menubar.gnome.org (Postfix) with ESMTP id 755E075005F for ; Fri, 6 Jan 2012 06:13:17 +0000 (UTC) Received: by obbwd18 with SMTP id wd18so2595079obb.27 for ; Thu, 05 Jan 2012 22:13:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; bh=QmI2HYWffnkJCjkwd/NEIkX2UlBDh1iCIOhWMlsEYeo=; b=H+/PHYjGqd/NuRs57+H+W+qR/Jiv/oxjbQsaEK3OYQACMxbFGGG0Mh8ZeTOVzA5wWZ BgJJx6o+I8htvMBGZu5RCEl5RrJzlSLd4OwB4id0S8hSjak/TQcXd16c61wFbiRvFyOX 1cM4qdPR83hEDm0fxPexMsF8Ed5r8Ed8WpsxU= MIME-Version: 1.0 Received: by 10.182.160.73 with SMTP id xi9mr3854424obb.26.1325830395752; Thu, 05 Jan 2012 22:13:15 -0800 (PST) Received: by 10.60.17.197 with HTTP; Thu, 5 Jan 2012 22:13:15 -0800 (PST) Date: Fri, 6 Jan 2012 17:13:15 +1100 Message-ID: Subject: disable automatic resizing for every widgets within the main window From: kiet tran To: gtkmm-list@gnome.org, Kjell Ahlstedt Content-Type: multipart/alternative; boundary=f46d04478a0bc56f2604b5d5f161 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jan 2012 06:13:28 -0000 --f46d04478a0bc56f2604b5d5f161 Content-Type: text/plain; charset=ISO-8859-1 Hi everyone, I am writing an application on a very old hardware, thus I want to optimise GTK as much as I can. At the moment the performance on my application is not what I want, which it leads me to do some research and found out that Gtk::label or any widgets that live inside the main window will automatically resize itself if any one of them's size just changed. For instance if I want to just change the text of a label then Gtk will just from that label and recalculate the size of everything in the main window. I think that is why my program's performance is not where I want. The reason being my application consists of around 100 buttons and possibly each one of them will have a sub menu of another 15 buttons so by just changing one label in one of those button will resize the rest is just too much bottle neck for my application. Sorry so my question is, is there any way to disable this or I have to go to every one of the widgets and manually do it by using these two functions: set_reallocate_redraws(false) and set_redraw_on_allocate(false) if possible as well could someone explain to me what is the difference of these 2. Cheers, Kiet Tran --f46d04478a0bc56f2604b5d5f161 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi everyone,

I am writing an application on a very old h= ardware, thus I want to optimise GTK as much as I can. At the moment the pe= rformance on my application is not what I want, which it leads me to do som= e research and found out that Gtk::label or any widgets that live inside th= e main window will automatically resize=A0itself if any one of them's s= ize just changed. For instance if I want to just change the text of a label= then Gtk will just from that label and recalculate the size of everything = in the main window. I think that is why my program's performance is not= where I want.=A0

The reason being my application consists of around 100 = buttons and possibly each one of them will have a sub menu of another 15 bu= ttons so by just changing one label in one of those button will resize the = rest is just too much bottle neck for my application.=A0=A0

Sorry so my question is, is there any way to disable th= is or I have to go to every one of the widgets and manually do it by using = these two functions:

set_reallocate_redraws(false)= and set_redraw_on_allocate(false)

if possible as well could someone explain to me what is= the difference of these 2.

Cheers,

=
Kiet Tran
--f46d04478a0bc56f2604b5d5f161-- From james.c.tilton@nasa.gov Fri Jan 6 16:37:42 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 6E3A675017A for ; Fri, 6 Jan 2012 16:37:42 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -4.055 X-Spam-Level: X-Spam-Status: No, score=-4.055 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, TW_GT=0.077, TW_TK=0.077, T_RP_MATCHES_RCVD=-0.01] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9ln6wuMvHmqA for ; Fri, 6 Jan 2012 16:37:33 +0000 (UTC) X-Greylist: delayed 1377 seconds by postgrey-1.32 at menubar.gnome.org; Fri, 06 Jan 2012 16:37:33 UTC Received: from ndmsnpf03.ndc.nasa.gov (ndmsnpf03.ndc.nasa.gov [198.117.0.123]) by menubar.gnome.org (Postfix) with ESMTP id 8A0087500CB for ; Fri, 6 Jan 2012 16:37:25 +0000 (UTC) Received: from ndmsppt04.ndc.nasa.gov (ndmsppt04.ndc.nasa.gov [198.117.0.103]) by ndmsnpf03.ndc.nasa.gov (Postfix) with ESMTP id 3197C18101A for ; Fri, 6 Jan 2012 10:14:26 -0600 (CST) Received: from ndmshub01.ndc.nasa.gov (ndmshub01-pub.ndc.nasa.gov [198.117.0.160]) by ndmsppt04.ndc.nasa.gov (8.14.4/8.14.4) with ESMTP id q06GEQga023705 for ; Fri, 6 Jan 2012 10:14:26 -0600 Received: from NDMSSCC04.ndc.nasa.gov ([198.117.2.172]) by ndmshub01.ndc.nasa.gov ([198.117.0.160]) with mapi; Fri, 6 Jan 2012 10:14:25 -0600 From: "Tilton, James C. (GSFC-6063)" To: "gtkmm-list@gnome.org" Date: Fri, 6 Jan 2012 10:14:24 -0600 Subject: Question concerning changes in Gtk::Adjustment from gtkmm-2.4 vs. gtkmm-3.0 Thread-Topic: Question concerning changes in Gtk::Adjustment from gtkmm-2.4 vs. gtkmm-3.0 Thread-Index: AczMjkGbI5Xm/u8WQjaCv+p9PEOU7A== Message-ID: <3EB41C6505FCF34781BFD592E4D92270ACEBFE8BE4@NDMSSCC04.ndc.nasa.gov> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: multipart/alternative; boundary="_000_3EB41C6505FCF34781BFD592E4D92270ACEBFE8BE4NDMSSCC04ndcn_" MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.5.7110, 1.0.211, 0.0.0000 definitions=2012-01-05_05:2012-01-05, 2012-01-05, 1970-01-01 signatures=0 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jan 2012 16:37:42 -0000 --_000_3EB41C6505FCF34781BFD592E4D92270ACEBFE8BE4NDMSSCC04ndcn_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable I recently successfully ported my gtkmm application from gtkmm-2.4 to gtkmm= -3.0. After successfully creating a gtkmm-3.0 compatible version of my applicatio= n, I decided it would be good idea to modify my gtkmm-2.4 compatible versio= n to match the gtkmm-3.0 version as closely as possible. This would obvious= ly make the parallel maintenance of the two versions easier. I was pretty successful in doing this, except for one thing. While my modif= ied gtkmm-2.4 version does compile and run successfully, upon exit it throw= s a Segmentation Fault. I believe this problem has something to do with the= differences in the usage of Gtk::Adjustment between gtkmm-2.4 and gtkmm-3.= 0. In "upgrading" my gtkmm-2.4 version, I tried to mimic as closely as possibl= e the gtkmm-3.0 usage of Gtk::Adjustment. In doing so I changed my declarat= ion statement for my Gtk::Adjustment variables from: Adjustment hadjustment, vadjustment; // old gtkmm-2.4 declaration to Glib::RefPtr hadjustment, vadjustment; // gtkmm-3.0 = declaration and new gtkmm-2.4 declaration My gtkmm-3.0 code associates these Adjustments variables with the adjustmen= ts for my ScrolledWindow variable (scrolled_Window) in the following manner= : hadjustment =3D scrolled_Window.get_hadjustment(); vadjustment =3D scrolled_Window.get_vadjustment(); I tried to mimic this in my new gtkmm-2.4 code as follows: Glib::RefPtr local_hadjustment((scrolled_Window.get_ha= djustment())); Glib::RefPtr local_vadjustment((scrolled_Window.get_va= djustment())); hadjustment =3D local_hadjustment; vadjustment =3D local_vadjustment; As I mentioned above, this code compiles and runs properly under gtkmm-2.4.= But I suspect it is not strictly proper usage - and some problem in this c= ode is causing my program to Segmentation Fault upon exiting. I would appreciate anyone's insights into this problem. Thanks. Jim Tilton ________________________________ Dr. James C. Tilton Voice: = 301-286-9510 NASA Goddard Space Flight Center FAX: 301-286-1776 Mail Code 606.3 E-Mail: = James.C.Tilton@nasa.gov (Computational & Information Sciences and Technology Office) Greenbelt, MD 20771 URLs: http://ipp.gsfc.nasa.gov/ft_tech_rhseg.shtm and http://science.g= sfc.nasa.gov/606.3/TILTON/ --_000_3EB41C6505FCF34781BFD592E4D92270ACEBFE8BE4NDMSSCC04ndcn_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

I recently succe= ssfully ported my gtkmm application from gtkmm-2.4 to gtkmm-3.0.

 

After s= uccessfully creating a gtkmm-3.0 compatible version of my application, I de= cided it would be good idea to modify my gtkmm-2.4 compatible version to ma= tch the gtkmm-3.0 version as closely as possible. This would obviously make= the parallel maintenance of the two versions easier.

 

I was pretty succes= sful in doing this, except for one thing. While my modified gtkmm-2.4 versi= on does compile and run successfully, upon exit it throws a Segmentation Fa= ult. I believe this problem has something to do with the differences in the= usage of Gtk::Adjustment between gtkmm-2.4 and gtkmm-3.0.

 

In “upgr= ading” my gtkmm-2.4 version, I tried to mimic as closely as possible = the gtkmm-3.0 usage of Gtk::Adjustment. In doing so I changed my declaratio= n statement for my Gtk::Adjustment variables from:


      Adjustment hadjustment, vad= justment;   // old gtkmm-2.4 declaration

 

to

 

  &nb= sp;   Glib::RefPtr<Gtk::Adjustment> hadjustment, vadjustmen= t; // gtkmm-3.0 declaration and new gtkmm-2.4 declaration

 

My gtkmm-3.0 co= de associates these Adjustments variables with the adjustments for my Scrol= ledWindow variable (scrolled_Window) in the following manner:

 

  = ;  hadjustment =3D scrolled_Window.get_hadjustment();

    vadjustment =3D scrolled_Window.get_v= adjustment();

 

I tried to mimic this in my new gtkmm-2.4 code as follows:<= o:p>

 

    Glib::RefPtr<Gtk::Adjustment> local_hadjustment(= (scrolled_Window.get_hadjustment()));

&n= bsp;   Glib::RefPtr<Gtk::Adjustment> local_vadjustment((scr= olled_Window.get_vadjustment()));

 =    hadjustment =3D local_hadjustment;

    vadjustment =3D local_vadjustment;

 

As I mentio= ned above, this code compiles and runs properly under gtkmm-2.4. But I susp= ect it is not strictly proper usage – and some problem in this code i= s causing my program to Segmentation Fault upon exiting.

 

I would apprecia= te anyone’s insights into this problem.

 

Thanks.

 

Jim Tilton

<= hr size=3D2 width=3D"100%" align=3Dcenter>

Dr. = James C. Tilton          =             &nb= sp;            =              Vo= ice:   301-286-9510

N= ASA Goddard Space Flight Center        &= nbsp;          FAX:  = ;   301-286-1776

Mail= Code 606.3          &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;   E-Mail:  = James.C.Tilton@nasa.gov

(Computational & Information Sciences an= d Technology Office)

Greenbelt= , MD 20771      

URLs:      http://ipp.gsfc.nasa.g= ov/ft_tech_rhseg.shtm and http://science.gsfc.nasa.gov/606.3/TILTON/ <= /o:p>

 

= --_000_3EB41C6505FCF34781BFD592E4D92270ACEBFE8BE4NDMSSCC04ndcn_-- From amgilman@myfairpoint.net Fri Jan 6 18:22:36 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id AEECD7502C6 for ; Fri, 6 Jan 2012 18:22:36 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.001 X-Spam-Level: X-Spam-Status: No, score=-2.001 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 13Zgz+F+xV4w for ; Fri, 6 Jan 2012 18:22:34 +0000 (UTC) Received: from mail11c26.carrierzone.com (mail11c26.carrierzone.com [66.175.40.165]) by menubar.gnome.org (Postfix) with ESMTP id 7FB9175017A for ; Fri, 6 Jan 2012 18:22:25 +0000 (UTC) X-Authenticated-User: amgilman.myfairpoint.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=myfairpoint.net; s=alpha; t=1325874144; bh=uVDYW02Jl5SebXg5HbfQGMUltjlLVePsZ3dTlYgs5Og=; h=Message-ID:Date:From:MIME-Version:To:Subject:Content-Type: Content-Transfer-Encoding; b=nr2vqC3UUCa+hAGIorEPZUCnKm5r0D08keMf/mOubUrw8k5YcyrHpN3oo6S8s7QS7 r8N2qjeggbg1nVrSTzdPtkUqoA0C8KbJ5xAexCzgXOp9FQX5iOJIlebwf+lHT4sBkt EYRUOgXkU+Jh/Tt3oaA+ALK5P8ZbJz7RFbOn+Nuw= Received: from localhost.localdomain (pool-72-71-254-52.cncdnh.fast03.myfairpoint.net [72.71.254.52]) (authenticated bits=0) by mail11c26.carrierzone.com (8.13.6/8.13.1) with ESMTP id q06IMJio027953 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 6 Jan 2012 18:22:20 GMT Message-ID: <4F073BEE.3060704@myfairpoint.net> Date: Fri, 06 Jan 2012 13:22:38 -0500 From: Andy Gilman User-Agent: Mozilla/5.0 (X11; Linux i686; rv:6.0.2) Gecko/20110907 Thunderbird/6.0.2 MIME-Version: 1.0 To: gtkmm-list@gnome.org Subject: very basic question Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-CSC: 0 X-CHA: v=1.1 cv=y0NXv3M7xLD618DAq8fvII841wej1jWAHomF/XLpEck= c=1 sm=1 a=XJW-a3EUobMA:10 a=YamaJ3vGr5cA:10 a=8nJEP1OIZ-IA:10 a=oYHBrp9z8zGGx5aEkyYrEw==:17 a=5oDr-o1gqAwgkLHDq8wA:9 a=wPNLvfGTeEIA:10 a=oYHBrp9z8zGGx5aEkyYrEw==:117 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jan 2012 18:22:36 -0000 A newbie (seemingly perpetually), I am stumped trying to change the background color of an eventbox. I have included this line: eventbox.modify_bg(Gtk::STATE_NORMAL, &color) (having defined a color, I think appropriately), but I keep being told that eventbox has no member called "modify_bg. Obviously I am missing something obvious, but what? Thanks. Andy Gilman From murrayc@murrayc.com Fri Jan 6 19:05:52 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id B0688750103 for ; Fri, 6 Jan 2012 19:05:52 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.446 X-Spam-Level: X-Spam-Status: No, score=-2.446 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Qf58iZMQkBMN for ; Fri, 6 Jan 2012 19:05:50 +0000 (UTC) Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by menubar.gnome.org (Postfix) with ESMTP id 5CA787500C8 for ; Fri, 6 Jan 2012 19:05:42 +0000 (UTC) Received: from compute6.internal (compute6.nyi.mail.srv.osa [10.202.2.46]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id BAAF320BB8; Fri, 6 Jan 2012 14:05:40 -0500 (EST) Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161]) by compute6.internal (MEProxy); Fri, 06 Jan 2012 14:05:40 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:subject:from:to:cc:date :in-reply-to:references:content-type:content-transfer-encoding :mime-version; s=smtpout; bh=rX75qASg8oxyFnhT8UZp0rINs8c=; b=BEy oqAgaYH/0w7EEKW1MwJW/dXNoZ9i/UXiIGkW8DSwhsuDRPqqkVqxvAK6XzVjr9xk u7QOYl2/rlRq5+q+S7mqGcAvD4Z6cHmc3iTuJDjUA33HRta7KqTbY622Z+KrSraM 0XHAk+shz1RaFi/RRHOXtXFBg8T7Gzb+wBXB1VKs= X-Sasl-enc: wDjsxMlb72LoUtewNfXcn9EmV2tTvT/shZkeDfrbz3zH 1325876740 Received: from [192.168.178.34] (ppp-88-217-64-103.dynamic.mnet-online.de [88.217.64.103]) by mail.messagingengine.com (Postfix) with ESMTPSA id 0FF644825DC; Fri, 6 Jan 2012 14:05:39 -0500 (EST) Message-ID: <1325876738.17974.9.camel@localhost> Subject: Re: Question concerning changes in Gtk::Adjustment from gtkmm-2.4 vs. gtkmm-3.0 From: Murray Cumming To: "Tilton, James C. (GSFC-6063)" Date: Fri, 06 Jan 2012 20:05:38 +0100 In-Reply-To: <3EB41C6505FCF34781BFD592E4D92270ACEBFE8BE4@NDMSSCC04.ndc.nasa.gov> References: <3EB41C6505FCF34781BFD592E4D92270ACEBFE8BE4@NDMSSCC04.ndc.nasa.gov> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.2 (3.2.2-1.fc16) Content-Transfer-Encoding: 7bit Mime-Version: 1.0 Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jan 2012 19:05:52 -0000 On Fri, 2012-01-06 at 10:14 -0600, Tilton, James C. (GSFC-6063) wrote: [snip] > I tried to mimic this in my new gtkmm-2.4 code as follows: > > > > Glib::RefPtr > local_hadjustment((scrolled_Window.get_hadjustment())); > > Glib::RefPtr > local_vadjustment((scrolled_Window.get_vadjustment())); [snip] That's just not a good idea. You cannot use Gtk::Adjustment via RefPtr in gtkmm-2.4. -- murrayc@murrayc.com www.murrayc.com www.openismus.com From james.c.tilton@nasa.gov Fri Jan 6 19:34:15 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 772D37500C8 for ; Fri, 6 Jan 2012 19:34:15 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -4.056 X-Spam-Level: X-Spam-Status: No, score=-4.056 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, TW_GT=0.077, TW_TK=0.077, T_RP_MATCHES_RCVD=-0.01] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dIABSbo1nEOB for ; Fri, 6 Jan 2012 19:34:13 +0000 (UTC) Received: from ndmsnpf03.ndc.nasa.gov (ndmsnpf03.ndc.nasa.gov [198.117.0.123]) by menubar.gnome.org (Postfix) with ESMTP id 81D4975016A for ; Fri, 6 Jan 2012 19:34:05 +0000 (UTC) Received: from ndmsppt04.ndc.nasa.gov (ndmsppt04.ndc.nasa.gov [198.117.0.103]) by ndmsnpf03.ndc.nasa.gov (Postfix) with ESMTP id 930CF183048; Fri, 6 Jan 2012 13:34:03 -0600 (CST) Received: from ndmshub04.ndc.nasa.gov (ndmshub04-pub.ndc.nasa.gov [198.117.0.43]) by ndmsppt04.ndc.nasa.gov (8.14.4/8.14.4) with ESMTP id q06JY3uu007628; Fri, 6 Jan 2012 13:34:03 -0600 Received: from NDMSSCC04.ndc.nasa.gov ([198.117.2.172]) by ndmshub04.ndc.nasa.gov ([198.117.2.163]) with mapi; Fri, 6 Jan 2012 13:34:03 -0600 From: "Tilton, James C. (GSFC-6063)" To: Murray Cumming Date: Fri, 6 Jan 2012 13:34:02 -0600 Subject: RE: Question concerning changes in Gtk::Adjustment from gtkmm-2.4 vs. gtkmm-3.0 Thread-Topic: Question concerning changes in Gtk::Adjustment from gtkmm-2.4 vs. gtkmm-3.0 Thread-Index: AczMpi86n+14rXPXRRS3NAdqYpm/UwAA8msg Message-ID: <3EB41C6505FCF34781BFD592E4D92270ACEBFE8CF0@NDMSSCC04.ndc.nasa.gov> References: <3EB41C6505FCF34781BFD592E4D92270ACEBFE8BE4@NDMSSCC04.ndc.nasa.gov> <1325876738.17974.9.camel@localhost> In-Reply-To: <1325876738.17974.9.camel@localhost> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.5.7110, 1.0.211, 0.0.0000 definitions=2012-01-05_05:2012-01-05, 2012-01-05, 1970-01-01 signatures=0 Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jan 2012 19:34:15 -0000 VGhhbmtzLCBNdXJyYXkuIEknbGwganVzdCBoYXZlIG15IGd0a21tLTIuNCB2ZXJzaW9uIGdvIGJh Y2sgdG8gbXkgb3JpZ2luYWwgYXBwcm9hY2ggdGhlbi4NCg0KSmltDQoNCi0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQpGcm9tOiBNdXJyYXkgQ3VtbWluZyBbbWFpbHRvOm11cnJheWNAbXVycmF5 Yy5jb21dIA0KU2VudDogRnJpZGF5LCBKYW51YXJ5IDA2LCAyMDEyIDI6MDYgUE0NClRvOiBUaWx0 b24sIEphbWVzIEMuIChHU0ZDLTYwNjMpDQpDYzogZ3RrbW0tbGlzdEBnbm9tZS5vcmcNClN1Ympl Y3Q6IFJlOiBRdWVzdGlvbiBjb25jZXJuaW5nIGNoYW5nZXMgaW4gR3RrOjpBZGp1c3RtZW50IGZy b20gZ3RrbW0tMi40IHZzLiBndGttbS0zLjANCg0KT24gRnJpLCAyMDEyLTAxLTA2IGF0IDEwOjE0 IC0wNjAwLCBUaWx0b24sIEphbWVzIEMuIChHU0ZDLTYwNjMpIHdyb3RlOg0KW3NuaXBdDQo+IEkg dHJpZWQgdG8gbWltaWMgdGhpcyBpbiBteSBuZXcgZ3RrbW0tMi40IGNvZGUgYXMgZm9sbG93czoN Cj4gDQo+ICANCj4gDQo+ICAgICBHbGliOjpSZWZQdHI8R3RrOjpBZGp1c3RtZW50Pg0KPiBsb2Nh bF9oYWRqdXN0bWVudCgoc2Nyb2xsZWRfV2luZG93LmdldF9oYWRqdXN0bWVudCgpKSk7DQo+IA0K PiAgICAgR2xpYjo6UmVmUHRyPEd0azo6QWRqdXN0bWVudD4NCj4gbG9jYWxfdmFkanVzdG1lbnQo KHNjcm9sbGVkX1dpbmRvdy5nZXRfdmFkanVzdG1lbnQoKSkpOyANCltzbmlwXQ0KDQpUaGF0J3Mg anVzdCBub3QgYSBnb29kIGlkZWEuIFlvdSBjYW5ub3QgdXNlIEd0azo6QWRqdXN0bWVudCB2aWEg UmVmUHRyDQppbiBndGttbS0yLjQuDQoNCi0tIA0KbXVycmF5Y0BtdXJyYXljLmNvbQ0Kd3d3Lm11 cnJheWMuY29tDQp3d3cub3BlbmlzbXVzLmNvbQ0KDQo= From james.c.tilton@nasa.gov Fri Jan 6 19:51:22 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 1C2C67500F9 for ; Fri, 6 Jan 2012 19:51:22 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -4.055 X-Spam-Level: X-Spam-Status: No, score=-4.055 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, TW_GT=0.077, TW_TK=0.077, T_RP_MATCHES_RCVD=-0.01] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id D3j7zaAiHihh for ; Fri, 6 Jan 2012 19:51:13 +0000 (UTC) Received: from ndmsnpf02.ndc.nasa.gov (ndmsnpf02.ndc.nasa.gov [198.117.0.122]) by menubar.gnome.org (Postfix) with ESMTP id B9EDE7500C8 for ; Fri, 6 Jan 2012 19:51:04 +0000 (UTC) Received: from ndmsppt04.ndc.nasa.gov (ndmsppt04.ndc.nasa.gov [198.117.0.103]) by ndmsnpf02.ndc.nasa.gov (Postfix) with ESMTP id AF73F10890F for ; Fri, 6 Jan 2012 13:51:02 -0600 (CST) Received: from ndmshub06.ndc.nasa.gov (ndmshub06.ndc.nasa.gov [198.117.2.165]) by ndmsppt04.ndc.nasa.gov (8.14.4/8.14.4) with ESMTP id q06Jp2am028047 for ; Fri, 6 Jan 2012 13:51:02 -0600 Received: from NDMSSCC04.ndc.nasa.gov ([198.117.2.172]) by ndmshub06.ndc.nasa.gov ([198.117.2.165]) with mapi; Fri, 6 Jan 2012 13:51:02 -0600 From: "Tilton, James C. (GSFC-6063)" To: "gtkmm-list@gnome.org" Date: Fri, 6 Jan 2012 13:51:01 -0600 Subject: RE: Question concerning changes in Gtk::Adjustment from gtkmm-2.4 vs. gtkmm-3.0 Thread-Topic: Question concerning changes in Gtk::Adjustment from gtkmm-2.4 vs. gtkmm-3.0 Thread-Index: AczMjkGbI5Xm/u8WQjaCv+p9PEOU7AAHRaVg Message-ID: <3EB41C6505FCF34781BFD592E4D92270ACEBFE8D15@NDMSSCC04.ndc.nasa.gov> References: <3EB41C6505FCF34781BFD592E4D92270ACEBFE8BE4@NDMSSCC04.ndc.nasa.gov> In-Reply-To: <3EB41C6505FCF34781BFD592E4D92270ACEBFE8BE4@NDMSSCC04.ndc.nasa.gov> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: multipart/alternative; boundary="_000_3EB41C6505FCF34781BFD592E4D92270ACEBFE8D15NDMSSCC04ndcn_" MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.5.7110, 1.0.211, 0.0.0000 definitions=2012-01-05_05:2012-01-05, 2012-01-05, 1970-01-01 signatures=0 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jan 2012 19:51:22 -0000 --_000_3EB41C6505FCF34781BFD592E4D92270ACEBFE8D15NDMSSCC04ndcn_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable I found an excellent solution to my own problem. If I use the following declaration in my gtkmm-2.4 code: Adjustment *hadjustment, *vadjustment; then I can use the same code in gtkmm-2.4 as I do in gtkmm-3.0 to associate= these adjustment variables with the adjustments for my ScrolledWindow vari= able, namely: hadjustment =3D scrolled_Window.get_hadjustment(); vadjustment =3D scrolled_Window.get_vadjustment(); As it turns out, the call to *.get_hadjustment() (or *.get_vadjustment()) i= n gtkmm-2.4 returns Adjustment* as needed in that case, and the same call i= n gtkmm-3.0 returns Glib::RefPtr as needed in that case. If the developers of gtkmm-3.0 intended this as part of their design, I con= gratulate them on their foresight! Jim Tilton From: gtkmm-list-bounces@gnome.org [mailto:gtkmm-list-bounces@gnome.org] On= Behalf Of Tilton, James C. (GSFC-6063) Sent: Friday, January 06, 2012 11:14 AM To: gtkmm-list@gnome.org Subject: Question concerning changes in Gtk::Adjustment from gtkmm-2.4 vs. = gtkmm-3.0 I recently successfully ported my gtkmm application from gtkmm-2.4 to gtkmm= -3.0. After successfully creating a gtkmm-3.0 compatible version of my applicatio= n, I decided it would be good idea to modify my gtkmm-2.4 compatible versio= n to match the gtkmm-3.0 version as closely as possible. This would obvious= ly make the parallel maintenance of the two versions easier. I was pretty successful in doing this, except for one thing. While my modif= ied gtkmm-2.4 version does compile and run successfully, upon exit it throw= s a Segmentation Fault. I believe this problem has something to do with the= differences in the usage of Gtk::Adjustment between gtkmm-2.4 and gtkmm-3.= 0. In "upgrading" my gtkmm-2.4 version, I tried to mimic as closely as possibl= e the gtkmm-3.0 usage of Gtk::Adjustment. In doing so I changed my declarat= ion statement for my Gtk::Adjustment variables from: Adjustment hadjustment, vadjustment; // old gtkmm-2.4 declaration to Glib::RefPtr hadjustment, vadjustment; // gtkmm-3.0 = declaration and new gtkmm-2.4 declaration My gtkmm-3.0 code associates these Adjustments variables with the adjustmen= ts for my ScrolledWindow variable (scrolled_Window) in the following manner= : hadjustment =3D scrolled_Window.get_hadjustment(); vadjustment =3D scrolled_Window.get_vadjustment(); I tried to mimic this in my new gtkmm-2.4 code as follows: Glib::RefPtr local_hadjustment((scrolled_Window.get_ha= djustment())); Glib::RefPtr local_vadjustment((scrolled_Window.get_va= djustment())); hadjustment =3D local_hadjustment; vadjustment =3D local_vadjustment; As I mentioned above, this code compiles and runs properly under gtkmm-2.4.= But I suspect it is not strictly proper usage - and some problem in this c= ode is causing my program to Segmentation Fault upon exiting. I would appreciate anyone's insights into this problem. Thanks. Jim Tilton ________________________________ Dr. James C. Tilton Voice: = 301-286-9510 NASA Goddard Space Flight Center FAX: 301-286-1776 Mail Code 606.3 E-Mail: = James.C.Tilton@nasa.gov (Computational & Information Sciences and Technology Office) Greenbelt, MD 20771 URLs: http://ipp.gsfc.nasa.gov/ft_tech_rhseg.shtm and http://science.g= sfc.nasa.gov/606.3/TILTON/ --_000_3EB41C6505FCF34781BFD592E4D92270ACEBFE8D15NDMSSCC04ndcn_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

I found an excellent solution to my own problem.

 

If I use th= e following declaration in my gtkmm-2.4 code:

 

    Adjustmen= t *hadjustment, *vadjustment;

 

then I can use the same code in gtkmm-2.4 as= I do in gtkmm-3.0 to associate these adjustment variables with the adjustm= ents for my ScrolledWindow variable, namely:

 

    hadjustme= nt =3D scrolled_Window.get_hadjustment();

    vadjustment =3D s= crolled_Window.get_vadjustment();

 

As it turns out, the call to *.get_hadju= stment() (or *.get_vadjustment()) in gtkmm-2.4 returns Adjustment* as neede= d in that case, and the same call in gtkmm-3.0 returns Glib::RefPtr<Gtk::Adjustment> as needed in that ca= se.

 

If the developers of gtkmm-3.0 intended this as part of their design, = I congratulate them on their foresight!

 

Jim Tilton

 

From= : gtkmm-list-bounces@gnome.org [mailto:gtkmm-list-bounces@gnome.org] = On Behalf Of Tilton, James C. (GSFC-6063)
Sent: Friday, Janua= ry 06, 2012 11:14 AM
To: gtkmm-list@gnome.org
Subject: = Question concerning changes in Gtk::Adjustment from gtkmm-2.4 vs. gtkmm-3.0=

 

I recently successfully ported my gtkmm application f= rom gtkmm-2.4 to gtkmm-3.0.

 =

After successfully creating a gtkmm-3.0 comp= atible version of my application, I decided it would be good idea to modify= my gtkmm-2.4 compatible version to match the gtkmm-3.0 version as closely = as possible. This would obviously make the parallel maintenance of the two = versions easier.

 

I was pretty successful in doing this, except for one th= ing. While my modified gtkmm-2.4 version does compile and run successfully,= upon exit it throws a Segmentation Fault. I believe this problem has somet= hing to do with the differences in the usage of Gtk::Adjustment between gtk= mm-2.4 and gtkmm-3.0.

 <= /p>

In “upgrading” my gtkmm-2.4 version, I = tried to mimic as closely as possible the gtkmm-3.0 usage of Gtk::Adjustmen= t. In doing so I changed my declaration statement for my Gtk::Adjustment va= riables from:


   &nbs= p;  Adjustment hadjustment, vadjustment;   // old gtkmm-2.4 = declaration

 

to

 

      Glib::RefPtr<Gtk::Adju= stment> hadjustment, vadjustment; // gtkmm-3.0 declaration and new gtkmm= -2.4 declaration

 

My gtkmm-3.0 code associates these Adjustments variables= with the adjustments for my ScrolledWindow variable (scrolled_Window) in t= he following manner:

 

    hadjustment =3D scrolled_Window.g= et_hadjustment();

    vad= justment =3D scrolled_Window.get_vadjustment();

 

I tried to mimic this in = my new gtkmm-2.4 code as follows:

&= nbsp;

    Glib::RefPtr<Gtk:= :Adjustment> local_hadjustment((scrolled_Window.get_hadjustment()));

    Glib::RefPtr<Gtk::Adj= ustment> local_vadjustment((scrolled_Window.get_vadjustment()));

    hadjustment =3D local_hadjus= tment;

    vadjustment = =3D local_vadjustment;

 =

As I mentioned above, this code compiles and runs = properly under gtkmm-2.4. But I suspect it is not strictly proper usage = 211; and some problem in this code is causing my program to Segmentation Fa= ult upon exiting.

 

<= p class=3DMsoNormal>I would appreciate anyone’s insights into this pr= oblem.

 

Thanks.

 

Jim Tilton


Dr. James C. Tilton    =             &nb= sp;            =             &nb= sp;      Voice:   301-286-9510

NASA Goddard Space Flight Center<= span style=3D'font-size:10.0pt;font-family:"Courier New"'>   = ;           &nbs= p;    FAX:     301-286-1776

Mail Code 606.3    &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;         E-Mail:  James.C.Tilton@nasa.gov<= /span>

(Computational & Information Sciences = and Technology Office)

Greenbel= t, MD 20771

URLs:      http://ipp.gsfc.nasa.= gov/ft_tech_rhseg.shtm and http://science.gsfc.nasa.gov/606.3/TILTON/ =

 

= --_000_3EB41C6505FCF34781BFD592E4D92270ACEBFE8D15NDMSSCC04ndcn_-- From kjell.ahlstedt@bredband.net Fri Jan 6 21:14:28 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id C8D56750103 for ; Fri, 6 Jan 2012 21:14:28 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.747 X-Spam-Level: X-Spam-Status: No, score=-1.747 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PGbHN0G6MP3D for ; Fri, 6 Jan 2012 21:14:26 +0000 (UTC) Received: from smtprelay-b22.telenor.se (smtprelay-b22.telenor.se [195.54.99.213]) by menubar.gnome.org (Postfix) with ESMTP id 6F4547500FD for ; Fri, 6 Jan 2012 21:14:18 +0000 (UTC) Received: from ipb1.telenor.se (ipb1.telenor.se [195.54.127.164]) by smtprelay-b22.telenor.se (Postfix) with ESMTP id 6EE9DD403 for ; Fri, 6 Jan 2012 22:14:16 +0100 (CET) X-SMTPAUTH-B2: [kjelahls] X-SENDER-IP: [85.227.232.137] X-LISTENER: [smtp.bredband.net] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArohAAVjB09V4+iJPGdsb2JhbAAMN6xaAQEBATeCJAEBAQEDOEABEAsOExYPCQMCAQIBMRQGDQEHAQGHfrYnjBEEpz0 X-IronPort-AV: E=Sophos;i="4.71,470,1320620400"; d="scan'208";a="247809502" Received: from c-89e8e355.06-203-73746f44.cust.bredbandsbolaget.se (HELO [192.168.1.64]) ([85.227.232.137]) by ipb1.telenor.se with ESMTP; 06 Jan 2012 22:14:16 +0100 Message-ID: <4F076427.9080803@bredband.net> Date: Fri, 06 Jan 2012 22:14:15 +0100 From: Kjell Ahlstedt User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0 MIME-Version: 1.0 To: Andy Gilman Subject: Re: very basic question References: <4F073BEE.3060704@myfairpoint.net> In-Reply-To: <4F073BEE.3060704@myfairpoint.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jan 2012 21:14:29 -0000 2012-01-06 19:22, Andy Gilman skrev: > A newbie (seemingly perpetually), I am stumped trying to change the > background color of an eventbox. I have included this line: > > eventbox.modify_bg(Gtk::STATE_NORMAL, &color) > > (having defined a color, I think appropriately), but I keep being told > that eventbox has no member called "modify_bg. Obviously I am missing > something obvious, but what? > > Thanks. > > Andy Gilman Which version of gtkmm are you using? In gtkmm-2.4 Gtk::Widget::modify_bg exists, and is inherited by Gtk::EventBox. In gtkmm3.0 modify_bg has been replaced by override_background_color. http://developer.gnome.org/gtkmm/stable/classGtk_1_1Widget.html#a21bd07ea93c9ca484402e7e67981ae19 From murrayc@murrayc.com Fri Jan 6 21:48:44 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 11F4A750103 for ; Fri, 6 Jan 2012 21:48:44 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.446 X-Spam-Level: X-Spam-Status: No, score=-2.446 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZCrITDQtxqUd for ; Fri, 6 Jan 2012 21:48:41 +0000 (UTC) Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by menubar.gnome.org (Postfix) with ESMTP id D7FBD7500FD for ; Fri, 6 Jan 2012 21:48:33 +0000 (UTC) Received: from compute6.internal (compute6.nyi.mail.srv.osa [10.202.2.46]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 28B9E20A5F; Fri, 6 Jan 2012 16:48:32 -0500 (EST) Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161]) by compute6.internal (MEProxy); Fri, 06 Jan 2012 16:48:32 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:subject:from:to:cc:date :in-reply-to:references:content-type:content-transfer-encoding :mime-version; s=smtpout; bh=w8z7cLM1jF1ZoK1F7xsaEOSval8=; b=gjj JNhrqNLRoc/mWcnhqWHPyjlU4flhvEHThLNmQRo0p5+tyAredCeC0sRWpvv3/xUe Nz21ZyYGc9/qftdyL0isirH5KqfVyPSrKH6t6/zb4jWTjrJpPX4t7FJE2mm5KvHj GxYTvxSNJ7u1HG1ivwbDsOvszTsLjEU+gnpOHjjE= X-Sasl-enc: DlFCt8ZgaDBRPmlABdoRm0Q8CKroS2C4TdOiCfT22JDQ 1325886511 Received: from [192.168.178.34] (ppp-88-217-64-103.dynamic.mnet-online.de [88.217.64.103]) by mail.messagingengine.com (Postfix) with ESMTPSA id 5971248249A; Fri, 6 Jan 2012 16:48:31 -0500 (EST) Message-ID: <1325886509.17974.10.camel@localhost> Subject: RE: Question concerning changes in Gtk::Adjustment from gtkmm-2.4 vs. gtkmm-3.0 From: Murray Cumming To: "Tilton, James C. (GSFC-6063)" Date: Fri, 06 Jan 2012 22:48:29 +0100 In-Reply-To: <3EB41C6505FCF34781BFD592E4D92270ACEBFE8D15@NDMSSCC04.ndc.nasa.gov> References: <3EB41C6505FCF34781BFD592E4D92270ACEBFE8BE4@NDMSSCC04.ndc.nasa.gov> <3EB41C6505FCF34781BFD592E4D92270ACEBFE8D15@NDMSSCC04.ndc.nasa.gov> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.2 (3.2.2-1.fc16) Content-Transfer-Encoding: 7bit Mime-Version: 1.0 Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jan 2012 21:48:44 -0000 On Fri, 2012-01-06 at 13:51 -0600, Tilton, James C. (GSFC-6063) wrote: > As it turns out, the call to *.get_hadjustment() (or > *.get_vadjustment()) in gtkmm-2.4 returns Adjustment* as needed in > that case, and the same call in gtkmm-3.0 returns > Glib::RefPtr as needed in that case. Isn't that the problem you are trying to solve rather than the solution? -- murrayc@murrayc.com www.murrayc.com www.openismus.com From james.c.tilton@nasa.gov Fri Jan 6 22:17:35 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 8B6E8750167 for ; Fri, 6 Jan 2012 22:17:35 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -4.056 X-Spam-Level: X-Spam-Status: No, score=-4.056 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, TW_GT=0.077, TW_TK=0.077, T_RP_MATCHES_RCVD=-0.01] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eZEVcFD4JZX5 for ; Fri, 6 Jan 2012 22:17:33 +0000 (UTC) X-Greylist: delayed 1468 seconds by postgrey-1.32 at menubar.gnome.org; Fri, 06 Jan 2012 22:17:33 UTC Received: from ndjsnpf03.ndc.nasa.gov (ndjsnpf03.ndc.nasa.gov [198.117.1.123]) by menubar.gnome.org (Postfix) with ESMTP id 85C687500FD for ; Fri, 6 Jan 2012 22:17:25 +0000 (UTC) Received: from ndmsppt02.ndc.nasa.gov (ndmsppt02.ndc.nasa.gov [198.117.0.101]) by ndjsnpf03.ndc.nasa.gov (Postfix) with ESMTP id 57BD42D8DC0; Fri, 6 Jan 2012 15:52:55 -0600 (CST) Received: from ndmshub05.ndc.nasa.gov (ndmshub05.ndc.nasa.gov [198.117.2.164]) by ndmsppt02.ndc.nasa.gov (8.14.4/8.14.4) with ESMTP id q06LqtVW016547; Fri, 6 Jan 2012 15:52:55 -0600 Received: from NDMSSCC04.ndc.nasa.gov ([198.117.2.172]) by ndmshub05.ndc.nasa.gov ([198.117.2.164]) with mapi; Fri, 6 Jan 2012 15:52:54 -0600 From: "Tilton, James C. (GSFC-6063)" To: Murray Cumming Date: Fri, 6 Jan 2012 15:52:54 -0600 Subject: RE: Question concerning changes in Gtk::Adjustment from gtkmm-2.4 vs. gtkmm-3.0 Thread-Topic: Question concerning changes in Gtk::Adjustment from gtkmm-2.4 vs. gtkmm-3.0 Thread-Index: AczMvO+RHu3Dc0alT/++ppwg5BFp5QAAFa7Q Message-ID: <3EB41C6505FCF34781BFD592E4D92270ACEBFE8DAA@NDMSSCC04.ndc.nasa.gov> References: <3EB41C6505FCF34781BFD592E4D92270ACEBFE8BE4@NDMSSCC04.ndc.nasa.gov> <3EB41C6505FCF34781BFD592E4D92270ACEBFE8D15@NDMSSCC04.ndc.nasa.gov> <1325886509.17974.10.camel@localhost> In-Reply-To: <1325886509.17974.10.camel@localhost> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.5.7110, 1.0.211, 0.0.0000 definitions=2012-01-05_05:2012-01-05, 2012-01-05, 1970-01-01 signatures=0 Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jan 2012 22:17:35 -0000 Tm8gLSBpdOKAmXMgdGhlIHNvbHV0aW9uLg0KDQpUaGUgcHJvYmxlbSBJJ20gdHJ5aW5nIHRvIHNv bHZlIGlzIHRvIG1ha2UgbXkgZ3RrbW0tMi40IGNvZGUgYXMgc2ltaWxhciBhcyBwb3NzaWJsZSB0 byBteSBndGttbS0zLjAgY29kZSBmb3IgdGhlIHNha2Ugb2YgZWFzZSBvZiBwYXJhbGxlbCBtYWlu dGVuYW5jZSBvZiB0aGUgdHdvIHZlcnNpb24uIFRoaXMgc3RyYXRlZ3kgc29sdmVzIHRoYXQgcHJv YmxlbS4NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IE11cnJheSBDdW1taW5n IFttYWlsdG86bXVycmF5Y0BtdXJyYXljLmNvbV0gDQpTZW50OiBGcmlkYXksIEphbnVhcnkgMDYs IDIwMTIgNDo0OCBQTQ0KVG86IFRpbHRvbiwgSmFtZXMgQy4gKEdTRkMtNjA2MykNCkNjOiBndGtt bS1saXN0QGdub21lLm9yZw0KU3ViamVjdDogUkU6IFF1ZXN0aW9uIGNvbmNlcm5pbmcgY2hhbmdl cyBpbiBHdGs6OkFkanVzdG1lbnQgZnJvbSBndGttbS0yLjQgdnMuIGd0a21tLTMuMA0KDQpPbiBG cmksIDIwMTItMDEtMDYgYXQgMTM6NTEgLTA2MDAsIFRpbHRvbiwgSmFtZXMgQy4gKEdTRkMtNjA2 Mykgd3JvdGU6DQo+IEFzIGl0IHR1cm5zIG91dCwgdGhlIGNhbGwgdG8gKi5nZXRfaGFkanVzdG1l bnQoKSAob3INCj4gKi5nZXRfdmFkanVzdG1lbnQoKSkgaW4gZ3RrbW0tMi40IHJldHVybnMgQWRq dXN0bWVudCogYXMgbmVlZGVkIGluDQo+IHRoYXQgY2FzZSwgYW5kIHRoZSBzYW1lIGNhbGwgaW4g Z3RrbW0tMy4wIHJldHVybnMNCj4gR2xpYjo6UmVmUHRyPEd0azo6QWRqdXN0bWVudD4gYXMgbmVl ZGVkIGluIHRoYXQgY2FzZS4NCg0KSXNuJ3QgdGhhdCB0aGUgcHJvYmxlbSB5b3UgYXJlIHRyeWlu ZyB0byBzb2x2ZSByYXRoZXIgdGhhbiB0aGUgc29sdXRpb24/DQoNCi0tIA0KbXVycmF5Y0BtdXJy YXljLmNvbQ0Kd3d3Lm11cnJheWMuY29tDQp3d3cub3BlbmlzbXVzLmNvbQ0KDQo= From murrayc@murrayc.com Fri Jan 6 22:17:56 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id E07487500FD for ; Fri, 6 Jan 2012 22:17:56 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.446 X-Spam-Level: X-Spam-Status: No, score=-2.446 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HCNghIFSZQIt for ; Fri, 6 Jan 2012 22:17:54 +0000 (UTC) Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by menubar.gnome.org (Postfix) with ESMTP id ED38A750167 for ; Fri, 6 Jan 2012 22:17:45 +0000 (UTC) Received: from compute4.internal (compute4.nyi.mail.srv.osa [10.202.2.44]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 376232046C; Fri, 6 Jan 2012 17:17:44 -0500 (EST) Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161]) by compute4.internal (MEProxy); Fri, 06 Jan 2012 17:17:44 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:subject:from:to:cc:date :in-reply-to:references:content-type:content-transfer-encoding :mime-version; s=smtpout; bh=ukblHzJyTZ0SF0eeuvMudq1uAlU=; b=GVS QQko/RanzQU2gTmRskymjPZR/ENAWJglgZPdEjc4/S4W6IwQWOlS17iJjJ4RXcoc O0wYkVpVQuPN5A1H4wfT4iL1EblUvKJr8O2OGaVo+wQQV/QSO5rkpyRmPpoPXZAV 0YjEnTisGUxi8fHQikB33ejFblk9WxI5P8ugmahA= X-Sasl-enc: IMpVuU6foOfOxGCk/g7VlP7M6A0T5qmApJnt2a7Egpue 1325888263 Received: from [192.168.178.34] (ppp-88-217-64-103.dynamic.mnet-online.de [88.217.64.103]) by mail.messagingengine.com (Postfix) with ESMTPSA id 812D7482559; Fri, 6 Jan 2012 17:17:43 -0500 (EST) Message-ID: <1325888261.17974.11.camel@localhost> Subject: RE: Question concerning changes in Gtk::Adjustment from gtkmm-2.4 vs. gtkmm-3.0 From: Murray Cumming To: "Tilton, James C. (GSFC-6063)" Date: Fri, 06 Jan 2012 23:17:41 +0100 In-Reply-To: <3EB41C6505FCF34781BFD592E4D92270ACEBFE8DAA@NDMSSCC04.ndc.nasa.gov> References: <3EB41C6505FCF34781BFD592E4D92270ACEBFE8BE4@NDMSSCC04.ndc.nasa.gov> <3EB41C6505FCF34781BFD592E4D92270ACEBFE8D15@NDMSSCC04.ndc.nasa.gov> <1325886509.17974.10.camel@localhost> <3EB41C6505FCF34781BFD592E4D92270ACEBFE8DAA@NDMSSCC04.ndc.nasa.gov> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.2 (3.2.2-1.fc16) Content-Transfer-Encoding: 8bit Mime-Version: 1.0 Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jan 2012 22:17:57 -0000 On Fri, 2012-01-06 at 15:52 -0600, Tilton, James C. (GSFC-6063) wrote: > No - it’s the solution. > > The problem I'm trying to solve is to make my gtkmm-2.4 code as similar as possible to my gtkmm-3.0 code for the sake of ease of parallel maintenance of the two version. This strategy solves that problem. OK, then I don't understand what else you might have done. But I am happy that it is OK. -- murrayc@murrayc.com www.murrayc.com www.openismus.com From amgilman@myfairpoint.net Sat Jan 7 12:43:46 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 43AD575011C for ; Sat, 7 Jan 2012 12:43:46 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -0.826 X-Spam-Level: X-Spam-Status: No, score=-0.826 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, MISSING_HEADERS=1.021, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vJiyY00hVe6y for ; Sat, 7 Jan 2012 12:43:44 +0000 (UTC) Received: from mail11c26.carrierzone.com (mail11c26.carrierzone.com [66.175.40.165]) by menubar.gnome.org (Postfix) with ESMTP id DD5D17500DA for ; Sat, 7 Jan 2012 12:43:35 +0000 (UTC) X-Authenticated-User: amgilman.myfairpoint.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=myfairpoint.net; s=alpha; t=1325940213; bh=u0/B/kq2Fum+PQ349To/z2YQgsjQD2/mDCV9c6M+J4s=; h=Message-ID:Date:From:MIME-Version:CC:Subject:References: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=XHimHmbeoIQDLCYj69YR3k5t6rRq/kJvJ8e6SFXP7xxPp/RJZOc2bLpdLCdMpyIhP cgXlS1qezOFrseuSFLaLX1zN1eRDFBK86ioJJA4YAqYE9RNFm7/MAsU0fuDy42Sfcj sY/yk0+4AL4Ck10/oVZg0kEqiSFzepzWe0pa6Ivs= Received: from localhost.localdomain (pool-72-71-254-52.cncdnh.fast03.myfairpoint.net [72.71.254.52]) (authenticated bits=0) by mail11c26.carrierzone.com (8.13.6/8.13.1) with ESMTP id q07ChTFf025031 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sat, 7 Jan 2012 12:43:30 GMT Message-ID: <4F083E04.30702@myfairpoint.net> Date: Sat, 07 Jan 2012 07:43:48 -0500 From: Andy Gilman User-Agent: Mozilla/5.0 (X11; Linux i686; rv:6.0.2) Gecko/20110907 Thunderbird/6.0.2 MIME-Version: 1.0 CC: gtkmm-list@gnome.org Subject: Re: very basic question References: <4F073BEE.3060704@myfairpoint.net> <4F076427.9080803@bredband.net> In-Reply-To: <4F076427.9080803@bredband.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-CSC: 0 X-CHA: v=1.1 cv=y0NXv3M7xLD618DAq8fvII841wej1jWAHomF/XLpEck= c=1 sm=1 a=XJW-a3EUobMA:10 a=YamaJ3vGr5cA:10 a=8nJEP1OIZ-IA:10 a=oYHBrp9z8zGGx5aEkyYrEw==:17 a=aiIX5UjjAAAA:8 a=Nknqlfkin_q9KgMnQG0A:9 a=wPNLvfGTeEIA:10 a=3ngIWKqH8skA:10 a=oYHBrp9z8zGGx5aEkyYrEw==:117 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Jan 2012 12:43:46 -0000 That's it! So simple and yet so frustrating. Thank you very much. Andy Gilman On 01/06/2012 04:14 PM, Kjell Ahlstedt wrote: > 2012-01-06 19:22, Andy Gilman skrev: >> A newbie (seemingly perpetually), I am stumped trying to change the >> background color of an eventbox. I have included this line: >> >> eventbox.modify_bg(Gtk::STATE_NORMAL, &color) >> >> (having defined a color, I think appropriately), but I keep being >> told that eventbox has no member called "modify_bg. Obviously I am >> missing something obvious, but what? >> >> Thanks. >> >> Andy Gilman > Which version of gtkmm are you using? > In gtkmm-2.4 Gtk::Widget::modify_bg exists, and is inherited by > Gtk::EventBox. > In gtkmm3.0 modify_bg has been replaced by override_background_color. > http://developer.gnome.org/gtkmm/stable/classGtk_1_1Widget.html#a21bd07ea93c9ca484402e7e67981ae19 > > > From vietory2g@gmail.com Sun Jan 8 23:46:52 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 4EF097501BF for ; Sun, 8 Jan 2012 23:46:52 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.699 X-Spam-Level: X-Spam-Status: No, score=-2.699 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bVxdwDNnVQA0 for ; Sun, 8 Jan 2012 23:46:50 +0000 (UTC) Received: from mail-tul01m020-f182.google.com (mail-tul01m020-f182.google.com [209.85.214.182]) by menubar.gnome.org (Postfix) with ESMTP id 375D97500CA for ; Sun, 8 Jan 2012 23:46:42 +0000 (UTC) Received: by obbwd18 with SMTP id wd18so6027554obb.27 for ; Sun, 08 Jan 2012 15:46:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=IkKyI3xz6c0qLreNzqLvU0RVAt+hOJVLFfzBSLbEQFM=; b=nZx/tkZjVp1PfffUqt8IjNInWi+OueWSqEu6Rajzu6Ft5wMOIzYQ5rl+nqTG3O9PqV 646ayahU/Ak+7zbApSxZSSEifZDLxSdFE1aa/4BZV7Rp2aQjr2w8TDYpLTg03jHy4t36 vVnE0eRDNYQbd/YnmXgR5PGg+NkWPzP51tmaE= MIME-Version: 1.0 Received: by 10.182.139.99 with SMTP id qx3mr12405551obb.76.1326066400566; Sun, 08 Jan 2012 15:46:40 -0800 (PST) Received: by 10.60.17.197 with HTTP; Sun, 8 Jan 2012 15:46:40 -0800 (PST) In-Reply-To: References: Date: Mon, 9 Jan 2012 10:46:40 +1100 Message-ID: Subject: Re: disable automatic resizing for every widgets within the main window From: kiet tran To: gtkmm-list@gnome.org, Kjell Ahlstedt Content-Type: multipart/alternative; boundary=e89a8f839adbc11f6f04b60ce4c6 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Jan 2012 23:46:52 -0000 --e89a8f839adbc11f6f04b60ce4c6 Content-Type: text/plain; charset=ISO-8859-1 I really need help on this if possible could I get a reply thanks. Cheers, Kiet Tran On Fri, Jan 6, 2012 at 5:13 PM, kiet tran wrote: > Hi everyone, > > I am writing an application on a very old hardware, thus I want to > optimise GTK as much as I can. At the moment the performance on my > application is not what I want, which it leads me to do some research and > found out that Gtk::label or any widgets that live inside the main window > will automatically resize itself if any one of them's size just changed. > For instance if I want to just change the text of a label then Gtk will > just from that label and recalculate the size of everything in the main > window. I think that is why my program's performance is not where I want. > > The reason being my application consists of around 100 buttons and > possibly each one of them will have a sub menu of another 15 buttons so by > just changing one label in one of those button will resize the rest is just > too much bottle neck for my application. > > Sorry so my question is, is there any way to disable this or I have to go > to every one of the widgets and manually do it by using these two functions: > > set_reallocate_redraws(false) and set_redraw_on_allocate(false) > > if possible as well could someone explain to me what is the difference of > these 2. > > Cheers, > > Kiet Tran > --e89a8f839adbc11f6f04b60ce4c6 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable I really need help on this if possible could I get a reply thanks.

C= heers,

Kiet Tran

On Fri, Jan 6, 20= 12 at 5:13 PM, kiet tran <vietory2g@gmail.com> wrote:
Hi everyone,

I am writing= an application on a very old hardware, thus I want to optimise GTK as much= as I can. At the moment the performance on my application is not what I wa= nt, which it leads me to do some research and found out that Gtk::label or = any widgets that live inside the main window will automatically resize=A0it= self if any one of them's size just changed. For instance if I want to = just change the text of a label then Gtk will just from that label and reca= lculate the size of everything in the main window. I think that is why my p= rogram's performance is not where I want.=A0

The reason being my application consists of around 100 = buttons and possibly each one of them will have a sub menu of another 15 bu= ttons so by just changing one label in one of those button will resize the = rest is just too much bottle neck for my application.=A0=A0

Sorry so my question is, is there any way to disable th= is or I have to go to every one of the widgets and manually do it by using = these two functions:

set_reallocate_redraws(false)= and set_redraw_on_allocate(false)

if possible as well could someone explain to me what is= the difference of these 2.

Cheers,

Kiet Tran

--e89a8f839adbc11f6f04b60ce4c6-- From vietory2g@gmail.com Mon Jan 9 05:58:21 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 7E2A37500E4 for ; Mon, 9 Jan 2012 05:58:21 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.699 X-Spam-Level: X-Spam-Status: No, score=-2.699 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UzomX0UgzeEv for ; Mon, 9 Jan 2012 05:58:19 +0000 (UTC) Received: from mail-tul01m020-f182.google.com (mail-tul01m020-f182.google.com [209.85.214.182]) by menubar.gnome.org (Postfix) with ESMTP id 4C7817500CA for ; Mon, 9 Jan 2012 05:58:10 +0000 (UTC) Received: by obbwd18 with SMTP id wd18so6345869obb.27 for ; Sun, 08 Jan 2012 21:58:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; bh=cuKVF9MhpAYzEf57e+hwQNVN7IDO6OoOiNaB47Lz0hE=; b=bWhE0zR4kYiit92QMkkRVibphxNxlkMGfke0RoqcLZEfrvcm4c1B/KPkOgQ0OHEQ7y 5Fol8bkWCuaE0Yu1dIRg4yPIMNaVFJ8o8JTErQuYS2Bbscp/zXMyUB6u/xqZSNMJF1PM TN611rSvBz9abOcosFf7DmN0iTrA216seKruU= MIME-Version: 1.0 Received: by 10.182.160.73 with SMTP id xi9mr13163267obb.26.1326088689503; Sun, 08 Jan 2012 21:58:09 -0800 (PST) Received: by 10.60.17.197 with HTTP; Sun, 8 Jan 2012 21:58:09 -0800 (PST) Date: Mon, 9 Jan 2012 16:58:09 +1100 Message-ID: Subject: how to get gtk::table widget by using just x y coordinate From: kiet tran To: gtkmm-list@gnome.org, Kjell Ahlstedt Content-Type: multipart/alternative; boundary=f46d04478a0b474c2504b612153c X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Jan 2012 05:58:21 -0000 --f46d04478a0b474c2504b612153c Content-Type: text/plain; charset=ISO-8859-1 Hi is there way to get widet inside gtk::table container with just coordinates that directly go to specify coordinate instead of traverse every widgets inside the table. Cheers, Kiet Tran --f46d04478a0b474c2504b612153c Content-Type: text/html; charset=ISO-8859-1 Hi is there way to get widet inside gtk::table container with just coordinates that directly go to specify coordinate instead of traverse every widgets inside the table.

Cheers,

Kiet Tran

--f46d04478a0b474c2504b612153c-- From kjell.ahlstedt@bredband.net Mon Jan 9 09:37:55 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 4D48B7500D4 for ; Mon, 9 Jan 2012 09:37:55 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.746 X-Spam-Level: X-Spam-Status: No, score=-1.746 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5Fn-dfjzFQcS for ; Mon, 9 Jan 2012 09:37:51 +0000 (UTC) Received: from smtprelay-b12.telenor.se (smtprelay-b12.telenor.se [62.127.194.21]) by menubar.gnome.org (Postfix) with ESMTP id 5BDCA750077 for ; Mon, 9 Jan 2012 09:37:42 +0000 (UTC) Received: from ipb5.telenor.se (ipb5.telenor.se [195.54.127.168]) by smtprelay-b12.telenor.se (Postfix) with ESMTP id 8137BC8C5 for ; Mon, 9 Jan 2012 10:37:40 +0100 (CET) X-SMTPAUTH-B2: [kjelahls] X-SENDER-IP: [85.227.232.137] X-LISTENER: [smtp.bredband.net] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqwbACy1Ck9V4+iJPGdsb2JhbAAMN6xhAQEBATeCJAEBAQEDeAEQCxgJFggHCQMCAQIBDyIDEQYNAQUCAQGHfrVYjBEEn32HRg X-IronPort-AV: E=Sophos;i="4.71,479,1320620400"; d="scan'208,217";a="24000789" Received: from c-89e8e355.06-203-73746f44.cust.bredbandsbolaget.se (HELO [192.168.1.64]) ([85.227.232.137]) by ipb5.telenor.se with ESMTP; 09 Jan 2012 10:37:37 +0100 Message-ID: <4F0AB560.8080802@bredband.net> Date: Mon, 09 Jan 2012 10:37:36 +0100 From: Kjell Ahlstedt User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0 MIME-Version: 1.0 To: kiet tran Subject: Re: disable automatic resizing for every widgets within the main window References: In-Reply-To: Content-Type: multipart/alternative; boundary="------------010400000707090508060304" Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Jan 2012 09:37:55 -0000 This is a multi-part message in MIME format. --------------010400000707090508060304 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hi Kiet, Since you've sent a copy to me, and not just to the gtkmm-list, you seem to think that I can answer your questions. I'm sorry, but I can't. I can just give you some wild guesses how to proceed. Even if my guesses are correct, they are no quick fixes. 1. Use the container Gtk::Fixed. I have never used it myself, but I suppose it will not recalculate all sizes and locations just because one widget wants to resize itself. But Gtk::Fixed has many drawbacks, as stated in its description. 2. Derive a new class from one of the container classes. class MyTable : public Gtk::Table // or whatever container you use for all your buttons. Override some of the virtual functions that are used for resizing, especially perhaps on_size_allocate(). See http://developer.gnome.org/gtkmm-tutorial/stable/sec-custom-containers.html.en When you want to resize normally, call the base class function (e.g. Gtk::Table::on_size_allocate()), otherwise make sure no reallocations are made. I don't know how to do this in detail. Kjell 2012-01-09 00:46, kiet tran skrev: > I really need help on this if possible could I get a reply thanks. > > Cheers, > > Kiet Tran > > On Fri, Jan 6, 2012 at 5:13 PM, kiet tran > wrote: > > Hi everyone, > > I am writing an application on a very old hardware, thus I want to > optimise GTK as much as I can. At the moment the performance on my > application is not what I want, which it leads me to do some > research and found out that Gtk::label or any widgets that live > inside the main window will automatically resize itself if any one > of them's size just changed. For instance if I want to just change > the text of a label then Gtk will just from that label and > recalculate the size of everything in the main window. I think > that is why my program's performance is not where I want. > > The reason being my application consists of around 100 buttons and > possibly each one of them will have a sub menu of another 15 > buttons so by just changing one label in one of those button will > resize the rest is just too much bottle neck for my application. > > Sorry so my question is, is there any way to disable this or I > have to go to every one of the widgets and manually do it by using > these two functions: > > set_reallocate_redraws(false) and set_redraw_on_allocate(false) > > if possible as well could someone explain to me what is the > difference of these 2. > > Cheers, > > Kiet Tran > > --------------010400000707090508060304 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hi Kiet,

Since you've sent a copy to me, and not just to the gtkmm-list, you seem to think that I can answer your questions. I'm sorry, but I can't.

I can just give you some wild guesses how to proceed. Even if my guesses are correct, they are no quick fixes.

1. Use the container Gtk::Fixed. I have never used it myself, but I suppose it will not recalculate all sizes and locations just because one widget wants to resize itself. But Gtk::Fixed has many drawbacks, as stated in its description.

2. Derive a new class from one of the container classes.
     class MyTable : public Gtk::Table  // or whatever container you use for all your buttons.
Override some of the virtual functions that are used for resizing, especially perhaps on_size_allocate(). See
http://developer.gnome.org/gtkmm-tutorial/stable/sec-custom-containers.html.en
When you want to resize normally, call the base class function (e.g. Gtk::Table::
on_size_allocate()), otherwise make sure no reallocations are made. I don't know how to do this in detail.

Kjell

2012-01-09 00:46, kiet tran skrev:
I really need help on this if possible could I get a reply thanks.

Cheers,

Kiet Tran

On Fri, Jan 6, 2012 at 5:13 PM, kiet tran <vietory2g@gmail.com> wrote:
Hi everyone,

I am writing an application on a very old hardware, thus I want to optimise GTK as much as I can. At the moment the performance on my application is not what I want, which it leads me to do some research and found out that Gtk::label or any widgets that live inside the main window will automatically resize itself if any one of them's size just changed. For instance if I want to just change the text of a label then Gtk will just from that label and recalculate the size of everything in the main window. I think that is why my program's performance is not where I want. 

The reason being my application consists of around 100 buttons and possibly each one of them will have a sub menu of another 15 buttons so by just changing one label in one of those button will resize the rest is just too much bottle neck for my application.  

Sorry so my question is, is there any way to disable this or I have to go to every one of the widgets and manually do it by using these two functions:

set_reallocate_redraws(false) and set_redraw_on_allocate(false)

if possible as well could someone explain to me what is the difference of these 2.

Cheers,

Kiet Tran


--------------010400000707090508060304-- From harryhaaren@gmail.com Mon Jan 9 10:05:37 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 1E2757500E1 for ; Mon, 9 Jan 2012 10:05:37 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.699 X-Spam-Level: X-Spam-Status: No, score=-2.699 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id s7M4+LMmRdU5 for ; Mon, 9 Jan 2012 10:05:34 +0000 (UTC) Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.213.182]) by menubar.gnome.org (Postfix) with ESMTP id ED29575019C for ; Mon, 9 Jan 2012 10:05:25 +0000 (UTC) Received: by yenl9 with SMTP id l9so1864168yen.27 for ; Mon, 09 Jan 2012 02:05:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=x/MiO6Q5LBOGXnrZ9Yiby2/Ya+TljiQePoNxvPru+n0=; b=CXHjeKIqz+jwxO54AkuiAA/F+aaOxsU2rhxTzzMatPRzJa5tlphV0iBpDfty6oXqAr drg/6pyBhy76Zk9WXTDP9Brir7wBTmg8zIVhpZLncPXT8CUVbDNKYDhnUuhK8gGSBkVE y55NmXhRD6LbLBCJYNk8g8fGQCltTuJJsKalA= MIME-Version: 1.0 Received: by 10.236.9.97 with SMTP id 61mr18756768yhs.71.1326103524268; Mon, 09 Jan 2012 02:05:24 -0800 (PST) Received: by 10.236.66.40 with HTTP; Mon, 9 Jan 2012 02:05:24 -0800 (PST) In-Reply-To: References: Date: Mon, 9 Jan 2012 02:05:24 -0800 Message-ID: Subject: Re: how to get gtk::table widget by using just x y coordinate From: Harry van Haaren To: kiet tran Content-Type: multipart/alternative; boundary=20cf303638857fd9c004b61589cc Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Jan 2012 10:05:37 -0000 --20cf303638857fd9c004b61589cc Content-Type: text/plain; charset=ISO-8859-1 On Sun, Jan 8, 2012 at 9:58 PM, kiet tran wrote: > Hi is there way to get widet inside gtk::table container with just > coordinates that directly go to specify coordinate instead of traverse > every widgets inside the table. > Pretty sure this isn't possible, even though I don't know. My logic is as follows: Gtk specifically *doesnt* use pixel values or CoOrdinates for sizes as it doesn't allow for the easy resizing of an application window. I gather you don't really want resize functionality from the other thread, but understand that you're working against the grain here: Usually you don't *want* to deal with any specific pixel / CoOrd system. Embedding widgets inside other widgets makes for better maintainability. -Harry --20cf303638857fd9c004b61589cc Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable --20cf303638857fd9c004b61589cc-- From kjell.ahlstedt@bredband.net Mon Jan 9 10:12:08 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 4F32275019C for ; Mon, 9 Jan 2012 10:12:08 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qZ7rpUhH9FQe for ; Mon, 9 Jan 2012 10:12:06 +0000 (UTC) Received: from smtprelay-b12.telenor.se (smtprelay-b12.telenor.se [62.127.194.21]) by menubar.gnome.org (Postfix) with ESMTP id 7B4BF7500E1 for ; Mon, 9 Jan 2012 10:11:58 +0000 (UTC) Received: from ipb1.telenor.se (ipb1.telenor.se [195.54.127.164]) by smtprelay-b12.telenor.se (Postfix) with ESMTP id 86BE3C861 for ; Mon, 9 Jan 2012 11:11:56 +0100 (CET) X-SMTPAUTH-B2: [kjelahls] X-SENDER-IP: [85.227.232.137] X-LISTENER: [smtp.bredband.net] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArEbANS8Ck9V4+iJPGdsb2JhbAAMN6oXgkoBAQEBN4IbBQQBAQEBA3gBEAsDAR0WDwkDAgECATEUBg0BBwEBhUSCKbVujBEEp0M X-IronPort-AV: E=Sophos;i="4.71,479,1320620400"; d="scan'208,217";a="248447186" Received: from c-89e8e355.06-203-73746f44.cust.bredbandsbolaget.se (HELO [192.168.1.64]) ([85.227.232.137]) by ipb1.telenor.se with ESMTP; 09 Jan 2012 11:11:56 +0100 Message-ID: <4F0ABD6B.5090101@bredband.net> Date: Mon, 09 Jan 2012 11:11:55 +0100 From: Kjell Ahlstedt User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0 MIME-Version: 1.0 To: kiet tran Subject: Re: how to get gtk::table widget by using just x y coordinate References: In-Reply-To: Content-Type: multipart/alternative; boundary="------------030107000605020805030807" Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Jan 2012 10:12:08 -0000 This is a multi-part message in MIME format. --------------030107000605020805030807 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit I don't think so, but GtkGrid has GtkWidget* gtk_grid_get_child_at(GtkGrid* grid, gint left, gint top); since gtk+ 3.2. This function has not yet been wrapped in gtkmm. Kjell 2012-01-09 06:58, kiet tran skrev: > Hi is there way to get widet inside gtk::table container with just > coordinates that directly go to specify coordinate instead of traverse > every widgets inside the table. > > Cheers, > > Kiet Tran > --------------030107000605020805030807 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit I don't think so, but GtkGrid has
  GtkWidget* gtk_grid_get_child_at(GtkGrid* grid, gint left, gint top);
since gtk+ 3.2. This function has not yet been wrapped in gtkmm.

Kjell

2012-01-09 06:58, kiet tran skrev:
Hi is there way to get widet inside gtk::table container with just coordinates that directly go to specify coordinate instead of traverse every widgets inside the table.

Cheers,

Kiet Tran


--------------030107000605020805030807-- From murrayc@murrayc.com Tue Jan 10 12:40:33 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 42EF7750268 for ; Tue, 10 Jan 2012 12:40:33 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.446 X-Spam-Level: X-Spam-Status: No, score=-2.446 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Mi0Vg-Vmrs75 for ; Tue, 10 Jan 2012 12:40:31 +0000 (UTC) Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by menubar.gnome.org (Postfix) with ESMTP id 218B27500A5 for ; Tue, 10 Jan 2012 12:40:22 +0000 (UTC) Received: from compute5.internal (compute5.nyi.mail.srv.osa [10.202.2.45]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 5682520D2A; Tue, 10 Jan 2012 07:40:21 -0500 (EST) Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160]) by compute5.internal (MEProxy); Tue, 10 Jan 2012 07:40:21 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:subject:from:to:date :content-type:content-transfer-encoding:mime-version; s=smtpout; bh=XJmfQJ2njhxPwN0+vDveMjhDdAk=; b=j2F/Af2gPsQDvq6pNfwH0ECkM6rZ k2nzpIyTG+wPTu2BJiS963Xl9ZdCfKawzQm3AGEFElU6ybRksfpNpI512jfOIZOY sVNKsOR8lRSDHSxK8EKx1boyxnAZN9NsohN3gu/ZzQL6NYbyYi0DP5iW9s3Lif6x lxjKb77DW7lMiTg= X-Sasl-enc: RBDB/05VCuchQL6l41EJAsvmGYVg61IwqoO+jLTbTxfK 1326199220 Received: from [192.168.178.24] (ppp-88-217-70-91.dynamic.mnet-online.de [88.217.70.91]) by mail.messagingengine.com (Postfix) with ESMTPSA id C43BD8E008D for ; Tue, 10 Jan 2012 07:40:20 -0500 (EST) Message-ID: <1326199219.9103.25.camel@murrayc-desktop> Subject: Using Gtk::Grid in gtkmm-documentation From: Murray Cumming To: gtkmm-list@gnome.org Date: Tue, 10 Jan 2012 13:40:19 +0100 Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.1- Content-Transfer-Encoding: 7bit Mime-Version: 1.0 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Jan 2012 12:40:33 -0000 The latest unstable version of GTK+ deprecates GtkBox, so we should replace it with Gtk::Grid in the gtkmm book's examples. Does someone have time to do that? http://git.gnome.org/browse/gtkmm-documentation You will know that it's done when you can build gtkmm-documentation with the --enable-warnings=fatal configure option. (By the way, I will soon take a day to go through the various outstanding patches for gtkmm, libsigc++, etc and deal with them properly.) -- Murray Cumming murrayc@murrayc.com www.murrayc.com www.openismus.com From murrayc@murrayc.com Tue Jan 10 12:41:27 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 9E79B7503D1 for ; Tue, 10 Jan 2012 12:41:27 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.446 X-Spam-Level: X-Spam-Status: No, score=-2.446 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id y0E5R-FMiB4P for ; Tue, 10 Jan 2012 12:41:22 +0000 (UTC) Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by menubar.gnome.org (Postfix) with ESMTP id CB7427502C3 for ; Tue, 10 Jan 2012 12:41:14 +0000 (UTC) Received: from compute2.internal (compute2.nyi.mail.srv.osa [10.202.2.42]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 7097820EFB; Tue, 10 Jan 2012 07:41:13 -0500 (EST) Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160]) by compute2.internal (MEProxy); Tue, 10 Jan 2012 07:41:13 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:subject:from:to:date :in-reply-to:references:content-type:content-transfer-encoding :mime-version; s=smtpout; bh=nNzpQ5HDRYOHbSVsXdtUxkUbFeU=; b=rd1 mJ82vjn1D2w623xBbvmHPk4TKMdPWNz9r8YHZNEclkY4H+M0O6p97kRPCGEeMqtI ZDjNfNqLCaMWa0s0P9FRHrwEoZkvPedFtwMvlirFfScqme6XBBS4ZTH5r5eBoxhl fAnQJSMOzp2ruuJlLVKspHW/wfoB9xyYgJzlclBc= X-Sasl-enc: LuTxJqx5BgL+xyLObXvNHZ57NANx35Z7R1eVB2eNOkie 1326199273 Received: from [192.168.178.24] (ppp-88-217-70-91.dynamic.mnet-online.de [88.217.70.91]) by mail.messagingengine.com (Postfix) with ESMTPSA id E9C338E0091 for ; Tue, 10 Jan 2012 07:41:12 -0500 (EST) Message-ID: <1326199271.9103.26.camel@murrayc-desktop> Subject: Re: Using Gtk::Grid in gtkmm-documentation From: Murray Cumming To: gtkmm-list@gnome.org Date: Tue, 10 Jan 2012 13:41:11 +0100 In-Reply-To: <1326199219.9103.25.camel@murrayc-desktop> References: <1326199219.9103.25.camel@murrayc-desktop> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.1- Content-Transfer-Encoding: 7bit Mime-Version: 1.0 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Jan 2012 12:41:27 -0000 On Tue, 2012-01-10 at 13:40 +0100, Murray Cumming wrote: > The latest unstable version of GTK+ deprecates GtkBox, so we should > replace it with Gtk::Grid in the gtkmm book's examples. Does someone > have time to do that? > http://git.gnome.org/browse/gtkmm-documentation > > You will know that it's done when you can build gtkmm-documentation with > the --enable-warnings=fatal configure option. Actually, when you can run "make check", not just "make". > (By the way, I will soon take a day to go through the various > outstanding patches for gtkmm, libsigc++, etc and deal with them > properly.) > -- Murray Cumming murrayc@murrayc.com www.murrayc.com www.openismus.com From mmeier@badeio.de Tue Jan 10 16:18:28 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 8148F7500D7 for ; Tue, 10 Jan 2012 16:18:28 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.912 X-Spam-Level: X-Spam-Status: No, score=-1.912 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kj4MBjBTcnUX for ; Tue, 10 Jan 2012 16:18:25 +0000 (UTC) X-Greylist: delayed 358 seconds by postgrey-1.32 at menubar.gnome.org; Tue, 10 Jan 2012 16:18:25 UTC Received: from mx01.badeio.de (mx01.badeio.de [78.46.193.158]) by menubar.gnome.org (Postfix) with ESMTP id 0C084750088 for ; Tue, 10 Jan 2012 16:18:16 +0000 (UTC) Received: from [IPv6:::1] (badstuff@sokaris.badeio.de [IPv6:2a01:30:9000::a2]) (authenticated bits=0) by mx01.badeio.de (8.14.4/8.14.1) with ESMTP id q0AGKoHJ024455 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 10 Jan 2012 17:20:53 +0100 Message-ID: <4F0C635B.5050008@badeio.de> Date: Tue, 10 Jan 2012 17:12:11 +0100 From: Marco Meier User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20111124 Thunderbird/8.0 MIME-Version: 1.0 To: gtkmm-list@gnome.org Subject: deletion of Gtk::MenuItem Content-Type: multipart/mixed; boundary="------------080805010501030600030206" Received-SPF: pass (mx01.badeio.de: is authenticated by a trusted mechanism) X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: mmeier+gtkmm@badeio.de List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Jan 2012 16:18:28 -0000 This is a multi-part message in MIME format. --------------080805010501030600030206 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hi, i created a simple MenuBar with submenus. While playing around i noticed that when a MenuItem in the MenuBar has a submenu, the MenuItem is not deleted, although it is managed by the MenuBar (see attached file). Removing line 43 (file_menuitem->set_submenu()) changes that. Is this behavior intended or did i hit a bug? If intended, how can i ensure the deletion of every MenuItem without remembering every single pointer? Thanks, Marco --------------080805010501030600030206 Content-Type: text/x-c++src; name="submenu.cxx" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="submenu.cxx" #include class menu_item : public Gtk::MenuItem { public: menu_item(const Glib::ustring label) : Gtk::MenuItem(label), label(label) { ::printf("construct: %s\n", label.c_str()); } ~menu_item(void) { ::printf("destruct: %s\n", label.c_str()); } private: Glib::ustring label; }; class my_window : public Gtk::Window { public: my_window(void) { menubar = new Gtk::MenuBar; menu123 = new Gtk::Menu; menu_item *menuitem; menu_item *file_menuitem; menuitem = new menu_item("New"); menu123->append(*Gtk::manage(menuitem)); file_menuitem = Gtk::manage(new menu_item("File")); file_menuitem->set_submenu(*Gtk::manage(menu123)); menubar->append(*Gtk::manage(file_menuitem)); add(*Gtk::manage(menubar)); show_all_children(); } private: Gtk::MenuBar *menubar; Gtk::Menu *menu123; }; int main(int argc, char **argv) { Gtk::Main main(argc, argv); my_window window; Gtk::Main::run(window); } --------------080805010501030600030206-- From kjell.ahlstedt@bredband.net Tue Jan 10 19:14:21 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id E22EC7500BC for ; Tue, 10 Jan 2012 19:14:21 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.747 X-Spam-Level: X-Spam-Status: No, score=-1.747 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id r35ZFvThs8Ap for ; Tue, 10 Jan 2012 19:14:17 +0000 (UTC) Received: from smtprelay-b22.telenor.se (smtprelay-b22.telenor.se [195.54.99.213]) by menubar.gnome.org (Postfix) with ESMTP id 7E00675002F for ; Tue, 10 Jan 2012 19:14:08 +0000 (UTC) Received: from ipb1.telenor.se (ipb1.telenor.se [195.54.127.164]) by smtprelay-b22.telenor.se (Postfix) with ESMTP id 0CC66E8CDE for ; Tue, 10 Jan 2012 20:13:27 +0100 (CET) X-SMTPAUTH-B2: [kjelahls] X-SENDER-IP: [85.227.232.137] X-LISTENER: [smtp.bredband.net] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApQeAPGMDE9V4+iJPGdsb2JhbAAMHRqFD6djAQEBATeCJAEBAQEDAQEBIEsKARALIRYLAgICBwMCAQIBFRwUBg0BBQIBAReHZyOlF5E6in2BFgSOLoEYmAFr X-IronPort-AV: E=Sophos;i="4.71,488,1320620400"; d="cc'?h'?gz'50?scan'50,208,49,50";a="249442729" Received: from c-89e8e355.06-203-73746f44.cust.bredbandsbolaget.se (HELO [192.168.1.64]) ([85.227.232.137]) by ipb1.telenor.se with ESMTP; 10 Jan 2012 20:13:27 +0100 Message-ID: <4F0C8DD7.4080106@bredband.net> Date: Tue, 10 Jan 2012 20:13:27 +0100 From: Kjell Ahlstedt User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0 MIME-Version: 1.0 To: =?UTF-8?B?S3J6eXN6dG9mIEtvc2nFhHNraQ==?= Subject: Re: Creating toolbar menubuttons via UI Manager References: In-Reply-To: Content-Type: multipart/mixed; boundary="------------060503080205000101060801" Cc: gtkmm-list X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Jan 2012 19:14:22 -0000 This is a multi-part message in MIME format. --------------060503080205000101060801 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit It's possible to use Gtk::MenuToolButton with Gtk::UIManager in gtkmm, but it's rather messy there, too. It's somewhat easier than in gtk+, because it's easier to derive new classes in C++ than it is in C. See the attached file, where I've changed the book/menus/main_menu example in the Gtkmm tutorial (http://developer.gnome.org/gtkmm-tutorial/stable/sec-menus-examples.html.en). I've derived the class MenuToolAction from Gtk::Action. Instead of changing toolbar_item_type, which is not easily reachable from a gtkmm class, I've overridden the virtual function create_tool_item_vfunc(). I'm surprised that there is no GtkMenuToolAction class. (Or should it be called GtkToolMenuAction?) I've found two bugs that discuss this matter. https://bugzilla.gnome.org/show_bug.cgi?id=558154 https://bugzilla.gnome.org/show_bug.cgi?id=590335 Kjell 2012-01-05 01:09, Krzysztof Kosiński skrev: > Hello all > > I found a post that describes how to create toolbar menubuttons > (GtkMenuToolButton) on toolbars with GTK's GtkUIManager. > http://www.gtkforums.com/viewtopic.php?t=4215 > The solution is rather messy and involves deriving a new GType from > GtkAction and setting the toolbar_item_type member of its > GtkActionClass to a different value. > > Now my question is: is this possible at all with gtkmm? > > Regards, Krzysztof > _______________________________________________ > gtkmm-list mailing list > gtkmm-list@gnome.org > http://mail.gnome.org/mailman/listinfo/gtkmm-list > --------------060503080205000101060801 Content-Type: application/x-gzip; name="menutoolaction.tar.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="menutoolaction.tar.gz" H4sIAIeIDE8AA+0ba3PaSDJfl1/RRVIJeI0RYMOu7LiKeLFNxQ/W4PPmrq5YWRpgYiFxkjDx 7eV++3XPjLAkhDHETnIpphIbZrp7unv6NQ8PmTMOXNc2zIC7ztbgxTM0DVt1e5t+l2o7WvQ3 tW1tp/yiVKpp5VqtWtqpvtBKlXJNewHaczCTbGM/MDyAFzcfmW0/ALdo/P+0FTegH9wMh8A+ GcORzeDAHd15vD8IIHeQh7KmlRWAxW6Z7Y6GzAkgYMYwAxv4DzoD7sPIc/ueMQT82PMYA9/t BRPDY7tw547BNBzwmMX9wOPX44ABD8BwrKLrwdC1eO+O6GDf2LGYB8GAIX1v6IPbE1+Ozi7h iDnMM2xoja9tbsIJN5njM7hlno9mC2WiYCAfNOwPmAXXdwL3kLhpK27g0MUpDGHoc7i/Z9IC 7ggSA3eEDA2MgFiccNuGawZjn/XG9iaRQGC4anaOzy87UD/7AFf1i4v6WefDLgIHAxdHUXGS FEcNc6SMzHiGE9yhhEThtHFxcIwo9XfNk2bnA6BeDpuds0a7DYfnF1CHVv2i0zy4PKlfQOvy onXebmwBtBmxxYjAAxrqCSWj7BYLDG77oeAfcF185M62YGDcMlwfk/Fb5M0AEy1gse6Fxm3X 6QsxEfhekbvAe+C4wSZMPI7LHbiza0Ho98uxCU3H3NqEnV+hw4QZtjAisU1oj4lApaJtwjvX DwjytA5auVQqFUoVrQaX7TqSKmYyL3kPzacHR533p6fd08bZZef8/KR+0Gmen3WPMy9xjDts 3jCiO6Y9thjsCWvfGuxnMqZt+D6cYoTsYISsiwgJujQyE46CG12XnZm/MrJTzwAUi2hV6ALG kIHpMQP5HzI0BMsnC0WjiiICYPgJiJrNr3X9gvVagbcXn3Jfkcnld5eDN13HDxTkmOza6b8G B/nahNQh27hmNryNd+fyc6ApawR8NAv/9GySwtqBa940f3uNlPFDl1vflRBdcoIuxzm6xPnS qp9iPiTVwzIgx8jyLfeCMTrrf+N8ku1k0D0DZmJoU2badtFElaMLyt7YDFwv3U5n6QHmDIxn JobFxOCKK0qrEBmYu2hPucSri7DCAj4Jz3LtzjH1edyyMLOES94bO4J3P2IGQp9X3OqzYCM0 VSLexbA67N4SCi3lZyT7kjmYi5H2nBD5rSuVdXuONozX/6b5DHMsqv8rVU3U/5WSVq5ul6j+ 39Zq6/r/a7R1/b+u/3+Q+l8V8NlESBtk48V9Ef+L8v7Bsi7+XdfDEhxLfUBlBWPPebAuzIHD JjNFE1CuXW3mlYr5BRXjFwkj504WbGracIZnFXjpbcHzq+OeiydTxPewtXgCzUTYSFdNUvqk 72T06I5EeOJirG9gRHE2F5jFEwnxDCueJsb8NUyXY2YTKsFim5I5Rj+zSZk1wYlnjHI5JKZI 5TGwdyn4S2TMywGxyyY5zB5aXlrZt663vrd2atywHrfZc86xoP7XtqvV8Pxfq+5Q/V/aKVXX 9f/XaK2L86OL+im8DTcAmYPD5kmjjR1Dg9OGMByYcMdyJ9Qxs2fMHIc4cdhBEnSA1E/qRwT5 5+imX8B40uN9KBTMnm30fbnTKFS2tD+hYDg+h8KVgQV3oZ85ab6bxcIwEMXJZF7llDx5HV7l pCR5/CT5y2d+6iP7BRfu4WJgkjn6RNPl6QSYGY6e+angDSM4P1IUUYv8rHMs8P9SrVp5QS5f KVe1cmWb/L+ildb+/zVasfiqaelTX/+lUqU9f62g7RS0X0Gr6FpZr/zyd/j4Ebd6/tCAV1DY KID588/0O5NZnx+szw9+sPODRA7LJu8Gi8JZ6ASBoynTlxx9MLy+iUX1AKPJBn6+/cc/Zc0q qt1ThIIbHuQkFI3Lo/yGnOxKTAZyzl1xxN8euBNfCC57yeRVAezDZIAmgfaESjNt12fWVnQm XffGTk6iyWlU4axRDRzz/4SwzxJjFsT/8s52DeN/FdejWtmuUfyvYAZYx/+v0VT8T9ZtNW2H Yne1gKmghHmgrO/s6JXyOg+s88APnwei70gaf9RPWyeNq+bZb+dXM89IkqMPvCKJx/n4IxLZ GXtEEgOXl+3Tm/2ZseTFfpv3HQQcoG/YaNjUeetyC1xHHo/Qfp/ORbp9WhFuKvozIP9CpaWM ubgInp9T7w2iI+bAxUX1u67DUvDC0WDi5sJ77IMBR8uZiAMcwahQyDv3Ewy7+FNAxQ4cxfhl 89RwjD7z9hHMY73p991UcHm0dOS545FCiPSko1wYFnfDc1mBciC4P3fQmCLfOxM39fY8aRnf OszPbcnN/XPM8XD+L23XyrXw/ndbq1TE+8/K+v73q7R13l7n7R8kby/evy26Gsa9nbipobx9 P8BxYg8NHnN5LPXqeiITZ3SZtXIihZxfNBu4puL11N8atID1E7kj9FnQDXhgs1yWdo/ikDT0 v6x8eIgQWGkYYzvo+vzfLId+uEnOKPOmYVk5MVN+l96CjdDGDHGR8g5DGRqqcCF3FC7iNaZT 2jyKxA1+MO710IZtrEN4sKXysHyoKvXiS6tBer7AI41dG7KQSKbP8M1epOv+slwl+UMsJv5z xibgj68F2TRChX2SKkJrSiZL+IjeDpAZw7Oy6Haxdn+Hp+tnjatNyHYRPIu/Q7HEtSTVNNl8 FNnnfVPXh2zY7eF+eYNseBNeJxZ5XtWk3uItL8eh6z5CBNKXgExKgX3fgRBHjxKC1gGOUqTo P4cU0tJWtTDyH+LzUJhJXh3CjK8LRG9rJSVlN5M6kXSXpPQ7BsEEqd8vm50v1B9V91PFNSxM bisojvBCxdHn7NICEhbVHAkBD85bH1YXUG5RVuKlZfgBSzDTqrc7jW/CDT3RRuJOnxR8/yXG i0I2mf2e3eWye6brBJ5r7+8ZdrDf/gI3u+c73KyJDZywE7r6x5piKJ6Nk1+LHRPQjb0/V0xI lVORDc1Ifc2KdyFKush2TNdl3unTzy7WYZ5NhelUt9N9WpiZYrhqzgTydFZEIxbo1wOrldgP rqreyG5ZyRrfWK4iAKKRAPTrcQIg5BcLgBt6IYAwkmNmjxZEknQzIMTQBuhzNqqUJWjUr7Hm TjjwceOk9cV+MBWRuAx3B6o2ms/nnNdtWVGuiScqCV4bfzQOLjsN1EKojY6cQ2h1Fa0QfpRW NhQlfngS2tu0I1rIJYEL+xw3AV7QlSVjVxhkLsnVtFxFMIxPUagIpT4LYuPTrHRi3NH+ifQc VqaodkMoghQSKU716TGOesoEY97lTo+8aLru2b0x38/efwXYC0nRq6a3b1QN/SYOpMAUD2/f hNXCDFgaIJYBKXAKksJlEjosc98Ul0LDWnFJjKN0jL0iIaT0+2xkYKh3vTSk1EmocJmdIn2C uObCumKeimNThSVEqjSp0CLJPx58mnhXEyaS4B4lzzS1PI7DaSBfjbsw7j6KtWmAfdxcsg/9 K9GtnBaU21FQSnU7glvOR9JR5hjiDOx9UF7o22FQfaRzP2SjS1vpCnYqkB7y4OV8eK5pFUOd Jg1BLXm0e69I4VjE+sC7w59/ibFkeqD0gcG857nDrvo7OBXbRV76jP9NIzAHsXeyDc9zvdfA PuWndP3AwozGPA/29iB7Pea2RXlCnnP0DJTV0pFXHES0rcnAUJcfn2UyOmIyE6Ukn/ACY1N0 Ir8EOKQKmU7TnMDguE1VQNNLjvABrHA+IvJ2RnJKjBIrly2q3CTrOt7LhXh5pbR37qetkWHe dOlAO8hthOOqumjVD95328cXzbP3Mr3GmQhrjAVMKE/FCiLkQiHO5UKNz+PCH7iTrmHbWEzi enhM/GXp55mTtuSll3xILK6XFu1x1dPhAbeokKFtDD2YkC8rxPGbel6Bq+XToZk49oy/pMhv PWq22JWamFTZHBUxZHN1mB6FiVginG1i+OAzW9zfbQnzE0jMsezdRdOGV3HyWDEx19NMEbvT kw9aYmXWkPk+Gooyh/jWKCztAn6LyMpEJDwamtqyQCnBn/izXJtOmB8At1iIIANITPgQaSVB xfXkMoJi5n2coOXlBC1/gaDf+lpp3dZt3dZt3dZt3dZt3b7T9j8lF0nuAFAAAA== --------------060503080205000101060801-- From kjell.ahlstedt@bredband.net Tue Jan 10 19:48:37 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 499847500BC for ; Tue, 10 Jan 2012 19:48:37 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.746 X-Spam-Level: X-Spam-Status: No, score=-1.746 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bHS2eEKC+CIO for ; Tue, 10 Jan 2012 19:48:34 +0000 (UTC) Received: from smtprelay-b12.telenor.se (smtprelay-b12.telenor.se [62.127.194.21]) by menubar.gnome.org (Postfix) with ESMTP id 66995750081 for ; Tue, 10 Jan 2012 19:48:26 +0000 (UTC) Received: from ipb1.telenor.se (ipb1.telenor.se [195.54.127.164]) by smtprelay-b12.telenor.se (Postfix) with ESMTP id 86FE1D0E0 for ; Tue, 10 Jan 2012 20:48:24 +0100 (CET) X-SMTPAUTH-B2: [kjelahls] X-SENDER-IP: [85.227.232.137] X-LISTENER: [smtp.bredband.net] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AoweAGWVDE9V4+iJPGdsb2JhbAAMN6xyAQEBATeCJAEBAQEDAQEBJEcKARALBB0WDwkDAgECARUcFBMBBQIBAYd+tnCId4McBKdH X-IronPort-AV: E=Sophos;i="4.71,488,1320620400"; d="scan'208,217";a="249451698" Received: from c-89e8e355.06-203-73746f44.cust.bredbandsbolaget.se (HELO [192.168.1.64]) ([85.227.232.137]) by ipb1.telenor.se with ESMTP; 10 Jan 2012 20:48:24 +0100 Message-ID: <4F0C9607.5030606@bredband.net> Date: Tue, 10 Jan 2012 20:48:23 +0100 From: Kjell Ahlstedt User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0 MIME-Version: 1.0 To: mmeier+gtkmm@badeio.de Subject: Re: deletion of Gtk::MenuItem References: <4F0C635B.5050008@badeio.de> In-Reply-To: <4F0C635B.5050008@badeio.de> Content-Type: multipart/alternative; boundary="------------010804030709020303010009" Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Jan 2012 19:48:37 -0000 This is a multi-part message in MIME format. --------------010804030709020303010009 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit When I run your program with gtk+ and gtmm version 3.2.0 (included in Ubuntu 11.10), the result is construct: New construct: File destruct: New "File" is not deleted, as you say. But when I use the versions gtk+ and gtkmm (and the packages that they depend on) that I fetched from the git repository a few days ago, the result is construct: New construct: File destruct: New destruct: File Probably you have hit a bug that has been fixed recently. Kjell 2012-01-10 17:12, Marco Meier skrev: > Hi, > > i created a simple MenuBar with submenus. While playing around i noticed > that when a MenuItem in the MenuBar has a submenu, the MenuItem is not > deleted, although it is managed by the MenuBar (see attached file). > Removing line 43 (file_menuitem->set_submenu()) changes that. Is this > behavior intended or did i hit a bug? If intended, how can i ensure the > deletion of every MenuItem without remembering every single pointer? > > Thanks, > Marco > > > _______________________________________________ > gtkmm-list mailing list > gtkmm-list@gnome.org > http://mail.gnome.org/mailman/listinfo/gtkmm-list --------------010804030709020303010009 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit When I run your program with gtk+ and gtmm version 3.2.0 (included in Ubuntu 11.10), the result is
  construct: New
  construct: File
  destruct: New

"File" is not deleted, as you say.

But when I use the versions gtk+ and gtkmm (and the packages that they depend on) that I fetched from the git repository a few days ago, the result is
  construct: New
  construct: File
  destruct: New
  destruct: File

Probably you have hit a bug that has been fixed recently.

Kjell

2012-01-10 17:12, Marco Meier skrev:
Hi,

i created a simple MenuBar with submenus. While playing around i noticed
that when a MenuItem in the MenuBar has a submenu, the MenuItem is not
deleted, although it is managed by the MenuBar (see attached file).
Removing line 43 (file_menuitem->set_submenu()) changes that. Is this
behavior intended or did i hit a bug? If intended, how can i ensure the
deletion of every MenuItem without remembering every single pointer?

Thanks,
Marco


_______________________________________________
gtkmm-list mailing list
gtkmm-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtkmm-list

--------------010804030709020303010009-- From Markus.Elfring@web.de Wed Jan 11 16:00:41 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 126767500E8 for ; Wed, 11 Jan 2012 16:00:41 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.909 X-Spam-Level: X-Spam-Status: No, score=-1.909 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id V6ahEvBl4qc7 for ; Wed, 11 Jan 2012 16:00:35 +0000 (UTC) Received: from fmmailgate03.web.de (fmmailgate03.web.de [217.72.192.234]) by menubar.gnome.org (Postfix) with ESMTP id EFC1A750092 for ; Wed, 11 Jan 2012 16:00:26 +0000 (UTC) Received: from moweb001.kundenserver.de (moweb001.kundenserver.de [172.19.20.114]) by fmmailgate03.web.de (Postfix) with ESMTP id 8E7561AF689C8 for ; Wed, 11 Jan 2012 17:00:24 +0100 (CET) Received: from Sonne.site ([78.48.41.231]) by smtp.web.de (mrweb002) with ESMTPA (Nemesis) id 0LsQ9o-1SiJMV2RR2-012Ha6; Wed, 11 Jan 2012 17:00:23 +0100 Message-ID: <4F0DB213.5000404@web.de> Date: Wed, 11 Jan 2012 17:00:19 +0100 From: Markus Elfring User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111219 Thunderbird/9.0 MIME-Version: 1.0 To: gtkmm-list@gnome.org Subject: Re: How to forward accesses from model attributes to other class attributes? References: <4E91BFBF.4060900@web.de> In-Reply-To: <4E91BFBF.4060900@web.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V02:K0:Kon+zq8gfoad4J2Zdz05LduV4iidX3Guo7G4HCqVnrJ ey4UA14UZHzVtDuxMjw6myz0jrrCRbedbcFY4VYP+2HDivKRau W5X8n7YHmhIiMrkqZk9AhtnLxXMfvqsaWu+fjG4uySZ/CVtfot RXkUPK5lKqkm2yWuvReRzibufOT9KrJfI0rJ05L1IlpupjmCYj zvYc+jMETb30VofWoJYaw== X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Jan 2012 16:00:41 -0000 > Can read/write accesses be forwarded from a model column to a different attribute? Can an access to a model attribute be intercepted at all? How do you redirect a read/write request to a different target? Regards, Markus From kjell.ahlstedt@bredband.net Thu Jan 12 08:43:09 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 7E35D7500DD for ; Thu, 12 Jan 2012 08:43:09 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.747 X-Spam-Level: X-Spam-Status: No, score=-1.747 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4iduV6WCsTm9 for ; Thu, 12 Jan 2012 08:43:06 +0000 (UTC) Received: from smtprelay-b21.telenor.se (smtprelay-b21.telenor.se [195.54.99.212]) by menubar.gnome.org (Postfix) with ESMTP id 53BA27500D6 for ; Thu, 12 Jan 2012 08:42:57 +0000 (UTC) Received: from ipb3.telenor.se (ipb3.telenor.se [195.54.127.166]) by smtprelay-b21.telenor.se (Postfix) with ESMTP id 0FABDD627 for ; Thu, 12 Jan 2012 09:42:55 +0100 (CET) X-SMTPAUTH-B2: [kjelahls] X-SENDER-IP: [85.227.232.137] X-LISTENER: [smtp.bredband.net] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AiEeAMmbDk9V4+iJPGdsb2JhbAAMNq0fAQEBATeCJAEBAQEDOEABEAsYCRYPCQMCAQIBMRQGDQEHAQGHfrdVjB0Ep0o X-IronPort-AV: E=Sophos;i="4.71,497,1320620400"; d="scan'208";a="30077249" Received: from c-89e8e355.06-203-73746f44.cust.bredbandsbolaget.se (HELO [192.168.1.64]) ([85.227.232.137]) by ipb3.telenor.se with ESMTP; 12 Jan 2012 09:42:55 +0100 Message-ID: <4F0E9D0E.1050503@bredband.net> Date: Thu, 12 Jan 2012 09:42:54 +0100 From: Kjell Ahlstedt User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0 MIME-Version: 1.0 To: Murray Cumming Subject: Re: Using Gtk::Grid in gtkmm-documentation References: <1326199219.9103.25.camel@murrayc-desktop> <1326199271.9103.26.camel@murrayc-desktop> In-Reply-To: <1326199271.9103.26.camel@murrayc-desktop> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Jan 2012 08:43:09 -0000 2012-01-10 13:41, Murray Cumming skrev: > On Tue, 2012-01-10 at 13:40 +0100, Murray Cumming wrote: >> The latest unstable version of GTK+ deprecates GtkBox, so we should >> replace it with Gtk::Grid in the gtkmm book's examples. Does someone >> have time to do that? >> http://git.gnome.org/browse/gtkmm-documentation >> >> You will know that it's done when you can build gtkmm-documentation with >> the --enable-warnings=fatal configure option. > Actually, when you can run "make check", not just "make". > >> (By the way, I will soon take a day to go through the various >> outstanding patches for gtkmm, libsigc++, etc and deal with them >> properly.) >> > I can do this. When I ran "make check" on code that I fetched from the git repository yesterday, it stopped on a program that uses Gtk::Table. GtkTable is deprecated, but GtkBox is not. Will GtkBox soon be deprecated? Then I will need to replace both Gtk::Box and Gtk::Table by Gtk::Grid. I doubt that "make check" will notice if deprecated classes are mentioned in gtkmm-tutorial-in.xml. That must be checked manually, I guess. If I do this job, do you want me to file a bug report where I describe what I do, or can I just push my commits to git.gnome.org? When I built gtkmm yesterday, the build stopped because main.cc uses some deprecated gtk_key_snooper_* functions. Kjell From murrayc@murrayc.com Thu Jan 12 10:18:33 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 0EF2F7500DD for ; Thu, 12 Jan 2012 10:18:33 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.676 X-Spam-Level: X-Spam-Status: No, score=-1.676 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_SORBS_WEB=0.77, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4llnAEt7uH1z for ; Thu, 12 Jan 2012 10:18:30 +0000 (UTC) Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by menubar.gnome.org (Postfix) with ESMTP id 352CA7500BF for ; Thu, 12 Jan 2012 10:18:21 +0000 (UTC) Received: from compute3.internal (compute3.nyi.mail.srv.osa [10.202.2.43]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 4B77720C95; Thu, 12 Jan 2012 05:18:20 -0500 (EST) Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160]) by compute3.internal (MEProxy); Thu, 12 Jan 2012 05:18:20 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=date:subject:message-id:from:to:cc :mime-version:content-type:content-transfer-encoding; s=smtpout; bh=FQJt4dYYhNT/AVdKTfGx9ZmcRqo=; b=UKcShgP1a2eI6+QPoUVduxbGJRBm CL93a3LgK9CAmJfDivEGSTy1UN1LMrn45fjJV5ZvJZ1syo9X0eraIST5iUobGNqm SsH/YSJF4fl5zBJEzJS9H96EEaylz1HCHdD8M3w+9FE7HMAaIi6jbMV7GUuZQwL2 tjjA1l99S8x9Y/s= X-Sasl-enc: RVWHcgwJRrI46Gh8sxtAIUYM3m0lFebAWiVI40zz8oP5 1326363498 Received: from 10.59.16.4 (unknown [82.113.99.4]) by mail.messagingengine.com (Postfix) with ESMTPSA id 3A5738E0250; Thu, 12 Jan 2012 05:18:17 -0500 (EST) Date: Thu, 12 Jan 2012 11:17:49 +0100 Subject: Re: Using Gtk::Grid in gtkmm-documentation Message-ID: From: Murray Cumming To: Kjell Ahlstedt MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Jan 2012 10:18:33 -0000 U29ycnkuIEkgbWVhbnQgdGFibGUsIG5vdCBib3guCgpNdXJyYXkKCktqZWxsIEFobHN0ZWR0IDxr amVsbC5haGxzdGVkdEBicmVkYmFuZC5uZXQ+IHdyb3RlOgoKPjIwMTItMDEtMTAgMTM6NDEsIE11 cnJheSBDdW1taW5nIHNrcmV2Ogo+PiBPbiBUdWUsIDIwMTItMDEtMTAgYXQgMTM6NDAgKzAxMDAs IE11cnJheSBDdW1taW5nIHdyb3RlOgo+Pj4gVGhlIGxhdGVzdCB1bnN0YWJsZSB2ZXJzaW9uIG9m IEdUSysgZGVwcmVjYXRlcyBHdGtCb3gsIHNvIHdlIHNob3VsZAo+Pj4gcmVwbGFjZSBpdCB3aXRo IEd0azo6R3JpZCBpbiB0aGUgZ3RrbW0gYm9vaydzIGV4YW1wbGVzLiBEb2VzIHNvbWVvbmUKPj4+ IGhhdmUgdGltZSB0byBkbyB0aGF0Pwo+Pj4gaHR0cDovL2dpdC5nbm9tZS5vcmcvYnJvd3NlL2d0 a21tLWRvY3VtZW50YXRpb24KPj4+Cj4+PiBZb3Ugd2lsbCBrbm93IHRoYXQgaXQncyBkb25lIHdo ZW4geW91IGNhbiBidWlsZCBndGttbS1kb2N1bWVudGF0aW9uIHdpdGgKPj4+IHRoZSAtLWVuYWJs ZS13YXJuaW5ncz1mYXRhbCBjb25maWd1cmUgb3B0aW9uLgo+PiBBY3R1YWxseSwgd2hlbiB5b3Ug Y2FuIHJ1biAibWFrZSBjaGVjayIsIG5vdCBqdXN0ICJtYWtlIi4KPj4KPj4+IChCeSB0aGUgd2F5 LCBJIHdpbGwgc29vbiB0YWtlIGEgZGF5IHRvIGdvIHRocm91Z2ggdGhlIHZhcmlvdXMKPj4+IG91 dHN0YW5kaW5nIHBhdGNoZXMgZm9yIGd0a21tLCBsaWJzaWdjKyssIGV0YyBhbmQgZGVhbCB3aXRo IHRoZW0KPj4+IHByb3Blcmx5LikKPj4+Cj4+Cj5JIGNhbiBkbyB0aGlzLgo+Cj5XaGVuIEkgcmFu ICJtYWtlIGNoZWNrIiBvbiBjb2RlIHRoYXQgSSBmZXRjaGVkIGZyb20gdGhlIGdpdCByZXBvc2l0 b3J5IAo+eWVzdGVyZGF5LCBpdCBzdG9wcGVkIG9uIGEgcHJvZ3JhbSB0aGF0IHVzZXMgR3RrOjpU YWJsZS4gR3RrVGFibGUgaXMgCj5kZXByZWNhdGVkLCBidXQgR3RrQm94IGlzIG5vdC4gV2lsbCBH dGtCb3ggc29vbiBiZSBkZXByZWNhdGVkPyBUaGVuIEkgCj53aWxsIG5lZWQgdG8gcmVwbGFjZSBi b3RoIEd0azo6Qm94IGFuZCBHdGs6OlRhYmxlIGJ5IEd0azo6R3JpZC4KPgo+SSBkb3VidCB0aGF0 ICJtYWtlIGNoZWNrIiB3aWxsIG5vdGljZSBpZiBkZXByZWNhdGVkIGNsYXNzZXMgYXJlIAo+bWVu dGlvbmVkIGluIGd0a21tLXR1dG9yaWFsLWluLnhtbC4gVGhhdCBtdXN0IGJlIGNoZWNrZWQgbWFu dWFsbHksIEkgZ3Vlc3MuCj4KPklmIEkgZG8gdGhpcyBqb2IsIGRvIHlvdSB3YW50IG1lIHRvIGZp bGUgYSBidWcgcmVwb3J0IHdoZXJlIEkgZGVzY3JpYmUgCj53aGF0IEkgZG8sIG9yIGNhbiBJIGp1 c3QgcHVzaCBteSBjb21taXRzIHRvIGdpdC5nbm9tZS5vcmc/Cj4KPldoZW4gSSBidWlsdCBndGtt bSB5ZXN0ZXJkYXksIHRoZSBidWlsZCBzdG9wcGVkIGJlY2F1c2UgbWFpbi5jYyB1c2VzIAo+c29t ZSBkZXByZWNhdGVkIGd0a19rZXlfc25vb3Blcl8qIGZ1bmN0aW9ucy4KPgo+S2plbGwK From camiloculpian@gmail.com Thu Jan 12 12:56:25 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 05C7B7500AA for ; Thu, 12 Jan 2012 12:56:25 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.651 X-Spam-Level: X-Spam-Status: No, score=-1.651 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DATE_IN_PAST_12_24=1.049, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CCh+DC7OuihE for ; Thu, 12 Jan 2012 12:56:22 +0000 (UTC) Received: from mail-yw0-f54.google.com (mail-yw0-f54.google.com [209.85.213.54]) by menubar.gnome.org (Postfix) with ESMTP id 044467500F7 for ; Thu, 12 Jan 2012 12:56:13 +0000 (UTC) Received: by yhfq46 with SMTP id q46so1093833yhf.27 for ; Thu, 12 Jan 2012 04:56:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=subject:from:to:content-type:date:message-id:mime-version:x-mailer; bh=qIAy17wNepHQTQ0C0RB1g+J6XNCQgc55F6pIWAept18=; b=squI+ZvnFtvjaAkargaxdjuw6qgdJERMZUKWY9eTuvgUCY88luVAiTt4MAthSq+oVy oG4UpOStJhb1hHdsqkS7mke9ruY6UM3kd8nh9X6EG3flwWYIDu7QBxk9/qN6SzeeJvn9 QBcGEoSa49dr2Qw37NRyXjNkzaMbuijSQDeDE= Received: by 10.236.148.235 with SMTP id v71mr5734252yhj.6.1326372972352; Thu, 12 Jan 2012 04:56:12 -0800 (PST) Received: from [192.168.157.117] (host-8-3-090.linksat.net.ar. [190.8.3.90]) by mx.google.com with ESMTPS id j16sm13378457anm.9.2012.01.12.04.56.04 (version=SSLv3 cipher=OTHER); Thu, 12 Jan 2012 04:56:11 -0800 (PST) Subject: Can't set app icon From: Camilo Martin Culpian To: Lista de soporte de Gtkmm Content-Type: multipart/signed; micalg="sha512"; protocol="application/x-pkcs7-signature"; boundary="=-N++kXmVxiJcj/NOEHcPy" Date: Wed, 11 Jan 2012 17:25:44 -0300 Message-ID: <1326313544.12327.3.camel@kurosaki> Mime-Version: 1.0 X-Mailer: Evolution 2.32.2 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Jan 2012 12:56:25 -0000 --=-N++kXmVxiJcj/NOEHcPy Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi I set mi app icon like this try { Glib::RefPtr icon_theme =3D Gtk::IconTheme::get_default(); mi_app->set_icon(icon_theme->load_icon("mi_icon", 128, Gtk::ICON_LOOKUP_USE_BUILTIN)); //gtk_window_set_icon(this,icon_theme->load_icon("mi_icon", 48, Gtk::ICON_LOOKUP_USE_BUILTIN)); }catch(Glib::Error &e){std::cout<<"WARNING CAN't set app icon....\n";} but instead show the missing image icon. i create the icon and place them in the app folder, in the theme i use. what i'm doing wrong? thanks in advance. --=-N++kXmVxiJcj/NOEHcPy Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Disposition: attachment; filename="smime.p7s" Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0BBwEAAKCCDLEw ggY0MIIEHKADAgECAgEeMA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1T dGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5n MSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNzEwMjQyMTAx NTVaFw0xNzEwMjQyMTAxNTVaMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv U3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDHCYPMzi3YGrEppC4Tq5a+ijKDjKaIQZZVR63UbxIP6uq/ I0fhCu+cQhoUfE6ERKKnu8zPf1Jwuk0tsvVCk6U9b+0UjM0dLep3ZdE1gblK/1FwYT5Pipsu2yOM luLqwvsuz9/9f1+1PKHG/FaR/wpbfuIqu54qzHDYeqiUfsYzoVflR80DAC7hmJ+SmZnNTWyUGHJb BpA8Q89lGxahNvuryGaC/o2/ceD2uYDX9U8Eg5DpIpGQdcbQeGarV04WgAUjjXX5r/2dabmtxWMZ whZna//jdiSyrrSMTGKkDiXm6/3/4ebfeZuCYKzN2P8O2F/Xe2AC/Y7zeEsnR7FOp+uXAgMBAAGj ggGtMIIBqTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUU3Ltkpzg 2ssBXHx+ljVO8tS4UYIwHwYDVR0jBBgwFoAUTgvvGqRAW6UXaYcwyjRoQ9BBrvIwZgYIKwYBBQUH AQEEWjBYMCcGCCsGAQUFBzABhhtodHRwOi8vb2NzcC5zdGFydHNzbC5jb20vY2EwLQYIKwYBBQUH MAKGIWh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2NhLmNydDBbBgNVHR8EVDBSMCegJaAjhiFo dHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9zZnNjYS5jcmwwJ6AloCOGIWh0dHA6Ly9jcmwuc3RhcnRz c2wuY29tL3Nmc2NhLmNybDCBgAYDVR0gBHkwdzB1BgsrBgEEAYG1NwECATBmMC4GCCsGAQUFBwIB FiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQGCCsGAQUFBwIBFihodHRwOi8v d3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMA0GCSqGSIb3DQEBBQUAA4ICAQAKgwh9 eKssBly4Y4xerhy5I3dNoXHYfYa8PlVLL/qtXnkFgdtY1o95CfegFJTwqBBmf8pyTUnFsukDFUI2 2zF5bVHzuJ+GxhnSqN2sD1qetbYwBYK2iyYA5Pg7Er1A+hKMIzEzcduRkIMmCeUTyMyikfbUFvIB ivtvkR8ZFAk22BZy+pJfAoedO61HTz4qSfQoCRcLN5A0t4DkuVhTMXIzuQ8CnykhExD6x4e6ebIb rjZLb7L+ocR0y4YjCl/Pd4MXU91y0vTipgr/O75CDUHDRHCCKBVmz/Rzkc/b970MEeHt5LC3NiWT gBSvrLEuVzBKM586YoRD9Dy3OHQgWI270g+5MYA8GfgI/EPT5G7xPbCDz+zjdH89PeR3U4So4lSX ur6H6vp+m9TQXPF3a0LwZrp8MQ+Z77U1uL7TelWO5lApsbAonrqASfTpaprFVkL4nyGH+NHST2ZJ PWIBk81i6Vw0ny0qZW2Niy/QvVNKbb43A43ny076khXO7cNbBIRdJ/6qQNq9Bqb5C0Q5nEsFcj75 oxQRqlKf6TcvGbjxkJh8BYtv9ePsXklAxtm8J7GCUBthHSQgepbkOexhJ0wP8imUkyiPHQ0GvEnd 83129fZjoEhdGwXV27ioRKbj/cIq7JRXun0NbeY+UdMYu9jGfIpDLtUUGSgsg2zMGs5R4jCCBnUw ggVdoAMCAQICAwJ3TTANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0 YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENB MB4XDTExMDQyNDIwNDEyNFoXDTEyMDQyNTEwMDc1NVowgZUxIDAeBgNVBA0TFzQxMTgyMi1vMzRC WUM1aUY0NGd2bFU4MR4wHAYDVQQKExVQZXJzb25hIE5vdCBWYWxpZGF0ZWQxKTAnBgNVBAMTIFN0 YXJ0Q29tIEZyZWUgQ2VydGlmaWNhdGUgTWVtYmVyMSYwJAYJKoZIhvcNAQkBFhdjYW1pbG9jdWxw aWFuQGdtYWlsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKjOA6VWzG4zZhWD pk7eywrYHtjWSyoIHjX6yhzLLeykx/whAcCR7b2+wkJinnpiG0IxhZRPbJKVD9zBDh+Km2tasnZw NuGsS+eyizjVcaIhv+X4RxCMiiRYLN4tTUmbzg8TDN9Bp8UdcgQzi0+kV9EDdREgrC7J3Osb5BYa 9RA24ktWAntrUosh1RJvlm1Kh36D1n4rGRNCrrrCXELPx5Dyuy/6fHQq2x0PKh9Zj/ZKMQj2KaZG 91tm2zQO0jgWntOk4zP6sbHGeaMJXX+GJCsQUH1EcKaAQr633xr0oTQrG8tY+20RXa42gqXkOpkk xDettO+EeV1MQboUJ7qbrB0CAwEAAaOCAtMwggLPMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0G A1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHQ4EFgQUIoqBnuhbliu23SDpxJpXvzeu gVgwHwYDVR0jBBgwFoAUU3Ltkpzg2ssBXHx+ljVO8tS4UYIwIgYDVR0RBBswGYEXY2FtaWxvY3Vs cGlhbkBnbWFpbC5jb20wggFCBgNVHSAEggE5MIIBNTCCATEGCysGAQQBgbU3AQICMIIBIDAuBggr BgEFBQcCARYiaHR0cDovL3d3dy5zdGFydHNzbC5jb20vcG9saWN5LnBkZjA0BggrBgEFBQcCARYo aHR0cDovL3d3dy5zdGFydHNzbC5jb20vaW50ZXJtZWRpYXRlLnBkZjCBtwYIKwYBBQUHAgIwgaow FBYNU3RhcnRDb20gTHRkLjADAgEBGoGRTGltaXRlZCBMaWFiaWxpdHksIHNlZSBzZWN0aW9uICpM ZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5zdGFydHNzbC5jb20vcG9saWN5LnBkZjA2 BgNVHR8ELzAtMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9jcnR1MS1jcmwuY3JsMIGO BggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzABhi1odHRwOi8vb2NzcC5zdGFydHNzbC5jb20vc3Vi L2NsYXNzMS9jbGllbnQvY2EwQgYIKwYBBQUHMAKGNmh0dHA6Ly9haWEuc3RhcnRzc2wuY29tL2Nl cnRzL3N1Yi5jbGFzczEuY2xpZW50LmNhLmNydDAjBgNVHRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0 c3NsLmNvbS8wDQYJKoZIhvcNAQEFBQADggEBADQEg55xYf0BZBLtdTVdy8oMTDWxXVWY5wqv6OWM ZLsHtWnslLrM33KB8tkjihF4e1LCwh9pi/pZq10i7k+njX3AlzUKV+Ic1R14uKK1eyPfQKWkWLky +s4odmiG3IyeYKaYEks8Vsy+AODzcCVPkFAzwoDc3kfj5h83PkoD/0ylELOwXSCsCFkr7/rGm6Un fXpridiAEwHi3MQ5G6iOnItQtHTtQ4mTnY77vKENtO4GBRjx4u7oC6IYPXhCG2rkxGTKEjR3UxvS d3NMzfERlSaoDzE9ELiJdpeZlFgVa+E/PvmHh2EJxcrGt7IpsyCEMywbrLrqcZyJSS4X5RxBxhUx ggJMMIICSAIBATCBlDCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzAp BgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2BgNVBAMTL1N0YXJ0 Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENBAgMCd00wDQYJYIZIAWUD BAIDBQCggYkwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTIwMTEx MjAyNTMzWjBPBgkqhkiG9w0BCQQxQgRAqyFreE5/1uiaZmxBYB4Wyv4lZKzZ3LC51qgvKpx9nPn8 XtGiafEPV0jCe5YejEnLu7QHsJJwIjHLGP4sG71s9zANBgkqhkiG9w0BAQEFAASCAQCMnbqSTWkM Jg9lEjmpispRux8XmA5SmK57kyhc+aATydbvaJgQGB/qusl3S4caBAj93OZykE93nFJTK07fI41P DMoNFiRIz6w9r1/r3vTuhxRWD1btmJVEWNByTWs5k0UtxubJq4wIEcIvKGjP4BRS3CbUtD1fRjbD 5CnlHoFyIVnwd1YQTZjgrThA5Hl+KUwhflKwAVtpj2Dc19nBniby5YPTj7omJAt80Ydms7wvXpyg QADW82VeEHGpcXcBjrbeIKa6raFzUcpwWxv6QMvtpE2oKbjYICoPBla8FidCDWpO6MeVKZeoYEhr 9h3SSsReF4aeWr0QggqJjjMAsz1FAAAAAAAA --=-N++kXmVxiJcj/NOEHcPy-- From carloslopezgonzalez@yahoo.es Thu Jan 12 19:15:56 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 31F127502C1 for ; Thu, 12 Jan 2012 19:15:56 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.998 X-Spam-Level: X-Spam-Status: No, score=-1.998 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cnM8ps3Hs39Q for ; Thu, 12 Jan 2012 19:15:51 +0000 (UTC) Received: from nm20-vm0.bullet.mail.ukl.yahoo.com (nm20-vm0.bullet.mail.ukl.yahoo.com [217.146.183.115]) by menubar.gnome.org (Postfix) with SMTP id E42FA750132 for ; Thu, 12 Jan 2012 19:15:41 +0000 (UTC) Received: from [217.146.183.181] by nm20.bullet.mail.ukl.yahoo.com with NNFMP; 12 Jan 2012 19:15:39 -0000 Received: from [217.146.183.169] by tm12.bullet.mail.ukl.yahoo.com with NNFMP; 12 Jan 2012 19:15:39 -0000 Received: from [127.0.0.1] by omp1010.mail.ukl.yahoo.com with NNFMP; 12 Jan 2012 19:15:39 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 575845.32125.bm@omp1010.mail.ukl.yahoo.com Received: (qmail 23561 invoked by uid 60001); 12 Jan 2012 19:15:39 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.es; s=s1024; t=1326395739; bh=yKtQ2FhuUemwC2vKOW256lvutfTJ37SYVTD09uzQcDY=; h=X-YMail-OSG:Received:X-Mailer:Message-ID:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type; b=K8ggyJkbaRDr5U+N9RoxDxygd15Uz9PA90K4YB2kH2z+YkmJybZhVTHMtaMFzlMSGlHZzX226jrE6w5Mfhe0YWl7VhXMg0Nm9G36x7+arl0vJ5ARYM5xp8oDw6NAD6lt5lAuPv5iEXDyFDBjBATX4o8N/y2IeL/6anWsPNId1OA= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.es; h=X-YMail-OSG:Received:X-Mailer:Message-ID:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type; b=6fZXI2BXP5SHLCK0qqWR+WhzlvVyiH1bri13Xft130OOOFmWlXCEQ1oUnglSkYq+/IlE0hSiPYpJp4hnUaOASEpTQ+ILYXB5JItfl8O9cCqzS5nlbERgyhf03IknqJGGMX8tH5JtgtXHcn3xeiX1h3X9HjSqTQB8RV7uv7XCHkg=; X-YMail-OSG: l5dFuFoVM1lFkf8I43fOql6hfAtCT5OrzhkvTSGz9QxNXTG H2KJvYPO83g_clMwTF6ZH3eMFS9RRmUZnWROw7oguE1Zme2iE70m373G37na c6WntznH7MocXIDjxJBUSJsavt.v8y8qdSmKKLoF7ZJMej8yhxJOzT_Ph0Hx smqh3J4Sn0B94ag0EwaLo2CrcgfV6.Xbup_dP5XkCUvnK6CWNqEhmKzeH2aZ 2yiAYQ4ZTX_DqNZs0XCobcYVDYYem0RgMRrxikmlgvIGJXvHpRV7RIqFmebD ZF5IKsKT569_tfuykPoZx3HoZGqraCEGAkTFtCwS9c8R2FMMjkIfGo42erKU JdtVCmkJG3BNa.IH83GTddNwxqBV65hWqXP.wiDa938PXBGV8zTsXt_mes9r XtTRcTUMiuTbXJZzixLzy.1chXfBq Received: from [95.39.168.245] by web27906.mail.ukl.yahoo.com via HTTP; Thu, 12 Jan 2012 19:15:38 GMT X-Mailer: YahooMailWebService/0.8.115.331698 Message-ID: <1326395738.23453.YahooMailNeo@web27906.mail.ukl.yahoo.com> Date: Thu, 12 Jan 2012 19:15:38 +0000 (GMT) From: Carlos Lopez Gonzalez Subject: Event Propagation problem To: "gtkmm-list@gnome.org" MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="1440419394-1723219241-1326395738=:23453" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: Carlos Lopez Gonzalez List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Jan 2012 19:15:56 -0000 --1440419394-1723219241-1326395738=:23453 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Hi!=0AFirst of all I want to say sorry for the long post, but the existing = code is long to explain.=0AAccording to the Event Propagation lesson from t= he Grkmm Programming book, one even that happens in a widget can be handled= by it by connecting the correspondent signal to the event handler. If the = handler returns true, the event isn't propagated upstream to the parent con= tainers of the widget.=0A=0AI'm having troubles obtaining the intended resu= lt:=0A=0AOn one side, during the construction of the main instance of the a= pplication I define some shortcuts for certain actions:=0A=0AApp::App(int *= argc, char ***argv):=0A=A0=A0=A0 Gtk::Main(argc,argv)=0A{=0A=A0=A0=A0 //=0A= =A0=A0=A0 // Other stuff here=0A=A0=A0=A0 //=0A=A0=A0=A0 // Example: This a= ccel key will map the 'home' key to the 'seek-begin' action=0A=A0=A0=A0 Gtk= ::AccelKey accel_key("Home", "/canvasview/seek-begin");=0A=A0=A0= =A0 Gtk::AccelMap::add_entry(accel_key.get_path(), accel_key.get_key(), acc= el_key.get_mod()); =0A=A0=A0=A0 //=0A}=0A=0A=0AOn the other hand I have the= following related clases:=0A=0AA) A tree store: =0Aclass CanvasTreeStore := virtual public Gtk::TreeStore=0AThis tree store has a member that adds a c= ell renderer value instance for a given column.=0A=0ACellRenderer_ValueBase= * CanvasTreeStore::add_cell_renderer_value(Gtk::TreeView::Column* column)= =0A=0AB) A cell renderer: class CellRenderer_ValueBase : public Gtk::CellRe= ndererText=0AThe is a speialized renderer to render the Value Base on the c= ell. =0AIt has a pointer to a widget called ValueBase_Entry:=0A=0AValueBase= _Entry *value_entry;=0A=0Awhen the start_editing_vfunc is called a ValueBas= e_Entry is created, filled and returned as Gtk::CellEditable*=0A=0AGtk::Cel= lEditable*=0ACellRenderer_ValueBase::start_editing_vfunc(=0A=A0=A0 =A0GdkEv= ent* event __attribute__ ((unused)),=0A=A0=A0 =A0Gtk::Widget& widget,=0A=A0= =A0 =A0const Glib::ustring& path,=0A=A0=A0 =A0const Gdk::Rectangle& backgro= und_area __attribute__ ((unused)),=0A=A0=A0 =A0const Gdk::Rectangle& cell_a= rea __attribute__ ((unused)),=0A=A0=A0 =A0Gtk::CellRendererState flags __at= tribute__ ((unused)))=0A{=0A// Other stuff here...=0A=A0=A0 =A0value_entry= =3Dmanage(new ValueBase_Entry());=0A=A0=A0 =A0value_entry->set_path(path);= =0A=A0=A0 =A0value_entry->set_parent(&widget);=0A=A0=A0 =A0value_entry->set= _value(data);=0A=A0=A0 =A0value_entry->signal_editing_done().connect(sigc::= mem_fun(*this, &CellRenderer_ValueBase::on_value_editing_done));=0A=A0=A0 = =A0return value_entry;=0A}=0A=0Ac) A cell editable class: =0A=0Aclass studi= o::ValueBase_Entry : public Gtk::EventBox, public Gtk::CellEditable=0A=0ATh= is class is also a EventBox (to handle events) since the CellEditable isn't= a Gtk::Widget derived one.=0AIn this class there is a pointer to a special= ized widget that is a HBox with many widgets to edit the value:=0A=0AWidget= _ValueBase *valuewidget;=0Athis is created when the cell editable is create= d and added to it:=0A=0Avaluewidget=3Dmanage(new class Widget_ValueBase());= =0Avaluewidget->inside_cellrenderer();=0Aadd(*valuewidget);=0Avaluewidget->= show();=0A=0AD) A container with many widgets inside: =0A=0Aclass Widget_Va= lueBase : public Gtk::HBox=0A=0AThis container has some editable widgets:= =0A=0AWidget_Vector *vector_widget;=0AGtk::SpinButton *real_widget;=0AGtk::= Adjustment real_adjustment;=0AGtk::SpinButton *integer_widget;=0AGtk::Adjus= tment integer_adjustment;=0AGtk::SpinButton *angle_widget;=0AGtk::Adjustmen= t angle_adjustment;=0AGtk::CheckButton *bool_widget;=0AWidget_ColorEdit *co= lor_widget;=0AWidget_CanvasChooser *canvas_widget;=0AWidget_Enum *enum_widg= et;=0AWidget_Filename *filename_widget;=0AWidget_Time *time_widget;=0AGtk::= Entry *string_widget;=0AWidget_Distance *distance_widget;=0A=0AThis is the = constructor, where all the widgets are created and packed to the HBox.=0A= =0AWidget_ValueBase::Widget_ValueBase():=0A=A0=A0 =A0Glib::ObjectBase=A0=A0= =A0(typeid(Widget_ValueBase)),=0A=A0=A0 =A0Gtk::HBox(),=0A=A0=A0 =A0real_a= djustment(0,-2000000000,2000000000,0.05,0.05,0),=0A=A0=A0 =A0integer_adjust= ment(0,-2000000000,2000000000,1,1,0),=0A=A0=A0 =A0angle_adjustment(0,-20000= 00000,2000000000,1,1,0)=0A{=0A=A0=A0 =A0set_no_show_all();=0A=A0=A0 =A0labe= l=3Dmanage(new class Gtk::Label("Unknown Datatype"));=0A=A0=A0 =A0pack_star= t(*label);=0A=A0=A0 =A0label->show();=0A=A0=A0 =A0vector_widget=3Dmanage(ne= w class Widget_Vector());=0A=A0=A0 =A0pack_start(*vector_widget);=0A=A0=A0 = =A0color_widget=3Dmanage(new class Widget_ColorEdit());=0A=A0=A0 =A0pack_st= art(*color_widget);=0A=A0=A0 =A0enum_widget=3Dmanage(new class Widget_Enum(= ));=0A=A0=A0 =A0pack_start(*enum_widget);=0A=A0=A0 =A0real_widget=3Dmanage(= new class Gtk::SpinButton(real_adjustment,0.05,DIGITS));=0A=A0=A0 =A0pack_s= tart(*real_widget);=0A=A0=A0 =A0integer_widget=3Dmanage(new class Gtk::Spin= Button(integer_adjustment,1,0));=0A=A0=A0 =A0pack_start(*integer_widget);= =0A=A0=A0 =A0angle_widget=3Dmanage(new class Gtk::SpinButton(angle_adjustme= nt,15,2));=0A=A0=A0 =A0pack_start(*angle_widget);=0A=A0=A0 =A0bool_widget= =3Dmanage(new class Gtk::CheckButton());=0A=A0=A0 =A0pack_start(*bool_widge= t);=0A=A0=A0 =A0string_widget=3Dmanage(new class Gtk::Entry());=0A=A0=A0 = =A0pack_start(*string_widget);=0A=A0=A0 =A0canvas_widget=3Dmanage(new class= Widget_CanvasChooser());=0A=A0=A0 =A0pack_start(*canvas_widget);=0A=A0=A0 = =A0filename_widget=3Dmanage(new class Widget_Filename());=0A=A0=A0 =A0pack_= start(*filename_widget);=0A=A0=A0 =A0time_widget=3Dmanage(new class Widget_= Time());=0A=A0=A0 =A0pack_start(*time_widget);=0A=A0=A0 =A0distance_widget= =3Dmanage(new class Widget_Distance());=0A=A0=A0 =A0pack_start(*distance_wi= dget);=0A=0A=A0=A0 =A0vector_widget->signal_activate().connect(sigc::mem_fu= n(*this,&Widget_ValueBase::activate));=0A=A0=A0 =A0color_widget->signal_act= ivate().connect(sigc::mem_fun(*this,&Widget_ValueBase::activate));=0A=A0=A0= =A0enum_widget->signal_changed().connect(sigc::mem_fun(*this,&Widget_Value= Base::activate));=0A=A0=A0 =A0real_widget->signal_activate().connect(sigc::= mem_fun(*this,&Widget_ValueBase::activate));=0A=A0=A0 =A0integer_widget->si= gnal_activate().connect(sigc::mem_fun(*this,&Widget_ValueBase::activate));= =0A=A0=A0 =A0angle_widget->signal_activate().connect(sigc::mem_fun(*this,&W= idget_ValueBase::activate));=0A=A0=A0 =A0string_widget->signal_activate().c= onnect(sigc::mem_fun(*this,&Widget_ValueBase::activate));=0A=A0=A0 =A0canva= s_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget_ValueBase::= activate));=0A=A0=A0 =A0filename_widget->signal_activate().connect(sigc::me= m_fun(*this,&Widget_ValueBase::activate));=0A=A0=A0 =A0time_widget->signal_= activate().connect(sigc::mem_fun(*this,&Widget_ValueBase::activate));=0A=A0= =A0 =A0distance_widget->signal_activate().connect(sigc::mem_fun(*this,&Widg= et_ValueBase::activate));=0A}=0A=0Ainitially all the widgets are hidden and= the Widget_ValueBase shows nothing.=0AWhen the cell renderer is starting t= o be edited, it pases the 'data' to the ValueBase_Entry using the set_value= () member function:=0A=0Avalue_entry->set_value(data);=0A=0Awhich calls the= set_value of the ValueBase_Entry=0A=0Avoid ValueBase_Entry::set_value(cons= t synfig::ValueBase &data)=0A{=0A=A0=A0 =A0if(valuewidget)=0A=A0=A0 =A0=A0= =A0 =A0valuewidget->set_value(data);=0A}=0A=0Awhich calls the set_value() o= f the Widget_ValueBase class:=0A=0Avoid=0AWidget_ValueBase::set_value(const= synfig::ValueBase &data)=0A{=0A=A0=A0 =A0label->hide();=0A=A0=A0 =A0vector= _widget->hide();=0A=A0=A0 =A0real_widget->hide();=0A=A0=A0 =A0integer_widge= t->hide();=0A=A0=A0 =A0bool_widget->hide();=0A=A0=A0 =A0color_widget->hide(= );=0A=A0=A0 =A0string_widget->hide();=0A=A0=A0 =A0canvas_widget->hide();=0A= =A0=A0 =A0enum_widget->hide();=0A=A0=A0 =A0angle_widget->hide();=0A=A0=A0 = =A0filename_widget->hide();=0A=A0=A0 =A0time_widget->hide();=0A=A0=A0 =A0di= stance_widget->hide();=0A=A0=A0 =A0value=3Ddata;=0A=A0=A0 =A0try{=0A=A0=A0 = =A0switch(value.get_type())=0A=A0=A0 =A0{=0A=A0=A0 =A0case ValueBase::TYPE_= VECTOR:=0A=A0=A0 =A0=A0=A0 =A0vector_widget->set_canvas(canvas);=0A=A0=A0 = =A0=A0=A0 =A0vector_widget->set_value(value.get(Vector()));=0A=A0=A0 =A0=A0= =A0 =A0vector_widget->show();=0A=A0=A0 =A0=A0=A0 =A0break;=0A=A0=A0 =A0case= ValueBase::TYPE_REAL:=0A=A0=A0 =A0=A0=A0 =A0if(( child_param_desc.get_is_d= istance() || param_desc.get_is_distance() )&& canvas)=0A=A0=A0 =A0=A0=A0 = =A0{=0A=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0Distance dist(value.get(Real()),Distan= ce::SYSTEM_UNITS);=0A=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0dist.convert(App::distan= ce_system,canvas->rend_desc());=0A=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0distance_wi= dget->set_value(dist);=0A=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0distance_widget->sho= w();=0A=A0=A0 =A0=A0=A0 =A0}=0A=A0=A0 =A0=A0=A0 =A0else=0A=A0=A0 =A0=A0=A0 = =A0{=0A=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0real_widget->set_value(value.get(Real(= )));=0A=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0real_widget->show();=0A=A0=A0 =A0=A0= =A0 =A0}=0A=A0=A0 =A0=A0=A0 =A0break;=0A=A0=A0 =A0case ValueBase::TYPE_TIME= :=0A=A0=A0 =A0=A0=A0 =A0if(canvas)time_widget->set_fps(canvas->rend_desc().= get_frame_rate());=0A=A0=A0 =A0=A0=A0 =A0time_widget->set_value(value.get(T= ime()));=0A=A0=A0 =A0=A0=A0 =A0time_widget->show();=0A=A0=A0 =A0=A0=A0 =A0b= reak;=0A=A0=A0 =A0case ValueBase::TYPE_ANGLE:=0A=A0=A0 =A0=A0=A0 =A0angle_w= idget->set_value(Angle::deg(value.get(Angle())).get());=0A=A0=A0 =A0=A0=A0 = =A0angle_widget->show();=0A=A0=A0 =A0=A0=A0 =A0break;=0A=A0=A0 =A0case Valu= eBase::TYPE_INTEGER:=0A=A0=A0 =A0=A0=A0 =A0{=0A=A0=A0 =A0=A0=A0 =A0=A0=A0 = =A0String child_param_hint(child_param_desc.get_hint());=0A=A0=A0 =A0=A0=A0= =A0=A0=A0 =A0String param_hint(param_desc.get_hint());=0A=A0=A0 =A0=A0=A0 = =A0=A0=A0 =A0if(child_param_hint!=3D"enum" && param_hint!=3D"enum")=0A=A0= =A0 =A0=A0=A0 =A0=A0=A0 =A0{=0A=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0inte= ger_widget->set_value(value.get(int()));=0A=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0= =A0=A0 =A0integer_widget->show();=0A=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0}=0A=A0= =A0 =A0=A0=A0 =A0=A0=A0 =A0else=0A=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0{=0A=A0=A0 = =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0if(child_param_hint=3D=3D"enum")=0A=A0=A0 = =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0enum_widget->set_param_desc(chil= d_param_desc);=0A=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0else=0A=A0=A0 =A0= =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0enum_widget->set_param_desc(param_d= esc);=0A=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0enum_widget->set_value(valu= e.get(int()));=0A=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0enum_widget->show(= );=0A=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0}=0A=A0=A0 =A0=A0=A0 =A0}=0A=A0=A0 =A0= =A0=A0 =A0break;=0A=A0=A0 =A0case ValueBase::TYPE_CANVAS:=0A=A0=A0 =A0=A0= =A0 =A0assert(canvas);=0A=A0=A0 =A0=A0=A0 =A0canvas_widget->set_parent_canv= as(canvas);=0A=A0=A0 =A0=A0=A0 =A0canvas_widget->set_value(value.get(etl::l= oose_handle()));=0A=A0=A0 =A0=A0=A0 =A0canvas_widget->show(= );=0A=A0=A0 =A0=A0=A0 =A0break;=0A=A0=A0 =A0case ValueBase::TYPE_BOOL:=0A= =A0=A0 =A0=A0=A0 =A0bool_widget->set_active(value.get(bool()));=0A=A0=A0 = =A0=A0=A0 =A0bool_widget->show();=0A=A0=A0 =A0=A0=A0 =A0break;=0A=A0=A0 =A0= case ValueBase::TYPE_STRING:=0A=A0=A0 =A0=A0=A0 =A0if(child_param_desc.get_= hint()!=3D"filename" && param_desc.get_hint()!=3D"filename")=0A=A0=A0 =A0= =A0=A0 =A0{=0A=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0string_widget->set_text(value.g= et(string()));=0A=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0string_widget->show();=0A=A0= =A0 =A0=A0=A0 =A0}=0A=A0=A0 =A0=A0=A0 =A0else=0A=A0=A0 =A0=A0=A0 =A0{=0A=A0= =A0 =A0=A0=A0 =A0=A0=A0 =A0filename_widget->set_value(value.get(string()));= =0A=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0filename_widget->show();=0A=A0=A0 =A0=A0= =A0 =A0}=0A=A0=A0 =A0=A0=A0 =A0break;=0A=A0=A0 =A0case ValueBase::TYPE_COLO= R:=0A=A0=A0 =A0=A0=A0=A0=A0=A0=A0=A0 {=0A=A0=A0 =A0=A0=A0 =A0color_widget->= set_value(value.get(synfig::Color()));=0A=A0=A0 =A0=A0=A0 =A0color_widget->= show();=0A=A0=A0 =A0=A0=A0 =A0}=0A=A0=A0 =A0=A0=A0 =A0break;=0A=A0=A0 =A0de= fault:=0A=A0=A0 =A0=A0=A0 =A0label->show();=0A=A0=A0 =A0=A0=A0 =A0break;=0A= =A0=A0 =A0}=0A=A0=A0 =A0}catch(...) { synfig::error(__FILE__":%d: Caught so= mething that was thrown",__LINE__); }=0A}=0A=0ANotice that all the widgets = are hidden except the one given by the type.=0A=0AAnd now my problem:=0A=0A= When I'm editing the Widget_ValueBase (an of the widgets contained by the H= Box) the shorcuts of the applications are applied.=0AI've tried to use the = techniques of the event propagation of the keyboard and mouse buttons event= s but the action is ejecuted always.=0AFor example I tried:=0AAdd to ValueB= aseEntry constructor this code:=0A=0AValueBase_Entry::ValueBase_Entry():=0A= =A0=A0 =A0Glib::ObjectBase=A0 (typeid(ValueBase_Entry)),=0A=A0=A0 =A0Gtk::E= ventBox=A0=A0=A0=A0 (),=0A=A0=A0 =A0Gtk::CellEditable ()=0A{=0A=A0=A0 =A0pa= rent=3D0;=0A=A0=A0 =A0edit_done_called=3Dfalse;=0A=A0=A0 =A0valuewidget=3Dm= anage(new class Widget_ValueBase());=0A=A0=A0 =A0valuewidget->inside_cellre= nderer();=0A=A0=A0 =A0add(*valuewidget);=0A=A0=A0 =A0valuewidget->show();= =0A=A0=A0 =A0// ADDED LINES/////////////=0A=A0=A0 =A0add_events(=0A=A0=A0 = =A0=A0=A0 =A0=A0 Gdk::KEY_PRESS_MASK=0A=A0=A0 =A0=A0=A0 =A0| Gdk::KEY_RELEA= SE_MASK=0A=A0=A0 =A0=A0=A0 =A0| Gdk::BUTTON_PRESS_MASK=0A=A0=A0 =A0=A0=A0 = =A0| Gdk::BUTTON_RELEASE_MASK=0A=A0=A0 =A0=A0=A0 =A0| Gdk::SCROLL_MASK=0A= =A0=A0 =A0=A0=A0 =A0);=0A=A0=A0 =A0valuewidget->signal_key_press_event().co= nnect(sigc::mem_fun(*this, &studio::ValueBase_Entry::on_key_event));=0A=A0= =A0 =A0valuewidget->signal_key_release_event().connect(sigc::mem_fun(*this,= &studio::ValueBase_Entry::on_key_event));=0A=A0=A0 =A0valuewidget->signal_= button_press_event().connect(sigc::mem_fun(*this, &studio::ValueBase_Entry:= :on_button_event));=0A=A0=A0 =A0valuewidget->signal_button_release_event().= connect(sigc::mem_fun(*this, &studio::ValueBase_Entry::on_button_event));= =0A=A0=A0 =A0valuewidget->signal_scroll_event().connect(sigc::mem_fun(*this= , &studio::ValueBase_Entry::on_scroll_event));=0A=A0=A0 =A0signal_key_press= _event().connect(sigc::mem_fun(*this, &studio::ValueBase_Entry::on_key_even= t));=0A=A0=A0 =A0signal_key_release_event().connect(sigc::mem_fun(*this, &s= tudio::ValueBase_Entry::on_key_event));=0A=A0=A0 =A0signal_button_press_eve= nt().connect(sigc::mem_fun(*this, &studio::ValueBase_Entry::on_button_event= ));=0A=A0=A0 =A0signal_button_release_event().connect(sigc::mem_fun(*this, = &studio::ValueBase_Entry::on_button_event));=0A=A0=A0 =A0signal_scroll_even= t().connect(sigc::mem_fun(*this, &studio::ValueBase_Entry::on_scroll_event)= );=0A=A0=A0 =A0/////////////////////////=0A=A0=A0 =A0show_all_children();= =0A}=0A=0A=0AAnd the corresponding new event handlers:=0A=0Abool ValueBase_= Entry::on_key_event(GdkEventKey* /*event*/)=0A{=0A=A0=A0 =A0synfig::info("k= ey event handled");=0A=A0=A0 =A0return true;=0A}=0Abool ValueBase_Entry::on= _button_event(GdkEventButton* /*event*/)=0A{=0A=A0=A0 =A0synfig::info("butt= on event handled");=0A=A0=A0 =A0return true;=0A}=0Abool ValueBase_Entry::on= _scroll_event(GdkEventScroll* /*event*/)=0A{=0A=A0=A0 =A0synfig::info("scro= ll event handled");=0A=A0=A0 =A0return true;=0A}=0A=0A=0AWithout success.= =0A=0AIn theory the key event that is not processed by the Widget_ValueBase= is passed to the parent, the HBox which would pass to the ValueBase_Entry = which would stop the event propagation.=0AWhy the shortcuts still begin don= e?=0AIs there a way to avoid them during the edition of the widget?=0A=0AUs= ing the same Widget_ValueBase on a pop up dialog doesn't trigger the action= s when the shortcuts are pressed.=0A=0AAny idea is welcome.=0A=0AThanks for= reading. --1440419394-1723219241-1326395738=:23453 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable
Hi!
First of all I want to sa= y sorry for the long post, but the existing code is long to explain.
Acc= ording to the Event Propagation lesson from the Grkmm Programming book, one= even that happens in a widget can be handled by it by connecting the corre= spondent signal to the event handler. If the handler returns true, the even= t isn't propagated upstream to the parent containers of the widget.

= I'm having troubles obtaining the intended result:

On one side, duri= ng the construction of the main instance of the application I define some s= hortcuts for certain actions:

App::App(int *argc, char ***argv):
=     Gtk::Main(argc,argv)
{
    //
&n= bsp;   // Other stuff here
    //
 &nbs= p;  // Example: This accel key will map the 'home' key to the 'seek-begin' action
    Gtk::AccelKey accel_key("Home", = "<Actions>/canvasview/seek-begin");
    Gtk::AccelM= ap::add_entry(accel_key.get_path(), accel_key.get_key(), accel_key.get_mod(= ));
    //
}


On the other hand I have the = following related clases:

A) A tree store:
class CanvasTreeStore= : virtual public Gtk::TreeStore
This tree store has a member that adds = a cell renderer value instance for a given column.

CellRenderer_Valu= eBase* CanvasTreeStore::add_cell_renderer_value(Gtk::TreeView::Column* colu= mn)

B) A cell renderer: class CellRenderer_ValueBase : public Gtk::C= ellRendererText
The is a speialized renderer to render the Value Base on= the cell.
It has a pointer to a widget called ValueBase_Entry:

= ValueBase_Entry *value_entry;

when the start_editing_vfunc is called= a ValueBase_Entry is created, filled and returned as Gtk::CellEditable*

Gtk::CellEditable*
CellRenderer_ValueBase::st= art_editing_vfunc(
    GdkEvent* event __attribute__ ((un= used)),
    Gtk::Widget& widget,
   &nbs= p;const Glib::ustring& path,
    const Gdk::Rectangle= & background_area __attribute__ ((unused)),
    const= Gdk::Rectangle& cell_area __attribute__ ((unused)),
   &n= bsp;Gtk::CellRendererState flags __attribute__ ((unused)))
{
// Other= stuff here...
    value_entry=3Dmanage(new ValueBase_Ent= ry());
    value_entry->set_path(path);
  = ;  value_entry->set_parent(&widget);
    valu= e_entry->set_value(data);
    value_entry->signal_e= diting_done().connect(sigc::mem_fun(*this, &CellRenderer_ValueBase::on_= value_editing_done));
    return value_entry;
}

c) A cell editable class:

class studio::V= alueBase_Entry : public Gtk::EventBox, public Gtk::CellEditable

This= class is also a EventBox (to handle events) since the CellEditable isn't a= Gtk::Widget derived one.
In this class there is a pointer to a speciali= zed widget that is a HBox with many widgets to edit the value:

Widge= t_ValueBase *valuewidget;
this is created when the cell editable is crea= ted and added to it:

valuewidget=3Dmanage(new class Widget_ValueBase= ());
valuewidget->inside_cellrenderer();
add(*valuewidget);
val= uewidget->show();

D) A container with many widgets inside:
class Widget_ValueBase : public Gtk::HBox

This container has some = editable widgets:

Widget_Vector *vector_widget;
Gtk::SpinButton *= real_widget;
Gtk::Adjustment real_adjustment;
Gtk::SpinButton *intege= r_widget;
Gtk::Adjustment integer_adjustment;
Gtk::SpinButton *angle_widget;
Gtk::Adjustment angle_adjustment;
Gtk::CheckButton *b= ool_widget;
Widget_ColorEdit *color_widget;
Widget_CanvasChooser *can= vas_widget;
Widget_Enum *enum_widget;
Widget_Filename *filename_widge= t;
Widget_Time *time_widget;
Gtk::Entry *string_widget;
Widget_Dis= tance *distance_widget;

This is the constructor, where all the widge= ts are created and packed to the HBox.

Widget_ValueBase::Widget_Valu= eBase():
    Glib::ObjectBase    (typeid(W= idget_ValueBase)),
    Gtk::HBox(),
    = ;real_adjustment(0,-2000000000,2000000000,0.05,0.05,0),
   &nb= sp;integer_adjustment(0,-2000000000,2000000000,1,1,0),
   &nbs= p;angle_adjustment(0,-2000000000,2000000000,1,1,0)
{
   &nb= sp;set_no_show_all();
    label=3Dmanage(new class Gtk::L= abel("Unknown Datatype"));
    pack_start(*label);
    label->show();
 = ;   vector_widget=3Dmanage(new class Widget_Vector());
 &= nbsp;  pack_start(*vector_widget);
    color_widget= =3Dmanage(new class Widget_ColorEdit());
    pack_start(*= color_widget);
    enum_widget=3Dmanage(new class Widget_= Enum());
    pack_start(*enum_widget);
   &n= bsp;real_widget=3Dmanage(new class Gtk::SpinButton(real_adjustment,0.05,DIG= ITS));
    pack_start(*real_widget);
   &nbs= p;integer_widget=3Dmanage(new class Gtk::SpinButton(integer_adjustment,1,0)= );
    pack_start(*integer_widget);
    = ;angle_widget=3Dmanage(new class Gtk::SpinButton(angle_adjustment,15,2));    pack_start(*angle_widget);
    bool_= widget=3Dmanage(new class Gtk::CheckButton());
    pack_start(*bool_widget);
    string_widget=3Dmana= ge(new class Gtk::Entry());
    pack_start(*string_widget= );
    canvas_widget=3Dmanage(new class Widget_CanvasChoo= ser());
    pack_start(*canvas_widget);
   &= nbsp;filename_widget=3Dmanage(new class Widget_Filename());
  =  pack_start(*filename_widget);
    time_widget=3Dma= nage(new class Widget_Time());
    pack_start(*time_widge= t);
    distance_widget=3Dmanage(new class Widget_Distanc= e());
    pack_start(*distance_widget);

 &nbs= p;  vector_widget->signal_activate().connect(sigc::mem_fun(*this,&a= mp;Widget_ValueBase::activate));
    color_widget->sig= nal_activate().connect(sigc::mem_fun(*this,&Widget_ValueBase::activate)= );
    enum_widget->signal_changed().connect(sigc::mem_fun(*this,&Wi= dget_ValueBase::activate));
    real_widget->signal_ac= tivate().connect(sigc::mem_fun(*this,&Widget_ValueBase::activate));
=     integer_widget->signal_activate().connect(sigc::mem_f= un(*this,&Widget_ValueBase::activate));
    angle_wid= get->signal_activate().connect(sigc::mem_fun(*this,&Widget_ValueBase= ::activate));
    string_widget->signal_activate().con= nect(sigc::mem_fun(*this,&Widget_ValueBase::activate));
  =  canvas_widget->signal_activate().connect(sigc::mem_fun(*this,&= ;Widget_ValueBase::activate));
    filename_widget->si= gnal_activate().connect(sigc::mem_fun(*this,&Widget_ValueBase::activate= ));
    time_widget->signal_activate().connect(sigc::m= em_fun(*this,&Widget_ValueBase::activate));
    distance_widget->signal_activate().connect(sigc::mem_fun(*this,&a= mp;Widget_ValueBase::activate));
}

initially all the widgets are = hidden and the Widget_ValueBase shows nothing.
When the cell renderer is= starting to be edited, it pases the 'data' to the ValueBase_Entry using th= e set_value() member function:

value_entry->set_value(data);
<= br>which calls the set_value of the ValueBase_Entry

void ValueBase_E= ntry::set_value(const synfig::ValueBase &data)
{
   &nb= sp;if(valuewidget)
        valuewidget->= ;set_value(data);
}

which calls the set_value() of the Widget_Val= ueBase class:

void
Widget_ValueBase::set_value(const synfig::Valu= eBase &data)
{
    label->hide();
 &nbs= p;  vector_widget->hide();
    real_widget->hi= de();
    integer_widget->hide();
    bool_widget->hid= e();
    color_widget->hide();
    s= tring_widget->hide();
    canvas_widget->hide();    enum_widget->hide();
    angle_wid= get->hide();
    filename_widget->hide();
 =    time_widget->hide();
    distance_widget-= >hide();
    value=3Ddata;
    try{<= br>    switch(value.get_type())
    {
&= nbsp;   case ValueBase::TYPE_VECTOR:
     =    vector_widget->set_canvas(canvas);
    &n= bsp;   vector_widget->set_value(value.get(Vector()));
 = ;       vector_widget->show();
   =      break;
    case ValueBase::TYPE_REAL:
        if(( child_= param_desc.get_is_distance() || param_desc.get_is_distance() )&& ca= nvas)
        {
    &nbs= p;       Distance dist(value.get(Real()),Distance:= :SYSTEM_UNITS);
            = ;dist.convert(App::distance_system,canvas->rend_desc());
  =          distance_widget->set_value(= dist);
            distance= _widget->show();
        }
 &nb= sp;      else
        = {
            real_widget-&= gt;set_value(value.get(Real()));
        &= nbsp;   real_widget->show();
        }
        break;=
    case ValueBase::TYPE_TIME:
    &nb= sp;   if(canvas)time_widget->set_fps(canvas->rend_desc().ge= t_frame_rate());
        time_widget->s= et_value(value.get(Time()));
        time_= widget->show();
        break;
 = ;   case ValueBase::TYPE_ANGLE:
      = ;  angle_widget->set_value(Angle::deg(value.get(Angle())).get());        angle_widget->show();
 &= nbsp;      break;
    case ValueBase:= :TYPE_INTEGER:
        {
   &= nbsp;        String child_param_hint(child_pa= ram_desc.get_hint());
            String param_hint(param_desc.get_hint());
&nbs= p;           if(child_param_hint!= =3D"enum" && param_hint!=3D"enum")
     &nbs= p;      {
        &nbs= p;       integer_widget->set_value(value.get(in= t()));
             &n= bsp;  integer_widget->show();
       &n= bsp;    }
         &nb= sp;  else
            = {
               =  if(child_param_hint=3D=3D"enum")
       &= nbsp;            enum_widget-&= gt;set_param_desc(child_param_desc);
                else
    &nb= sp;               en= um_widget->set_param_desc(param_desc);
      = ;          enum_widget->set_value(val= ue.get(int()));
            = ;    enum_widget->show();
     &nb= sp;      }
        }        break;
    case V= alueBase::TYPE_CANVAS:
        assert(canv= as);
        canvas_widget->set_parent_= canvas(canvas);
        canvas_widget->= set_value(value.get(etl::loose_handle<synfig::Canvas>()));
 &= nbsp;      canvas_widget->show();
        b= reak;
    case ValueBase::TYPE_BOOL:
   &nbs= p;    bool_widget->set_active(value.get(bool()));
&nbs= p;       bool_widget->show();
   &= nbsp;    break;
    case ValueBase::TYPE_S= TRING:
        if(child_param_desc.get_hin= t()!=3D"filename" && param_desc.get_hint()!=3D"filename")
 =        {
        =     string_widget->set_text(value.get(string()));
&nbs= p;           string_widget->show= ();
        }
     =    else
        {
  = ;          filename_widget->set_value(value.get(string()));
   =          filename_widget->show();
=         }
       =  break;
    case ValueBase::TYPE_COLOR:
 &nb= sp;          {
   &nbs= p;    color_widget->set_value(value.get(synfig::Color()))= ;
        color_widget->show();
&nbs= p;       }
       &nbs= p;break;
    default:
       =  label->show();
        break;
=     }
    }catch(...) { synfig::error(__FI= LE__":%d: Caught something that was thrown",__LINE__); }
}

Notice= that all the widgets are hidden except the one given by the type.

And now my problem:

When I'm editing the Widget_ValueB= ase (an of the widgets contained by the HBox) the shorcuts of the applicati= ons are applied.
I've tried to use the techniques of the event propagati= on of the keyboard and mouse buttons events but the action is ejecuted alwa= ys.
For example I tried:
Add to ValueBaseEntry constructor this code:=

ValueBase_Entry::ValueBase_Entry():
    Glib::Obj= ectBase  (typeid(ValueBase_Entry)),
    Gtk::EventBo= x     (),
    Gtk::CellEditable (){
    parent=3D0;
    edit_done_called= =3Dfalse;
    valuewidget=3Dmanage(new class Widget_Value= Base());
    valuewidget->inside_cellrenderer();
&n= bsp;   add(*valuewidget);
    valuewidget->s= how();
    // ADDED LINES/////////////
    add_events(
          Gdk::KEY= _PRESS_MASK
        | Gdk::KEY_RELEASE_MAS= K
        | Gdk::BUTTON_PRESS_MASK
&nbs= p;       | Gdk::BUTTON_RELEASE_MASK
  = ;      | Gdk::SCROLL_MASK
     &= nbsp;  );
    valuewidget->signal_key_press_event= ().connect(sigc::mem_fun(*this, &studio::ValueBase_Entry::on_key_event)= );
    valuewidget->signal_key_release_event().connect= (sigc::mem_fun(*this, &studio::ValueBase_Entry::on_key_event));
&nbs= p;   valuewidget->signal_button_press_event().connect(sigc::me= m_fun(*this, &studio::ValueBase_Entry::on_button_event));
 &nbs= p;  valuewidget->signal_button_release_event().connect(sigc::mem_fu= n(*this, &studio::ValueBase_Entry::on_button_event));
    val= uewidget->signal_scroll_event().connect(sigc::mem_fun(*this, &studio= ::ValueBase_Entry::on_scroll_event));
    signal_key_pres= s_event().connect(sigc::mem_fun(*this, &studio::ValueBase_Entry::on_key= _event));
    signal_key_release_event().connect(sigc::me= m_fun(*this, &studio::ValueBase_Entry::on_key_event));
   =  signal_button_press_event().connect(sigc::mem_fun(*this, &studio:= :ValueBase_Entry::on_button_event));
    signal_button_re= lease_event().connect(sigc::mem_fun(*this, &studio::ValueBase_Entry::on= _button_event));
    signal_scroll_event().connect(sigc::= mem_fun(*this, &studio::ValueBase_Entry::on_scroll_event));
 &n= bsp;  /////////////////////////
    show_all_childre= n();
}


And the corresponding new event handlers:

bool ValueBase_Entry::on_key_event(GdkEventKey* /*event*/= )
{
    synfig::info("key event handled");
 &n= bsp;  return true;
}
bool ValueBase_Entry::on_button_event(GdkEv= entButton* /*event*/)
{
    synfig::info("button event= handled");
    return true;
}
bool ValueBase_Entry= ::on_scroll_event(GdkEventScroll* /*event*/)
{
    syn= fig::info("scroll event handled");
    return true;
}<= br>

Without success.

In theory the key event that is not proc= essed by the Widget_ValueBase is passed to the parent, the HBox which would= pass to the ValueBase_Entry which would stop the event propagation.
Why= the shortcuts still begin done?
Is there a way to avoid them during the= edition of the widget?

Using the same Widget_ValueBase on a pop up = dialog doesn't trigger the actions when the shortcuts are pressed.

Any idea is welcome.

Thanks for reading.



--1440419394-1723219241-1326395738=:23453-- From darkiiiiii@gmail.com Fri Jan 13 01:18:00 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 5CC5F7500DA for ; Fri, 13 Jan 2012 01:18:00 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.545 X-Spam-Level: X-Spam-Status: No, score=-2.545 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HK_RANDOM_ENVFROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id grPUfbfJsq7C for ; Fri, 13 Jan 2012 01:17:56 +0000 (UTC) Received: from mail-gx0-f182.google.com (mail-gx0-f182.google.com [209.85.161.182]) by menubar.gnome.org (Postfix) with ESMTP id 7335075005F for ; Fri, 13 Jan 2012 01:17:47 +0000 (UTC) Received: by ggki1 with SMTP id i1so2052832ggk.27 for ; Thu, 12 Jan 2012 17:17:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=YTOT7YPZcTJ9YFVPu2ADhhG/E7si2+L4PHU59CMgcss=; b=jp2LXYnsApkLeIuo8OHOB1zQs1VppyjUc4SplCj2t3vDDv2L1iUyitRDza5d4aHeNA fWltCw9tC+HWSfqY3sGBlU0RK1ZvFp+zyyDIcHIVDc6DXtO0qwqzLP6xjaoQQr0630Jw OXP/qLUzB88WvbSRRKYWcwLkRYZIoG3oknODs= MIME-Version: 1.0 Received: by 10.101.133.24 with SMTP id k24mr109712ann.5.1326417466503; Thu, 12 Jan 2012 17:17:46 -0800 (PST) Received: by 10.100.79.5 with HTTP; Thu, 12 Jan 2012 17:17:46 -0800 (PST) In-Reply-To: <1326395738.23453.YahooMailNeo@web27906.mail.ukl.yahoo.com> References: <1326395738.23453.YahooMailNeo@web27906.mail.ukl.yahoo.com> Date: Fri, 13 Jan 2012 01:17:46 +0000 Message-ID: Subject: Re: Event Propagation problem From: lecas malecas To: Carlos Lopez Gonzalez Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jan 2012 01:18:00 -0000 You could try overriding the event functions (for example: virtual bool on_key_press_event (GdkEventKey* event)). On Thu, Jan 12, 2012 at 7:15 PM, Carlos Lopez Gonzalez wrote: > Hi! > First of all I want to say sorry for the long post, but the existing code= is > long to explain. > According to the Event Propagation lesson from the Grkmm Programming book= , > one even that happens in a widget can be handled by it by connecting the > correspondent signal to the event handler. If the handler returns true, t= he > event isn't propagated upstream to the parent containers of the widget. > > I'm having troubles obtaining the intended result: > > On one side, during the construction of the main instance of the applicat= ion > I define some shortcuts for certain actions: > > App::App(int *argc, char ***argv): > =A0=A0=A0 Gtk::Main(argc,argv) > { > =A0=A0=A0 // > =A0=A0=A0 // Other stuff here > =A0=A0=A0 // > =A0=A0=A0 // Example: This accel key will map the 'home' key to the 'seek= -begin' > action > =A0=A0=A0 Gtk::AccelKey accel_key("Home", "/canvasview/seek-begi= n"); > =A0=A0=A0 Gtk::AccelMap::add_entry(accel_key.get_path(), accel_key.get_ke= y(), > accel_key.get_mod()); > =A0=A0=A0 // > } > > > On the other hand I have the following related clases: > > A) A tree store: > class CanvasTreeStore : virtual public Gtk::TreeStore > This tree store has a member that adds a cell renderer value instance for= a > given column. > > CellRenderer_ValueBase* > CanvasTreeStore::add_cell_renderer_value(Gtk::TreeView::Column* column) > > B) A cell renderer: class CellRenderer_ValueBase : public > Gtk::CellRendererText > The is a speialized renderer to render the Value Base on the cell. > It has a pointer to a widget called ValueBase_Entry: > > ValueBase_Entry *value_entry; > > when the start_editing_vfunc is called a ValueBase_Entry is created, fill= ed > and returned as Gtk::CellEditable* > > Gtk::CellEditable* > CellRenderer_ValueBase::start_editing_vfunc( > =A0=A0 =A0GdkEvent* event __attribute__ ((unused)), > =A0=A0 =A0Gtk::Widget& widget, > =A0=A0 =A0const Glib::ustring& path, > =A0=A0 =A0const Gdk::Rectangle& background_area __attribute__ ((unused)), > =A0=A0 =A0const Gdk::Rectangle& cell_area __attribute__ ((unused)), > =A0=A0 =A0Gtk::CellRendererState flags __attribute__ ((unused))) > { > // Other stuff here... > =A0=A0 =A0value_entry=3Dmanage(new ValueBase_Entry()); > =A0=A0 =A0value_entry->set_path(path); > =A0=A0 =A0value_entry->set_parent(&widget); > =A0=A0 =A0value_entry->set_value(data); > =A0=A0 =A0value_entry->signal_editing_done().connect(sigc::mem_fun(*this, > &CellRenderer_ValueBase::on_value_editing_done)); > =A0=A0 =A0return value_entry; > } > > c) A cell editable class: > > class studio::ValueBase_Entry : public Gtk::EventBox, public > Gtk::CellEditable > > This class is also a EventBox (to handle events) since the CellEditable > isn't a Gtk::Widget derived one. > In this class there is a pointer to a specialized widget that is a HBox w= ith > many widgets to edit the value: > > Widget_ValueBase *valuewidget; > this is created when the cell editable is created and added to it: > > valuewidget=3Dmanage(new class Widget_ValueBase()); > valuewidget->inside_cellrenderer(); > add(*valuewidget); > valuewidget->show(); > > D) A container with many widgets inside: > > class Widget_ValueBase : public Gtk::HBox > > This container has some editable widgets: > > Widget_Vector *vector_widget; > Gtk::SpinButton *real_widget; > Gtk::Adjustment real_adjustment; > Gtk::SpinButton *integer_widget; > Gtk::Adjustment integer_adjustment; > Gtk::SpinButton *angle_widget; > Gtk::Adjustment angle_adjustment; > Gtk::CheckButton *bool_widget; > Widget_ColorEdit *color_widget; > Widget_CanvasChooser *canvas_widget; > Widget_Enum *enum_widget; > Widget_Filename *filename_widget; > Widget_Time *time_widget; > Gtk::Entry *string_widget; > Widget_Distance *distance_widget; > > This is the constructor, where all the widgets are created and packed to = the > HBox. > > Widget_ValueBase::Widget_ValueBase(): > =A0=A0 =A0Glib::ObjectBase=A0=A0 =A0(typeid(Widget_ValueBase)), > =A0=A0 =A0Gtk::HBox(), > =A0=A0 =A0real_adjustment(0,-2000000000,2000000000,0.05,0.05,0), > =A0=A0 =A0integer_adjustment(0,-2000000000,2000000000,1,1,0), > =A0=A0 =A0angle_adjustment(0,-2000000000,2000000000,1,1,0) > { > =A0=A0 =A0set_no_show_all(); > =A0=A0 =A0label=3Dmanage(new class Gtk::Label("Unknown Datatype")); > =A0=A0 =A0pack_start(*label); > =A0=A0 =A0label->show(); > =A0=A0 =A0vector_widget=3Dmanage(new class Widget_Vector()); > =A0=A0 =A0pack_start(*vector_widget); > =A0=A0 =A0color_widget=3Dmanage(new class Widget_ColorEdit()); > =A0=A0 =A0pack_start(*color_widget); > =A0=A0 =A0enum_widget=3Dmanage(new class Widget_Enum()); > =A0=A0 =A0pack_start(*enum_widget); > =A0=A0 =A0real_widget=3Dmanage(new class > Gtk::SpinButton(real_adjustment,0.05,DIGITS)); > =A0=A0 =A0pack_start(*real_widget); > =A0=A0 =A0integer_widget=3Dmanage(new class > Gtk::SpinButton(integer_adjustment,1,0)); > =A0=A0 =A0pack_start(*integer_widget); > =A0=A0 =A0angle_widget=3Dmanage(new class Gtk::SpinButton(angle_adjustmen= t,15,2)); > =A0=A0 =A0pack_start(*angle_widget); > =A0=A0 =A0bool_widget=3Dmanage(new class Gtk::CheckButton()); > =A0=A0 =A0pack_start(*bool_widget); > =A0=A0 =A0string_widget=3Dmanage(new class Gtk::Entry()); > =A0=A0 =A0pack_start(*string_widget); > =A0=A0 =A0canvas_widget=3Dmanage(new class Widget_CanvasChooser()); > =A0=A0 =A0pack_start(*canvas_widget); > =A0=A0 =A0filename_widget=3Dmanage(new class Widget_Filename()); > =A0=A0 =A0pack_start(*filename_widget); > =A0=A0 =A0time_widget=3Dmanage(new class Widget_Time()); > =A0=A0 =A0pack_start(*time_widget); > =A0=A0 =A0distance_widget=3Dmanage(new class Widget_Distance()); > =A0=A0 =A0pack_start(*distance_widget); > > > =A0vector_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget_V= alueBase::activate)); > > =A0color_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget_Va= lueBase::activate)); > > =A0enum_widget->signal_changed().connect(sigc::mem_fun(*this,&Widget_Valu= eBase::activate)); > > =A0real_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget_Val= ueBase::activate)); > > =A0integer_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget_= ValueBase::activate)); > > =A0angle_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget_Va= lueBase::activate)); > > =A0string_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget_V= alueBase::activate)); > > =A0canvas_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget_V= alueBase::activate)); > > =A0filename_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget= _ValueBase::activate)); > > =A0time_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget_Val= ueBase::activate)); > > =A0distance_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget= _ValueBase::activate)); > } > > initially all the widgets are hidden and the Widget_ValueBase shows nothi= ng. > When the cell renderer is starting to be edited, it pases the 'data' to t= he > ValueBase_Entry using the set_value() member function: > > value_entry->set_value(data); > > which calls the set_value of the ValueBase_Entry > > void ValueBase_Entry::set_value(const synfig::ValueBase &data) > { > =A0=A0 =A0if(valuewidget) > =A0=A0 =A0=A0=A0 =A0valuewidget->set_value(data); > } > > which calls the set_value() of the Widget_ValueBase class: > > void > Widget_ValueBase::set_value(const synfig::ValueBase &data) > { > =A0=A0 =A0label->hide(); > =A0=A0 =A0vector_widget->hide(); > =A0=A0 =A0real_widget->hide(); > =A0=A0 =A0integer_widget->hide(); > =A0=A0 =A0bool_widget->hide(); > =A0=A0 =A0color_widget->hide(); > =A0=A0 =A0string_widget->hide(); > =A0=A0 =A0canvas_widget->hide(); > =A0=A0 =A0enum_widget->hide(); > =A0=A0 =A0angle_widget->hide(); > =A0=A0 =A0filename_widget->hide(); > =A0=A0 =A0time_widget->hide(); > =A0=A0 =A0distance_widget->hide(); > =A0=A0 =A0value=3Ddata; > =A0=A0 =A0try{ > =A0=A0 =A0switch(value.get_type()) > =A0=A0 =A0{ > =A0=A0 =A0case ValueBase::TYPE_VECTOR: > =A0=A0 =A0=A0=A0 =A0vector_widget->set_canvas(canvas); > =A0=A0 =A0=A0=A0 =A0vector_widget->set_value(value.get(Vector())); > =A0=A0 =A0=A0=A0 =A0vector_widget->show(); > =A0=A0 =A0=A0=A0 =A0break; > =A0=A0 =A0case ValueBase::TYPE_REAL: > =A0=A0 =A0=A0=A0 =A0if(( child_param_desc.get_is_distance() || > param_desc.get_is_distance() )&& canvas) > =A0=A0 =A0=A0=A0 =A0{ > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0Distance dist(value.get(Real()),Distance::S= YSTEM_UNITS); > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0dist.convert(App::distance_system,canvas->r= end_desc()); > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0distance_widget->set_value(dist); > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0distance_widget->show(); > =A0=A0 =A0=A0=A0 =A0} > =A0=A0 =A0=A0=A0 =A0else > =A0=A0 =A0=A0=A0 =A0{ > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0real_widget->set_value(value.get(Real())); > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0real_widget->show(); > =A0=A0 =A0=A0=A0 =A0} > =A0=A0 =A0=A0=A0 =A0break; > =A0=A0 =A0case ValueBase::TYPE_TIME: > > =A0if(canvas)time_widget->set_fps(canvas->rend_desc().get_frame_rate()); > =A0=A0 =A0=A0=A0 =A0time_widget->set_value(value.get(Time())); > =A0=A0 =A0=A0=A0 =A0time_widget->show(); > =A0=A0 =A0=A0=A0 =A0break; > =A0=A0 =A0case ValueBase::TYPE_ANGLE: > =A0=A0 =A0=A0=A0 =A0angle_widget->set_value(Angle::deg(value.get(Angle())= ).get()); > =A0=A0 =A0=A0=A0 =A0angle_widget->show(); > =A0=A0 =A0=A0=A0 =A0break; > =A0=A0 =A0case ValueBase::TYPE_INTEGER: > =A0=A0 =A0=A0=A0 =A0{ > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0String child_param_hint(child_param_desc.ge= t_hint()); > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0String param_hint(param_desc.get_hint()); > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0if(child_param_hint!=3D"enum" && param_hint= !=3D"enum") > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0{ > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0integer_widget->set_value(value.g= et(int())); > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0integer_widget->show(); > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0} > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0else > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0{ > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0if(child_param_hint=3D=3D"enum") > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0enum_widget->set_param_= desc(child_param_desc); > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0else > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0enum_widget->set_param_= desc(param_desc); > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0enum_widget->set_value(value.get(= int())); > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0enum_widget->show(); > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0} > =A0=A0 =A0=A0=A0 =A0} > =A0=A0 =A0=A0=A0 =A0break; > =A0=A0 =A0case ValueBase::TYPE_CANVAS: > =A0=A0 =A0=A0=A0 =A0assert(canvas); > =A0=A0 =A0=A0=A0 =A0canvas_widget->set_parent_canvas(canvas); > > =A0canvas_widget->set_value(value.get(etl::loose_handle()= )); > =A0=A0 =A0=A0=A0 =A0canvas_widget->show(); > =A0=A0 =A0=A0=A0 =A0break; > =A0=A0 =A0case ValueBase::TYPE_BOOL: > =A0=A0 =A0=A0=A0 =A0bool_widget->set_active(value.get(bool())); > =A0=A0 =A0=A0=A0 =A0bool_widget->show(); > =A0=A0 =A0=A0=A0 =A0break; > =A0=A0 =A0case ValueBase::TYPE_STRING: > =A0=A0 =A0=A0=A0 =A0if(child_param_desc.get_hint()!=3D"filename" && > param_desc.get_hint()!=3D"filename") > =A0=A0 =A0=A0=A0 =A0{ > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0string_widget->set_text(value.get(string())= ); > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0string_widget->show(); > =A0=A0 =A0=A0=A0 =A0} > =A0=A0 =A0=A0=A0 =A0else > =A0=A0 =A0=A0=A0 =A0{ > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0filename_widget->set_value(value.get(string= ())); > =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0filename_widget->show(); > =A0=A0 =A0=A0=A0 =A0} > =A0=A0 =A0=A0=A0 =A0break; > =A0=A0 =A0case ValueBase::TYPE_COLOR: > =A0=A0 =A0=A0=A0=A0=A0=A0=A0=A0 { > =A0=A0 =A0=A0=A0 =A0color_widget->set_value(value.get(synfig::Color())); > =A0=A0 =A0=A0=A0 =A0color_widget->show(); > =A0=A0 =A0=A0=A0 =A0} > =A0=A0 =A0=A0=A0 =A0break; > =A0=A0 =A0default: > =A0=A0 =A0=A0=A0 =A0label->show(); > =A0=A0 =A0=A0=A0 =A0break; > =A0=A0 =A0} > =A0=A0 =A0}catch(...) { synfig::error(__FILE__":%d: Caught something that= was > thrown",__LINE__); } > } > > Notice that all the widgets are hidden except the one given by the type. > > And now my problem: > > When I'm editing the Widget_ValueBase (an of the widgets contained by the > HBox) the shorcuts of the applications are applied. > I've tried to use the techniques of the event propagation of the keyboard > and mouse buttons events but the action is ejecuted always. > For example I tried: > Add to ValueBaseEntry constructor this code: > > ValueBase_Entry::ValueBase_Entry(): > =A0=A0 =A0Glib::ObjectBase=A0 (typeid(ValueBase_Entry)), > =A0=A0 =A0Gtk::EventBox=A0=A0=A0=A0 (), > =A0=A0 =A0Gtk::CellEditable () > { > =A0=A0 =A0parent=3D0; > =A0=A0 =A0edit_done_called=3Dfalse; > =A0=A0 =A0valuewidget=3Dmanage(new class Widget_ValueBase()); > =A0=A0 =A0valuewidget->inside_cellrenderer(); > =A0=A0 =A0add(*valuewidget); > =A0=A0 =A0valuewidget->show(); > =A0=A0 =A0// ADDED LINES///////////// > =A0=A0 =A0add_events( > =A0=A0 =A0=A0=A0 =A0=A0 Gdk::KEY_PRESS_MASK > =A0=A0 =A0=A0=A0 =A0| Gdk::KEY_RELEASE_MASK > =A0=A0 =A0=A0=A0 =A0| Gdk::BUTTON_PRESS_MASK > =A0=A0 =A0=A0=A0 =A0| Gdk::BUTTON_RELEASE_MASK > =A0=A0 =A0=A0=A0 =A0| Gdk::SCROLL_MASK > =A0=A0 =A0=A0=A0 =A0); > =A0=A0 =A0valuewidget->signal_key_press_event().connect(sigc::mem_fun(*th= is, > &studio::ValueBase_Entry::on_key_event)); > =A0=A0 =A0valuewidget->signal_key_release_event().connect(sigc::mem_fun(*= this, > &studio::ValueBase_Entry::on_key_event)); > =A0=A0 =A0valuewidget->signal_button_press_event().connect(sigc::mem_fun(= *this, > &studio::ValueBase_Entry::on_button_event)); > =A0=A0 =A0valuewidget->signal_button_release_event().connect(sigc::mem_fu= n(*this, > &studio::ValueBase_Entry::on_button_event)); > =A0=A0 =A0valuewidget->signal_scroll_event().connect(sigc::mem_fun(*this, > &studio::ValueBase_Entry::on_scroll_event)); > =A0=A0 =A0signal_key_press_event().connect(sigc::mem_fun(*this, > &studio::ValueBase_Entry::on_key_event)); > =A0=A0 =A0signal_key_release_event().connect(sigc::mem_fun(*this, > &studio::ValueBase_Entry::on_key_event)); > =A0=A0 =A0signal_button_press_event().connect(sigc::mem_fun(*this, > &studio::ValueBase_Entry::on_button_event)); > =A0=A0 =A0signal_button_release_event().connect(sigc::mem_fun(*this, > &studio::ValueBase_Entry::on_button_event)); > =A0=A0 =A0signal_scroll_event().connect(sigc::mem_fun(*this, > &studio::ValueBase_Entry::on_scroll_event)); > =A0=A0 =A0///////////////////////// > =A0=A0 =A0show_all_children(); > } > > > And the corresponding new event handlers: > > bool ValueBase_Entry::on_key_event(GdkEventKey* /*event*/) > { > =A0=A0 =A0synfig::info("key event handled"); > =A0=A0 =A0return true; > } > bool ValueBase_Entry::on_button_event(GdkEventButton* /*event*/) > { > =A0=A0 =A0synfig::info("button event handled"); > =A0=A0 =A0return true; > } > bool ValueBase_Entry::on_scroll_event(GdkEventScroll* /*event*/) > { > =A0=A0 =A0synfig::info("scroll event handled"); > =A0=A0 =A0return true; > } > > > Without success. > > In theory the key event that is not processed by the Widget_ValueBase is > passed to the parent, the HBox which would pass to the ValueBase_Entry wh= ich > would stop the event propagation. > Why the shortcuts still begin done? > Is there a way to avoid them during the edition of the widget? > > Using the same Widget_ValueBase on a pop up dialog doesn't trigger the > actions when the shortcuts are pressed. > > Any idea is welcome. > > Thanks for reading. > > > > > > _______________________________________________ > gtkmm-list mailing list > gtkmm-list@gnome.org > http://mail.gnome.org/mailman/listinfo/gtkmm-list > From darkiiiiii@gmail.com Fri Jan 13 03:27:04 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 975A57500A9 for ; Fri, 13 Jan 2012 03:27:04 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.545 X-Spam-Level: X-Spam-Status: No, score=-2.545 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HK_RANDOM_ENVFROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IHKB3XZ9H8Eb for ; Fri, 13 Jan 2012 03:27:00 +0000 (UTC) Received: from mail-yw0-f54.google.com (mail-yw0-f54.google.com [209.85.213.54]) by menubar.gnome.org (Postfix) with ESMTP id E579D75005F for ; Fri, 13 Jan 2012 03:26:51 +0000 (UTC) Received: by yhpp34 with SMTP id p34so83978yhp.27 for ; Thu, 12 Jan 2012 19:26:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=XqstMkqeTVtIF1K65PFD91oX7cmbZYOtba92p9C/iVw=; b=dDjtHkNcw6EAom7RcoxeKwRya6ZrJADAAN75/VkBb1W9DkjKCjzwnnMecNo1i82E8x GsWXthRIhZpEh8YHPqGdpoE0ZFc9ij41pwwJKrRfmUJgEuUAjnbSY2qzZCg+SFREpV5k 42POklgsdpgxMtBLXsdBvWhRzf6eKHcer/evE= MIME-Version: 1.0 Received: by 10.236.75.163 with SMTP id z23mr523689yhd.79.1326425209101; Thu, 12 Jan 2012 19:26:49 -0800 (PST) Received: by 10.100.79.5 with HTTP; Thu, 12 Jan 2012 19:26:49 -0800 (PST) In-Reply-To: References: <1326395738.23453.YahooMailNeo@web27906.mail.ukl.yahoo.com> Date: Fri, 13 Jan 2012 03:26:49 +0000 Message-ID: Subject: Re: Event Propagation problem From: lecas malecas To: Carlos Lopez Gonzalez Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jan 2012 03:27:04 -0000 Actually, I'm not sure if this would fix it, since you're using accelerator keys (those keys could be checked first before the event is emited in the widget?.. not sure). If it doesn't work, try to have the shortcuts in an event function on the Gtk::Window, instead of as an accelerator. On Fri, Jan 13, 2012 at 1:17 AM, lecas malecas wrote= : > You could try overriding the event functions (for example: virtual > bool on_key_press_event (GdkEventKey* event)). > > > On Thu, Jan 12, 2012 at 7:15 PM, Carlos Lopez Gonzalez > wrote: >> Hi! >> First of all I want to say sorry for the long post, but the existing cod= e is >> long to explain. >> According to the Event Propagation lesson from the Grkmm Programming boo= k, >> one even that happens in a widget can be handled by it by connecting the >> correspondent signal to the event handler. If the handler returns true, = the >> event isn't propagated upstream to the parent containers of the widget. >> >> I'm having troubles obtaining the intended result: >> >> On one side, during the construction of the main instance of the applica= tion >> I define some shortcuts for certain actions: >> >> App::App(int *argc, char ***argv): >> =A0=A0=A0 Gtk::Main(argc,argv) >> { >> =A0=A0=A0 // >> =A0=A0=A0 // Other stuff here >> =A0=A0=A0 // >> =A0=A0=A0 // Example: This accel key will map the 'home' key to the 'see= k-begin' >> action >> =A0=A0=A0 Gtk::AccelKey accel_key("Home", "/canvasview/seek-beg= in"); >> =A0=A0=A0 Gtk::AccelMap::add_entry(accel_key.get_path(), accel_key.get_k= ey(), >> accel_key.get_mod()); >> =A0=A0=A0 // >> } >> >> >> On the other hand I have the following related clases: >> >> A) A tree store: >> class CanvasTreeStore : virtual public Gtk::TreeStore >> This tree store has a member that adds a cell renderer value instance fo= r a >> given column. >> >> CellRenderer_ValueBase* >> CanvasTreeStore::add_cell_renderer_value(Gtk::TreeView::Column* column) >> >> B) A cell renderer: class CellRenderer_ValueBase : public >> Gtk::CellRendererText >> The is a speialized renderer to render the Value Base on the cell. >> It has a pointer to a widget called ValueBase_Entry: >> >> ValueBase_Entry *value_entry; >> >> when the start_editing_vfunc is called a ValueBase_Entry is created, fil= led >> and returned as Gtk::CellEditable* >> >> Gtk::CellEditable* >> CellRenderer_ValueBase::start_editing_vfunc( >> =A0=A0 =A0GdkEvent* event __attribute__ ((unused)), >> =A0=A0 =A0Gtk::Widget& widget, >> =A0=A0 =A0const Glib::ustring& path, >> =A0=A0 =A0const Gdk::Rectangle& background_area __attribute__ ((unused))= , >> =A0=A0 =A0const Gdk::Rectangle& cell_area __attribute__ ((unused)), >> =A0=A0 =A0Gtk::CellRendererState flags __attribute__ ((unused))) >> { >> // Other stuff here... >> =A0=A0 =A0value_entry=3Dmanage(new ValueBase_Entry()); >> =A0=A0 =A0value_entry->set_path(path); >> =A0=A0 =A0value_entry->set_parent(&widget); >> =A0=A0 =A0value_entry->set_value(data); >> =A0=A0 =A0value_entry->signal_editing_done().connect(sigc::mem_fun(*this= , >> &CellRenderer_ValueBase::on_value_editing_done)); >> =A0=A0 =A0return value_entry; >> } >> >> c) A cell editable class: >> >> class studio::ValueBase_Entry : public Gtk::EventBox, public >> Gtk::CellEditable >> >> This class is also a EventBox (to handle events) since the CellEditable >> isn't a Gtk::Widget derived one. >> In this class there is a pointer to a specialized widget that is a HBox = with >> many widgets to edit the value: >> >> Widget_ValueBase *valuewidget; >> this is created when the cell editable is created and added to it: >> >> valuewidget=3Dmanage(new class Widget_ValueBase()); >> valuewidget->inside_cellrenderer(); >> add(*valuewidget); >> valuewidget->show(); >> >> D) A container with many widgets inside: >> >> class Widget_ValueBase : public Gtk::HBox >> >> This container has some editable widgets: >> >> Widget_Vector *vector_widget; >> Gtk::SpinButton *real_widget; >> Gtk::Adjustment real_adjustment; >> Gtk::SpinButton *integer_widget; >> Gtk::Adjustment integer_adjustment; >> Gtk::SpinButton *angle_widget; >> Gtk::Adjustment angle_adjustment; >> Gtk::CheckButton *bool_widget; >> Widget_ColorEdit *color_widget; >> Widget_CanvasChooser *canvas_widget; >> Widget_Enum *enum_widget; >> Widget_Filename *filename_widget; >> Widget_Time *time_widget; >> Gtk::Entry *string_widget; >> Widget_Distance *distance_widget; >> >> This is the constructor, where all the widgets are created and packed to= the >> HBox. >> >> Widget_ValueBase::Widget_ValueBase(): >> =A0=A0 =A0Glib::ObjectBase=A0=A0 =A0(typeid(Widget_ValueBase)), >> =A0=A0 =A0Gtk::HBox(), >> =A0=A0 =A0real_adjustment(0,-2000000000,2000000000,0.05,0.05,0), >> =A0=A0 =A0integer_adjustment(0,-2000000000,2000000000,1,1,0), >> =A0=A0 =A0angle_adjustment(0,-2000000000,2000000000,1,1,0) >> { >> =A0=A0 =A0set_no_show_all(); >> =A0=A0 =A0label=3Dmanage(new class Gtk::Label("Unknown Datatype")); >> =A0=A0 =A0pack_start(*label); >> =A0=A0 =A0label->show(); >> =A0=A0 =A0vector_widget=3Dmanage(new class Widget_Vector()); >> =A0=A0 =A0pack_start(*vector_widget); >> =A0=A0 =A0color_widget=3Dmanage(new class Widget_ColorEdit()); >> =A0=A0 =A0pack_start(*color_widget); >> =A0=A0 =A0enum_widget=3Dmanage(new class Widget_Enum()); >> =A0=A0 =A0pack_start(*enum_widget); >> =A0=A0 =A0real_widget=3Dmanage(new class >> Gtk::SpinButton(real_adjustment,0.05,DIGITS)); >> =A0=A0 =A0pack_start(*real_widget); >> =A0=A0 =A0integer_widget=3Dmanage(new class >> Gtk::SpinButton(integer_adjustment,1,0)); >> =A0=A0 =A0pack_start(*integer_widget); >> =A0=A0 =A0angle_widget=3Dmanage(new class Gtk::SpinButton(angle_adjustme= nt,15,2)); >> =A0=A0 =A0pack_start(*angle_widget); >> =A0=A0 =A0bool_widget=3Dmanage(new class Gtk::CheckButton()); >> =A0=A0 =A0pack_start(*bool_widget); >> =A0=A0 =A0string_widget=3Dmanage(new class Gtk::Entry()); >> =A0=A0 =A0pack_start(*string_widget); >> =A0=A0 =A0canvas_widget=3Dmanage(new class Widget_CanvasChooser()); >> =A0=A0 =A0pack_start(*canvas_widget); >> =A0=A0 =A0filename_widget=3Dmanage(new class Widget_Filename()); >> =A0=A0 =A0pack_start(*filename_widget); >> =A0=A0 =A0time_widget=3Dmanage(new class Widget_Time()); >> =A0=A0 =A0pack_start(*time_widget); >> =A0=A0 =A0distance_widget=3Dmanage(new class Widget_Distance()); >> =A0=A0 =A0pack_start(*distance_widget); >> >> >> =A0vector_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget_= ValueBase::activate)); >> >> =A0color_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget_V= alueBase::activate)); >> >> =A0enum_widget->signal_changed().connect(sigc::mem_fun(*this,&Widget_Val= ueBase::activate)); >> >> =A0real_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget_Va= lueBase::activate)); >> >> =A0integer_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget= _ValueBase::activate)); >> >> =A0angle_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget_V= alueBase::activate)); >> >> =A0string_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget_= ValueBase::activate)); >> >> =A0canvas_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget_= ValueBase::activate)); >> >> =A0filename_widget->signal_activate().connect(sigc::mem_fun(*this,&Widge= t_ValueBase::activate)); >> >> =A0time_widget->signal_activate().connect(sigc::mem_fun(*this,&Widget_Va= lueBase::activate)); >> >> =A0distance_widget->signal_activate().connect(sigc::mem_fun(*this,&Widge= t_ValueBase::activate)); >> } >> >> initially all the widgets are hidden and the Widget_ValueBase shows noth= ing. >> When the cell renderer is starting to be edited, it pases the 'data' to = the >> ValueBase_Entry using the set_value() member function: >> >> value_entry->set_value(data); >> >> which calls the set_value of the ValueBase_Entry >> >> void ValueBase_Entry::set_value(const synfig::ValueBase &data) >> { >> =A0=A0 =A0if(valuewidget) >> =A0=A0 =A0=A0=A0 =A0valuewidget->set_value(data); >> } >> >> which calls the set_value() of the Widget_ValueBase class: >> >> void >> Widget_ValueBase::set_value(const synfig::ValueBase &data) >> { >> =A0=A0 =A0label->hide(); >> =A0=A0 =A0vector_widget->hide(); >> =A0=A0 =A0real_widget->hide(); >> =A0=A0 =A0integer_widget->hide(); >> =A0=A0 =A0bool_widget->hide(); >> =A0=A0 =A0color_widget->hide(); >> =A0=A0 =A0string_widget->hide(); >> =A0=A0 =A0canvas_widget->hide(); >> =A0=A0 =A0enum_widget->hide(); >> =A0=A0 =A0angle_widget->hide(); >> =A0=A0 =A0filename_widget->hide(); >> =A0=A0 =A0time_widget->hide(); >> =A0=A0 =A0distance_widget->hide(); >> =A0=A0 =A0value=3Ddata; >> =A0=A0 =A0try{ >> =A0=A0 =A0switch(value.get_type()) >> =A0=A0 =A0{ >> =A0=A0 =A0case ValueBase::TYPE_VECTOR: >> =A0=A0 =A0=A0=A0 =A0vector_widget->set_canvas(canvas); >> =A0=A0 =A0=A0=A0 =A0vector_widget->set_value(value.get(Vector())); >> =A0=A0 =A0=A0=A0 =A0vector_widget->show(); >> =A0=A0 =A0=A0=A0 =A0break; >> =A0=A0 =A0case ValueBase::TYPE_REAL: >> =A0=A0 =A0=A0=A0 =A0if(( child_param_desc.get_is_distance() || >> param_desc.get_is_distance() )&& canvas) >> =A0=A0 =A0=A0=A0 =A0{ >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0Distance dist(value.get(Real()),Distance::= SYSTEM_UNITS); >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0dist.convert(App::distance_system,canvas->= rend_desc()); >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0distance_widget->set_value(dist); >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0distance_widget->show(); >> =A0=A0 =A0=A0=A0 =A0} >> =A0=A0 =A0=A0=A0 =A0else >> =A0=A0 =A0=A0=A0 =A0{ >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0real_widget->set_value(value.get(Real())); >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0real_widget->show(); >> =A0=A0 =A0=A0=A0 =A0} >> =A0=A0 =A0=A0=A0 =A0break; >> =A0=A0 =A0case ValueBase::TYPE_TIME: >> >> =A0if(canvas)time_widget->set_fps(canvas->rend_desc().get_frame_rate()); >> =A0=A0 =A0=A0=A0 =A0time_widget->set_value(value.get(Time())); >> =A0=A0 =A0=A0=A0 =A0time_widget->show(); >> =A0=A0 =A0=A0=A0 =A0break; >> =A0=A0 =A0case ValueBase::TYPE_ANGLE: >> =A0=A0 =A0=A0=A0 =A0angle_widget->set_value(Angle::deg(value.get(Angle()= )).get()); >> =A0=A0 =A0=A0=A0 =A0angle_widget->show(); >> =A0=A0 =A0=A0=A0 =A0break; >> =A0=A0 =A0case ValueBase::TYPE_INTEGER: >> =A0=A0 =A0=A0=A0 =A0{ >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0String child_param_hint(child_param_desc.g= et_hint()); >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0String param_hint(param_desc.get_hint()); >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0if(child_param_hint!=3D"enum" && param_hin= t!=3D"enum") >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0{ >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0integer_widget->set_value(value.= get(int())); >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0integer_widget->show(); >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0} >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0else >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0{ >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0if(child_param_hint=3D=3D"enum") >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0enum_widget->set_param= _desc(child_param_desc); >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0else >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0enum_widget->set_param= _desc(param_desc); >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0enum_widget->set_value(value.get= (int())); >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0enum_widget->show(); >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0} >> =A0=A0 =A0=A0=A0 =A0} >> =A0=A0 =A0=A0=A0 =A0break; >> =A0=A0 =A0case ValueBase::TYPE_CANVAS: >> =A0=A0 =A0=A0=A0 =A0assert(canvas); >> =A0=A0 =A0=A0=A0 =A0canvas_widget->set_parent_canvas(canvas); >> >> =A0canvas_widget->set_value(value.get(etl::loose_handle(= ))); >> =A0=A0 =A0=A0=A0 =A0canvas_widget->show(); >> =A0=A0 =A0=A0=A0 =A0break; >> =A0=A0 =A0case ValueBase::TYPE_BOOL: >> =A0=A0 =A0=A0=A0 =A0bool_widget->set_active(value.get(bool())); >> =A0=A0 =A0=A0=A0 =A0bool_widget->show(); >> =A0=A0 =A0=A0=A0 =A0break; >> =A0=A0 =A0case ValueBase::TYPE_STRING: >> =A0=A0 =A0=A0=A0 =A0if(child_param_desc.get_hint()!=3D"filename" && >> param_desc.get_hint()!=3D"filename") >> =A0=A0 =A0=A0=A0 =A0{ >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0string_widget->set_text(value.get(string()= )); >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0string_widget->show(); >> =A0=A0 =A0=A0=A0 =A0} >> =A0=A0 =A0=A0=A0 =A0else >> =A0=A0 =A0=A0=A0 =A0{ >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0filename_widget->set_value(value.get(strin= g())); >> =A0=A0 =A0=A0=A0 =A0=A0=A0 =A0filename_widget->show(); >> =A0=A0 =A0=A0=A0 =A0} >> =A0=A0 =A0=A0=A0 =A0break; >> =A0=A0 =A0case ValueBase::TYPE_COLOR: >> =A0=A0 =A0=A0=A0=A0=A0=A0=A0=A0 { >> =A0=A0 =A0=A0=A0 =A0color_widget->set_value(value.get(synfig::Color())); >> =A0=A0 =A0=A0=A0 =A0color_widget->show(); >> =A0=A0 =A0=A0=A0 =A0} >> =A0=A0 =A0=A0=A0 =A0break; >> =A0=A0 =A0default: >> =A0=A0 =A0=A0=A0 =A0label->show(); >> =A0=A0 =A0=A0=A0 =A0break; >> =A0=A0 =A0} >> =A0=A0 =A0}catch(...) { synfig::error(__FILE__":%d: Caught something tha= t was >> thrown",__LINE__); } >> } >> >> Notice that all the widgets are hidden except the one given by the type. >> >> And now my problem: >> >> When I'm editing the Widget_ValueBase (an of the widgets contained by th= e >> HBox) the shorcuts of the applications are applied. >> I've tried to use the techniques of the event propagation of the keyboar= d >> and mouse buttons events but the action is ejecuted always. >> For example I tried: >> Add to ValueBaseEntry constructor this code: >> >> ValueBase_Entry::ValueBase_Entry(): >> =A0=A0 =A0Glib::ObjectBase=A0 (typeid(ValueBase_Entry)), >> =A0=A0 =A0Gtk::EventBox=A0=A0=A0=A0 (), >> =A0=A0 =A0Gtk::CellEditable () >> { >> =A0=A0 =A0parent=3D0; >> =A0=A0 =A0edit_done_called=3Dfalse; >> =A0=A0 =A0valuewidget=3Dmanage(new class Widget_ValueBase()); >> =A0=A0 =A0valuewidget->inside_cellrenderer(); >> =A0=A0 =A0add(*valuewidget); >> =A0=A0 =A0valuewidget->show(); >> =A0=A0 =A0// ADDED LINES///////////// >> =A0=A0 =A0add_events( >> =A0=A0 =A0=A0=A0 =A0=A0 Gdk::KEY_PRESS_MASK >> =A0=A0 =A0=A0=A0 =A0| Gdk::KEY_RELEASE_MASK >> =A0=A0 =A0=A0=A0 =A0| Gdk::BUTTON_PRESS_MASK >> =A0=A0 =A0=A0=A0 =A0| Gdk::BUTTON_RELEASE_MASK >> =A0=A0 =A0=A0=A0 =A0| Gdk::SCROLL_MASK >> =A0=A0 =A0=A0=A0 =A0); >> =A0=A0 =A0valuewidget->signal_key_press_event().connect(sigc::mem_fun(*t= his, >> &studio::ValueBase_Entry::on_key_event)); >> =A0=A0 =A0valuewidget->signal_key_release_event().connect(sigc::mem_fun(= *this, >> &studio::ValueBase_Entry::on_key_event)); >> =A0=A0 =A0valuewidget->signal_button_press_event().connect(sigc::mem_fun= (*this, >> &studio::ValueBase_Entry::on_button_event)); >> =A0=A0 =A0valuewidget->signal_button_release_event().connect(sigc::mem_f= un(*this, >> &studio::ValueBase_Entry::on_button_event)); >> =A0=A0 =A0valuewidget->signal_scroll_event().connect(sigc::mem_fun(*this= , >> &studio::ValueBase_Entry::on_scroll_event)); >> =A0=A0 =A0signal_key_press_event().connect(sigc::mem_fun(*this, >> &studio::ValueBase_Entry::on_key_event)); >> =A0=A0 =A0signal_key_release_event().connect(sigc::mem_fun(*this, >> &studio::ValueBase_Entry::on_key_event)); >> =A0=A0 =A0signal_button_press_event().connect(sigc::mem_fun(*this, >> &studio::ValueBase_Entry::on_button_event)); >> =A0=A0 =A0signal_button_release_event().connect(sigc::mem_fun(*this, >> &studio::ValueBase_Entry::on_button_event)); >> =A0=A0 =A0signal_scroll_event().connect(sigc::mem_fun(*this, >> &studio::ValueBase_Entry::on_scroll_event)); >> =A0=A0 =A0///////////////////////// >> =A0=A0 =A0show_all_children(); >> } >> >> >> And the corresponding new event handlers: >> >> bool ValueBase_Entry::on_key_event(GdkEventKey* /*event*/) >> { >> =A0=A0 =A0synfig::info("key event handled"); >> =A0=A0 =A0return true; >> } >> bool ValueBase_Entry::on_button_event(GdkEventButton* /*event*/) >> { >> =A0=A0 =A0synfig::info("button event handled"); >> =A0=A0 =A0return true; >> } >> bool ValueBase_Entry::on_scroll_event(GdkEventScroll* /*event*/) >> { >> =A0=A0 =A0synfig::info("scroll event handled"); >> =A0=A0 =A0return true; >> } >> >> >> Without success. >> >> In theory the key event that is not processed by the Widget_ValueBase is >> passed to the parent, the HBox which would pass to the ValueBase_Entry w= hich >> would stop the event propagation. >> Why the shortcuts still begin done? >> Is there a way to avoid them during the edition of the widget? >> >> Using the same Widget_ValueBase on a pop up dialog doesn't trigger the >> actions when the shortcuts are pressed. >> >> Any idea is welcome. >> >> Thanks for reading. >> >> >> >> >> >> _______________________________________________ >> gtkmm-list mailing list >> gtkmm-list@gnome.org >> http://mail.gnome.org/mailman/listinfo/gtkmm-list >> From kjell.ahlstedt@bredband.net Fri Jan 13 15:57:20 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 7AEEC75018B for ; Fri, 13 Jan 2012 15:57:20 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.67 X-Spam-Level: X-Spam-Status: No, score=-1.67 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077, TW_YG=0.077] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tHqqtA32eI7D for ; Fri, 13 Jan 2012 15:57:13 +0000 (UTC) Received: from smtprelay-b21.telenor.se (smtprelay-b21.telenor.se [195.54.99.212]) by menubar.gnome.org (Postfix) with ESMTP id 90E06750078 for ; Fri, 13 Jan 2012 15:57:04 +0000 (UTC) Received: from ipb2.telenor.se (ipb2.telenor.se [195.54.127.165]) by smtprelay-b21.telenor.se (Postfix) with ESMTP id 20787C1CA for ; Fri, 13 Jan 2012 16:57:02 +0100 (CET) X-SMTPAUTH-B2: [kjelahls] X-SENDER-IP: [85.227.232.137] X-LISTENER: [smtp.bredband.net] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApAeAJtTEE9V4+iJPGdsb2JhbAAMNq0xAQEBATeCJAEBAQEDJxFAARALGAkWDwkDAgECAQ8iFAYBDAEFAgEBh363KIwdBKALh0c X-IronPort-AV: E=Sophos;i="4.71,504,1320620400"; d="scan'208";a="249311725" Received: from c-89e8e355.06-203-73746f44.cust.bredbandsbolaget.se (HELO [192.168.1.64]) ([85.227.232.137]) by ipb2.telenor.se with ESMTP; 13 Jan 2012 16:57:02 +0100 Message-ID: <4F10544C.4020407@bredband.net> Date: Fri, 13 Jan 2012 16:57:00 +0100 From: Kjell Ahlstedt User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0 MIME-Version: 1.0 To: lecas malecas , Carlos Lopez Gonzalez Subject: Re: Event Propagation problem References: <1326395738.23453.YahooMailNeo@web27906.mail.ukl.yahoo.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jan 2012 15:57:20 -0000 A long reply to a long question. The most interesting part is at the end of the reply. The propagation of keyboard events is more complicated than the description in the Gtkmm tutorial shows. When I helped Pedro with the Keyboard Events chapter, he found this description: http://faq.pygtk.org/index.py?file=faq03.011.htp&req=show (If you're very interested, see bug https://bugzilla.gnome.org/show_bug.cgi?id=661857) The last paragraph in the pygtk FAQ reads: "Keyboard events are handled differently. When your window receives a keyboard event, it is first dispatched to the toplevel window, which will check if it matches any keyboard shortcuts. If the key press doesn't match a shortcut, then the event is dispatched to the child widget that currently has focus." Because we were not sure if that still holds (written Nov 2002), we decided not to mention it in the gtkmm tutorial. Now I looked in gtk+'s source code to see how events (especially keyboard events) are really handled. Start at gtk_main_do_event(). The description of that function is incomplete. It does not at all mention the most interesting part of how keyboard events are handled, perhaps because that happens in gtk_propagate_event() to which the event is usually sent. The description of gtk_propagate_event() is equally incomplete. It does not send keyboard events to the window with keyboard focus, but to the toplevel window (GtkWindow, Gtk::Window in gtkmm). gtk_propagate_event() calls gtk_widget_event(), which emits the key-press-event or key-release-event signal. GtkWindow's default handler for the key-press-event first calls gtk_window_activate_key(), which activates mnemonics and accelerators. If gtk_window_activate_key() returns TRUE, the event is considered fully handled. If gtk_window_activate_key() returns FALSE, gtk_window_propagate_key_event() is called, and at last the event is sent to the widget with keyboard focus, and propagated as described in the gtkmm tutorial. I think you actually have a chance to get the keyboard event before gtk_window_activate_key(). Connect your event handler to the key-press-event signal (and perhaps also to key-release-event) in the toplevel widget (Gtk::Window). Connect with after=false. Then your event handler will be called before GtkWindow's default event handler, and you have a chance to mark the event fully handled (by returning true) before gtk_window_activate_key() is called. Example (the 'false' parameter is important!): window->signal_key_press_event().connect(sigc::mem_fun(*this, &MyWindow::on_key_event), false); Kjell 2012-01-13 04:26, lecas malecas skrev: > Actually, I'm not sure if this would fix it, since you're using > accelerator keys (those keys could be checked first before the event > is emited in the widget?.. not sure). > > If it doesn't work, try to have the shortcuts in an event function on > the Gtk::Window, instead of as an accelerator. > > On Fri, Jan 13, 2012 at 1:17 AM, lecas malecas wrote: >> You could try overriding the event functions (for example: virtual >> bool on_key_press_event (GdkEventKey* event)). >> >> >> On Thu, Jan 12, 2012 at 7:15 PM, Carlos Lopez Gonzalez >> wrote: >>> Hi! >>> First of all I want to say sorry for the long post, but the existing code is >>> long to explain. >>> According to the Event Propagation lesson from the Grkmm Programming book, >>> one even that happens in a widget can be handled by it by connecting the >>> correspondent signal to the event handler. If the handler returns true, the >>> event isn't propagated upstream to the parent containers of the widget. >>> >>> I'm having troubles obtaining the intended result: >>> >>> From carloslopezgonzalez@yahoo.es Fri Jan 13 20:58:26 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 71F2D7500D3 for ; Fri, 13 Jan 2012 20:58:26 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.767 X-Spam-Level: X-Spam-Status: No, score=-1.767 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, TW_GT=0.077, TW_TK=0.077, TW_YG=0.077] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5P4mrFLNvmCb for ; Fri, 13 Jan 2012 20:58:23 +0000 (UTC) Received: from nm8-vm0.bullet.mail.ukl.yahoo.com (nm8-vm0.bullet.mail.ukl.yahoo.com [217.146.183.238]) by menubar.gnome.org (Postfix) with SMTP id 1AC3C7500C3 for ; Fri, 13 Jan 2012 20:58:13 +0000 (UTC) Received: from [217.146.183.217] by nm8.bullet.mail.ukl.yahoo.com with NNFMP; 13 Jan 2012 20:58:11 -0000 Received: from [217.146.182.87] by tm10.bullet.mail.ukl.yahoo.com with NNFMP; 13 Jan 2012 20:58:11 -0000 Received: from [127.0.0.1] by omp1037.mail.ukl.yahoo.com with NNFMP; 13 Jan 2012 20:58:11 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 687188.39721.bm@omp1037.mail.ukl.yahoo.com Received: (qmail 62459 invoked by uid 60001); 13 Jan 2012 20:58:11 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.es; s=s1024; t=1326488291; bh=ZFNgrT3ww8jz5yDmKrNaOGEJZh/L1htsPdMVNKfUYs0=; h=X-YMail-OSG:Received:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type; b=GGO9bDPLLP69uaaxwg8XnJpv0BkVMcGSmuPuZQgcXnn3exIG2yHYoancpVRpqZF1qu5Kq3waPFZQwzV8mOQY7JerYu3IUo3JKxAfQOFwkNJZbr/yiRiyxJzaFK3RkGRCYyg5I+z3c+JTD2VzNyLCR+UZDCTxJY4MQK31mDaC6YQ= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.es; h=X-YMail-OSG:Received:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type; b=eQpUYScNEXed8nIpFMeFlPlcarXj0pGdIRPyosMvy+Qne/hSbiHogYQQyCVD9+eiM3SvyzWpqVkSJMqoc4uxa2B1d5TumeRmQbyiDfvRBEL6qyP8ii9n8XDlGNL8KtJg9b3pAX5ut7dm+ouV8RaOPgWqYo0QPamdliSni2XxkaM=; X-YMail-OSG: Rq6XPlAVM1kSkSrGS7SwH8oGw6zZglEqb5sOL5FVQAPawQ4 gFPDNF2_dbFT8SaEqA_V.sqe4KODYs7Z.NxZ3LGuBVpUGm_WUUeuI4maV7j6 bX7fASQn8jKXhQj9hI6Sb3lzTNutugWz7yaITsYkFhB0P55JD4zDNty0JVsA 95Bh25VSqnVEHUwHhMrF_GEey3_lTG1AoTUcS1mfNvrBWP60QV9sXEEWJAbN 9H5jxqxUGK44.CKCwRWdfMxJHg_bXs6MK0VATEe5Di8freadojYfpPZNx3kx QQbuoNMs8EEGAP.OF6CbBmmhPPf4ZkKYuG_i2X8LhOEOFbaJM7sspOLBfPd7 8nfeX7RbAnHU2hMKXOMVz_sHhdhQ9bSoNA8ul1ENGfyViWG35jt5qUb736I2 QSIozb5OXCGb8XTNFfBH6qZaX1HGIxsxyaGdRti77khSeAThO5LV4.5bPIiS q.fCYOMYV2Mfh1y0ixvspsWAj4bcnWKaqqF6W0hXcBdmLfh7OIMMvEnITCG7 wWcv4HaJ35yJnR.9PdeovuaWkI6isBUbpABrBfPkM Received: from [95.39.168.245] by web27901.mail.ukl.yahoo.com via HTTP; Fri, 13 Jan 2012 20:58:11 GMT X-Mailer: YahooMailWebService/0.8.115.331698 References: <1326395738.23453.YahooMailNeo@web27906.mail.ukl.yahoo.com> <4F10544C.4020407@bredband.net> Message-ID: <1326488291.47444.YahooMailNeo@web27901.mail.ukl.yahoo.com> Date: Fri, 13 Jan 2012 20:58:11 +0000 (GMT) From: Carlos Lopez Gonzalez Subject: Re: Event Propagation problem To: Kjell Ahlstedt , lecas malecas In-Reply-To: <4F10544C.4020407@bredband.net> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="301845866-1955521615-1326488291=:47444" Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: Carlos Lopez Gonzalez List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jan 2012 20:58:26 -0000 --301845866-1955521615-1326488291=:47444 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Yeah! FInally it works!=0AMy top level Gtk::Window is called ToolBox:=A0 cl= ass Toolbox : public Gtk::Window so I added the signal connections as you m= entioned, in the constructor:=0A=A0=A0=A0 signal_key_press_event().connect(= sigc::mem_fun(*this, &Toolbox::on_key_press_event), false);=0A=A0=A0=A0 sig= nal_key_release_event().connect(sigc::mem_fun(*this, &Toolbox::on_key_relea= se_event), false);=0A=0AThe ToolBox only has one member instance of class W= idget_Distance: public Gtk::SpinButton. =0A=0AThis is one of the widgets wh= ere I want to stop the event propagation.=0ASo I added two members to the W= idget_Distance to handle the press and release key events:=0Abool=0AWidget_= Distance::on_key_press_event(GdkEventKey* event)=0A{=0A=A0=A0=A0 return Spi= nButton::on_key_press_event(event);=0A}=0A=0Abool=0AWidget_Distance::on_key= _release_event(GdkEventKey* event)=0A{=0A=A0=A0=A0 return SpinButton::on_ke= y_release_event(event);=0A}=0A=0AIt calls the SpinButton event handlers, so= when the SpinButton=A0 doesn't handle the event (false) then it returns th= e same value.=0A=0AThen I added the two other event handlers needed in the = ToolBox:=0A=0Abool=0AToolbox::on_key_press_event(GdkEventKey* event)=0A{=0A= =A0=A0=A0 if(widget_defaults->get_widget_bline_width()->is_focus())=0A=A0= =A0=A0 =A0=A0=A0 return widget_defaults->get_widget_bline_width()->on_key_p= ress_event(event);=0A=A0=A0=A0 return Gtk::Window::on_key_press_event(event= );=0A}=0A=0Abool=0AToolbox::on_key_release_event(GdkEventKey* event)=0A{=0A= =A0=A0=A0 if(widget_defaults->get_widget_bline_width()->is_focus())=0A=A0= =A0=A0 =A0=A0=A0 return widget_defaults->get_widget_bline_width()->on_key_r= elease_event(event);=0A=A0=A0=A0 return Gtk::Window::on_key_release_event(e= vent);=0A=0A}=0A=0A=0ANotice that I first lookup if the widget_bline_width = (which is a instance of a Widget_Distance class) is focus. When it is focus= it is being edited so I don't want to handle the key events if the widget = already handled. So if Widget_Distance handler returns false then the event= is propagated away and it is cached by the defined Accelerators. If the Wi= dget_Distance handler returns true the key event doesn't need other handler= and its propagation is stopped.=0ANow, if the Widget_Distance is not on fo= cus, the Toolbox key event handler will as to the Gtk::Window for the handl= ing occurring the same things.=0A=0AThank you very much for the explanation= s to you all.=0A=0AOne final question: the 'after' parameter in the connect= member is documented? if so, where is it?=0AGreetings=0ACarlos=0A=0A=0A=0A= =0A________________________________=0A De: Kjell Ahlstedt =0APara: lecas malecas ; Carlos Lopez Gon= zalez =0ACC: "gtkmm-list@gnome.org" =0AEnviado: viernes 13 de enero de 2012 16:57=0AAsunto: Re: = Event Propagation problem=0A =0AA long reply to a long question. The most i= nteresting part is at the end of the reply.=0A=0AThe propagation of keyboar= d events is more complicated than the description in the Gtkmm tutorial sho= ws.=0AWhen I helped Pedro with the Keyboard Events chapter, he found this d= escription:=0Ahttp://faq.pygtk.org/index.py?file=3Dfaq03.011.htp&req=3Dshow= =0A(If you're very interested, see bug https://bugzilla.gnome.org/show_bug.= cgi?id=3D661857)=0A=0AThe last paragraph in the pygtk FAQ reads:=0A=0A"Keyb= oard events are handled differently. When your window receives a keyboard e= vent, it is first dispatched to the toplevel window, which will check if it= matches any keyboard shortcuts. If the key press doesn't match a shortcut,= then the event is dispatched to the child widget that currently has focus.= "=0A=0ABecause we were not sure if that still holds (written Nov 2002), we = decided not to mention it in the gtkmm tutorial.=0A=0ANow I looked in gtk+'= s source code to see how events (especially keyboard events) are really han= dled.=0A=0AStart at gtk_main_do_event(). The description of that function i= s incomplete. It does not at all mention the most interesting part of how k= eyboard events are handled, perhaps because that happens in gtk_propagate_e= vent() to which the event is usually sent. The description of gtk_propagate= _event() is equally incomplete. It does not send keyboard events to the win= dow with keyboard focus, but to the toplevel window (GtkWindow, Gtk::Window= in gtkmm).=0Agtk_propagate_event() calls gtk_widget_event(), which emits t= he key-press-event or key-release-event signal.=0AGtkWindow's default handl= er for the key-press-event first calls gtk_window_activate_key(), which act= ivates mnemonics and accelerators.=0AIf gtk_window_activate_key() returns T= RUE, the event is considered fully handled.=0AIf gtk_window_activate_key() = returns FALSE, gtk_window_propagate_key_event() is called, and at last the = event is sent to the widget with keyboard focus, and propagated as describe= d in the gtkmm tutorial.=0A=0AI think you actually have a chance to get the= keyboard event before gtk_window_activate_key().=0AConnect your event hand= ler to the key-press-event signal (and perhaps also to key-release-event) i= n the toplevel widget (Gtk::Window). Connect with after=3Dfalse. Then your = event handler will be called before GtkWindow's default event handler, and = you have a chance to mark the event fully handled (by returning true) befor= e gtk_window_activate_key() is called. Example (the 'false' parameter is im= portant!):=0A=0A=A0 window->signal_key_press_event().connect(sigc::mem_fun(= *this, &MyWindow::on_key_event), false);=0A=0AKjell=0A=0A2012-01-13 04:26, = lecas malecas skrev:=0A> Actually, I'm not sure if this would fix it, since= you're using=0A> accelerator keys (those keys could be checked first befor= e the event=0A> is emited in the widget?.. not sure).=0A> =0A> If it doesn'= t work, try to have the shortcuts in an event function on=0A> the Gtk::Wind= ow, instead of as an accelerator.=0A> =0A> On Fri, Jan 13, 2012 at 1:17 AM,= lecas malecas=A0 wrote:=0A>> You could try overridin= g the event functions (for example: virtual=0A>> bool on_key_press_event (G= dkEventKey* event)).=0A>> =0A>> =0A>> On Thu, Jan 12, 2012 at 7:15 PM, Carl= os Lopez Gonzalez=0A>> =A0 wrote:=0A>>> Hi!= =0A>>> First of all I want to say sorry for the long post, but the existing= code is=0A>>> long to explain.=0A>>> According to the Event Propagation le= sson from the Grkmm Programming book,=0A>>> one even that happens in a widg= et can be handled by it by connecting the=0A>>> correspondent signal to the= event handler. If the handler returns true, the=0A>>> event isn't propagat= ed upstream to the parent containers of the widget.=0A>>> =0A>>> I'm having= troubles obtaining the intended result:=0A>>> =0A>>> --301845866-1955521615-1326488291=:47444 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable
Yeah! FInally it work= s!
My top level Gtk::Window is called ToolBox: = class Toolbox : public Gtk::Window so I added the signal connections as yo= u mentioned, in the constructor:
    = signal_key_press_event().connect(sigc::mem_fun(*this, &Toolbox::on_key_= press_event), false);
    signal_key_release_event().conn= ect(sigc::mem_fun(*this, &Toolbox::on_key_release_event), false);
The ToolBox only has one member instance of class Wid= get_Distance: public Gtk::SpinButton.
This is o= ne of the widgets where I want to stop the event propagation.
<= div>So I added two members to the Widget_Distance to handle the press= and release key events:
bool
Widget_Distance= ::on_key_press_event(GdkEventKey* event)
{
    return = SpinButton::on_key_press_event(event);
}

bool
Widget_Distance::on_key_release_event(GdkEventKey* event)
{
 = ;   return SpinButton::on_key_release_event(event);
}

It calls the SpinButton event ha= ndlers, so when the SpinButton  doesn't handle the event (false) then = it returns the same value.

Then I added the two other event handlers needed in the ToolBox:<= /div>

bool
Toolbox::on_key_press_e= vent(GdkEventKey* event)
{
    if(widget_defaults->= get_widget_bline_width()->is_focus())
      =   return widget_defaults->get_widget_bline_width()->on_key_press_event(event)= ;
    return Gtk::Window::on_key_press_event(event);
}=

bool
Toolbox::on_key_release_event(GdkEventKey* event)
{
&= nbsp;   if(widget_defaults->get_widget_bline_width()->is_fo= cus())
        return widget_defaults->= get_widget_bline_width()->on_key_release_event(event);
  &n= bsp; return Gtk::Window::on_key_release_event(event);
= }

Notice that I first lookup if t= he widget_bline_width (which is a instance of a Widget_Distance class) is f= ocus. When it is focus it is being edited so I don't want to handle the key= events if the widget already handled. So if Widget_Distance handler return= s false then the event is propagated away and it is cached by the defined A= ccelerators. If the Widget_Distance handler returns true the key event doesn't need other handler and its propagation is stopped.
Now, if the Widget_Distance is not on focus, the Toolbox key event handler= will as to the Gtk::Window for the handling occurring the same things.

Thank you very much for the explanations to you all.<= /div>

One final question: the 'after' parameter in the c= onnect member is documented? if so, where is it?
Greetings
<= div>Carlos



<= span style=3D"font-weight:bold;">De: Kjell Ahlstedt <kjell.ah= lstedt@bredband.net>
Para: lecas malecas <darkiiiiii@gmail.com>; Carlos Lopez Gonzalez <carloslopezgonzalez@yahoo.es>
CC: "gtkmm-list@gnome.org" <gtkmm-list@gnome.org> Enviado: viernes 13 de e= nero de 2012 16:57
Asunto:= Re: Event Propagation problem

A long reply to a= long question. The most interesting part is at the end of the reply.
The propagation of keyboard events is more complicated than the descripti= on in the Gtkmm tutorial shows.
When I helped Pedro with the Keyboard Ev= ents chapter, he found this description:
http://faq= .pygtk.org/index.py?file=3Dfaq03.011.htp&req=3Dshow
(If you're v= ery interested, see bug https://bugzilla.gnome.org/show_bug.cgi?id=3D661857)=

The last paragraph in the pygtk FAQ reads:

"Keyboard events = are handled differently. When your window receives a keyboard event, it is = first dispatched to the toplevel window, which will check if it matches any= keyboard shortcuts. If the key press doesn't match a shortcut, then the ev= ent is dispatched to the child widget that currently has focus."

Bec= ause we were not sure if that still holds (written Nov 2002), we decided no= t to mention it in the gtkmm tutorial.

Now I looked in gtk+'s source= code to see how events (especially keyboard events) are really handled.
Start at gtk_main_do_event(). The description of that function is inco= mplete. It does not at all mention the most interesting part of how keyboar= d events are handled, perhaps because that happens in gtk_propagate_event()= to which the event is usually sent. The description of gtk_propagate_event() is equally incomplete. It does not send keyboard eve= nts to the window with keyboard focus, but to the toplevel window (GtkWindo= w, Gtk::Window in gtkmm).
gtk_propagate_event() calls gtk_widget_event()= , which emits the key-press-event or key-release-event signal.
GtkWindow= 's default handler for the key-press-event first calls gtk_window_activate_= key(), which activates mnemonics and accelerators.
If gtk_window_activat= e_key() returns TRUE, the event is considered fully handled.
If gtk_wind= ow_activate_key() returns FALSE, gtk_window_propagate_key_event() is called= , and at last the event is sent to the widget with keyboard focus, and prop= agated as described in the gtkmm tutorial.

I think you actually have= a chance to get the keyboard event before gtk_window_activate_key().
Co= nnect your event handler to the key-press-event signal (and perhaps also to= key-release-event) in the toplevel widget (Gtk::Window). Connect with after=3Dfalse. Then your event handler will be called before GtkWindo= w's default event handler, and you have a chance to mark the event fully ha= ndled (by returning true) before gtk_window_activate_key() is called. Examp= le (the 'false' parameter is important!):

  window->signal_k= ey_press_event().connect(sigc::mem_fun(*this, &MyWindow::on_key_event),= false);

Kjell

2012-01-13 04:26, lecas malecas skrev:
>= Actually, I'm not sure if this would fix it, since you're using
> ac= celerator keys (those keys could be checked first before the event
> = is emited in the widget?.. not sure).
>
> If it doesn't work, = try to have the shortcuts in an event function on
> the Gtk::Window, = instead of as an accelerator.
>
> On Fri, Jan 13, 2012 at 1:17= AM, lecas malecas<darkiiiiii@gmail.com>  wrote:
>> You could try overriding the event functions (for examp= le: virtual
>> bool on_key_press_event (GdkEventKey* event)).
&= gt;>
>>
>> On Thu, Jan 12, 2012 at 7:15 PM, Carlos L= opez Gonzalez
>> <carloslopezgonzalez@yaho= o.es>  wrote:
>>> Hi!
>>> First of all = I want to say sorry for the long post, but the existing code is
>>= > long to explain.
>>> According to the Event Propagation le= sson from the Grkmm Programming book,
>>> one even that happens= in a widget can be handled by it by connecting the
>>> corresp= ondent signal to the event handler. If the handler returns true, the
>= ;>> event isn't propagated upstream to the parent containers of the w= idget.
>>>
>>> I'm having troubles obtaining the intended result:
>>>
>>>



--301845866-1955521615-1326488291=:47444-- From kjell.ahlstedt@bredband.net Sat Jan 14 10:01:31 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 7B6A375007B for ; Sat, 14 Jan 2012 10:01:31 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FwpdjcIU+jkW for ; Sat, 14 Jan 2012 10:01:28 +0000 (UTC) Received: from smtprelay-b12.telenor.se (smtprelay-b12.telenor.se [62.127.194.21]) by menubar.gnome.org (Postfix) with ESMTP id 7C4F3750077 for ; Sat, 14 Jan 2012 10:01:19 +0000 (UTC) Received: from ipb1.telenor.se (ipb1.telenor.se [195.54.127.164]) by smtprelay-b12.telenor.se (Postfix) with ESMTP id DF7D4DA04 for ; Sat, 14 Jan 2012 11:01:16 +0100 (CET) X-SMTPAUTH-B2: [kjelahls] X-SENDER-IP: [85.227.232.137] X-LISTENER: [smtp.bredband.net] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AuIbAMlQEU9V4+iJPGdsb2JhbAAMN4JNqwEBAQEBN4IkAQEBAQMnUQEQCyEWDwkDAgECATEUBg0BBwEBh362NYwXBIJbpHg X-IronPort-AV: E=Sophos;i="4.71,509,1320620400"; d="scan'208,217";a="251208580" Received: from c-89e8e355.06-203-73746f44.cust.bredbandsbolaget.se (HELO [192.168.1.64]) ([85.227.232.137]) by ipb1.telenor.se with ESMTP; 14 Jan 2012 11:01:16 +0100 Message-ID: <4F11526B.5000705@bredband.net> Date: Sat, 14 Jan 2012 11:01:15 +0100 From: Kjell Ahlstedt User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0 MIME-Version: 1.0 To: Carlos Lopez Gonzalez Subject: Re: Event Propagation problem References: <1326395738.23453.YahooMailNeo@web27906.mail.ukl.yahoo.com> <4F10544C.4020407@bredband.net> <1326488291.47444.YahooMailNeo@web27901.mail.ukl.yahoo.com> In-Reply-To: <1326488291.47444.YahooMailNeo@web27901.mail.ukl.yahoo.com> Content-Type: multipart/alternative; boundary="------------040503090408020300000805" Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Jan 2012 10:01:31 -0000 This is a multi-part message in MIME format. --------------040503090408020300000805 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hi Carlos, Glib::SignalProxy1<...> with its connect() method is documented here: http://developer.gnome.org/glibmm/unstable/classGlib_1_1SignalProxy1.html When I look at your code I notice that my previous long reply was not long enough. I had forgotten the possibility to override default signal handlers, as described here: http://developer.gnome.org/gtkmm-tutorial/stable/sec-overriding-default-signal-handlers.html.en That's actually what you have done, when you have overridden the virtual functions Gtk::Widget::on_key_press_event() and on_key_release_event() in Toolbox. The calls to signal_key_[press|release]_event().connect() in Toolbox are unnecessary, and I recommend that you delete them. I think that your Toolbox::on_key_[press|release]_event() functions are called twice, when they return false. (Once because of the signal handlers you connect, then again (if false is returned) because they are part of the default signal handling.) No disaster follows, but it's unnecessary. Kjell 2012-01-13 21:58, Carlos Lopez Gonzalez skrev: > Yeah! FInally it works! > My top level Gtk::Window is called ToolBox: class Toolbox : public > Gtk::Window so I added the signal connections as you mentioned, in the > constructor: > signal_key_press_event().connect(sigc::mem_fun(*this, > &Toolbox::on_key_press_event), false); > signal_key_release_event().connect(sigc::mem_fun(*this, > &Toolbox::on_key_release_event), false); > The ToolBox only has one member instance of class Widget_Distance: > public Gtk::SpinButton. > This is one of the widgets where I want to stop the event propagation. > So I added two members to the Widget_Distance to handle the press and > release key events: > bool > Widget_Distance::on_key_press_event(GdkEventKey* event) > { > return SpinButton::on_key_press_event(event); > } > > bool > Widget_Distance::on_key_release_event(GdkEventKey* event) > { > return SpinButton::on_key_release_event(event); > } > > It calls the SpinButton event handlers, so when the SpinButton > doesn't handle the event (false) then it returns the same value. > > Then I added the two other event handlers needed in the ToolBox: > > bool > Toolbox::on_key_press_event(GdkEventKey* event) > { > if(widget_defaults->get_widget_bline_width()->is_focus()) > return > widget_defaults->get_widget_bline_width()->on_key_press_event(event); > return Gtk::Window::on_key_press_event(event); > } > > bool > Toolbox::on_key_release_event(GdkEventKey* event) > { > if(widget_defaults->get_widget_bline_width()->is_focus()) > return > widget_defaults->get_widget_bline_width()->on_key_release_event(event); > return Gtk::Window::on_key_release_event(event); > } > > Notice that I first lookup if the widget_bline_width (which is a > instance of a Widget_Distance class) is focus. When it is focus it is > being edited so I don't want to handle the key events if the widget > already handled. So if Widget_Distance handler returns false then the > event is propagated away and it is cached by the defined Accelerators. > If the Widget_Distance handler returns true the key event doesn't need > other handler and its propagation is stopped. > Now, if the Widget_Distance is not on focus, the Toolbox key event > handler will as to the Gtk::Window for the handling occurring the same > things. > > Thank you very much for the explanations to you all. > > One final question: the 'after' parameter in the connect member is > documented? if so, where is it? > Greetings > Carlos > --------------040503090408020300000805 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hi Carlos,

Glib::SignalProxy1<...> with its connect() method is documented here:
http://developer.gnome.org/glibmm/unstable/classGlib_1_1SignalProxy1.html

When I look at your code I notice that my previous long reply was not long enough. I had forgotten the possibility to override default signal handlers, as described here:
http://developer.gnome.org/gtkmm-tutorial/stable/sec-overriding-default-signal-handlers.html.en

That's actually what you have done, when you have overridden the virtual functions Gtk::Widget::on_key_press_event() and on_key_release_event() in Toolbox. The calls to signal_key_[press|release]_event().connect() in Toolbox are unnecessary, and I recommend that you delete them. I think that your Toolbox::on_key_[press|release]_event() functions are called twice, when they return false. (Once because of the signal handlers you connect, then again (if false is returned) because they are part of the default signal handling.) No disaster follows, but it's unnecessary.

Kjell

2012-01-13 21:58, Carlos Lopez Gonzalez skrev:
Yeah! FInally it works!
My top level Gtk::Window is called ToolBox:  class Toolbox : public Gtk::Window so I added the signal connections as you mentioned, in the constructor:
    signal_key_press_event().connect(sigc::mem_fun(*this, &Toolbox::on_key_press_event), false);
    signal_key_release_event().connect(sigc::mem_fun(*this, &Toolbox::on_key_release_event), false);
The ToolBox only has one member instance of class Widget_Distance: public Gtk::SpinButton.
This is one of the widgets where I want to stop the event propagation.
So I added two members to the Widget_Distance to handle the press and release key events:
bool
Widget_Distance::on_key_press_event(GdkEventKey* event)
{
    return SpinButton::on_key_press_event(event);
}

bool
Widget_Distance::on_key_release_event(GdkEventKey* event)
{
    return SpinButton::on_key_release_event(event);
}

It calls the SpinButton event handlers, so when the SpinButton  doesn't handle the event (false) then it returns the same value.

Then I added the two other event handlers needed in the ToolBox:

bool
Toolbox::on_key_press_event(GdkEventKey* event)
{
    if(widget_defaults->get_widget_bline_width()->is_focus())
        return widget_defaults->get_widget_bline_width()->on_key_press_event(event);
    return Gtk::Window::on_key_press_event(event);
}

bool
Toolbox::on_key_release_event(GdkEventKey* event)
{
    if(widget_defaults->get_widget_bline_width()->is_focus())
        return widget_defaults->get_widget_bline_width()->on_key_release_event(event);
    return Gtk::Window::on_key_release_event(event);
}

Notice that I first lookup if the widget_bline_width (which is a instance of a Widget_Distance class) is focus. When it is focus it is being edited so I don't want to handle the key events if the widget already handled. So if Widget_Distance handler returns false then the event is propagated away and it is cached by the defined Accelerators. If the Widget_Distance handler returns true the key event doesn't need other handler and its propagation is stopped.
Now, if the Widget_Distance is not on focus, the Toolbox key event handler will as to the Gtk::Window for the handling occurring the same things.

Thank you very much for the explanations to you all.

One final question: the 'after' parameter in the connect member is documented? if so, where is it?
Greetings
Carlos


--------------040503090408020300000805-- From arbolone@gmail.com Sat Jan 14 17:57:26 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id D4B7D75019C for ; Sat, 14 Jan 2012 17:57:26 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -0.723 X-Spam-Level: X-Spam-Status: No, score=-0.723 tagged_above=-999 required=2 tests=[BAYES_40=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KQ0UEae1AkOS for ; Sat, 14 Jan 2012 17:57:25 +0000 (UTC) Received: from mail-vx0-f182.google.com (mail-vx0-f182.google.com [209.85.220.182]) by menubar.gnome.org (Postfix) with ESMTP id 099047500C3 for ; Sat, 14 Jan 2012 17:57:16 +0000 (UTC) Received: by vcbfl17 with SMTP id fl17so403645vcb.27 for ; Sat, 14 Jan 2012 09:57:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:subject:date:message-id:mime-version:content-type:x-mailer :thread-index:content-language; bh=2Q3VhaSMAW7R5wf8cOpFt1s7r7PqwuXIcVoLBvOjg38=; b=xsFRiOpSqxs2E0q4drdkVR69XpV+MnS+8EvbmKcdgViUvh/RZnCr4ZXI2t1mw6OL6D 9+QkxNMq0bEZloisRYGNgNnUMDsNg/iDChW6I3UTKl3E3/U+pn5W4WGfwLRp7JUd49ip MMsW3Pb1xvp4Qivm3GWhBsptnJD6+sJvdhkNA= Received: by 10.52.64.228 with SMTP id r4mr2820937vds.36.1326563834912; Sat, 14 Jan 2012 09:57:14 -0800 (PST) Received: from ArbolOnePC (CPE00195bf66cb5-CM001ade84e3ce.cpe.net.cable.rogers.com. [99.228.44.154]) by mx.google.com with ESMTPS id c10sm10699453vdj.20.2012.01.14.09.57.13 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 14 Jan 2012 09:57:14 -0800 (PST) From: Arbol One To: Subject: Visual Studio 11 and Gtkmm Date: Sat, 14 Jan 2012 12:57:06 -0500 Message-ID: <000001ccd2e5$ee9ef3c0$cbdcdb40$@com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0001_01CCD2BC.05C8EBC0" X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AczS5e2o+LnJK9L6THq2DXh+S67IMg== Content-Language: en-us X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Jan 2012 17:57:27 -0000 This is a multi-part message in MIME format. ------=_NextPart_000_0001_01CCD2BC.05C8EBC0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Does anyone here know how to get VS11 and GTKmm to work together? TIA ------=_NextPart_000_0001_01CCD2BC.05C8EBC0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Does = anyone here know how to get VS11 and GTKmm to work = together?

 

TIA

------=_NextPart_000_0001_01CCD2BC.05C8EBC0-- From darkiiiiii@gmail.com Sat Jan 14 22:41:56 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id A22A27501DE for ; Sat, 14 Jan 2012 22:41:56 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.468 X-Spam-Level: X-Spam-Status: No, score=-2.468 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HK_RANDOM_ENVFROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077, TW_YG=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Yvzk3-rvwScz for ; Sat, 14 Jan 2012 22:41:54 +0000 (UTC) Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.213.182]) by menubar.gnome.org (Postfix) with ESMTP id D6A237501DA for ; Sat, 14 Jan 2012 22:41:45 +0000 (UTC) Received: by yenl12 with SMTP id l12so925840yen.27 for ; Sat, 14 Jan 2012 14:41:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=f2tdI/ACmh5f9wEz2FLDeXalBDSwGo8rEodKu4ZAzqQ=; b=FMmyjgu24rrViqQh0QMuHw7dvvgm3yNWQk7Kv+pZbkmegeQ/ASy961IulF1C9sJp12 4UrhaNoDuOGpvUdCor2jX8SS3/iNRABsCWYvgYNGDQoigoMCApdzt0VPDVqRU2/ptjMY dPR6iP7ANFu7r300Gue+L2IA26TrEz0unAKFo= MIME-Version: 1.0 Received: by 10.236.75.163 with SMTP id z23mr9589631yhd.79.1326580903957; Sat, 14 Jan 2012 14:41:43 -0800 (PST) Received: by 10.100.79.5 with HTTP; Sat, 14 Jan 2012 14:41:43 -0800 (PST) In-Reply-To: <4F10544C.4020407@bredband.net> References: <1326395738.23453.YahooMailNeo@web27906.mail.ukl.yahoo.com> <4F10544C.4020407@bredband.net> Date: Sat, 14 Jan 2012 22:41:43 +0000 Message-ID: Subject: Re: Event Propagation problem From: lecas malecas To: Kjell Ahlstedt Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Jan 2012 22:41:56 -0000 hey, maybe we should update that chapter to mention this part.. On Fri, Jan 13, 2012 at 3:57 PM, Kjell Ahlstedt wrote: > A long reply to a long question. The most interesting part is at the end = of > the reply. > > The propagation of keyboard events is more complicated than the descripti= on > in the Gtkmm tutorial shows. > When I helped Pedro with the Keyboard Events chapter, he found this > description: > http://faq.pygtk.org/index.py?file=3Dfaq03.011.htp&req=3Dshow > (If you're very interested, see bug > https://bugzilla.gnome.org/show_bug.cgi?id=3D661857) > > The last paragraph in the pygtk FAQ reads: > > "Keyboard events are handled differently. When your window receives a > keyboard event, it is first dispatched to the toplevel window, which will > check if it matches any keyboard shortcuts. If the key press doesn't matc= h a > shortcut, then the event is dispatched to the child widget that currently > has focus." > > Because we were not sure if that still holds (written Nov 2002), we decid= ed > not to mention it in the gtkmm tutorial. > > Now I looked in gtk+'s source code to see how events (especially keyboard > events) are really handled. > > Start at gtk_main_do_event(). The description of that function is > incomplete. It does not at all mention the most interesting part of how > keyboard events are handled, perhaps because that happens in > gtk_propagate_event() to which the event is usually sent. The description= of > gtk_propagate_event() is equally incomplete. It does not send keyboard > events to the window with keyboard focus, but to the toplevel window > (GtkWindow, Gtk::Window in gtkmm). > gtk_propagate_event() calls gtk_widget_event(), which emits the > key-press-event or key-release-event signal. > GtkWindow's default handler for the key-press-event first calls > gtk_window_activate_key(), which activates mnemonics and accelerators. > If gtk_window_activate_key() returns TRUE, the event is considered fully > handled. > If gtk_window_activate_key() returns FALSE, gtk_window_propagate_key_even= t() > is called, and at last the event is sent to the widget with keyboard focu= s, > and propagated as described in the gtkmm tutorial. > > I think you actually have a chance to get the keyboard event before > gtk_window_activate_key(). > Connect your event handler to the key-press-event signal (and perhaps als= o > to key-release-event) in the toplevel widget (Gtk::Window). Connect with > after=3Dfalse. Then your event handler will be called before GtkWindow's > default event handler, and you have a chance to mark the event fully hand= led > (by returning true) before gtk_window_activate_key() is called. Example (= the > 'false' parameter is important!): > > =A0window->signal_key_press_event().connect(sigc::mem_fun(*this, > &MyWindow::on_key_event), false); > > Kjell > > 2012-01-13 04:26, lecas malecas skrev: > >> Actually, I'm not sure if this would fix it, since you're using >> accelerator keys (those keys could be checked first before the event >> is emited in the widget?.. not sure). >> >> If it doesn't work, try to have the shortcuts in an event function on >> the Gtk::Window, instead of as an accelerator. >> >> On Fri, Jan 13, 2012 at 1:17 AM, lecas malecas >> =A0wrote: >>> >>> You could try overriding the event functions (for example: virtual >>> bool on_key_press_event (GdkEventKey* event)). >>> >>> >>> On Thu, Jan 12, 2012 at 7:15 PM, Carlos Lopez Gonzalez >>> =A0wrote: >>>> >>>> Hi! >>>> First of all I want to say sorry for the long post, but the existing >>>> code is >>>> long to explain. >>>> According to the Event Propagation lesson from the Grkmm Programming >>>> book, >>>> one even that happens in a widget can be handled by it by connecting t= he >>>> correspondent signal to the event handler. If the handler returns true= , >>>> the >>>> event isn't propagated upstream to the parent containers of the widget= . >>>> >>>> I'm having troubles obtaining the intended result: >>>> >>>> > From kjell.ahlstedt@bredband.net Sun Jan 15 16:10:29 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 93C8575007D for ; Sun, 15 Jan 2012 16:10:29 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.747 X-Spam-Level: X-Spam-Status: No, score=-1.747 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CesaiChtU-bL for ; Sun, 15 Jan 2012 16:10:26 +0000 (UTC) Received: from smtprelay-b22.telenor.se (smtprelay-b22.telenor.se [195.54.99.213]) by menubar.gnome.org (Postfix) with ESMTP id 7F91575005D for ; Sun, 15 Jan 2012 16:10:18 +0000 (UTC) Received: from ipb5.telenor.se (ipb5.telenor.se [195.54.127.168]) by smtprelay-b22.telenor.se (Postfix) with ESMTP id 0CA2DC7B9 for ; Sun, 15 Jan 2012 17:10:13 +0100 (CET) X-SMTPAUTH-B2: [kjelahls] X-SENDER-IP: [85.227.232.137] X-LISTENER: [smtp.bredband.net] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ap8YAL/5Ek9V4+iJPGdsb2JhbAAMOK1OAQEBATeCJAEBAQEDJwsBBTULARALIRYPCQMCAQIBDyIUBg0BBQIBAYd+tHeMFwSgDIdH X-IronPort-AV: E=Sophos;i="4.71,514,1320620400"; d="scan'208";a="27157059" Received: from c-89e8e355.06-203-73746f44.cust.bredbandsbolaget.se (HELO [192.168.1.64]) ([85.227.232.137]) by ipb5.telenor.se with ESMTP; 15 Jan 2012 17:10:13 +0100 Message-ID: <4F12FA64.2070002@bredband.net> Date: Sun, 15 Jan 2012 17:10:12 +0100 From: Kjell Ahlstedt User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0 MIME-Version: 1.0 To: Carlos Lopez Gonzalez Subject: Re: Event Propagation problem References: <1326395738.23453.YahooMailNeo@web27906.mail.ukl.yahoo.com> <4F10544C.4020407@bredband.net> <1326488291.47444.YahooMailNeo@web27901.mail.ukl.yahoo.com> <4F11526B.5000705@bredband.net> <1326541125.29255.YahooMailNeo@web171601.mail.ir2.yahoo.com> <1326543862.83133.YahooMailNeo@web171620.mail.ir2.yahoo.com> In-Reply-To: <1326543862.83133.YahooMailNeo@web171620.mail.ir2.yahoo.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Jan 2012 16:10:29 -0000 I think this is work trying: bool Toolbox::on_key_press_event(GdkEventKey* event) { Gtk::Widget* focused_widget = get_focus(); if (focused_widget_shall_override_accelerators(focused_widget)) return focused_widget->event((GdkEvent*)event); return Gtk::Window::on_key_press_event(event); } Or like so, depending on what you want to do if the focused widget does not handle the event: bool Toolbox::on_key_press_event(GdkEventKey* event) { Gtk::Widget* focused_widget = get_focus(); if (focused_widget_shall_override_accelerators(focused_widget)) { if (focused_widget->event((GdkEvent*)event)) return true; } return Gtk::Window::on_key_press_event(event); } 2012-01-14 13:24, Carlos Lopez Gonzalez skrev: > Regarding to the child with the focus, there is one member on Widget class that returns the focused child or 0 if none focused.Widget* Gtk::Window::get_focus() > That's good, I have a pointer to the focused child widget. > How do I make it handle the key event signal if its default signal handler is protected? Is there other way to make the event handled by the widget? > Thanks! > Carlos > > > > > ----- Mensaje original ----- > De: Carlos Lopez Gonzalez > Para: Kjell Ahlstedt > CC: lecas malecas; "gtkmm-list@gnome.org" > Enviado: sábado 14 de enero de 2012 12:38 > Asunto: Re: Event Propagation problem > > Hi Kjell, you're absolutely right. Removing the two signal event connections calls from the Toolbox does the job perfectly. > Also thanks for the links for the documentation on signals. Still need learning a lot! :) > > As you have noticed, the way I've researched whether one child widget of the Toolbox is on edition mode (and so, the key events can be handled and so stopped its propagation when applicable), is looking to the widget's focus status. In this case (the Toolbox) there is only one possibly conflictive widget (one spinbutton), the other are just buttons that doesn't interfere with the key accelerators. > My application has one toolbox (the top level window), one or more document windows and two helper windows with deep nested hierarchy of widgets (notebooks, H(V)Box, Treeviews and cellrenderers and celleditable widgets). > > As you can imagine the work of look up whether a deep widget is focused to call its override key signal handler might be insane. > > Is there other way to ask one window that returns the current child focused widget? Do I need to recursively look all the children and ask if they are focused or any of its children is? > Thanks in advance > Carlos > > > ________________________________ > De: Kjell Ahlstedt > Para: Carlos Lopez Gonzalez > CC: lecas malecas; "gtkmm-list@gnome.org" > Enviado: sábado 14 de enero de 2012 11:01 > Asunto: Re: Event Propagation problem > > > Hi Carlos, > > Glib::SignalProxy1<...> with its connect() method is > documented here: > http://developer.gnome.org/glibmm/unstable/classGlib_1_1SignalProxy1.html > > When I look at your code I notice that my previous long reply was > not long enough. I had forgotten the possibility to override default > signal handlers, as described here: > http://developer.gnome.org/gtkmm-tutorial/stable/sec-overriding-default-signal-handlers.html.en > > That's actually what you have done, when you have overridden the > virtual functions Gtk::Widget::on_key_press_event() and > on_key_release_event() in Toolbox. The calls to > signal_key_[press|release]_event().connect() in Toolbox are > unnecessary, and I recommend that you delete them. I think that your > Toolbox::on_key_[press|release]_event() functions are called twice, > when they return false. (Once because of the signal handlers you > connect, then again (if false is returned) because they are part of > the default signal handling.) No disaster follows, but it's > unnecessary. > > Kjell > > From kjell.ahlstedt@bredband.net Sun Jan 15 17:51:07 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id C114675007B for ; Sun, 15 Jan 2012 17:51:07 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2X-rSUkhVhUk for ; Sun, 15 Jan 2012 17:51:05 +0000 (UTC) Received: from smtprelay-b22.telenor.se (smtprelay-b22.telenor.se [195.54.99.213]) by menubar.gnome.org (Postfix) with ESMTP id CE7BD75005D for ; Sun, 15 Jan 2012 17:50:56 +0000 (UTC) Received: from ipb5.telenor.se (ipb5.telenor.se [195.54.127.168]) by smtprelay-b22.telenor.se (Postfix) with ESMTP id A4027EA807 for ; Sun, 15 Jan 2012 18:50:54 +0100 (CET) X-SMTPAUTH-B2: [kjelahls] X-SENDER-IP: [85.227.232.137] X-LISTENER: [smtp.bredband.net] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ap4YACYRE09V4+iJPGdsb2JhbAAMOKsDgkwBAQEBN4IkAQEBAQMnUhALBB0lDwIyFAYNAQcBAbxojBcEp1M X-IronPort-AV: E=Sophos;i="4.71,514,1320620400"; d="scan'208,217";a="27180079" Received: from c-89e8e355.06-203-73746f44.cust.bredbandsbolaget.se (HELO [192.168.1.64]) ([85.227.232.137]) by ipb5.telenor.se with ESMTP; 15 Jan 2012 18:50:54 +0100 Message-ID: <4F1311FD.70002@bredband.net> Date: Sun, 15 Jan 2012 18:50:53 +0100 From: Kjell Ahlstedt User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0 MIME-Version: 1.0 To: Carlos Lopez Gonzalez Subject: Re: Event Propagation problem References: <1326395738.23453.YahooMailNeo@web27906.mail.ukl.yahoo.com> <4F10544C.4020407@bredband.net> <1326488291.47444.YahooMailNeo@web27901.mail.ukl.yahoo.com> <4F11526B.5000705@bredband.net> <1326541125.29255.YahooMailNeo@web171601.mail.ir2.yahoo.com> <1326543862.83133.YahooMailNeo@web171620.mail.ir2.yahoo.com> <4F12FA64.2070002@bredband.net> In-Reply-To: <4F12FA64.2070002@bredband.net> Content-Type: multipart/alternative; boundary="------------010207010706030508090309" Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Jan 2012 17:51:08 -0000 This is a multi-part message in MIME format. --------------010207010706030508090309 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 2012-01-15 17:10, Kjell Ahlstedt skrev: > I think this is work trying: Shall be "I think this is *worth* trying:" > > bool > Toolbox::on_key_press_event(GdkEventKey* event) > { > Gtk::Widget* focused_widget = get_focus(); > > if (focused_widget_shall_override_accelerators(focused_widget)) > return focused_widget->event((GdkEvent*)event); > > return Gtk::Window::on_key_press_event(event); > } > > Or like so, depending on what you want to do if the focused widget > does not handle the event: > > bool > Toolbox::on_key_press_event(GdkEventKey* event) > { > Gtk::Widget* focused_widget = get_focus(); > > if (focused_widget_shall_override_accelerators(focused_widget)) > { > if (focused_widget->event((GdkEvent*)event)) > return true; > } > > return Gtk::Window::on_key_press_event(event); > } > --------------010207010706030508090309 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit 2012-01-15 17:10, Kjell Ahlstedt skrev:
I think this is work trying:
Shall be "I think this is worth trying:"

bool
Toolbox::on_key_press_event(GdkEventKey* event)
{
  Gtk::Widget* focused_widget = get_focus();

  if (focused_widget_shall_override_accelerators(focused_widget))
    return focused_widget->event((GdkEvent*)event);

  return Gtk::Window::on_key_press_event(event);
}

Or like so, depending on what you want to do if the focused widget does not handle the event:

bool
Toolbox::on_key_press_event(GdkEventKey* event)
{
  Gtk::Widget* focused_widget = get_focus();

  if (focused_widget_shall_override_accelerators(focused_widget))
  {
    if (focused_widget->event((GdkEvent*)event))
      return true;
  }

  return Gtk::Window::on_key_press_event(event);
}


--------------010207010706030508090309-- From kjell.ahlstedt@bredband.net Sun Jan 15 18:26:46 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id AABB6750085 for ; Sun, 15 Jan 2012 18:26:46 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.747 X-Spam-Level: X-Spam-Status: No, score=-1.747 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R2vAI6Bhjw1a for ; Sun, 15 Jan 2012 18:26:45 +0000 (UTC) Received: from smtprelay-b22.telenor.se (smtprelay-b22.telenor.se [195.54.99.213]) by menubar.gnome.org (Postfix) with ESMTP id D451375005D for ; Sun, 15 Jan 2012 18:26:36 +0000 (UTC) Received: from ipb5.telenor.se (ipb5.telenor.se [195.54.127.168]) by smtprelay-b22.telenor.se (Postfix) with ESMTP id CD3F7EB92D for ; Sun, 15 Jan 2012 19:26:32 +0100 (CET) X-SMTPAUTH-B2: [kjelahls] X-SENDER-IP: [85.227.232.137] X-LISTENER: [smtp.bredband.net] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AowbAHsZE09V4+iJPGdsb2JhbAAMOIlYoSuCTAEBAQE3giQBAQEBAzhAARALIRYPCQMCAQIBMRQGDQEHAQG8c4wXBKdT X-IronPort-AV: E=Sophos;i="4.71,514,1320620400"; d="scan'208";a="27189731" Received: from c-89e8e355.06-203-73746f44.cust.bredbandsbolaget.se (HELO [192.168.1.64]) ([85.227.232.137]) by ipb5.telenor.se with ESMTP; 15 Jan 2012 19:26:32 +0100 Message-ID: <4F131A58.4050405@bredband.net> Date: Sun, 15 Jan 2012 19:26:32 +0100 From: Kjell Ahlstedt User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0 MIME-Version: 1.0 To: lecas malecas Subject: Re: Event Propagation problem References: <1326395738.23453.YahooMailNeo@web27906.mail.ukl.yahoo.com> <4F10544C.4020407@bredband.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Jan 2012 18:26:46 -0000 Yes, it would be a good idea to update the Keyboard Events chapter. I realize now that the example program keyboard_events/simple has an unfortunate mixture of overriding the default signal handler, and connecting an extra signal handler. Similar to what Carlos first did, after my incomplete description. ExampleWindow in the program keyboard_events/propagation needs both an overridden default signal handler and an extra connected signal handler in order to show what's going on. (Perhaps even one connected signal handler that executes before the default handler, and another one after.) And of course some more explanation in the tutorial text, but not nearly as detailed as in this gtkmm-list thread. Kjell 2012-01-14 23:41, lecas malecas skrev: > hey, maybe we should update that chapter to mention this part.. > From darkiiiiii@gmail.com Mon Jan 16 20:23:31 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 84068750095 for ; Mon, 16 Jan 2012 20:23:31 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.545 X-Spam-Level: X-Spam-Status: No, score=-2.545 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HK_RANDOM_ENVFROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ErpKpFGlH5ov for ; Mon, 16 Jan 2012 20:23:29 +0000 (UTC) Received: from mail-yw0-f54.google.com (mail-yw0-f54.google.com [209.85.213.54]) by menubar.gnome.org (Postfix) with ESMTP id A9BE775006B for ; Mon, 16 Jan 2012 20:23:20 +0000 (UTC) Received: by yhfs35 with SMTP id s35so256182yhf.27 for ; Mon, 16 Jan 2012 12:23:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=B6a5WQLi9yfFI4Z85uvp1ZJFwm1QPxpOjir20d4J6fM=; b=FM+JQiXgV9fVF4YmDpijYYgZJEdqv41Sj/aXBJOgnrzc5Q5K6MkD10GdzyRgM2wvm9 E/QmPUKe0nTP2ZcyQmRKMnaIeOSdkyF7rv/An3L2LiVqBsW0u1vh9AaC/BQKt2sYWwnf rsLfea44VyQeg64RApNrHtmgmKCfb7OOdM8Eo= MIME-Version: 1.0 Received: by 10.236.84.114 with SMTP id r78mr19141053yhe.130.1326745398730; Mon, 16 Jan 2012 12:23:18 -0800 (PST) Received: by 10.100.79.5 with HTTP; Mon, 16 Jan 2012 12:23:18 -0800 (PST) In-Reply-To: <4F131A58.4050405@bredband.net> References: <1326395738.23453.YahooMailNeo@web27906.mail.ukl.yahoo.com> <4F10544C.4020407@bredband.net> <4F131A58.4050405@bredband.net> Date: Mon, 16 Jan 2012 20:23:18 +0000 Message-ID: Subject: Re: Event Propagation problem From: lecas malecas To: Kjell Ahlstedt Content-Type: text/plain; charset=ISO-8859-1 Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Jan 2012 20:23:31 -0000 On Sun, Jan 15, 2012 at 6:26 PM, Kjell Ahlstedt wrote: > Yes, it would be a good idea to update the Keyboard Events chapter. > Ok, I'll try to do that (should I reply to the same bug report of the chapter?). > I realize now that the example program keyboard_events/simple has an > unfortunate mixture of overriding the default signal handler, and connecting > an extra signal handler. Similar to what Carlos first did, after my > incomplete description. > I just noticed that now, but it isn't how I had written. I think it was changed in the commit. > ExampleWindow in the program keyboard_events/propagation needs both an > overridden default signal handler and an extra connected signal handler in > order to show what's going on. (Perhaps even one connected signal handler > that executes before the default handler, and another one after.) > Yes, I think I understand what you're saying. We can override the on_key_release_event() (and write something to cout there), and then call the Gtk::Window version (which will then work as is now). And also have the one that is called before, so the messages would be: window before window overridden entry grid window > And of course some more explanation in the tutorial text, but not nearly as > detailed as in this gtkmm-list thread. > > Kjell > > 2012-01-14 23:41, lecas malecas skrev: > >> hey, maybe we should update that chapter to mention this part.. >> > From kjell.ahlstedt@bredband.net Tue Jan 17 10:24:54 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 1F3437500F9 for ; Tue, 17 Jan 2012 10:24:54 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.747 X-Spam-Level: X-Spam-Status: No, score=-1.747 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2c6BbpidFjQV for ; Tue, 17 Jan 2012 10:24:48 +0000 (UTC) Received: from smtprelay-b22.telenor.se (smtprelay-b22.telenor.se [195.54.99.213]) by menubar.gnome.org (Postfix) with ESMTP id 8DCFD7500C6 for ; Tue, 17 Jan 2012 10:24:40 +0000 (UTC) Received: from ipb3.telenor.se (ipb3.telenor.se [195.54.127.166]) by smtprelay-b22.telenor.se (Postfix) with ESMTP id 5713DEAF81 for ; Tue, 17 Jan 2012 11:24:36 +0100 (CET) X-SMTPAUTH-B2: [kjelahls] X-SENDER-IP: [85.227.232.137] X-LISTENER: [smtp.bredband.net] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ar8aACNMFU9V4+iJPGdsb2JhbAAMOIURpyuBHgEBAQE3giQBAQEBAyMVQAEQCxgCAgUWCwICCQMCAQIBMRQGDQEFAgEBh36kXZFjgS+HfAEBCAQNFAIEAQUCDgYFTQECAQEIAQEBAxYVAwEGDAcCAgMdAwEGCQIBDQEBAwsCCwILAwEBCYFYAgcBAQIDDQECAwEBAwIDAgMEAQQWghuBFgSnUw X-IronPort-AV: E=Sophos;i="4.71,522,1320620400"; d="scan'208";a="32360422" Received: from c-89e8e355.06-203-73746f44.cust.bredbandsbolaget.se (HELO [192.168.1.64]) ([85.227.232.137]) by ipb3.telenor.se with ESMTP; 17 Jan 2012 11:24:36 +0100 Message-ID: <4F154C63.3090706@bredband.net> Date: Tue, 17 Jan 2012 11:24:35 +0100 From: Kjell Ahlstedt User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0 MIME-Version: 1.0 To: Murray Cumming Subject: Re: Using Gtk::Grid in gtkmm-documentation References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Jan 2012 10:24:54 -0000 I have a patch for gtkmm-documentation, where Gtk::Table has been replaced by Gtk::Grid in all example programs except book/table. I have deleted book/table. It's identical to book/grid, except for its use of Table instead of Grid. I have also replaced deprecated classes in gtkmm-tutorial-in.xml (Table, HBox, etc). Can I push this patch? Remove Table and other deprecated classes. * docs/tutorial/C/gtkmm-tutorial-in.xml: Remove the description of Table. Replace Table by Grid. Replace the deprecated HX and VX classes (HBox etc.) by the corresponding X classes (Box etc.). * docs/tutorial/C/figures/table.png: Deleted screenshot * docs/tutorial/Makefile.am: Don't mention the deleted file. * examples/book/assistant/examplewindow.[h|cc]: * examples/book/clipboard/ideal/examplewindow.[h|cc]: * examples/book/clipboard/simple/examplewindow.[h|cc]: * examples/book/printing/advanced/examplewindow.[h|cc]: * examples/book/printing/simple/examplewindow.[h|cc]: * examples/book/progressbar/examplewindow.[h|cc]: * examples/book/scrolledwindow/examplewindow.[h|cc]: * examples/others/arrow/direction.cc: * examples/others/dnd/dndwindow.[h|cc]: * examples/others/tictactoe/tictactoe.cc: Replace Table by Grid. * examples/book/drawingarea/joins/myarea.cc: Remove unused variable. * examples/others/cellrenderercustom/cellrenderertoggle.cc: Use all variables. * examples/book/table: Delete directory and all files in it. * examples/Makefile.am: Don't mention the deleted files. Kjell 2012-01-12 11:17, Murray Cumming skrev: > Sorry. I meant table, not box. > > Murray > > Kjell Ahlstedt wrote: > >> 2012-01-10 13:41, Murray Cumming skrev: >>> On Tue, 2012-01-10 at 13:40 +0100, Murray Cumming wrote: >>>> The latest unstable version of GTK+ deprecates GtkBox, so we should >>>> replace it with Gtk::Grid in the gtkmm book's examples. Does someone >>>> have time to do that? >>>> http://git.gnome.org/browse/gtkmm-documentation >>>> >>>> You will know that it's done when you can build gtkmm-documentation with >>>> the --enable-warnings=fatal configure option. >>> Actually, when you can run "make check", not just "make". >>> >>>> (By the way, I will soon take a day to go through the various >>>> outstanding patches for gtkmm, libsigc++, etc and deal with them >>>> properly.) >>>> >> I can do this. >> >> When I ran "make check" on code that I fetched from the git repository >> yesterday, it stopped on a program that uses Gtk::Table. GtkTable is >> deprecated, but GtkBox is not. Will GtkBox soon be deprecated? Then I >> will need to replace both Gtk::Box and Gtk::Table by Gtk::Grid. >> >> I doubt that "make check" will notice if deprecated classes are >> mentioned in gtkmm-tutorial-in.xml. That must be checked manually, I guess. >> >> If I do this job, do you want me to file a bug report where I describe >> what I do, or can I just push my commits to git.gnome.org? >> >> When I built gtkmm yesterday, the build stopped because main.cc uses >> some deprecated gtk_key_snooper_* functions. >> >> Kjell From kjell.ahlstedt@bredband.net Tue Jan 17 13:50:14 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 02DF275008B for ; Tue, 17 Jan 2012 13:50:14 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.747 X-Spam-Level: X-Spam-Status: No, score=-1.747 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bOtRkmjaf7WC for ; Tue, 17 Jan 2012 13:50:07 +0000 (UTC) Received: from smtprelay-b21.telenor.se (smtprelay-b21.telenor.se [195.54.99.212]) by menubar.gnome.org (Postfix) with ESMTP id 1DFA77500BF for ; Tue, 17 Jan 2012 13:49:58 +0000 (UTC) Received: from ipb4.telenor.se (ipb4.telenor.se [195.54.127.167]) by smtprelay-b21.telenor.se (Postfix) with ESMTP id C1BEED5B2 for ; Tue, 17 Jan 2012 14:49:56 +0100 (CET) X-SMTPAUTH-B2: [kjelahls] X-SENDER-IP: [85.227.232.137] X-LISTENER: [smtp.bredband.net] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Au0ZADh7FU9V4+iJPGdsb2JhbAAMOIlYomeBHgEBAQE3giQBAQEBAzhAARALGAkWDwkDAgECATEUBg0BBQIBAb49iHIBBwUsAQEFAwQNBQsEAgQBBQIOBgVNAQIBAQUDAQEBAQIWFQMBBgwHAgIDHQMBBgkCAQ0BAQMLAgsCCwMBAQmBWAIHAQECAw0BAgMBAQMCAwIDBAEEg0cEp1M X-IronPort-AV: E=Sophos;i="4.71,523,1320620400"; d="scan'208";a="1792569187" Received: from c-89e8e355.06-203-73746f44.cust.bredbandsbolaget.se (HELO [192.168.1.64]) ([85.227.232.137]) by ipb4.telenor.se with ESMTP; 17 Jan 2012 14:49:56 +0100 Message-ID: <4F157C84.7060708@bredband.net> Date: Tue, 17 Jan 2012 14:49:56 +0100 From: Kjell Ahlstedt User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0 MIME-Version: 1.0 To: lecas malecas Subject: Re: Event Propagation problem References: <1326395738.23453.YahooMailNeo@web27906.mail.ukl.yahoo.com> <4F10544C.4020407@bredband.net> <4F131A58.4050405@bredband.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Jan 2012 13:50:14 -0000 2012-01-16 21:23, lecas malecas skrev: > On Sun, Jan 15, 2012 at 6:26 PM, Kjell Ahlstedt > wrote: >> Yes, it would be a good idea to update the Keyboard Events chapter. >> > Ok, I'll try to do that (should I reply to the same bug report of the chapter?). You can either reopen the old keyboard event bug, or file a new bug report. I don't think it matters much which alterative you choose. >> I realize now that the example program keyboard_events/simple has an >> unfortunate mixture of overriding the default signal handler, and connecting >> an extra signal handler. Similar to what Carlos first did, after my >> incomplete description. >> > I just noticed that now, but it isn't how I had written. I think it > was changed in the commit. It happened when Murray made your code conform to the (undocumented, I think) design rules for the example programs in the tutorial. He changed the name of the signal handler, and then it became an overridden virtual function. >> ExampleWindow in the program keyboard_events/propagation needs both an >> overridden default signal handler and an extra connected signal handler in >> order to show what's going on. (Perhaps even one connected signal handler >> that executes before the default handler, and another one after.) >> > Yes, I think I understand what you're saying. We can override the > on_key_release_event() (and write something to cout there), and then > call the Gtk::Window version (which will then work as is now). > And also have the one that is called before, so the messages would be: > > window before > window overridden > entry > grid > window > >> And of course some more explanation in the tutorial text, but not nearly as >> detailed as in this gtkmm-list thread. >> >> Kjell >> >> 2012-01-14 23:41, lecas malecas skrev: >> >>> hey, maybe we should update that chapter to mention this part.. >>> From darkiiiiii@gmail.com Wed Jan 18 03:26:33 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 879287500AA for ; Wed, 18 Jan 2012 03:26:33 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.545 X-Spam-Level: X-Spam-Status: No, score=-2.545 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HK_RANDOM_ENVFROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id c8uolT-ayp9P for ; Wed, 18 Jan 2012 03:26:30 +0000 (UTC) Received: from mail-gx0-f182.google.com (mail-gx0-f182.google.com [209.85.161.182]) by menubar.gnome.org (Postfix) with ESMTP id C2740750068 for ; Wed, 18 Jan 2012 03:26:20 +0000 (UTC) Received: by ggki1 with SMTP id i1so5263669ggk.27 for ; Tue, 17 Jan 2012 19:26:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=/VIjMczCcY8n6u5RFUrQkAkNIFcQcb6OoTKR88wDK70=; b=oxZ+saSywP0o8bkJK26qPX+yKqiiLrFBHcupEJfbG0onosrwEw+ytNoMIBPpL8QPUn s2pQMzrImBhiN7S+d5i0Atys4qP+jmUg/PP0gyThYie4lxpKdciTnpoEaIC0xFIK4yr/ 48aY1DMwL5bJUoAijy8U1xTYE9o9hgCQjtRV0= MIME-Version: 1.0 Received: by 10.236.161.197 with SMTP id w45mr28001199yhk.96.1326857179491; Tue, 17 Jan 2012 19:26:19 -0800 (PST) Received: by 10.100.79.5 with HTTP; Tue, 17 Jan 2012 19:26:19 -0800 (PST) In-Reply-To: <4F157C84.7060708@bredband.net> References: <1326395738.23453.YahooMailNeo@web27906.mail.ukl.yahoo.com> <4F10544C.4020407@bredband.net> <4F131A58.4050405@bredband.net> <4F157C84.7060708@bredband.net> Date: Wed, 18 Jan 2012 03:26:19 +0000 Message-ID: Subject: Re: Event Propagation problem From: lecas malecas To: Kjell Ahlstedt Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Jan 2012 03:26:33 -0000 On Tue, Jan 17, 2012 at 1:49 PM, Kjell Ahlstedt wrote: > 2012-01-16 21:23, lecas malecas skrev: > >> On Sun, Jan 15, 2012 at 6:26 PM, Kjell Ahlstedt >> =A0wrote: >>> >>> Yes, it would be a good idea to update the Keyboard Events chapter. >>> >> Ok, I'll try to do that (should I reply to the same bug report of the >> chapter?). > > You can either reopen the old keyboard event bug, or file a new bug repor= t. > I don't think it matters much which alterative you choose. > I replied to the old one ( https://bugzilla.gnome.org/show_bug.cgi?id=3D661= 857 ) >>> I realize now that the example program keyboard_events/simple has an >>> unfortunate mixture of overriding the default signal handler, and >>> connecting >>> an extra signal handler. Similar to what Carlos first did, after my >>> incomplete description. >>> >> I just noticed that now, but it isn't how I had written. I think it >> was changed in the commit. > > It happened when Murray made your code conform to the (undocumented, I > think) design rules for the example programs in the tutorial. He changed = the > name of the signal handler, and then it became an overridden virtual > function. > Ok, we probably should change it. It doesn't have to be what I had called before. >>> ExampleWindow in the program keyboard_events/propagation needs both an >>> overridden default signal handler and an extra connected signal handler >>> in >>> order to show what's going on. (Perhaps even one connected signal handl= er >>> that executes before the default handler, and another one after.) >>> >> Yes, I think I understand what you're saying. We can override the >> on_key_release_event() (and write something to cout there), and then >> call the Gtk::Window version (which will then work as is now). >> And also have the one that is called before, so the messages would be: >> >> window before >> window overridden >> entry >> grid >> window >> >>> And of course some more explanation in the tutorial text, but not nearl= y >>> as >>> detailed as in this gtkmm-list thread. >>> >>> Kjell >>> >>> 2012-01-14 23:41, lecas malecas skrev: >>> >>>> hey, maybe we should update that chapter to mention this part.. >>>> > From remoorsed@yahoo.com Sun Jan 22 01:24:49 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 79AC87500A4 for ; Sun, 22 Jan 2012 01:24:49 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.854 X-Spam-Level: X-Spam-Status: No, score=-1.854 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, TW_GT=0.077, TW_TK=0.077, T_RP_MATCHES_RCVD=-0.01] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1l1oAb+qgwWT for ; Sun, 22 Jan 2012 01:24:47 +0000 (UTC) Received: from nm9.bullet.mail.bf1.yahoo.com (nm9.bullet.mail.bf1.yahoo.com [98.139.212.168]) by menubar.gnome.org (Postfix) with SMTP id 1788675006B for ; Sun, 22 Jan 2012 01:24:38 +0000 (UTC) Received: from [98.139.214.32] by nm9.bullet.mail.bf1.yahoo.com with NNFMP; 22 Jan 2012 01:24:37 -0000 Received: from [98.139.212.193] by tm15.bullet.mail.bf1.yahoo.com with NNFMP; 22 Jan 2012 01:24:37 -0000 Received: from [127.0.0.1] by omp1002.mail.bf1.yahoo.com with NNFMP; 22 Jan 2012 01:24:37 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 406360.39615.bm@omp1002.mail.bf1.yahoo.com Received: (qmail 71909 invoked by uid 60001); 22 Jan 2012 01:24:37 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1327195477; bh=QIjENIONrxQrWtPZk0PkKg6AbaOBgPgr98jDPl1ggIo=; h=X-YMail-OSG:Received:X-Mailer:Message-ID:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type; b=tRqg+vfEm5hv7h2WQs/Kiy47Q1gpSVM7EQyCsPixfiZucA9lUFNS1gxGiyPIjByzBt0JizXi4MK++wtEa6IHgFtUxvpXWjbBlqKtyFzu8p76b1BptM01II4+VwJ3AV51djPl7h6fjn8b/A/G+SJNVcs34exZiABwgAMqWmH0F80= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Mailer:Message-ID:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type; b=FaZczwkIat3jIMhKJgfVDx/3jwBXWXhT5jKxfIA8Y4NggVYvo6m99syR/jY3rYhFHnid5qLNASymqy/w0a1ILP79AgueAgP4NpXsBdNc0LLXYdWX1TuAF0h9oLBZcdJxH++mss9W9CnfTUZOTh8Tqrj5PJRkJAGjJ5NZTTVnYnk=; X-YMail-OSG: hEftQp4VM1lEVnDdUK3itj99FYB6oeL7g.P0XKtGuYCvqSY 76GjFN4U1xU2H6lSjz9Gu1YtxH9zHLICLgirBe4E4Bkm.FKGD.FCzVwB7J4V yABvS4l5cPtDiVIzK.AfxuIT45I_RDYR7CBj_19PJkbBUcVATJrY97FzgNuC eA_tO2wMLpDThhJQ1Wt03no1CbwWsbhaEmmUUajVbA.TNqb1qheGjBr3nMeL dHvib6oZ4wlKi7K3qe4hLOB4IuOkhwfNuTTwoKq0qwZsZQ.IsvFGnKF.hx.u y.4ELxZY1PXLEzuiILmesVbDZOOJxmiAPoENPRQfu0kP2Xuq15SnHL9J2Ckt GwIWDof1MqkuCxpMUYCG9dVlZFsfcl.NuCt6dW4EVbZ5wUIVX9.IGe7ALyB2 7JoWHw8qzTDFO5Codo3yYjQThaKBy.srSoSVmiUB2FhsFjaFzO3Q0BPkSFWh zMKr.FZ4ScaJ6BJUFLBOXr_Zd3O8- Received: from [71.212.154.17] by web161402.mail.bf1.yahoo.com via HTTP; Sat, 21 Jan 2012 17:24:37 PST X-Mailer: YahooMailWebService/0.8.115.331698 Message-ID: <1327195477.71808.YahooMailNeo@web161402.mail.bf1.yahoo.com> Date: Sat, 21 Jan 2012 17:24:37 -0800 (PST) From: marty moore Subject: different return value from same variable To: "gtkmm-list@gnome.org" MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="-347748201-1578316126-1327195477=:71808" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: marty moore List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jan 2012 01:24:49 -0000 ---347748201-1578316126-1327195477=:71808 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Hi all,=0AI have a wierd C++/gtkmm problem. I have two functions which retu= rn the value of the same variable=A0 - and produce different values for tha= t variable. I'm guessing it's not a gtkmm problem, but I'm not sure. Please= bear with me.=0A=0Athe details:=0A=0Ain ctx.h:=A0=A0 the header file for c= lass Cnb, a sub-window for class Gui, which is a Gtk::Window.=0ACnb contain= s both functions ( get_opmode & get_opmode2 ) and the variable ( _opmode ).= e_opmode is the enum data type for _opmode.=0A=0A=A0=A0=A0 class Cnb=A0=A0= : public Gtk::Window=0A=A0 {=0A=A0 ...=0A=A0 e_opmode=A0 get_opmode () { r= eturn _opmode; }=0A=A0 e_opmode=A0 get_opmode2 ();=0A=A0 ...=0A=A0 e_opmode= _opmode;=A0=A0 // current operation mode=0A=A0 ...=0A=A0 };=0A=0Ain ctx.cp= p: the implementation file for ctx.h:=0A=0A=A0 ...=0A=A0 e_opmode Cnb::get_= opmode2 ()=0A=A0=A0=A0 {=0A=A0=A0 =A0return _opmode; =0A=A0=A0=A0 }=0A=A0 .= ..=0A=0Ain gui.cpp: a Gtk::Window (main window) class where CNB is declared= ,=0AAfter declaring CNB, I call the 2 functions which return the same varia= ble ( _opmode ).=0A=0A=A0 Gui::Gui( bool is_sync)=0A=A0 {=0A=A0 ...=0A=A0 C= NB =3D new Cnb();=0A=A0 std::cout << "gui 1: &CNB =3D " << &CNB << ", &_opm= ode =3D "=0A=A0=A0 =A0=A0=A0 =A0=A0 << &CNB->_opmode << std::endl;=0A=A0 st= d::cout << "gui 1: CNB->get_opmode2 =3D "=0A=A0=A0=A0 =A0=A0=A0 =A0=A0 << C= NB->get_opmode2() << ", CNB->get_opmode =3D "=0A=A0=A0 =A0=A0 << CNB->get_o= pmode() << std::endl;=0A=A0=A0 =A0std::cout << "gui 1: &CNB =3D " << &CNB <= < ", &_opmode =3D "=0A=A0=A0 =A0=A0=A0 =A0=A0 << &CNB->_opmode << std::endl= ;=0A=A0 ...=0A=A0 }=0A=0Athe following output results:=0A=0A=A0 ...=0A=A0 g= ui 1: &CNB =3D 0x6d0a70, &_opmode =3D 0x94a460=0A=A0 gui 1: CNB->get_opmode= 2 =3D 1, get_opmode =3D 19464624=0A=A0 gui 1: &CNB =3D 0x6d0a70, &_opmode = =3D 0x94a460=0A=A0 ...=0A=0AThe correct value is '1'.=0AI get no errors on = compilation or run-time. The addresses of CNB and _opmode isn't always the = same for successive program tun, so it's not a RAM problem.=0AI've rebooted= and re-strated emacs, with the same error.=0A=0ADoes anyone have a clue as= to why I have different values for _opmode when using the 2 functions?=0AI= 'm completelly stumped.=0A=0AI'm using:=0A=A0 Fedora 14=0A=A0 gcc-4.5.1-4= =0A=A0 Emacs 23.2-7=0A=A0 gtkmm24-2.22.0-1=0A=0AThanks in advance for shedd= ing some light on this.=0AMarty ---347748201-1578316126-1327195477=:71808 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable
Hi all,
I have a w= ierd C++/gtkmm problem. I have two functions which return the value of the = same variable  - and produce different values for that variable. I'm g= uessing it's not a gtkmm problem, but I'm not sure. Please bear with me.
the details:

in ctx.h:   the header file for class Cn= b, a sub-window for class Gui, which is a Gtk::Window.
Cnb contains both= functions ( get_opmode & get_opmode2 ) and the variable ( _opmode ). e= _opmode is the enum data type for _opmode.

    class = Cnb   : public Gtk::Window
  {
  ...
  e_= opmode  get_opmode () { return _opmode; }
  e_opmode  get= _opmode2 ();
  ...
  e_opmode _opmode;   // curre= nt operation mode
  ...
  };

in ctx.cpp: the implementation file for ctx.h:

  ...
  e_opmode Cnb::g= et_opmode2 ()
    {
    return _opmode;=
    }
  ...

in gui.cpp: a Gtk::Window (m= ain window) class where CNB is declared,
After declaring CNB, I call the= 2 functions which return the same variable ( _opmode ).

  Gui:= :Gui( bool is_sync)
  {
  ...
  CNB =3D new Cnb();<= br>  std::cout << "gui 1: &CNB =3D " << &CNB <&= lt; ", &_opmode =3D "
          &= lt;< &CNB->_opmode << std::endl;
  std::cout <&l= t; "gui 1: CNB->get_opmode2 =3D "
      &nbs= p;    << CNB->get_opmode2() << ", CNB->get_opmo= de =3D "
      << CNB->get_opmode() <<= ; std::endl;
    std::cout << "gui 1: &CNB =3D = " << &CNB << ", &_opmode =3D "
    &nb= sp;     << &CNB->_opmode << std::endl;  ...
  }

the following output results:

  = ...
  gui 1: &CNB =3D 0x6d0a70, &_opmode =3D 0x94a460
&n= bsp; gui 1: CNB->get_opmode2 =3D 1, get_opmode =3D 19464624
  gu= i 1: &CNB =3D 0x6d0a70, &_opmode =3D 0x94a460
  ...

= The correct value is '1'.
I get no errors on compilation or run-time. Th= e addresses of CNB and _opmode isn't always the same for successive program= tun, so it's not a RAM problem.
I've rebooted and re-strated emacs, wit= h the same error.

Does anyone have a clue as to why I have different= values for _opmode when using the 2 functions?
I'm completelly stumped.=

I'm using:
  Fedora 14
  gcc-4.5.1-4
  Emac= s 23.2-7
  gtkmm24-2.22.0-1

Thanks in advance for shedding s= ome light on this.
Marty

---347748201-1578316126-1327195477=:71808-- From gtkmm@manumark.de Sun Jan 22 10:23:08 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 95A3E7500DC for ; Sun, 22 Jan 2012 10:23:08 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.445 X-Spam-Level: X-Spam-Status: No, score=-2.445 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, HK_RANDOM_ENVFROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jA7lwPBmffJl for ; Sun, 22 Jan 2012 10:23:06 +0000 (UTC) X-Greylist: delayed 867 seconds by postgrey-1.32 at menubar.gnome.org; Sun, 22 Jan 2012 10:23:05 UTC Received: from mxrout02.htp-tel.de (mxr02.htp-tel.de [81.14.243.17]) by menubar.gnome.org (Postfix) with ESMTP id EE7357500D2 for ; Sun, 22 Jan 2012 10:22:57 +0000 (UTC) Received: from mxrin01.htp-tel.de ([81.14.243.120]) by mxrout02.htp-tel.de with ESMTP id q0MA8RLO008993 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Sun, 22 Jan 2012 11:08:27 +0100 (CET) Received: from whisper.whisper (a89-182-103-61.net-htp.de [89.182.103.61]) by mxrin01.htp-tel.de with ESMTP id q0MA8QXA000455; Sun, 22 Jan 2012 11:08:27 +0100 (CET) Received: by whisper.whisper (Postfix, from userid 500) id 9AD253FB0E; Sun, 22 Jan 2012 11:08:21 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by whisper.whisper (Postfix) with ESMTP id 8E3903FB08; Sun, 22 Jan 2012 11:08:21 +0100 (CET) Date: Sun, 22 Jan 2012 11:08:21 +0100 (CET) From: Mark Roberts X-X-Sender: mroberts@whisper.whisper To: marty moore Subject: Re: different return value from same variable In-Reply-To: <1327195477.71808.YahooMailNeo@web161402.mail.bf1.yahoo.com> Message-ID: References: <1327195477.71808.YahooMailNeo@web161402.mail.bf1.yahoo.com> User-Agent: Alpine 1.10 (DEB 962 2008-03-14) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-1463810303-1352105366-1327226901=:3001" X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.0 (mxrin01.htp-tel.de [172.19.11.4]); Sun, 22 Jan 2012 11:08:27 +0100 (CET) Cc: "gtkmm-list@gnome.org" X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jan 2012 10:23:08 -0000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---1463810303-1352105366-1327226901=:3001 Content-Type: TEXT/PLAIN; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: 8BIT Dear Marty, > I have a wierd C++/gtkmm problem. I have two functions which return the > value of the same variable  - and produce different values for that > variable. I'm guessing it's not a gtkmm problem, but I'm not sure. > Please bear with me. [...] >   gui 1: &CNB = 0x6d0a70, &_opmode = 0x94a460 >   gui 1: CNB->get_opmode2 = 1, get_opmode = 19464624 >   gui 1: &CNB = 0x6d0a70, &_opmode = 0x94a460 >From what you write, this is not possible. As you said. Maybe you can send the source code round (as small as possible) that reproduces the error? Good luck, Mark ---1463810303-1352105366-1327226901=:3001-- From gavinl@compacsort.com Sun Jan 22 21:49:13 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 6CBC67500BF for ; Sun, 22 Jan 2012 21:49:13 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: 0.946 X-Spam-Level: X-Spam-Status: No, score=0.946 tagged_above=-999 required=2 tests=[BAYES_20=-0.001, RDNS_NONE=0.793, TW_GT=0.077, TW_TK=0.077] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MaEp+-RcNNng for ; Sun, 22 Jan 2012 21:49:11 +0000 (UTC) X-Greylist: delayed 815 seconds by postgrey-1.32 at menubar.gnome.org; Sun, 22 Jan 2012 21:49:08 UTC Received: from smtp.compacsort.com (unknown [202.180.125.97]) by menubar.gnome.org (Postfix) with ESMTP id E26347500CF for ; Sun, 22 Jan 2012 21:49:00 +0000 (UTC) Received: from gavinl7 ([10.200.200.254]) by smtp.compacsort.com (IceWarp 10.3.5) with ESMTP id GWF58320; Mon, 23 Jan 2012 10:35:20 +1300 From: "Gavin Lambert" To: "'marty moore'" , References: <1327195477.71808.YahooMailNeo@web161402.mail.bf1.yahoo.com> In-Reply-To: <1327195477.71808.YahooMailNeo@web161402.mail.bf1.yahoo.com> Subject: RE: different return value from same variable Date: Mon, 23 Jan 2012 10:35:20 +1300 Message-ID: <008a01ccd94d$bd8ac840$38a058c0$@com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AczYpKWDEdYfrxgaQ1iwV75maMKgLwAqHvTA Content-Language: en-nz X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jan 2012 21:49:13 -0000 Quoth marty moore: > I have a wierd C++/gtkmm problem. I have two functions which return = the value=20 > of the same variable=A0 - and produce different values for that = variable. I'm=20 > guessing it's not a gtkmm problem, but I'm not sure. Please bear with = me. [...] =A0 e_opmode=A0 get_opmode () { return _opmode; } =A0 e_opmode=A0 get_opmode2 (); [...] The first can be inlined by the compiler, the second cannot. If they = are producing different results, it means that the two (or more) compilation units are being compiled with different settings, resulting in the = structure being seen as different sizes. (Typical culprits: byte = packing/alignment, calling convention, treatment of vtables, exceptions, member pointers; = also possibly other members with sizes the two compilation units don't agree = on, for either the same reasons or incompatible #defines or typedefs.) From amgilman@myfairpoint.net Tue Jan 24 22:48:15 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 85FA6750212 for ; Tue, 24 Jan 2012 22:48:15 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -0.967 X-Spam-Level: X-Spam-Status: No, score=-0.967 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_NEUTRAL=0.779, TW_DK=0.077, TW_GD=0.077] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nRv+tKU78KGg for ; Tue, 24 Jan 2012 22:48:13 +0000 (UTC) X-Greylist: delayed 397 seconds by postgrey-1.32 at menubar.gnome.org; Tue, 24 Jan 2012 22:48:13 UTC Received: from p3plsmtpa06-04.prod.phx3.secureserver.net (p3plsmtpa06-04.prod.phx3.secureserver.net [173.201.192.105]) by menubar.gnome.org (Postfix) with SMTP id 93B8975020D for ; Tue, 24 Jan 2012 22:48:05 +0000 (UTC) Received: (qmail 18823 invoked from network); 24 Jan 2012 22:41:24 -0000 Received: from unknown (71.232.252.121) by p3plsmtpa06-04.prod.phx3.secureserver.net (173.201.192.105) with ESMTP; 24 Jan 2012 22:41:24 -0000 Message-ID: <4F1F3392.8010105@myfairpoint.net> Date: Tue, 24 Jan 2012 17:41:22 -0500 From: Andy Gilman User-Agent: Mozilla/5.0 (X11; Linux i686; rv:9.0) Gecko/20111229 Thunderbird/9.0 MIME-Version: 1.0 To: gtkmm-list@gnome.org Subject: another basic question Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jan 2012 22:48:15 -0000 So here is a rudimentary problem: I am about to try and get signals from the keyboard. The discussion of GdkKeyEvent refers me to the gdkkeysyms header file, but where are the header files? I am sure they are in plain view somewhere. Thanks. Andy Gilman From darkiiiiii@gmail.com Tue Jan 24 23:41:49 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id E4705750270 for ; Tue, 24 Jan 2012 23:41:48 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.391 X-Spam-Level: X-Spam-Status: No, score=-2.391 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HK_RANDOM_ENVFROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, TW_DK=0.077, TW_GD=0.077, TW_GT=0.077, TW_TK=0.077] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XoEt+ntQlb5S for ; Tue, 24 Jan 2012 23:41:46 +0000 (UTC) Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.213.182]) by menubar.gnome.org (Postfix) with ESMTP id 9A62875020D for ; Tue, 24 Jan 2012 23:41:38 +0000 (UTC) Received: by yenq3 with SMTP id q3so2633494yen.27 for ; Tue, 24 Jan 2012 15:41:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=NOl/k4D3QcN+dpHDiZQzJAKFTqE1kU1g1EqXUondOqM=; b=ebkT70wM3Z7QMi/D2nvele7baKPb2s9dzRMJzPZWDJFm9tjfPHFOiqER+x6XcBWjPI 94adA2dxoj8hehU+1rVpVp/Mdm4jH1Qi7rJnJiYPmS7DuImHaD69UZ23X0RZEnCs3/YT wKBiet4DZGJi6slKZV+RNPn45lZeDB4z1ccgI= MIME-Version: 1.0 Received: by 10.236.155.101 with SMTP id i65mr21170002yhk.104.1327448495109; Tue, 24 Jan 2012 15:41:35 -0800 (PST) Received: by 10.100.58.3 with HTTP; Tue, 24 Jan 2012 15:41:35 -0800 (PST) In-Reply-To: <4F1F3392.8010105@myfairpoint.net> References: <4F1F3392.8010105@myfairpoint.net> Date: Tue, 24 Jan 2012 23:41:35 +0000 Message-ID: Subject: Re: another basic question From: lecas malecas To: Andy Gilman Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jan 2012 23:41:49 -0000 windows: c:\gtkmm\include\gtk-2.0\gdk\gdkkeysyms.h or linux: /usr/include/gtk-2.0/gdk/gdkkeysyms.h (or something like that) On linux is something like: /usr/include/gtk3 I think On Tue, Jan 24, 2012 at 10:41 PM, Andy Gilman wr= ote: > So here is a rudimentary problem: =A0I am about to try and get signals fr= om > the keyboard. =A0The discussion of GdkKeyEvent refers me to the gdkkeysym= s > header file, but where are the header files? =A0I am sure they are in pla= in > view somewhere. > > Thanks. > > Andy Gilman > > _______________________________________________ > gtkmm-list mailing list > gtkmm-list@gnome.org > http://mail.gnome.org/mailman/listinfo/gtkmm-list From vietory2g@gmail.com Wed Jan 25 04:11:09 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 26A2775022F for ; Wed, 25 Jan 2012 04:11:09 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.145 X-Spam-Level: X-Spam-Status: No, score=-1.145 tagged_above=-999 required=2 tests=[BAYES_05=-0.5, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, TW_GK=0.077, TW_GT=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BHz11fIXVk6g for ; Wed, 25 Jan 2012 04:11:07 +0000 (UTC) Received: from mail-tul01m020-f182.google.com (mail-tul01m020-f182.google.com [209.85.214.182]) by menubar.gnome.org (Postfix) with ESMTP id C24A67500F6 for ; Wed, 25 Jan 2012 04:10:58 +0000 (UTC) Received: by obcwo16 with SMTP id wo16so9343664obc.27 for ; Tue, 24 Jan 2012 20:10:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; bh=rUfoNxaDTBPTUCZK3j/n2lb2FMWIKVFSO/4b65ouA9w=; b=unhjJJ3yTtVBbnnDnOqn2hlMhHtOK5rEMyJYjfIi75mgMt9vyOpKC1i18FROU5fiab mLN3g5h8B2Z9C1D0GgIsJnW6D8G0QTd1s/Tk9NCDvUH9MAfOyYMIf9E1jI+eJ36MbhuM lcKznnSfQq9N9CGkFHK/NSSPyd6N38LdymGZc= MIME-Version: 1.0 Received: by 10.182.122.70 with SMTP id lq6mr14254569obb.8.1327464656952; Tue, 24 Jan 2012 20:10:56 -0800 (PST) Received: by 10.60.47.4 with HTTP; Tue, 24 Jan 2012 20:10:55 -0800 (PST) Date: Wed, 25 Jan 2012 15:10:55 +1100 Message-ID: Subject: how to turn on gtk virtual keyboard From: kiet tran To: gtkmm-list@gnome.org Content-Type: multipart/alternative; boundary=f46d044786bb545e7c04b75273ea X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jan 2012 04:11:09 -0000 --f46d044786bb545e7c04b75273ea Content-Type: text/plain; charset=ISO-8859-1 Hi, Just wondering if Gtk has its on virtual keyboard if show how do embed it into my Gtk widget application. Or is it possible to embed one of the ubuntu's virtual keyboard into gkt application thank-you. Cheers, Kiet Tran --f46d044786bb545e7c04b75273ea Content-Type: text/html; charset=ISO-8859-1 Hi,

Just wondering if Gtk has its on virtual keyboard if show how do embed it into my Gtk widget application. Or is it possible to embed one of the ubuntu's virtual keyboard into gkt application thank-you.

Cheers,

Kiet Tran
--f46d044786bb545e7c04b75273ea-- From amgilman@myfairpoint.net Wed Jan 25 12:23:49 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 3DAF575036B for ; Wed, 25 Jan 2012 12:23:49 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.693 X-Spam-Level: X-Spam-Status: No, score=-1.693 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, TW_DK=0.077, TW_GD=0.077, TW_GT=0.077, TW_TK=0.077] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id naQPhBNPvSQz for ; Wed, 25 Jan 2012 12:23:43 +0000 (UTC) Received: from mail30c26.carrierzone.com (mail30c26.carrierzone.com [66.175.40.169]) by menubar.gnome.org (Postfix) with ESMTP id F3407750364 for ; Wed, 25 Jan 2012 12:23:34 +0000 (UTC) X-Authenticated-User: amgilman.myfairpoint.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=myfairpoint.net; s=alpha; t=1327494212; bh=nkP+Q+4FZJ58ohOB6TFL1xJ7BUele20KoVhSWQd96ek=; h=Message-ID:Date:From:MIME-Version:To:Subject:References: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=js+ZznZtDvezzwOt+qpvHtlqaC/q+IB1fPrxhm/D4s+HZT9DZkfHjdiq5FGFru11a WcQv0f4M5+G7EaF31mNd4SX9Faw1eSETS7El3iJRH66gXtSiLutIw4Z9PBaYnC1yzc ZmsMsaTWCnbE0q0gWqzcuAmwdr+Dfmi/hIO2PQR0= Received: from localhost.localdomain (pool-72-71-254-52.cncdnh.fast03.myfairpoint.net [72.71.254.52]) (authenticated bits=0) by mail30c26.carrierzone.com (8.13.6/8.13.1) with ESMTP id q0PCNS52010117 for ; Wed, 25 Jan 2012 12:23:29 GMT Message-ID: <4F1FF441.6020905@myfairpoint.net> Date: Wed, 25 Jan 2012 07:23:29 -0500 From: Andy Gilman User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.24) Gecko/20111109 CentOS/3.1.16-2.el6.centos Thunderbird/3.1.16 MIME-Version: 1.0 To: gtkmm-list@gnome.org Subject: Re: another basic question References: <4F1F3392.8010105@myfairpoint.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-CSC: 0 X-CHA: v=1.1 cv=KKjKA6wa/4sYEfqHdZF+ptiNFPwVEJfpK+DL09Gc9Zg= c=1 sm=1 a=6a7XgRijPJAA:10 a=YamaJ3vGr5cA:10 a=8nJEP1OIZ-IA:10 a=oYHBrp9z8zGGx5aEkyYrEw==:17 a=1jMIAcbQAAAA:8 a=aiIX5UjjAAAA:8 a=z7H4NL71iWYziTnrSLUA:9 a=wPNLvfGTeEIA:10 a=2WdwmXPVNTUA:10 a=yauLTTMCv9sA:10 a=oYHBrp9z8zGGx5aEkyYrEw==:117 X-CTCH-Spam: Unknown X-CTCH-RefID: str=0001.0A020205.4F1FF444.0137,ss=1,re=0.000,fgs=0 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jan 2012 12:23:49 -0000 Thanks so much. On 01/24/2012 06:41 PM, lecas malecas wrote: > windows: > c:\gtkmm\include\gtk-2.0\gdk\gdkkeysyms.h > > or > > linux: > /usr/include/gtk-2.0/gdk/gdkkeysyms.h > > (or something like that) > > On linux is something like: /usr/include/gtk3 I think > > On Tue, Jan 24, 2012 at 10:41 PM, Andy Gilman wrote: >> So here is a rudimentary problem: I am about to try and get signals from >> the keyboard. The discussion of GdkKeyEvent refers me to the gdkkeysyms >> header file, but where are the header files? I am sure they are in plain >> view somewhere. >> >> Thanks. >> >> Andy Gilman >> >> _______________________________________________ >> gtkmm-list mailing list >> gtkmm-list@gnome.org >> http://mail.gnome.org/mailman/listinfo/gtkmm-list > From kjell.ahlstedt@bredband.net Thu Jan 26 09:08:46 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 5B2A075010D for ; Thu, 26 Jan 2012 09:08:46 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.747 X-Spam-Level: X-Spam-Status: No, score=-1.747 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KUYzLzInh+Pi for ; Thu, 26 Jan 2012 09:08:40 +0000 (UTC) Received: from smtprelay-b12.telenor.se (smtprelay-b12.telenor.se [62.127.194.21]) by menubar.gnome.org (Postfix) with ESMTP id 71A7D7500E6 for ; Thu, 26 Jan 2012 09:08:32 +0000 (UTC) Received: from ipb5.telenor.se (ipb5.telenor.se [195.54.127.168]) by smtprelay-b12.telenor.se (Postfix) with ESMTP id 5DF6EEB4CB for ; Thu, 26 Jan 2012 10:08:30 +0100 (CET) X-SMTPAUTH-B2: [kjelahls] X-SENDER-IP: [85.227.232.137] X-LISTENER: [smtp.bredband.net] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvghANoWIU9V4+iJPGdsb2JhbAAMNoUJqVMBAQEBN4IkAQEBAQMjFUABEAsaAgUWCwICCQMCAQIBMRQGDQEHAQGIAKY3kVOBL4dpAQgFBwMOBgEBGAcoA4JlFwYMAhAFCoEaCYIegRYEp28 X-IronPort-AV: E=Sophos;i="4.71,573,1320620400"; d="scan'208";a="34063246" Received: from c-89e8e355.06-203-73746f44.cust.bredbandsbolaget.se (HELO [192.168.1.64]) ([85.227.232.137]) by ipb5.telenor.se with ESMTP; 26 Jan 2012 10:08:30 +0100 Message-ID: <4F21180D.1060304@bredband.net> Date: Thu, 26 Jan 2012 10:08:29 +0100 From: Kjell Ahlstedt User-Agent: Mozilla/5.0 (X11; Linux i686; rv:9.0) Gecko/20111229 Thunderbird/9.0 MIME-Version: 1.0 To: Murray Cumming Subject: Re: Using Gtk::Grid in gtkmm-documentation References: <4F154C63.3090706@bredband.net> In-Reply-To: <4F154C63.3090706@bredband.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jan 2012 09:08:46 -0000 I have pushed the patch that replaces Table by Grid in gtkmm-documentation. http://git.gnome.org/browse/gtkmm-documentation/commit/?id=3464d7e149c7035db8eb86610a8f6684ccc77c63 Kjell 2012-01-17 11:24, Kjell Ahlstedt skrev: > I have a patch for gtkmm-documentation, where Gtk::Table has been > replaced by Gtk::Grid in all example programs except book/table. I > have deleted book/table. It's identical to book/grid, except for its > use of Table instead of Grid. > I have also replaced deprecated classes in gtkmm-tutorial-in.xml > (Table, HBox, etc). > > Can I push this patch? > > Remove Table and other deprecated classes. > > * docs/tutorial/C/gtkmm-tutorial-in.xml: Remove the description of > Table. > Replace Table by Grid. Replace the deprecated HX and VX classes > (HBox etc.) > by the corresponding X classes (Box etc.). > * docs/tutorial/C/figures/table.png: Deleted screenshot > * docs/tutorial/Makefile.am: Don't mention the deleted file. > * examples/book/assistant/examplewindow.[h|cc]: > * examples/book/clipboard/ideal/examplewindow.[h|cc]: > * examples/book/clipboard/simple/examplewindow.[h|cc]: > * examples/book/printing/advanced/examplewindow.[h|cc]: > * examples/book/printing/simple/examplewindow.[h|cc]: > * examples/book/progressbar/examplewindow.[h|cc]: > * examples/book/scrolledwindow/examplewindow.[h|cc]: > * examples/others/arrow/direction.cc: > * examples/others/dnd/dndwindow.[h|cc]: > * examples/others/tictactoe/tictactoe.cc: Replace Table by Grid. > * examples/book/drawingarea/joins/myarea.cc: Remove unused variable. > * examples/others/cellrenderercustom/cellrenderertoggle.cc: Use > all variables. > * examples/book/table: Delete directory and all files in it. > * examples/Makefile.am: Don't mention the deleted files. > > Kjell > > 2012-01-12 11:17, Murray Cumming skrev: >> Sorry. I meant table, not box. >> >> Murray >> From bounces@nabble.com Thu Jan 26 14:24:18 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id BFB6E7500E6 for ; Thu, 26 Jan 2012 14:24:18 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.833 X-Spam-Level: X-Spam-Status: No, score=-1.833 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, SPF_PASS=-0.001, TW_TK=0.077, T_RP_MATCHES_RCVD=-0.01] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MxsLiGivCIoV for ; Thu, 26 Jan 2012 14:24:15 +0000 (UTC) Received: from sam.nabble.com (sam.nabble.com [216.139.236.26]) by menubar.gnome.org (Postfix) with ESMTP id CA05F75009D for ; Thu, 26 Jan 2012 14:24:07 +0000 (UTC) Received: from isper.nabble.com ([192.168.236.156]) by sam.nabble.com with esmtp (Exim 4.72) (envelope-from ) id 1RqQFC-0000Sv-Ap for gtkmm-list@gnome.org; Thu, 26 Jan 2012 06:24:06 -0800 Message-ID: <33207725.post@talk.nabble.com> Date: Thu, 26 Jan 2012 06:24:06 -0800 (PST) From: gig-raf To: gtkmm-list@gnome.org Subject: Accessing children on Gtk::Notebook MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: dbrandt@db-cc.de X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jan 2012 14:24:19 -0000 Dear GTKMM users, I am trying to understand the Gtk::Notebook widget for a project that I am currently writing. The main problem I have is that I want to be able to add my widgets to the Notebook dynamically, meaning I do not know what object will got on tab 1 and tab 2, hence need to keep a reference to the GTK obejcts somehow. So as an example: 1). New notebook tab is created 2). a Vbox is created 3). a label (or similar) is add are added to that VBOX based 4). a VBox container is appended to the notebook current tab at some point, and several new tabs later I want to be able to go to ie. page 2 in the Notebook and list the childeren on that page. In this case it should give me only the VBOX. This can again be examined for children, and then I would get a Label which I can then point to to change the text. If this is not the right approach please feel free to educate me, and point me in the right direction. I would prefer a solution with a Gtk::Mange rather than the new/delete. I read that GTKMM has a helper function for gtk::notebook, but it do what I want? -If yes will someone be so kind to snow me how it could be done: here a small snippet of how the code could look like, I would like to change the "on_button_modifyTabContent()" so i can change the text in the label which got added by "on_button_createNewTab()" void exampleWindow::on_button_createNewTab() { Gtk::Label *pLabel; pLabel = manage( new Gtk::Label("New Tab/Label") ); m_Notebook.pages().push_back( Gtk::Notebook_Helpers::TabElem(*pLabel, "Tab x") ); m_Notebook.show_all(); m_Notebook.set_current_page(-1); } void exampleWindow::on_button_modifyTabContent() { // I want to access the "elements" on the notebook.page. But how do I do that? //Gtk::Widget* pTest = m_Notebook.get_nth_page(m_Notebook.get_current_page()); ..... } Thanks in advance for any help! .Daniel ps. And yes, i am not an experienced c++ programmer ;-) -- View this message in context: http://old.nabble.com/Accessing-children-on-Gtk%3A%3ANotebook-tp33207725p33207725.html Sent from the Gtkmm mailing list archive at Nabble.com. From murrayc@murrayc.com Fri Jan 27 09:54:35 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 7CA78750092 for ; Fri, 27 Jan 2012 09:54:35 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.6 X-Spam-Level: X-Spam-Status: No, score=-2.6 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Py3qhtsZDN8E for ; Fri, 27 Jan 2012 09:54:32 +0000 (UTC) Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by menubar.gnome.org (Postfix) with ESMTP id 6C78D75006B for ; Fri, 27 Jan 2012 09:54:24 +0000 (UTC) Received: from compute1.internal (compute1.nyi.mail.srv.osa [10.202.2.41]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 5D9BC2086B; Fri, 27 Jan 2012 04:54:22 -0500 (EST) Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160]) by compute1.internal (MEProxy); Fri, 27 Jan 2012 04:54:22 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:subject:from:to:cc:date :in-reply-to:references:content-type:content-transfer-encoding :mime-version; s=smtpout; bh=LtcjWSRA2Owb+xV1epIbymmQlmI=; b=ctB hFyFcecWk9Y4P4wVII8g61DhRMxPb7LwGnsRD8Mwwjpx0NBzimExCiTnIHqBDlGw G/kU62iYzXbqReBSXUBj9NXqEN8KOLPpbZ5tLBS85MvFVEAi60UdGfnQT5sFb5nT OdBnJmwdAMlDbc5aMil9Zh9ETv1+1sOzwvt5yL1M= X-Sasl-enc: 4UQ3niGCp1i935q/PvwZo2OmXRdZ0Ebyx4PDHhrT423H 1327658061 Received: from [192.168.178.24] (ppp-188-174-32-92.dynamic.mnet-online.de [188.174.32.92]) by mail.messagingengine.com (Postfix) with ESMTPSA id BACC88E017B; Fri, 27 Jan 2012 04:54:21 -0500 (EST) Message-ID: <1327658060.16415.4.camel@murrayc-desktop> Subject: Re: Accessing children on Gtk::Notebook From: Murray Cumming To: gig-raf Date: Fri, 27 Jan 2012 10:54:20 +0100 In-Reply-To: <33207725.post@talk.nabble.com> References: <33207725.post@talk.nabble.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.2- Content-Transfer-Encoding: 7bit Mime-Version: 1.0 Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jan 2012 09:54:35 -0000 On Thu, 2012-01-26 at 06:24 -0800, gig-raf wrote: > void exampleWindow::on_button_modifyTabContent() > { > // I want to access the "elements" on the notebook.page. But how > do I do > that? > //Gtk::Widget* pTest = > m_Notebook.get_nth_page(m_Notebook.get_current_page()); > > ..... > } This should work fine. Maybe you are confused that you get a Gtk::Widget* back rather than the Gtk::VBox* that you added. You should use dynamic_cast<> to get a Gtk::VBox*. Do use an if() to check it for null before using it. > > -- Murray Cumming murrayc@murrayc.com www.murrayc.com www.openismus.com From bounces@nabble.com Fri Jan 27 13:02:36 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 1F2A57500E3 for ; Fri, 27 Jan 2012 13:02:36 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.756 X-Spam-Level: X-Spam-Status: No, score=-1.756 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077, T_RP_MATCHES_RCVD=-0.01] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qiqbBykaAzWn for ; Fri, 27 Jan 2012 13:02:30 +0000 (UTC) Received: from sam.nabble.com (sam.nabble.com [216.139.236.26]) by menubar.gnome.org (Postfix) with ESMTP id 102B37500CA for ; Fri, 27 Jan 2012 13:02:21 +0000 (UTC) Received: from isper.nabble.com ([192.168.236.156]) by sam.nabble.com with esmtp (Exim 4.72) (envelope-from ) id 1RqlRb-00063I-Lk for gtkmm-list@gnome.org; Fri, 27 Jan 2012 05:02:19 -0800 Message-ID: <33213898.post@talk.nabble.com> Date: Fri, 27 Jan 2012 05:02:19 -0800 (PST) From: gig-raf To: gtkmm-list@gnome.org Subject: Re: Accessing children on Gtk::Notebook In-Reply-To: <1327658060.16415.4.camel@murrayc-desktop> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: dbrandt@db-cc.de References: <33207725.post@talk.nabble.com> <1327658060.16415.4.camel@murrayc-desktop> X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jan 2012 13:02:36 -0000 Murray Cumming-5 wrote: > > On Thu, 2012-01-26 at 06:24 -0800, gig-raf wrote: >> void exampleWindow::on_button_modifyTabContent() >> { >> // I want to access the "elements" on the notebook.page. But how >> do I do >> that? >> //Gtk::Widget* pTest = >> m_Notebook.get_nth_page(m_Notebook.get_current_page()); >> >> ..... >> } > > This should work fine. Maybe you are confused that you get a > Gtk::Widget* back rather than the Gtk::VBox* that you added. You should > use dynamic_cast<> to get a Gtk::VBox*. Do use an if() to check it for > null before using it. >> > > Hi Michael, thanks for helping out... > > Sorry for asking but could perhaps show me how this should be done. Assume > I have Just one Gtk::Label on the notebook.page()[1]. I want to change the > text of that label on the first page. > > ... > Gtk::Widget* pWidget = m_Notebook.pages()[1].get_child(); > Gtk::Label* pLabel = dynamic_cast (pWidget); > > pLabel.set_text("fofo"); > .... > > Is this possible? or will I HAVE to pot all my widgets inside a VBox or > similar container prior putting it in my notebook tab? > >> > -- > Murray Cumming > murrayc@murrayc.com > www.murrayc.com > www.openismus.com > > _______________________________________________ > gtkmm-list mailing list > gtkmm-list@gnome.org > http://mail.gnome.org/mailman/listinfo/gtkmm-list > > -- View this message in context: http://old.nabble.com/Accessing-children-on-Gtk%3A%3ANotebook-tp33207725p33213898.html Sent from the Gtkmm mailing list archive at Nabble.com. From bounces@nabble.com Fri Jan 27 13:06:19 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 9C1157500B5 for ; Fri, 27 Jan 2012 13:06:19 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.833 X-Spam-Level: X-Spam-Status: No, score=-1.833 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, SPF_PASS=-0.001, TW_TK=0.077, T_RP_MATCHES_RCVD=-0.01] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id E+4lXCpmW22t for ; Fri, 27 Jan 2012 13:06:18 +0000 (UTC) Received: from sam.nabble.com (sam.nabble.com [216.139.236.26]) by menubar.gnome.org (Postfix) with ESMTP id 2AE7C75006B for ; Fri, 27 Jan 2012 13:06:10 +0000 (UTC) Received: from isper.nabble.com ([192.168.236.156]) by sam.nabble.com with esmtp (Exim 4.72) (envelope-from ) id 1RqlVI-0006U6-PE for gtkmm-list@gnome.org; Fri, 27 Jan 2012 05:06:08 -0800 Message-ID: <33213932.post@talk.nabble.com> Date: Fri, 27 Jan 2012 05:06:08 -0800 (PST) From: gig-raf To: gtkmm-list@gnome.org Subject: Re: Accessing children on Gtk::Notebook In-Reply-To: <33213898.post@talk.nabble.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: dbrandt@db-cc.de References: <33207725.post@talk.nabble.com> <1327658060.16415.4.camel@murrayc-desktop> <33213898.post@talk.nabble.com> X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jan 2012 13:06:19 -0000 Sure it works; I should have done pLabel->set_text("fofo"); Thanks a lot for your help! -- View this message in context: http://old.nabble.com/Accessing-children-on-Gtk%3A%3ANotebook-tp33207725p33213932.html Sent from the Gtkmm mailing list archive at Nabble.com. From amgilman@myfairpoint.net Fri Jan 27 13:59:28 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id B8DA57500C0 for ; Fri, 27 Jan 2012 13:59:28 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.001 X-Spam-Level: X-Spam-Status: No, score=-2.001 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id H17E1F0jSiFu for ; Fri, 27 Jan 2012 13:59:23 +0000 (UTC) Received: from mail30c26.carrierzone.com (mail30c26.carrierzone.com [66.175.40.169]) by menubar.gnome.org (Postfix) with ESMTP id F3C2675006B for ; Fri, 27 Jan 2012 13:59:14 +0000 (UTC) X-Authenticated-User: amgilman.myfairpoint.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=myfairpoint.net; s=alpha; t=1327672752; bh=dRe2+kLuwC5S2f/ODAA2yj4DC+QO/FNXBqAt/2IFbMI=; h=Message-ID:Date:From:MIME-Version:To:Subject:Content-Type: Content-Transfer-Encoding; b=YoTbpXNCysb0YNDoH2pzDVavbYCx9NW5nJz5rY+BCYjMHN9M4NMX2yqwPCnKChbAI mABCOd8U2mjbJ73pa7R4S1Q9HNX1Q1ClKDSBXDxBwBaAFO3upK5Io7+/BWxEtAUA9G MGD02eCSI7010W59q0rlaSMYqhozZhuxpso3WK+k= Received: from [192.168.0.103] (pool-72-71-254-52.cncdnh.fast03.myfairpoint.net [72.71.254.52]) (authenticated bits=0) by mail30c26.carrierzone.com (8.13.6/8.13.1) with ESMTP id q0RDx7G9031430 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 27 Jan 2012 13:59:09 GMT Message-ID: <4F22ADAB.2000502@myfairpoint.net> Date: Fri, 27 Jan 2012 08:59:07 -0500 From: Andy Gilman User-Agent: Mozilla/5.0 (X11; Linux i686; rv:9.0) Gecko/20111229 Thunderbird/9.0 MIME-Version: 1.0 To: gtkmm-list@gnome.org Subject: menubar issues Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-CSC: 0 X-CHA: v=1.1 cv=KKjKA6wa/4sYEfqHdZF+ptiNFPwVEJfpK+DL09Gc9Zg= c=1 sm=1 a=joNHNYJTPMoA:10 a=YamaJ3vGr5cA:10 a=8nJEP1OIZ-IA:10 a=oYHBrp9z8zGGx5aEkyYrEw==:17 a=wOs7IJluye7qLYgW-vkA:9 a=wPNLvfGTeEIA:10 a=oYHBrp9z8zGGx5aEkyYrEw==:117 X-CTCH-Spam: Unknown X-CTCH-RefID: str=0001.0A020203.4F22ADB0.00E9,ss=1,re=0.000,fgs=0 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jan 2012 13:59:28 -0000 I have just changed my linux distro to Ubuntu 11.10 and the menubars from my (small and simple) applications have disappeared. When I compile (gtkmm 3.0), I get no error messages. Button signals work fine. Is this a problem with Ubuntu? Is there some additional set of files I need to install? As a newbie, I assume that I have neglected something, but I am not sure where to look. Any suggestions would be appreciated. Thanks. Andy Gilman From kjell.ahlstedt@bredband.net Fri Jan 27 16:33:32 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 8F8B87500CA for ; Fri, 27 Jan 2012 16:33:32 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.901 X-Spam-Level: X-Spam-Status: No, score=-1.901 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DnKEX2thnRZX for ; Fri, 27 Jan 2012 16:33:30 +0000 (UTC) Received: from smtprelay-b12.telenor.se (smtprelay-b12.telenor.se [62.127.194.21]) by menubar.gnome.org (Postfix) with ESMTP id F082675006B for ; Fri, 27 Jan 2012 16:33:21 +0000 (UTC) Received: from ipb2.telenor.se (ipb2.telenor.se [195.54.127.165]) by smtprelay-b12.telenor.se (Postfix) with ESMTP id F3B40EAF98 for ; Fri, 27 Jan 2012 17:33:19 +0100 (CET) X-SMTPAUTH-B2: [kjelahls] X-SENDER-IP: [85.227.232.137] X-LISTENER: [smtp.bredband.net] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmQgADjRIk9V4+iJPGdsb2JhbAAMN4lSok2CSgEBAQE3giQBAQEBAzhAARALDhMWDwkDAgECATEUBg0BBwEBwCeJEAEEAgIFBwIBDgYBARgHKAOCZRcGDAIQBQqBGgmDNASnaA X-IronPort-AV: E=Sophos;i="4.71,580,1320620400"; d="scan'208";a="257792243" Received: from c-89e8e355.06-203-73746f44.cust.bredbandsbolaget.se (HELO [192.168.1.64]) ([85.227.232.137]) by ipb2.telenor.se with ESMTP; 27 Jan 2012 17:33:19 +0100 Message-ID: <4F22D1CF.7050206@bredband.net> Date: Fri, 27 Jan 2012 17:33:19 +0100 From: Kjell Ahlstedt User-Agent: Mozilla/5.0 (X11; Linux i686; rv:9.0) Gecko/20111229 Thunderbird/9.0 MIME-Version: 1.0 To: Andy Gilman Subject: Re: menubar issues References: <4F22ADAB.2000502@myfairpoint.net> In-Reply-To: <4F22ADAB.2000502@myfairpoint.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jan 2012 16:33:32 -0000 Do you use the new Unity desktop? Hasn't the menubar disappeared from almost all windows? Not just from the applications you compile yourself? The menubar of the active window appears in the panel at the top of the screen, but only when the mouse pointer hovers there. This is a feature I would rather call a bug, and one of the reasons I still use the Ubuntu classic desktop. It's reasonable when the active window is maximized, but not otherwise. If anyone knows how to disable this "feature", I would be glad to know. Kjell 2012-01-27 14:59, Andy Gilman skrev: > I have just changed my linux distro to Ubuntu 11.10 and the menubars > from my (small and simple) applications have disappeared. When I > compile (gtkmm 3.0), I get no error messages. Button signals work > fine. Is this a problem with Ubuntu? Is there some additional set of > files I need to install? > > As a newbie, I assume that I have neglected something, but I am not > sure where to look. > > Any suggestions would be appreciated. Thanks. > > Andy Gilman From amgilman@myfairpoint.net Fri Jan 27 17:38:19 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 576EB750106 for ; Fri, 27 Jan 2012 17:38:19 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.001 X-Spam-Level: X-Spam-Status: No, score=-2.001 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pItaavAZq7ii for ; Fri, 27 Jan 2012 17:38:17 +0000 (UTC) Received: from mail30c26.carrierzone.com (mail30c26.carrierzone.com [66.175.40.169]) by menubar.gnome.org (Postfix) with ESMTP id EE7327500E4 for ; Fri, 27 Jan 2012 17:38:08 +0000 (UTC) X-Authenticated-User: amgilman.myfairpoint.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=myfairpoint.net; s=alpha; t=1327685883; bh=VDTL3M3ol82RJrL4FT9IZ0YUME/a1xw9ZKwLFghFxzs=; h=Message-ID:Date:From:MIME-Version:To:CC:Subject:References: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=Uw4SKHnDunYRBiUKU1gB3u6BlKgHJlBVurpAVvrlyWylL6dKK1EYX5iPYbuy/86UT YJf9Ln4SA5ZdTYVX5hzY27gZmlV3s6rM5Vro+1uUJsAPP+6XOtFnW/AKdpwudA4BuZ BD2O0CblK8Bo0KcHo31l5IAlheSVCavkEISxQk9Y= Received: from [192.168.0.103] (pool-72-71-254-52.cncdnh.fast03.myfairpoint.net [72.71.254.52]) (authenticated bits=0) by mail30c26.carrierzone.com (8.13.6/8.13.1) with ESMTP id q0RHbwek015148 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 27 Jan 2012 17:37:59 GMT Message-ID: <4F22E0F5.7080708@myfairpoint.net> Date: Fri, 27 Jan 2012 12:37:57 -0500 From: Andy Gilman User-Agent: Mozilla/5.0 (X11; Linux i686; rv:9.0) Gecko/20111220 Thunderbird/9.0 MIME-Version: 1.0 To: gtkmm-list@gnome.org Subject: Re: menubar issues References: <4F22ADAB.2000502@myfairpoint.net> <4F22D1CF.7050206@bredband.net> In-Reply-To: <4F22D1CF.7050206@bredband.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-CSC: 0 X-CHA: v=1.1 cv=KKjKA6wa/4sYEfqHdZF+ptiNFPwVEJfpK+DL09Gc9Zg= c=1 sm=1 a=iY4vCD-PpcIA:10 a=YamaJ3vGr5cA:10 a=8nJEP1OIZ-IA:10 a=oYHBrp9z8zGGx5aEkyYrEw==:17 a=PlyFfZzgeH-kuaCgazoA:9 a=Ob8mLhtj_hHwLb9_ai4A:7 a=wPNLvfGTeEIA:10 a=oYHBrp9z8zGGx5aEkyYrEw==:117 X-CTCH-Spam: Unknown X-CTCH-RefID: str=0001.0A02020B.4F22E0FB.0068,ss=1,re=0.000,fgs=0 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jan 2012 17:38:19 -0000 Thank you. Yes: the disappearing menubars are a pain. I think I may switch distros (and find, I am sure, a host of new problems). Thanks. Andy On 01/27/2012 11:33 AM, Kjell Ahlstedt wrote: > Do you use the new Unity desktop? Hasn't the menubar disappeared from > almost all windows? Not just from the applications you compile yourself? > > The menubar of the active window appears in the panel at the top of > the screen, but only when the mouse pointer hovers there. This is a > feature I would rather call a bug, and one of the reasons I still use > the Ubuntu classic desktop. It's reasonable when the active window is > maximized, but not otherwise. If anyone knows how to disable this > "feature", I would be glad to know. > > Kjell > > 2012-01-27 14:59, Andy Gilman skrev: >> I have just changed my linux distro to Ubuntu 11.10 and the menubars >> from my (small and simple) applications have disappeared. When I >> compile (gtkmm 3.0), I get no error messages. Button signals work >> fine. Is this a problem with Ubuntu? Is there some additional set >> of files I need to install? >> >> As a newbie, I assume that I have neglected something, but I am not >> sure where to look. >> >> Any suggestions would be appreciated. Thanks. >> >> Andy Gilman > > From murrayc@murrayc.com Sun Jan 29 20:37:24 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id AF20A750113 for ; Sun, 29 Jan 2012 20:37:24 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.6 X-Spam-Level: X-Spam-Status: No, score=-2.6 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xPhg-3K56Obt for ; Sun, 29 Jan 2012 20:37:21 +0000 (UTC) Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by menubar.gnome.org (Postfix) with ESMTP id D1FD4750110 for ; Sun, 29 Jan 2012 20:37:13 +0000 (UTC) Received: from compute2.internal (compute2.nyi.mail.srv.osa [10.202.2.42]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id C9EFC208A2; Sun, 29 Jan 2012 15:37:11 -0500 (EST) Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161]) by compute2.internal (MEProxy); Sun, 29 Jan 2012 15:37:11 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:subject:from:to:cc:date :in-reply-to:references:content-type:content-transfer-encoding :mime-version; s=smtpout; bh=HIEPzy6yzJB6g3Ziw0uT7haKL/4=; b=V83 iDi5tj3hM4clHbtr6EKRnF+eQgZsqVZyYuZhSpBpZh58B0B5ZP5pr/w7o93O8L3o cMJmCyI354dvPCVaJkA7+GvTk4+pMLgjzGw1NJ76Ze7PkcrQ/B9D8hYaeYaTJIsN sxQoEGfoudGiOuUH8vUsVVjJ6LpQtclbbcWttFkA= X-Sasl-enc: xWTBR57OzuVKjXn1sVrfMeK9Zq7fBjEmADa3SwHtJEf7 1327869431 Received: from [192.168.178.34] (host-188-174-221-58.customer.m-online.net [188.174.221.58]) by mail.messagingengine.com (Postfix) with ESMTPSA id 26550482493; Sun, 29 Jan 2012 15:37:11 -0500 (EST) Message-ID: <1327869429.14502.1.camel@localhost> Subject: Re: menubar issues From: Murray Cumming To: Andy Gilman Date: Sun, 29 Jan 2012 21:37:09 +0100 In-Reply-To: <4F22E0F5.7080708@myfairpoint.net> References: <4F22ADAB.2000502@myfairpoint.net> <4F22D1CF.7050206@bredband.net> <4F22E0F5.7080708@myfairpoint.net> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.2 (3.2.2-1.fc16) Content-Transfer-Encoding: 7bit Mime-Version: 1.0 Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 20:37:24 -0000 On Fri, 2012-01-27 at 12:37 -0500, Andy Gilman wrote: > Thank you. Yes: the disappearing menubars are a pain. > > I think I may switch distros (and find, I am sure, a host of new problems). You can use GNOME 3 instead while still using Ubuntu. Just choose it at login. You will want to use the tweak-ui tool to not "have file manager handle the desktop" because that looks very odd with GNOME 3. And you might need to (re)-set the theme too. It is unfortunate. -- murrayc@murrayc.com www.murrayc.com www.openismus.com From amgilman@myfairpoint.net Mon Jan 30 01:34:32 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id D234E750146 for ; Mon, 30 Jan 2012 01:34:32 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.001 X-Spam-Level: X-Spam-Status: No, score=-2.001 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gUXBHuFUYmzv for ; Mon, 30 Jan 2012 01:34:30 +0000 (UTC) Received: from mail30c26.carrierzone.com (mail30c26.carrierzone.com [66.175.40.169]) by menubar.gnome.org (Postfix) with ESMTP id E1AFE75001A for ; Mon, 30 Jan 2012 01:34:21 +0000 (UTC) X-Authenticated-User: amgilman.myfairpoint.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=myfairpoint.net; s=alpha; t=1327887259; bh=O7gqzhJ7RtexIK3SjLw9N2X0mTzG2I26nEKZd8Ff+0Q=; h=Message-ID:Date:From:MIME-Version:To:Subject:References: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=Y4VsblgJW1MLUUpVewTTaQwUEOxvGCri/pJznz2WDq5bJxyhgeYAYouU12NkgBqb1 dd9gIAXFLcmvCeQM10WoyxlvSi+k+/+yVjbamjzjK+0VbxgOBybTOo6eYSGvNM6e5g bp2BJZCbQGZT6vVcwTC8CxYmTrQeUK9aokkNxNf8= Received: from [192.168.0.103] (pool-72-71-254-52.cncdnh.fast03.myfairpoint.net [72.71.254.52]) (authenticated bits=0) by mail30c26.carrierzone.com (8.13.6/8.13.1) with ESMTP id q0U1YD2c005269 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 30 Jan 2012 01:34:15 GMT Message-ID: <4F25F395.6000309@myfairpoint.net> Date: Sun, 29 Jan 2012 20:34:13 -0500 From: Andy Gilman User-Agent: Mozilla/5.0 (X11; Linux i686; rv:9.0) Gecko/20111220 Thunderbird/9.0 MIME-Version: 1.0 To: gtkmm-list@gnome.org Subject: Re: menubar issues References: <4F22ADAB.2000502@myfairpoint.net> <4F22D1CF.7050206@bredband.net> <4F22E0F5.7080708@myfairpoint.net> <1327869429.14502.1.camel@localhost> In-Reply-To: <1327869429.14502.1.camel@localhost> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-CSC: 0 X-CHA: v=1.1 cv=KKjKA6wa/4sYEfqHdZF+ptiNFPwVEJfpK+DL09Gc9Zg= c=1 sm=1 a=iY4vCD-PpcIA:10 a=YamaJ3vGr5cA:10 a=IkcTkHD0fZMA:10 a=oYHBrp9z8zGGx5aEkyYrEw==:17 a=RATB3q-1ckkh-G05O2kA:9 a=QEXdDO2ut3YA:10 a=oYHBrp9z8zGGx5aEkyYrEw==:117 X-CTCH-Spam: Unknown X-CTCH-RefID: str=0001.0A020209.4F25F39B.0035,ss=1,re=0.000,fgs=0 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 01:34:33 -0000 Thank you. I am still finding my way in all this. I actually switched to OpenSuse 12.x and everything seems to be working as I had expected so far. Is it the case that the Unity Desktop influence does not impact many users? I am only programming recreationally, but I would think that more serious types would find dealing with this a real pain. Andy Gilman On 01/29/2012 03:37 PM, Murray Cumming wrote: > On Fri, 2012-01-27 at 12:37 -0500, Andy Gilman wrote: >> Thank you. Yes: the disappearing menubars are a pain. >> >> I think I may switch distros (and find, I am sure, a host of new problems). > You can use GNOME 3 instead while still using Ubuntu. Just choose it at > login. You will want to use the tweak-ui tool to not "have file manager > handle the desktop" because that looks very odd with GNOME 3. And you > might need to (re)-set the theme too. > > It is unfortunate. > From murrayc@murrayc.com Mon Jan 30 10:16:27 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id BAC1E7501A4 for ; Mon, 30 Jan 2012 10:16:27 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.446 X-Spam-Level: X-Spam-Status: No, score=-2.446 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rNmhzkI67Qet for ; Mon, 30 Jan 2012 10:16:20 +0000 (UTC) Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by menubar.gnome.org (Postfix) with ESMTP id 170BB750111 for ; Mon, 30 Jan 2012 10:16:11 +0000 (UTC) Received: from compute4.internal (compute4.nyi.mail.srv.osa [10.202.2.44]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 42F8F20C12; Mon, 30 Jan 2012 05:16:10 -0500 (EST) Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160]) by compute4.internal (MEProxy); Mon, 30 Jan 2012 05:16:10 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:subject:from:to:cc:date :in-reply-to:references:content-type:content-transfer-encoding :mime-version; s=smtpout; bh=yYjle9mUSZlaiTdm4SHV+IqHqr8=; b=lDA M5eq0iUsSsEAxr8c5rcUPzkKcWn0ghK4x9j9tg4fwNiU/cy0DfvQoNIPoSkMTFEa 7DKQ2G/VjBt54zr61NdpVjvlziS+lGQwxGmkaMc8sL1RDp/dXcPugPP+1ejV2Ly6 4ThahCg+M1aY6CCVMvJc1FrKePBztuT5l/B1LdFI= X-Sasl-enc: hQKaVbJwFGPlDl8QmyswVCouem/mqL3vl7AgSp6IT/hg 1327918569 Received: from [192.168.178.24] (ppp-93-104-5-138.dynamic.mnet-online.de [93.104.5.138]) by mail.messagingengine.com (Postfix) with ESMTPSA id 955BF8E0162; Mon, 30 Jan 2012 05:16:09 -0500 (EST) Message-ID: <1327918568.15530.4.camel@murrayc-desktop> Subject: Re: Using Gtk::Grid in gtkmm-documentation From: Murray Cumming To: Kjell Ahlstedt Date: Mon, 30 Jan 2012 11:16:08 +0100 In-Reply-To: <4F21180D.1060304@bredband.net> References: <4F154C63.3090706@bredband.net> <4F21180D.1060304@bredband.net> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.2- Content-Transfer-Encoding: 7bit Mime-Version: 1.0 Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 10:16:27 -0000 On Thu, 2012-01-26 at 10:08 +0100, Kjell Ahlstedt wrote: > I have pushed the patch that replaces Table by Grid in gtkmm-documentation. > http://git.gnome.org/browse/gtkmm-documentation/commit/?id=3464d7e149c7035db8eb86610a8f6684ccc77c63 Excellent. Many thanks. -- Murray Cumming murrayc@murrayc.com www.murrayc.com www.openismus.com From rnsribeiro@gmail.com Tue Jan 31 03:25:57 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 17CAA7500A6 for ; Tue, 31 Jan 2012 03:25:57 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.545 X-Spam-Level: X-Spam-Status: No, score=-2.545 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id J-ChsRJ2Cvjw for ; Tue, 31 Jan 2012 03:25:55 +0000 (UTC) Received: from mail-tul01m020-f182.google.com (mail-tul01m020-f182.google.com [209.85.214.182]) by menubar.gnome.org (Postfix) with ESMTP id 5AD68750085 for ; Tue, 31 Jan 2012 03:25:46 +0000 (UTC) Received: by obcwo16 with SMTP id wo16so8832385obc.27 for ; Mon, 30 Jan 2012 19:25:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; bh=ln+s7J2VFXW79FxEi3ww4Sl9edKB2srzUlsfYu8VClw=; b=Y2oWnIw4gkgOOx7hiEGzlfsbfSTpNAa3HGAn1u2WV9BQkhMEY+5MTZIMwrtREZLS4o DOqMz9xK2MtcPfU+XME+GnZVdbCzwEjiFXq+wjqGAptjZryfD3VwBi3SWI05CneaQ3B2 FGsxVKPXILqWJB/hToyfbf2gK2D2cfKKFRAcc= Received: by 10.182.179.70 with SMTP id de6mr33536120obc.22.1327980345207; Mon, 30 Jan 2012 19:25:45 -0800 (PST) MIME-Version: 1.0 Received: by 10.182.71.196 with HTTP; Mon, 30 Jan 2012 19:25:25 -0800 (PST) From: Rodrigo Nunes Date: Tue, 31 Jan 2012 01:25:25 -0200 Message-ID: Subject: Programming with gtkmm in portuguese To: gtkmm-list@gnome.org Content-Type: multipart/alternative; boundary=e89a8f6428e0beabb204b7ca848e X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 03:25:57 -0000 --e89a8f6428e0beabb204b7ca848e Content-Type: text/plain; charset=ISO-8859-1 hello guys. could someone pass me the link to the tutorial on "Programming with gtkmm" in Portuguese was once in the past but I'm not lying. thanks. --e89a8f6428e0beabb204b7ca848e Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable hello gu= ys.

could someone
pass me the link to the
tutorial on &quo= t;Programming with gtkmm= " in Portuguese was= once in the past but I'm not lying.

thanks.
--e89a8f6428e0beabb204b7ca848e-- From murrayc@murrayc.com Tue Jan 31 09:34:54 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 778F97500A6 for ; Tue, 31 Jan 2012 09:34:54 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.446 X-Spam-Level: X-Spam-Status: No, score=-2.446 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Mf-GKR+v6geC for ; Tue, 31 Jan 2012 09:34:52 +0000 (UTC) Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by menubar.gnome.org (Postfix) with ESMTP id 0480E75007F for ; Tue, 31 Jan 2012 09:34:43 +0000 (UTC) Received: from compute4.internal (compute4.nyi.mail.srv.osa [10.202.2.44]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id E5F532222A; Tue, 31 Jan 2012 04:34:41 -0500 (EST) Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161]) by compute4.internal (MEProxy); Tue, 31 Jan 2012 04:34:41 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:subject:from:to:cc:date :in-reply-to:references:content-type:content-transfer-encoding :mime-version; s=smtpout; bh=5XM98jLDlKta2dmRUYPeuCIo0h8=; b=eoa pXOhVNeQ8r1cv0YI3aHk3bMpQaOBDjEQcD2SoaDpwy+J3pnQxgNf8aXMMUaxZLU+ OpkHW7PjJ4qjSmxvgDKUYgJQ9tkHGCN+3FcDscbs2ld3B7zxImWDfFmmhmq1F8ij /OHZ4bxtXJJCG9yyVWs3T7HrVc1/OMwHCxW8uuDE= X-Sasl-enc: v+fceWeYyCTXh+wV0wyTVpRdKWV/YL5RCWZUL2YsVIt/ 1328002481 Received: from [192.168.178.24] (ppp-188-174-46-126.dynamic.mnet-online.de [188.174.46.126]) by mail.messagingengine.com (Postfix) with ESMTPSA id 1B85348351A; Tue, 31 Jan 2012 04:34:40 -0500 (EST) Message-ID: <1328002479.22605.1.camel@murrayc-desktop> Subject: Re: Programming with gtkmm in portuguese From: Murray Cumming To: Rodrigo Nunes Date: Tue, 31 Jan 2012 10:34:39 +0100 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.2- Content-Transfer-Encoding: 7bit Mime-Version: 1.0 Cc: gtkmm-list@gnome.org X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 09:34:54 -0000 On Tue, 2012-01-31 at 01:25 -0200, Rodrigo Nunes wrote: > Programming with gtkmm" in Portuguese was once in the past but I'm not > lying. There is a "Switch Languages" link at the bottom of all developer.gnome.org pages. The link is then: http://developer.gnome.org/gtkmm-tutorial/unstable/index.html.pt_BR > -- Murray Cumming murrayc@murrayc.com www.murrayc.com www.openismus.com From bounces@nabble.com Tue Jan 31 10:34:15 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 6CA77750102 for ; Tue, 31 Jan 2012 10:34:15 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -1.756 X-Spam-Level: X-Spam-Status: No, score=-1.756 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077, T_RP_MATCHES_RCVD=-0.01] autolearn=no Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id D1rmFbSB1M0r for ; Tue, 31 Jan 2012 10:34:13 +0000 (UTC) Received: from sam.nabble.com (sam.nabble.com [216.139.236.26]) by menubar.gnome.org (Postfix) with ESMTP id 076D17500F6 for ; Tue, 31 Jan 2012 10:34:04 +0000 (UTC) Received: from isper.nabble.com ([192.168.236.156]) by sam.nabble.com with esmtp (Exim 4.72) (envelope-from ) id 1RsB2J-0002vm-JG for gtkmm-list@gnome.org; Tue, 31 Jan 2012 02:34:03 -0800 Message-ID: <33235223.post@talk.nabble.com> Date: Tue, 31 Jan 2012 02:34:03 -0800 (PST) From: gig-raf To: gtkmm-list@gnome.org Subject: Dynamic poplulating of TreeView/ListStore MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: dbrandt@db-cc.de X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 10:34:15 -0000 Does anyone have a simple example on how I can build and populate a TreeView/Liststore dynamically. I had a look at the gtkmm 2.25 example http://developer.gnome.org/gtkmm-tutorial/2.24/sec-treeview-examples.html.en The problem I do not know what columns nor their data types at compile time. Hence I will need to build the column headers and populate the data based on list like [ustring, ustring, gint] ['name', 'first_name',30] etc. Any small example would be very nice, or perhaps some good pseudo code that I can use to get started. Thanks in advance, Daniel -- View this message in context: http://old.nabble.com/Dynamic-poplulating-of-TreeView-ListStore-tp33235223p33235223.html Sent from the Gtkmm mailing list archive at Nabble.com. From rnsribeiro@gmail.com Tue Jan 31 14:11:38 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 4352375007F for ; Tue, 31 Jan 2012 14:11:38 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.545 X-Spam-Level: X-Spam-Status: No, score=-2.545 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IECl52CPoPci for ; Tue, 31 Jan 2012 14:11:33 +0000 (UTC) Received: from mail-tul01m020-f182.google.com (mail-tul01m020-f182.google.com [209.85.214.182]) by menubar.gnome.org (Postfix) with ESMTP id 68A7375007D for ; Tue, 31 Jan 2012 14:11:24 +0000 (UTC) Received: by obcwo16 with SMTP id wo16so9825466obc.27 for ; Tue, 31 Jan 2012 06:11:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; bh=/MWJx0O/Y3Yp/8eT4SCEZPxZaTiQiQQKJS9zsqzhV2o=; b=nwkTk6QA2RLTRslhfk1QGOZj1toGIM6G0kytx2UbIDBxk2ot+ErDyFT3G4T9xb6L2N IntLXT7PDAqumA2OWLFW5uJlExBOqUiqiz/m32N0Dcufsgz7MHtxLaf2cu6zMmQdvrui gTw5THVTvgNQTrTtq1XLkc6dnZk/vakofvbsw= Received: by 10.182.0.106 with SMTP id 10mr35286775obd.72.1328019083127; Tue, 31 Jan 2012 06:11:23 -0800 (PST) MIME-Version: 1.0 Received: by 10.182.71.196 with HTTP; Tue, 31 Jan 2012 06:11:01 -0800 (PST) From: Rodrigo Nunes Date: Tue, 31 Jan 2012 12:11:01 -0200 Message-ID: Subject: Programming with gtkmm in portuguese To: gtkmm-list@gnome.org Content-Type: multipart/alternative; boundary=f46d043c077eb46a0b04b7d38912 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 14:11:38 -0000 --f46d043c077eb46a0b04b7d38912 Content-Type: text/plain; charset=ISO-8859-1 thanks, this was the same link I was looking for. http://developer.gnome.org/gtkmm-tutorial/unstable/index.html.pt_BR --f46d043c077eb46a0b04b7d38912 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable thanks, this was
the same link I was looking for.
http://developer.gnome.org/gtkmm-tutorial/unstable/index.html.pt_BR
--f46d043c077eb46a0b04b7d38912-- From rnsribeiro@gmail.com Tue Jan 31 15:41:12 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 057D075010D for ; Tue, 31 Jan 2012 15:41:12 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.699 X-Spam-Level: X-Spam-Status: No, score=-2.699 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mFTty-BGFuPI for ; Tue, 31 Jan 2012 15:41:07 +0000 (UTC) Received: from mail-tul01m020-f182.google.com (mail-tul01m020-f182.google.com [209.85.214.182]) by menubar.gnome.org (Postfix) with ESMTP id 5D1A675007F for ; Tue, 31 Jan 2012 15:40:58 +0000 (UTC) Received: by obcwo16 with SMTP id wo16so145568obc.27 for ; Tue, 31 Jan 2012 07:40:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; bh=4MnCavuBE+76l14Ayw6S4zlwsguHwh5wSxn7aqfsJ2o=; b=Y4xAz0IaIlMjXFCy0/ecDFjh6TTriQcpPKv9uSctBO+1E5ThghTwjvTgGIleQrzTaj 7foybsDCuPyfA06Q1KruUPqyuphXstL7p2dPnW7OQ7ZOwFcEah2241CWpmgVGwDXmXX/ SL3YChF7m+2MsI9DsFfpGrGQWKLlkuOET9F+Q= Received: by 10.182.38.68 with SMTP id e4mr2193730obk.12.1328024457520; Tue, 31 Jan 2012 07:40:57 -0800 (PST) MIME-Version: 1.0 Received: by 10.182.71.196 with HTTP; Tue, 31 Jan 2012 07:40:34 -0800 (PST) From: Rodrigo Nunes Date: Tue, 31 Jan 2012 13:40:34 -0200 Message-ID: Subject: translation of the tutorial To: gtkmm-list@gnome.org Content-Type: multipart/alternative; boundary=f46d044787ab0b27d904b7d4ca4a X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 15:41:12 -0000 --f46d044787ab0b27d904b7d4ca4a Content-Type: text/plain; charset=ISO-8859-1 Hello!! I wonder how I can join the group to collaborate in the translation of the tutorial? --f46d044787ab0b27d904b7d4ca4a Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hello!!<= br>I wonder how I can join the group to collaborate in the translation of the tutorial? --f46d044787ab0b27d904b7d4ca4a-- From frede.sch@gmail.com Tue Jan 31 23:33:49 2012 Return-Path: X-Original-To: gtkmm-list@gnome.org Delivered-To: gtkmm-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id BD16975035E for ; Tue, 31 Jan 2012 23:33:49 +0000 (UTC) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Flag: NO X-Spam-Score: -2.546 X-Spam-Level: X-Spam-Status: No, score=-2.546 tagged_above=-999 required=2 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, TW_GT=0.077, TW_TK=0.077] autolearn=ham Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sed0PNiqZ6Gx for ; Tue, 31 Jan 2012 23:33:45 +0000 (UTC) Received: from mail-pz0-f54.google.com (mail-pz0-f54.google.com [209.85.210.54]) by menubar.gnome.org (Postfix) with ESMTP id EDC1B750330 for ; Tue, 31 Jan 2012 23:33:32 +0000 (UTC) Received: by daec6 with SMTP id c6so527426dae.27 for ; Tue, 31 Jan 2012 15:33:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; bh=aR2IK+1gwtfrtR1jgjwOTVAn2k1Qsw7+oOw4rKGIA2c=; b=cu66LzwXAhVP5P8XnXlWNE+X9SDVtIIKHmTM0goUiNQoLWT9KRYSQecENDSXRroSp4 a/e5MFRDlj7wS88tC0m+/2E/hcws335c9i922nWFu0FHPU+1FoZh2bm+7wIFL9ebw5gy DROVgXtUfKpDjsGakp0B9NN9saPWagPJsrGJU= Received: by 10.68.209.6 with SMTP id mi6mr53208599pbc.87.1328052811309; Tue, 31 Jan 2012 15:33:31 -0800 (PST) MIME-Version: 1.0 Received: by 10.68.58.4 with HTTP; Tue, 31 Jan 2012 15:33:11 -0800 (PST) From: Frederico Date: Tue, 31 Jan 2012 15:33:11 -0800 Message-ID: Subject: gtkmm 3.0 at win32 and win64 To: gtkmm-list@gnome.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: gtkmm-list@gnome.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: gtkmm general discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 23:33:50 -0000 Hello there, I've checked at http://ftp.gnome.org/pub/GNOME/binaries/win64/gtkmm/ and http://ftp.gnome.org/pub/GNOME/binaries/win32/gtkmm/ but there's nothing about version 3.0 for windows user. I've a simple GUI using gtkmm version 3.0 and would like to compile it for windows 32 and 64 bits, do you have any news about it? Or should I convert my GUI to use 2.22? -- Thanks, Frederico Schardong, Linux registered user #500582