Feature Request: Add map pane

Lubomir I. Ivanov neolit123 at gmail.com
Mon Mar 11 02:19:40 PDT 2013


On 11 March 2013 02:24, Dirk Hohndel <dirk at hohndel.org> wrote:
>
> On Mar 10, 2013, at 4:36 PM, Jan Schubert wrote:
>
>> Displaying the map in a seperate window while all the other information
>> is shown in panes inside the Subsurface screen is a little bit strange.
>> Also, displaying the map prevents one from using Subsurface before
>> closing the map window.
>>
>> Would be nice to have the map window visible as a docked pane inside
>> subsurface and switching dives updates the map.
>
> I have semi working prototype code for that but it has a major problem.
>
> When editing dive info, we open a dialog. From there the user can click on a
> button that opens the map window.
>
> Switching notebook panes at that stage isn't hard - but the dialog is modal
> to the main window and I have not managed to get Gtk to let us interact with
> the notebook pane that has the map in it. So things like right click to mark
> the spot no longer work :-(
>
> I can push this out in a branch if others want to see if they can make it work -
> it's very much a prototype at this stage…
>

not sure would be best for the map widget, but i wouldn't rely on
GTK+2 modality to work in a portable way. :(
from multiple tests the deeper level modality seems completely broken
on older Debian and Ubuntu, but works on Windows. we have prevention
checks in multiple locations, which can be observed in the following
ways:

1) notice that adding "weights" (or cylinders) from the info dialog,
makes the info dialog behind grey/inactive. without this prevention it
was possible to open multiple "weight" dialogs, which creates a mess
in memory. the GTK API does not work as expected here...

2) currently, if you open a "map dialog" from the "info dialog", you
can close the "info dialog" behind then "map dialog". then if you pick
a location on the map, notice that the dive location does not update.
i've sent a patch for that at one point, and this was mainly because
some objects do not exist no longer in memory and the callback from
the map should be a NULL operation or we get a seg. fault. it would
probably be best to disable the dialog behind, like in the case of
wights/cyl.

lubomir
--


More information about the subsurface mailing list