Plotting graphs
Hi, Can someone refer me to an example which plots a simple 2D graph using gtkextra API. thanks, bluezapper. - Never miss an email again! Yahoo! Toolbar alerts you the instant new Mail arrives. Check it out. ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
how to constrain the cursor in just one screen.
Hi, I'm working a GTK based applicaion, which uses double screens. Without any constraint, the user can move the cursor freely from one scrren to another. Now, I want to constrain the cursor in just one screen. How can I do it? Is there a gtk function which can help me solve my problem? Andy ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Plotting graphs
On 5/24/07, Bluezapper [EMAIL PROTECTED] wrote: Hi, Can someone refer me to an example which plots a simple 2D graph using gtkextra API. thanks, bluezapper. A bit off topic, but there is also the GtkDatabox library out there (I have not tested it though!) Regards, Vivien ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
GTK+ 2.11.0 released
GTK+ 2.11.0 is now available for download at: ftp://ftp.gtk.org/pub/gtk/2.11/ http://ftp.gnome.org/pub/GNOME/sources/gtk+/2.11/ gtk+-2.11.0.tar.bz2 md5sum: e6a5d829bb729b2d7c35d2988974119b gtk+-2.21.0.tar.gzmd5sum: c2db34848bb99da1b742b92c8393c5bb This is a development release leading up to GTK+ 2.12. Notes: * This is unstable development release. While it has had a bit of testing, there are certainly plenty of bugs remaining to be found. This release should not be used in production. * Installing this version will overwrite your existing copy of GTK+ 2.10. If you have problems, you'll need to reinstall GTK+ 2.10. * GTK+ 2.12 will be source and binary compatible with the GTK+ 2.10 series; however, the new API additions are not yet finalized, so there may be incompatibilities between this release and the final 2.12 release. In particular, the following API additions are still being considered for inclusion: 172535 Add support for UI builders in gtk+ 412882 gdkwindow should support the concept of composited 318807 Offscreen windows and window redirection * Bugs should be reported to http://bugzilla.gnome.org. What is GTK+ GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off tools to complete application suites. GTK+ has been designed from the ground up to support a range of languages, not only C/C++. Using GTK+ from languages such as Perl and Python (especially in combination with the Glade GUI builder) provides an effective method of rapid application development. GTK+ is free software and part of the GNU Project. However, the licensing terms for GTK+, the GNU LGPL, allow it to be used by all developers, including those developing proprietary software, without any license fees or royalties. Where to get more information about GTK+ Information about GTK+ including links to documentation can be found at: http://www.gtk.org/ An installation guide for GTK+ 2.8 is found at: http://developer.gnome.org/doc/API/2.0/gtk/gtk-building.html Common questions: http://developer.gnome.org/doc/API/2.0/gtk/gtk-question-index.html http://www.gtk.org/faq/ Contributing GTK+ is a large project and relies on voluntary contributions. We are actively searching for new contributors in various areas and invite everyone to help project development. If you are willing to participate, please subscribe to the project mailing lists to offer your help and read over our list of vacant project tasks: http://live.gnome.org/GtkTasks Overview of Changes from GTK+ 2.10.x to 2.11 * Printing support: - Cups backend: Work with BrowseShortNames Off - Cups backend: Fix handling of multi-valued options - Cups backend: Work with raw printers - Cups backend: don't lock up when met with larger numbers of printers - Improved sensitivity handling of controls in the unix dialog - Support half-open ranges - Add a test print backend for easier debugging - Add API to list paper sizes - Add API to serialize and deserialize page setups and print settings - Print settings can be passed to the preview command - Make more GtkPrinter public * GtkFileChooser: - Improve file chooser dialog size logic - Add a GtkFileChooserButton::file-set signal - Add a search mode with backends for Beagle, Tracker and simple search - Add recent files support * New tooltips API, that allows complex tooltips (markup, images), tooltips on insensitive widgets, tooltips on treeviews, etc * GtkScaleButton, GtkVolumeButton: new widgets for volume controls frequently seen in multimedia applications * Input Methods: - New Thai and Lao input method - New multipress input method for phone pads * Recent files: - GtkRecentChooserMenu supports custom menu items - GtkRecentAction was added * Keyboard navigation improvements: - Infrastructure for notification of failed keyboard navigation - Better support for restricted sets of keys - Only handle keys for notebook tab reordering and scrolledwindow scrolling if it make sense - Add settings gtk-enable-accels and gtk-enable-mnemonics to disable the display of accelerators and mnemonics - Popup/popdown of comboboxes is keybindable * Windows port: - Windows 9x/ME is not supported anymore - Many ms-windows theme improvements - The file chooser uses native icons - Support drop shadows - Use native cursors * OS X port: - Many improvements * Icon theme support: - Add api to list contexts of an icon theme - The builtin stock icons have been replaced by a new set of icons which are visually compatible with Tango - Support fallback to more generic icon names - Validate icon caches when they are created and before they are used * GtkRange has gained support for fill levels *
Capture GdkWindow event
Hi, I want to capture a GdkWindow's destory event. And I have tried 'g_signal_connect' function, but failed. Can someone refer me to an example? thanks, -- Sorry for my poor English :) - http://www.aragonconsultinggroup.com - http://www.aiyo.cn ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Capture GdkWindow event
小多 escribió: Hi, I want to capture a GdkWindow's destory event. And I have tried 'g_signal_connect' function, but failed. Can someone refer me to an example? thanks, What's the matther following this example? Is the doc exampl, i used it last time... g_signal_connect(G_OBJECT (window), destroy, G_CALLBACK (destroy), NULL); static void destroy (GtkWidget *widget, gpointer data) { gtk_main_quit(); } May be you have to explain us any more, anyway the asiatic keys in your signature are lovely ;) ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: menuitem activate
On Wed, 23 May 2007 16:49:50 +0200, David Neèas (Yeti) wrote On Wed, May 23, 2007 at 10:36:13AM -0400, danielg RHCE wrote: Why don't you just call the callback function which is connected to the signal? Or use g_signal_emit() or g_signal_emit_by_name() to emulate a click on the menu item. That's exactly what I'm trying to do, simulate a menu item click. gtk_widget_activate(item); or gtk_menu_item_activate(item); Okay, So, with this as the originator: ifactory = gtk_item_factory_from_widget (dirview_popup); (...) menuitem = gtk_item_factory_get_item (ifactory, /Refresh Tree); That's: gtk_menu_item_activate(/Refresh Tree); ?? That gives me a segfault. I know I'm missing something little and stupid but I don't know what it is. ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: menuitem activate
If you know what action you want to invoke, you can also call the callback function of the item directly (or some other function that performs the requested action), can't you? I guess it'll be shorter to start from the beginning. I'm messing around with GimageView 0.2.27. I want it to auto-refresh the directory tree as new things are added to the directory it starts from with the command line switches. I can loop the reading of the directory all day, but if I do that the refreshes take place before the program is ever drawn to the screen. Not good. I cannot do anything actively until after the program is drawn on the screen. I can make the single click on the refresh button loop as often as I care to do so. Still, requires a click of the mouse. How to eliminate that click. I've put in a method (function?) that uses dnotify to print something added and something changed in the starting xterm at the appropriate times. Cool, now I've got the automated part of notification done. All I want it to do is refresh the directory side of the screen whenever there's a change in the directories I've chosen. There's already a refresh directory method available. I would love to call static void cb_refresh_dir_tree (DirView *dv, guint action, GtkWidget *menuitem) directly, but I have no idea what the pointer to dv needs to be. Well, what does the call back call? refresh_dir_tree (dv, iter); Well, that's no help in the least, I STILL don't know what that *dv is or what it needs to be. I know the iteration (iter) can be NULL and that works for what I'm doing but what the heck is that dv? Okay, so without that, how do I tell the program that the Refresh Directory Tree button has been pushed and let IT figure out what the heck needs to go where. Then we end up with my original question about gtk_button_clicked(). When I looked further into the program, it's not actually a button, it's a GtkWidget: static void cb_refresh_button (GtkWidget*widget I tried making that one a GtkButton *button and that worked for the button still working but I still could not figure out how to press it inside the program from the dnotify. So, digging some more I find that the deprecated menuitem setup is what is being used in the popup as well as the main menu and both have calls to refresh the directory tree. All I have to do is make the program believe one of those has been clicked and it'll refresh. and here's where I sit, knowing that, having a good idea about what I need to do to make it work but unable to figure out what the heck the actual call is. ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: menuitem activate
You have to find you what dv is, where is is constructed and how to pass it where you set up the notify handler. DirView * dirview_create (const gchar *root_dir, GtkWidget *parent_win, GimvThumbWin *tw) { (...) dnotify is being slowly overtaken by inotify but some of the kernels I run across are older and won't have it in there. I also don't mind the single directory, non-recursive, because that's all I need for this. It could look like: dv = ... set up the dir view ... /* And here comes your part */ setup_notify(dv, refresh_me); Okay, I understand the setup_notify and the dv there, what's the refresh_me for (do?) or is that just another call to the function you have listed below? What would the call to create the setup_notify be? I'm already using int change_notification(void) So, that would be int change_notification (dv, handler) { DirView *dv; struct sigaction act; int fd; (...) and above that would be: static void handler(int sig, siginfo_t *si, void *data, DirectoryView *dv) { event_fd = si-si_fd; cb_refresh_dir_tree(dv, NULL); } Where setup_notify() remembers dv, the function to call on it, sets up the dnotify() notification (is dnotify() still the preferred mechanism? I recall rumours of it being about to be replaced from approx. 2 years ago) and does something like g_signal_connect(dv, destroy, G_CALLBACK(stop_notifying), NULL); okay, g_signal_connect to dv, signal name, callback of stop notification, and data returned (none). So, this is where I need to put the listener (dnotify())? I would like this to go on the entire run of the program. I guess, what's the destroy for? where stop_notifying() is a function to shut down notification for dv and forget dv. And refresh_me() just does static void refresh_me(DirView *dv) { cb_refresh_dir_tree(dv, NULL); } That's the handler() up there. I don't know what the lifetime rules are for the directory views or whether more of them can be present, but this scheme can work quite generally. You can employ a more general callback mechanism, but this should be sufficient in your case. I'm getting there. I understand what I want to do, I'm just relearning how C makes me say it. ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Capture GdkWindow event
I have wrote a firefox extension. My code is: NS_IMETHODIMP nsTray::Connect_window_event(nsIBaseWindow *aBaseWindow, nsITrayCallback *aCallback) { nsresult rv; NS_ENSURE_ARG_POINTER(aBaseWindow); nativeWindow aNativeWindow; rv = aBaseWindow-GetParentNativeWindow(aNativeWindow); NS_ENSURE_SUCCESS(rv, rv); g_signal_connect(G_OBJECT(gdk_window_get_toplevel(NS_REINTERPRET_CAST(GdkWindow*, aNativeWindow))), destroy, G_CALLBACK(nsTray::window_close_event), this); return NS_OK; } When I call this function, displayed that: GLib-GObject-WARNING **: gsignal.c:1669: signal `destroy' is invalid for instance `0x8444920' On 5/24/07, Marcelo Armengot [EMAIL PROTECTED] wrote: 小多 escribió: Hi, I want to capture a GdkWindow's destory event. And I have tried 'g_signal_connect' function, but failed. Can someone refer me to an example? thanks, What's the matther following this example? Is the doc exampl, i used it last time... g_signal_connect(G_OBJECT (window), destroy, G_CALLBACK (destroy), NULL); static void destroy (GtkWidget *widget, gpointer data) { gtk_main_quit(); } May be you have to explain us any more, anyway the asiatic keys in your signature are lovely ;) -- Sorry for my poor English :) - http://www.aragonconsultinggroup.com - http://www.aiyo.cn ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Capture GdkWindow event
0x8444920 is the address of the instance G_OBJECT(gdk_window_get_toplevel(NS_REINTERPRET_CAST(GdkWindow*, aNativeWindow))) He is telling you that is a wrong reference and he cant redirect it. I think you are addressing wrongly your window, try to look for the window without toplevel() primitive ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Capture GdkWindow event
Without toplevel(): GLib-GObject-WARNING **: gsignal.c:1669: signal `destroy' is invalid for instance `0x8444a28' But gdk_window_hide(gdk_window_get_toplevel(NS_REINTERPRET_CAST(GdkWindow*, aNativeWindow))); can hide the window. It's wried... On 5/24/07, Marcelo Armengot [EMAIL PROTECTED] wrote: 0x8444920 is the address of the instance G_OBJECT(gdk_window_get_toplevel(NS_REINTERPRET_CAST(GdkWindow*, aNativeWindow))) He is telling you that is a wrong reference and he cant redirect it. I think you are addressing wrongly your window, try to look for the window without toplevel() primitive -- Sorry for my poor English :) - http://www.aragonconsultinggroup.com - http://www.aiyo.cn ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Capture GdkWindow event
It seems you are looking for the parent of a window. When you created that window you knew its parent. Save the parent and call for his destruction. Another way is to revise this way of addressing, but i cant help you... G_OBJECT(gdk_window_get_toplevel(NS_REINTERPRET_CAST(GdkWindow*, aNativeWindow)) ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Capture GdkWindow event
On Thu, 2007-05-24 at 23:07 +0800, 小多 wrote: Without toplevel(): GLib-GObject-WARNING **: gsignal.c:1669: signal `destroy' is invalid for instance `0x8444a28' GObject is trying to tell you that GdkWindow instances do not have a destroy signal; the destroy signal is available for GtkObjects - so you need a GtkWindow, not a GdkWindow. ciao, Emmanuele. -- Emmanuele Bassi, E: [EMAIL PROTECTED] W: http://www.emmanuelebassi.net B: http://log.emmanuelebassi.net ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Capture GdkWindow event
Good idea! But I don't know how to recast the nativeWindow as a GtkWindow object. When I tried: g_signal_connect(G_OBJECT(NS_REINTERPRET_CAST(GtkWindow*, aNativeWindow)), destroy, G_CALLBACK(nsTray::window_close_event), this); It shows that: GLib-GObject-WARNING **: gsignal.c:1669: signal `destroy' is invalid for instance `0x8444a28' On 5/24/07, Emmanuele Bassi [EMAIL PROTECTED] wrote: On Thu, 2007-05-24 at 23:07 +0800, 小多 wrote: Without toplevel(): GLib-GObject-WARNING **: gsignal.c:1669: signal `destroy' is invalid for instance `0x8444a28' GObject is trying to tell you that GdkWindow instances do not have a destroy signal; the destroy signal is available for GtkObjects - so you need a GtkWindow, not a GdkWindow. ciao, Emmanuele. -- Emmanuele Bassi, E: [EMAIL PROTECTED] W: http://www.emmanuelebassi.net B: http://log.emmanuelebassi.net ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list -- Sorry for my poor English :) - http://www.aragonconsultinggroup.com - http://www.aiyo.cn ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Capture GdkWindow event
On Thu, 2007-05-24 at 23:25 +0800, 小多 wrote: Good idea! But I don't know how to recast the nativeWindow as a GtkWindow object. When I tried: g_signal_connect(G_OBJECT(NS_REINTERPRET_CAST(GtkWindow*, aNativeWindow)), destroy, G_CALLBACK(nsTray::window_close_event), this); It shows that: GLib-GObject-WARNING **: gsignal.c:1669: signal `destroy' is invalid for instance `0x8444a28' you cannot recast it: they are two completely different classes. a GdkWindow is the platform specific resource for a window (not only top-levels, but internal windows as well), while a GtkWindow is a widget. http://developer.gnome.org/doc/API/2.0/gdk/gdk-Windows.html http://developer.gnome.org/doc/API/2.0/gtk/GtkWindow.html ciao, Emmanuele. -- Emmanuele Bassi, E: [EMAIL PROTECTED] W: http://www.emmanuelebassi.net B: http://log.emmanuelebassi.net ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Capture GdkWindow event
OK, but how could I capture a GdkWindow's event? On 5/24/07, Emmanuele Bassi [EMAIL PROTECTED] wrote: On Thu, 2007-05-24 at 23:25 +0800, 小多 wrote: Good idea! But I don't know how to recast the nativeWindow as a GtkWindow object. When I tried: g_signal_connect(G_OBJECT(NS_REINTERPRET_CAST(GtkWindow*, aNativeWindow)), destroy, G_CALLBACK(nsTray::window_close_event), this); It shows that: GLib-GObject-WARNING **: gsignal.c:1669: signal `destroy' is invalid for instance `0x8444a28' you cannot recast it: they are two completely different classes. a GdkWindow is the platform specific resource for a window (not only top-levels, but internal windows as well), while a GtkWindow is a widget. http://developer.gnome.org/doc/API/2.0/gdk/gdk-Windows.html http://developer.gnome.org/doc/API/2.0/gtk/GtkWindow.html ciao, Emmanuele. -- Emmanuele Bassi, E: [EMAIL PROTECTED] W: http://www.emmanuelebassi.net B: http://log.emmanuelebassi.net -- Sorry for my poor English :) - http://www.aragonconsultinggroup.com - http://www.aiyo.cn ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Capture GdkWindow event
could you please reply below? and could you please reply to the list? I'm subscribe, so there's no need to Cc: me. On Thu, 2007-05-24 at 23:38 +0800, 小多 wrote: OK, but how could I capture a GdkWindow's event? you don't. you need to get a GtkWindow to connect to the events. I have no idea of what are you trying to achieve, and I don't know the mozilla API at all, so I guess you're better off asking on a mozilla developers list. ciao, Emmanuele. -- Emmanuele Bassi, E: [EMAIL PROTECTED] W: http://www.emmanuelebassi.net B: http://log.emmanuelebassi.net ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Capture GdkWindow event
On 5/24/07, Emmanuele Bassi [EMAIL PROTECTED] wrote: could you please reply below? and could you please reply to the list? I'm subscribe, so there's no need to Cc: me. On Thu, 2007-05-24 at 23:38 +0800, 小多 wrote: OK, but how could I capture a GdkWindow's event? you don't. you need to get a GtkWindow to connect to the events. I have no idea of what are you trying to achieve, and I don't know the mozilla API at all, so I guess you're better off asking on a mozilla developers list. ciao, Emmanuele. -- Emmanuele Bassi, E: [EMAIL PROTECTED] W: http://www.emmanuelebassi.net B: http://log.emmanuelebassi.net Thanks. -- Sorry for my poor English :) - http://www.aragonconsultinggroup.com - http://www.aiyo.cn ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Capture GdkWindow event
I will search some doc for revising this way of addressing. Thanks again. On 5/24/07, Marcelo Armengot [EMAIL PROTECTED] wrote: It seems you are looking for the parent of a window. When you created that window you knew its parent. Save the parent and call for his destruction. Another way is to revise this way of addressing, but i cant help you... G_OBJECT(gdk_window_get_toplevel(NS_REINTERPRET_CAST(GdkWindow*, aNativeWindow)) -- Sorry for my poor English :) - http://www.aragonconsultinggroup.com - http://www.aiyo.cn ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Plotting graphs
Greetings, GtkExtra comes with a decent number of sample programs demonstrating its capabilities. Please refer to them. Personally, I think, GtkExtra is a great choice for plotting. It has an absolute minimum number of dependencies, which makes it easy to maintain and upgrade, and is very performance-efficient. It's particularly good for performance-critical real-time plotting of large volumes of data. The down side, of course, is the existing documentation and relative low levelness of the API. You may also want to take a look at the C++ bindings for GtkExtra: http://sourceforge.net/projects/gtkextramm Good luck! Nickolai PS We all would appreciate if you could use your real name when posting. Some people would never respond to anyone who posts under an alias. ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Plotting graphs
On Thu, 2007-05-24 at 06:27 -0700, Bluezapper wrote: Hi, Can someone refer me to an example which plots a simple 2D graph using gtkextra API. thanks, bluezapper. I have used successfully both GtkExtra and GtkDataBox libraries. However, for the app I was writing I found them too big for the simple graph I needed; so I created my own. Here is the link: GLINEGRAPH http://mysite.verizon.net/skoona/id1.html As a result of creating my own I have also contributed to a embedded project which also contains a GTK based 2D scientific graph; here is its link: http://giw.sourceforge.net/ James, - Never miss an email again! Yahoo! Toolbar alerts you the instant new Mail arrives. Check it out. ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list