1
0
Fork 0
Commit graph

751 commits

Author SHA1 Message Date
Thomas Geymayer
5b74a72506 Canvas: support for custom events and event dispatching. 2014-05-19 00:28:40 +02:00
James Turner
070dba29f9 Close dialogs on GUI shutdown
- avoids orphaned dialogs on reset
- requires some guards in NasalSys since Nasal is shutdown first, but
  dialogs can have Nasal modules.
2014-03-16 22:52:55 +00:00
Thomas Geymayer
764fbd519c CanvasWidget (PUI): make button index consistent with Canvas windows 2014-03-15 15:01:09 +01:00
James Turner
f2a3090384 Fix some Clang warnings. 2014-03-11 16:46:00 +00:00
Thomas Geymayer
de38157916 FGPUIDialog: fix reading from already free'd memory.
Calls to updateValues can cause nested calls invalidating
the char* passed as argument, if retrieved from a
SGPropertyNode.
Probably SGPropertyNode should also be modified to return
a std::string instead of a pointer to an internal buffer.
2014-02-28 17:34:41 +01:00
Christian Schmitt
a0184ac80c MapWidget: silence compiler warning 2014-02-02 16:47:25 +01:00
James Turner
4df9c61d2a Check for and warn about old nVidia drivers.
(Had a bug report with someone using 189 drivers on Windows!)
2014-01-27 17:27:12 +00:00
James Turner
1a372d9366 Update image-server logic.
- no dependency on libJpeg or Simgear
- no duplicate rendering of the scene (uses a draw callback)
- supports other image types, eg PNG
- threaded so doesn't block the main loop ever
2014-01-27 09:08:34 +00:00
James Turner
45d67406a4 CrashRpt tweaks, checking.
- show a message box if setup fails
- log setup status
2014-01-22 22:33:30 +00:00
James Turner
1b585fa415 Windows native file-dialog, menu-bar
By Gijs with additions by James. Menubar is disabled at present
since it's not usable and potentially inferior to other solutions,
but committing the code so it doesn't rot.
2014-01-20 18:43:02 +00:00
James Turner
5e7574c9c2 Bug-fix: Cocoa menus work in aircraft with custom dialogs.
Restarting the GUI could cause Cocoa menus to misbehave, due to
destruction behaviour of SGBinding. Use new clear() helper in the
short term to work around this.
2014-01-15 22:00:09 +00:00
James Turner
1b9394fc37 Crashfix: move spatial, AI queries in map-widget
In threaded OSG drawing, MapWidget::draw runs in the render
thread context, but touches lots of main thread state. Move most of the
work to an update() helper run on the main thread instead, so draw()
mostly makes pure GL calls.

(This is a fix for 3.0, the real solution is to migrate to a
Canvas-based map and GUI)
2014-01-14 13:11:06 +00:00
James Turner
4c51ad0d87 Cocoa: fix warning about deprecated function.
SetFrontProcess is deprecated, use NSApplication instead now we
have the CocoaHelpers file.
2013-12-21 15:31:27 +00:00
Clément de l'Hamaide
efdb488736 Fix accent bug in MapWidget 2013-12-01 18:50:54 +01:00
James Turner
77075a2d66 Cocoa: more Function-key shortcuts in menus 2013-11-24 17:25:02 +00:00
James Turner
d99109c9e4 Reset: do re-init Ghost bindings. 2013-11-24 15:10:00 +00:00
James Turner
57c9ed1ae3 Cocoa menu fixes for reset 2013-11-24 15:10:00 +00:00
James Turner
0fbc448af0 Nasal changes for reset
- reduce use of global context (will die soon)
- replace static wrappedNode ref which breaks reset
2013-11-22 22:52:33 +00:00
James Turner
1f699984e9 One more Mac helper moved into CocoaHelpers.mm 2013-11-19 22:01:11 +00:00
James Turner
2331956539 One more Mac helper moved into CocoaHelpers.mm 2013-11-18 15:52:30 +00:00
James Turner
8b4b49cad2 Read-only mode fixes. 2013-11-18 15:40:14 +00:00
James Turner
fecb475145 Refactor Cocoa helpers.
Change away from using deprecated FSFindFolder.
2013-11-16 10:58:17 +00:00
James Turner
0cda3cbfb2 Multiple-instance support.
Write PID file to FG_HOME, use this to detect multiple launches.
When this situation is detected, set a marker property and place various
objects into read-only mode, such as the NavCache and TerraSync.

PID file is created using open+unlink semantics on POSIX, and 
DELETE_ON_CLOSE on Windows, so it will be removed when fgfs exits,
even if killed or crashes.
2013-11-15 21:04:15 +00:00
James Turner
136cd6ac51 Message box support.
This allows us to display a platform-native dialog for problems
which occur early in startup (before we can show a PUI/Canvas dialog).

