Re: Placement of popup ( CellRendererDate from examples )
- From: muppet <scott asofyet org>
- To: Daniel Kasak <dkasak nusconsulting com au>
- Cc: gtk-perl-list gnome org
- Subject: Re: Placement of popup ( CellRendererDate from examples )
- Date: Mon, 5 Sep 2005 21:05:27 -0400
On Sep 5, 2005, at 7:31 PM, Daniel Kasak wrote:
How would I go about modifying this to detect whether the  
calculated y position puts part of the calendar off-screen?
Simply calculate whether $y_origin + $cell_area->y + $cell_area- 
>height + $popup->allocation->height is greater than the available  
screen height.   (You imply this below, so i suspect you already knew  
that.)  If it is, then place the popup above the cell instead of  
below it.
I know ( or I think I know anyway ... I haven't tried it yet ) I  
can do $popup->allocation to get the size of the popup.
There's also get_size_request(), which will ask the widget to  
calculate the size it wants (which propagates to children); you can  
use this before the widget is onscreen to avoid flicker.
But how do I get the screen size?
# since gtk+ 2.2:
$screen = $widget->get_screen;
$width = $screen->get_width;
$height = $screen->get_height;
# for gtk+ 2.0.x, there were Gtk2::Gdk->get_screen_(width|height),  
but they don't play nicely with multihead stuff.
--
In some newer operating systems, time_t has been widened to 64 bits.  
In the negative direction, this goes back more than twenty times the  
age of the universe, and so suffices. In the positive direction,  
whether this range is sufficient to represent all possible times  
depends on the ultimate fate of the universe, but it can be expected  
to postpone overflow long enough for such implementation limits to be  
abolished.
  -- Wikipedia, on UNIX time.
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]