[GRASS-dev] expanding [+] list on the GUI status bar

Michael Barton michael.barton at asu.edu
Tue May 15 00:44:15 EDT 2007

IMHO, it doesn't seem worth the trouble. The wxPython status line currently
gives the extents along with the current cursor position. The resolution is
meaningless in the display, as it changes dynamically.

We could add a button somewhere that pops up an info window for the current
region (i.e., does a g.region -pg). But then, that is already accessible
from the menu and prints to the text output window of the GIS Manager.

One thing that might be useful (maybe a wish from awhile back in fact) is
adding an info item to the current context menu for map layers in the GIS
Manager. It would pop up a message box with output from r.info or v.info in
it for the map layer under the cursor.


On 5/13/07 1:19 PM, "Daniel Calvelo" <dca.gis at gmail.com> wrote:

> [Hamish and Michael trying to find a way to fit more information on
> the status line]
> [...]
> [Hamish]
>> So what if we have a box at the bottom of the GUI that walks a like a
>> status bar and talks like a status bar but is coded as a combobox or
>> something similar?
>> (IF an exanding list is really useful in the first place)
> [Michael]
>> I'm not convinced that it's worth the trouble to do.
> [...]
> The problem is that in order to behave (resizing and so on), it must
> be a carefully crafted widget and be carefully inserted in the frame's
> layout.
> An easier solution would be to expand the statusbar widget
> capabilities. It's actually a multiple-field one-liner. The one-liner
> thing is its most cumbersome detail. I found no way in which it can be
> made to hold more than one line. (It's probably feasible in the C++
> wx, but I guess there is some reason why it has not been done in the
> Python bindings, and we do NOT want to handle patches to a upstream
> dependency, do we?)
> We could add an info button, or a tooltip to the statusbar (I'd favor
> the former) that pops up extended information about the display.
> This, for instance, works:
> import wx
> class mySB(wx.StatusBar):
>     def __init__(self,parent,id=wx.ID_ANY):
>         wx.StatusBar.__init__( self, parent, id )
>         self.SetFieldsCount(1)
>         r=self.GetFieldRect(0)
>         self.txt = wx.StaticText(self, label="first field" )
>         self.txt.SetToolTipString( u"some\nlong\ntext" )
>         self.txt.SetPosition( (r.x+2, r.y+2) )
> app=wx.App(0)
> f=wx.Frame(parent=None,size=(50,50))
> f.SetStatusBar(mySB(f))
> f.Show()
> app.SetTopWindow(f)
> app.MainLoop()
> Daniel.

Michael Barton, Professor of Anthropology
School of Human Evolution & Social Change
Center for Social Dynamics & Complexity
Arizona State University

phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton

More information about the grass-dev mailing list