In particular this improves feedback where FG_HOME, FG_DATA or
aircraft selection is wrong, all of which happen very early in startup.
2013-11-14 22:02:29 +00:00
James Turner
e25aa4f004 Fix some static property references.
(These cause problems when replacing the property tree during reset)
2013-11-14 16:37:46 +00:00
James Turner
881df711ba Reset: Nasal can be shutdown.
Also guard against duplicate init of cppbind wrapped classes.
2013-11-12 22:47:41 +00:00
James Turner
02a5261797 Reset: GUI can be shutdown. 2013-10-29 23:02:46 +00:00
James Turner
f499913762 Map shows all airports when zoomed in.
Bug 1135, or part of it.

(Ignore the short-runway culling when zoomed in)
2013-10-15 22:28:10 +01:00
James Turner
a45e3d1d07 Bug 1217, crash on AI traffic data.
Guard against flight plans with missing airport
information.
2013-10-15 22:27:19 +01:00
James Turner
38a373ba84 Display AI traffic route in map.
Add some helpers so MapWidget can show the
origin and destination of AIAircraft with a FlightPlan.
2013-09-14 12:17:33 +01:00
James Turner
1924bdfd82 Bug 550 / 454 work (not yet fully fixed)
Adding a spherical projection mode which will work at the poles and
+180/-180 line correctly. Not yet enabled since it has other issues to
be addressed.
2013-06-30 16:41:05 +01:00
James Turner
45ea8b5daa Bug 947, menu item state wrong after reset.
Mark the entire /sim/menubar tree as PRESERVED, so reset doesn't
mess up all the state.
2013-06-25 21:28:56 +01:00
James Turner
145148944f Kill off platformDesktopPath entirely 2013-06-20 00:20:12 +01:00
James Turner
6d158e886c Abstraction for the user's desktop location. 2013-06-09 23:00:09 +01:00
Thomas Geymayer
3d3475e965 Small cleanup. 2013-06-03 23:46:27 +02:00
Thomas Geymayer
220f359d34 Fix crashing without support for GLSL/OpenGL 2.0 2013-04-24 00:19:37 +02:00
Thomas Geymayer
60bec150aa Reduce severity of warning for missing gui/dialogs directory 2013-03-20 18:02:11 +01:00
Christian Schmitt
f11201d3d9 MapWidget: make partially use of the new colocated DME information.
Until a better way to draw proper symbols is implemented, this has to do.
2013-03-15 14:07:32 +01:00
James Turner
ead479532b New cursor shapes.
Unfortunately OSG lacks the 'closed hand' (aka 'grab') cursor, really time to get platform cursor working reliably.
2013-03-10 12:05:14 +00:00
Christian Schmitt
461d89cb22 Fix some uninitialized variables (found by valgrind) 2013-03-10 01:24:57 +01:00
James Turner
b29470c129 Disable native cursor on Windows for now.
There's an unfortunate interaction with osgViewer on Windows that needs to be resolved, before the can switched on.
2013-03-07 19:33:46 +00:00
Thomas Geymayer
3047c316dc Clean up/simplify NasalPositioned_cppbind
Ensure all FGPositioned related functions return SGSharedPtr
instead of raw pointers to allow automatic conversion to
nasal ghosts without custom helper functions.
2013-03-06 23:21:49 +01:00
James Turner
23a1d4338d Windows cursor implementation.
This does not (yet) support custom cursor images, but can be easily
extended to do so.
2013-03-06 18:22:37 +00:00
Thomas Geymayer
1c905e5881 Typos, license headers... 2013-03-06 01:04:52 +01:00
James Turner
034140914c Windows cursor handling stubs. 2013-03-05 20:59:05 +00:00
James Turner
8dc936b44b Forgot GPL license on new files. 2013-03-05 20:53:43 +00:00
Christian Schmitt
658bda6e40 MapWidget: Show counties and towns as well, depending on the zoom.
Some colors added.
2013-03-05 18:26:01 +01:00
James Turner
4c32b832ec Stray debug message, remove. 2013-03-05 14:29:14 +00:00
James Turner
f2c267f5d7 MouseInput changes to support hover.
This adds the framework for platform cursor implementations; Windows and X11 to be done.
It also extend the mouse-input code to generate hover events suitable for driving tooltips.

Note there should be no visible functionality change from this commit, since everything
is inactive until fgdata changes are made.
2013-03-04 23:35:30 +00:00
Christian Schmitt
6bf47cd248 MapWidget: make use of the new POI system and display cities on the map.
This is meant as a preview.
2013-03-04 00:27:12 +01:00