1
0
Fork 0
Commit graph

950 commits

Author SHA1 Message Date
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
Thomas Geymayer
0587db3b1e Update for nasal::Ghost changes 2013-03-03 19:30:16 +01:00
James Turner
88a4435cef Remove isReciprocal from FGRunway.
This was a bogus concept, either runways have a reciprocal or not (if singled-ended), really this was simply exposing an artefact of the apt.dat encoding. Change to an API which gives what is actually wanted - the ability to extract an airport's runways without any reciprocals included.
2013-02-28 18:21:29 +00:00
Thomas Geymayer
3ea69785d9 CanvasWidget: automatically set auto-viewport.
If no viewport dimensions are given the viewport
will now automatically resize, otherwise it stays
unchanged.
2013-02-25 15:39:30 +01:00
Thomas Geymayer
045fc5b4ae CanvasWidget: add auto-viewport property.
The auto-viewport property allows to disable automatic
update of the canvas viewport update upon resizing
the PUI canvas widget.
2013-02-25 15:32:07 +01:00
James Turner
1eb8ae1fbf Give the FGAirport class a sane filename.
simple.[cxx|hxx] -> airport.[cxx|hxx]
2013-02-21 11:32:02 +00:00
Christian Schmitt
11c00afaec Add support for helipads from apt.dat 850+ 2013-02-21 00:01:36 +01:00
James Turner
7b663cd7f7 Split huge NasalSys header apart. 2013-02-09 15:33:05 +00:00
James Turner
ce9afecdbd Support a log-list widget in PUI.
Add a puaListBox which can show the contents of a log-buffer. Currently only two buffer sources are supported more to follow (and the dialog XML updates).
2013-02-08 19:39:41 +00:00
Frederic Bouvier
7cc3ffb30f Fix build for windows after logstream changes 2013-02-08 08:46:34 +01:00
James Turner
7cf4aa2d86 Make various PUI widgets private. 2013-02-07 12:02:52 +00:00
James Turner
11f15a9b36 Joystick/dialog caches, commit the transactions. 2013-01-25 09:30:31 +01:00
James Turner
37900e22a8 Wrap dialog and joystick stat-cache in a transaction.
Should improve startup times when the cache is rebuilt.
2013-01-24 09:27:09 +01:00
James Turner
a31c2d519c Tolerate old blocks support in 10.6 compiler. 2013-01-22 18:33:16 +01:00
James Turner
980105385d Use the aircraft position helper. 2013-01-22 18:15:05 +01:00
James Turner
c70bd65922 Tweaking syntax for 10.6 block locals. 2013-01-19 18:05:35 +00:00
James Turner
008a2d65f1 Make it all work with existing FileSelector API. 2013-01-19 16:23:05 +00:00
James Turner
9f8c66fbf9 Cocoa: use a window-sheet, and fire the callback. 2013-01-19 14:41:45 +00:00
James Turner
2e1fb7972e Initial work on native file dialog support.
Add an abstract interface, version that forwards to the existing PUI dialog, and a Cocoa-native version.
2013-01-19 14:41:45 +00:00
James Turner
1e8cdd5829 Support partial all-within-range spatial queries.
As an opt-in API, allow clients to request partial results, with a time-bounded cutoff. Use this to keep the MapWidget responsive even when many airports are being added to the cache (e.g., zooming out or panning rapidly when zoomed out)
2012-12-18 10:23:44 +00:00
Thomas Geymayer
41d285a821 Canvas: remove old event handling code 2012-12-16 19:04:38 +01:00
James Turner
433af2b51a Flight-path-history.
Record the historical flight-path (by default, since last takeoff). Optionally display the flight-path in the map; other visualisations (e.g., an 'in-world' view) could also be created. Nasal API to follow so Canvas-map or FMS can show the same data.

Altitude and attitude (Euler angles) are currently recorded but not used anywhere.
2012-12-10 18:11:44 +00:00
Thomas Geymayer
e62649e075 CanvasWidget: Retrieve texture id every frame.
If the size of a Canvas changes also the texture id
changes. We now retrieve the texture id for the CanvasWidget
every frame to ensure it uses the latest texture instance.
2012-12-09 23:15:49 +01:00
Thomas Geymayer
13cec7bd99 Canvas MouseEvent now provides client and screen position 2012-12-08 15:02:15 +01:00
Thomas Geymayer
91bc5e522a Canvas add event time and expose current click count 2012-12-06 23:27:25 +01:00
Thomas Geymayer
ab1c0e946f Fix calculating CanvasWidget mouse coordinates 2012-12-02 23:59:44 +01:00
Thomas Geymayer
8d8e9c3913 Fix for old PUI versions 2012-12-02 15:47:21 +01:00
Thomas Geymayer
28f2779c4b Forward mouse events from (PUI) CanvasWidget to Canvas for new DOM like callbacks 2012-12-02 13:33:16 +01:00
James Turner
04598859e3 Make PUI menu-bar reinit safe.
Was only cleaning up the PUI menubar, not old bindings / names. This led to duplicate bindings, each time the GUI was reset, which can happen for various reasons.
2012-11-20 13:32:10 +00:00
Thomas Geymayer
d51499382d Clean up CanvasWidget and more work on Canvas/Nasal bindings 2012-11-18 16:46:03 +01:00
ThorstenB
a784443a24 Remove static property dependencies
preventing us from wiping properties on reset/reinit/subsystem recreate.
(more work required for "native_gui" and "ATC-Outputs" protocols)
2012-11-18 16:35:54 +01:00
ThorstenB
076bbb8487 Fix some compiler warnings.
Unused vars, loss of precision, bool type conversions.
2012-10-13 17:59:47 +02:00
ThorstenB
b838691f50 #897: float vs double precision issues (frequency dialog not always working)
puObject only provides float, not double, which causes precision/rounding
issues with some numerical values (try "114.2").
Work around: obtain string value, and manually convert with proper double
precision.
2012-10-10 20:28:17 +02:00
ThorstenB
dac8706e2e Move GUI init code to gui module. 2012-09-25 22:39:13 +02:00
ThorstenB
2003e7cf2a Avoid compiler warning. 2012-09-21 15:36:52 +02:00
James Turner
d7d19649aa Fix a stupid logic bug when re-ordering waypoints.
http://code.google.com/p/flightgear-bugs/issues/detail?id=870
2012-09-21 12:47:51 +01:00
James Turner
d56ac505c4 Linux needs explicit <cstring> include. 2012-09-21 11:34:28 +01:00
James Turner
666a68c742 Lazy GUI dialog loading, for slightly faster startup. 2012-09-21 10:16:44 +01:00
James Turner
9b900e9430 Implement a persistent cache for navigation data.
Cache the parsed navigation and airport data in a binary file to reduce
startup times and memory consumption (since only referenced FGPositioned
elements are held in memory).

Data will be reimported when the mod-time of any input file is changed.
If a global file is changed (nav.dat, awy.dat, apt.dat, etc), the cache
will be completely rebuilt, which takes approximately 30 seconds on
moderate hardware. (Future work may reduce this).
2012-09-19 11:38:19 +01:00
Stuart Buchanan
cce186a57c Add properties for raw axis and button values, for use
in joystick configuration function.  Also rationalize references to
/sim/fg-home into a global property.
2012-08-23 21:52:30 +01:00
James Turner
7fabeed85d Fix some places relying on public 'using std::string' in SimGear
(Otherwise my next SimGear commit will break them)
2012-08-21 17:07:47 +01:00
ThorstenB
59fe04f8e9 Make web browser app configurable through CMake (for Linux)
so package builders don't need local patches.
Also, instead of hardcoded firefox, use "xdg-open" or "sensible-browser"
launchers on Linux, to auto-detect user's preferred browser.
Override with cmake switch -DWEB_BROWSER=...
(Not affecting Mac/Win which are hard-coded anyway).
2012-08-18 14:11:31 +02:00
Thomas Geymayer
83bbd9e45c Canvas: Image/Window unifying and allow using canvas inside canvas.
- Refactor and unify common functionality of canvas::Window and
   canvas::Image
 - Make canvas::Image actually work
 - Allow using canvases inside canvas::Image
   * Use new canvas:// "protocol" to allow using canvases in
     place of images
 - Prepare for categorizing canvases:
   * Move canvases to /canvas/by-index
   * Later support linking to other nodes in subbranches of
     /canvas
2012-08-09 16:13:38 +02:00
James Turner
4593c3521f Fix a crash with the native menubar.
http://code.google.com/p/flightgear-bugs/issues/detail?id=821
2012-08-05 21:30:15 +01:00
Frederic Bouvier
766014883c Fix Win32 build - No GLUT please \! 2012-08-01 08:53:40 +02:00
Thomas Geymayer
91c3f63110 Canvas: UTF-8 support and more settings exposed.
- Allow hiding objects
 - Use UTF-8 encoding for text elements
 - Add paramter max-width to text elements
 - Support stroke-linecap for path elements
 - Fix mouse coords
 - Set better mipmap filter
2012-07-31 23:19:23 +02:00
Thomas Geymayer
373d511c69 Canvas: Allow using canvases as PUI widgets.
- Add new widget type canvas
 - Set canvas view dimension from the gui xml.
 - Expose mouse events to canvas widget properties.
2012-07-31 23:19:22 +02:00
James Turner
36fe51c7f0 Add property to disable native menu on Mac. 2012-07-30 17:05:01 +01:00
ThorstenB
ec739a17c2 Fix compiler warning
(access beyond array bounds)
2012-07-17 19:32:05 +02:00
James Turner
e226983835 Revised patch from Yves to fix Mac 10.5 compilation
NSMenuDelegate is an informal protocol before 10.6, so declare it locally in that case.
2012-07-10 08:39:11 +01:00
James Turner
18469f0059 SafeTexFont is unused, remove from build & Git 2012-06-21 12:00:52 +02:00
Frederic Bouvier
cd06896b2d Reset pointers in menus 2012-06-10 22:25:58 +02:00
James Turner
ffac5ff889 Standard property to ignore unusably short runways in NavDB.
Default values should match existing behaviour. Set
/sim/navdb/min-runway-length-ft to skip short runways
in GPS / Map / ND / Nasal queries.
2012-05-16 16:51:39 +01:00
James Turner
2999675234 From TomG - support per-aircraft GUI dialogs a little easier. 2012-05-15 18:06:38 +01:00
James Turner
b0384d035f Remove remaining includes of simgear/waypoint 2012-05-11 23:49:12 +01:00
James Turner
8aeb650d16 On OS-X, used NSWorkspace to launch the browser. 2012-05-07 23:49:21 +01:00
James Turner
ff91fec1bb Fix various route-manager issues reported by Hyde. 2012-05-07 23:48:56 +01:00
James Turner
1b7b69b498 Create a real FlightPlan (and Leg) class
Convert the route-manager to use a flight-plan internally, and expose
flightplan, leg and procedure data to Nasal. Move the Level-D parser
into its own file.
2012-05-07 00:35:48 +01:00
ThorstenB
1f7b57546d Fix Mac compile. 2012-05-05 09:41:23 +02:00
ThorstenB
c5ce8e29ca Support localized menu on Mac/CocoaMenuBar. 2012-05-05 09:30:52 +02:00
ThorstenB
e59fabaf82 Clean-up some SGMath dependencies. 2012-05-05 00:56:29 +02:00
ThorstenB
c808376927 Use separate header file for vector properties.
(We could drop the "SGMath.hxx" include in many places now...)
2012-05-05 00:12:41 +02:00
James Turner
1632c5b266 Add an auto-release pool wrapper to the Cocoa code
Hopefully this will address some warnings seen on Mac
2012-05-02 21:24:44 +01:00
ThorstenB
05588c2ee4 Adapt font size behaviour to original plib font.
Original plib 'Helvetica 12' reported point size "13". Stick with this to
keep backward compatibility of GUI layouts.
2012-05-01 11:44:52 +02:00
ThorstenB
89b41395d8 Move viewer-related sources to separate folder.
Simple source directory clean-up, so "Main" folder contains fewer stuff
and the list of files in the editors a lot shorter.
2012-04-25 23:28:00 +02:00
ThorstenB
17651be494 Try to fix MSVC build.
MSVC wants to see the full "SGVec3" class spec, not just the fwd
declaration provided by SGMathFwd.hxx.
2012-04-22 09:40:36 +02:00
ThorstenB
f3502a760b #263: (Re-)introduce language option for menu
Adapt FGPUIMenuBar to use new Locale module.
Adds support for separate "key" property for menu items, so keyboard hints
are no longer part of the item's label (and do not need to be part of the
translated text resources).
2012-04-21 20:18:01 +02:00
ThorstenB
470552fab1 Move locale code to separate module.
Introduce convenience methods to handle localized string resources
and obtain strings.
2012-04-21 20:17:42 +02:00
ThorstenB
056b85bc1f Add Latin1 character subset to default FG font.
Copies HELVETICA_12 from PLIB to FG, adding some more chars needed for
Latin1/ISO-8859-1 (West European languages).
(SANS_12B and HELVETICA_14 also support Latin1, but not the other default
PLIB fonts).
2012-04-21 19:06:11 +02:00
James Turner
2e5febec7d Work on an azimuthal project mode for the map, to improve behaviour in polar regions. Disabled for now since performance is extremely poor. 2012-04-21 11:14:45 +01:00
James Turner
4bde2451b0 Avoid a crash when using the native menubar on Mac, due to non-static classes with identical names. 2012-03-26 17:38:09 +01:00
James Turner
b501dc97ce Bug 620, respect enable/disable state of entire menus when using native Cocoa menu 2012-01-25 18:56:51 +00:00
James Turner
da7adf63c0 Shortcuts support in the Cocoa menubar. We have fewer keyboard shortcuts for menu items than I realised. 2012-01-06 23:46:35 +00:00
James Turner
9e344ee645 Avoid crash when reloading GUI from debug menu. 2011-11-20 16:33:22 +00:00
James Turner
ebfdebeb43 Cocoa menu-bar implementation. 2011-11-20 16:26:05 +00:00
James Turner
8b340ff043 Hopefully fix non-Mac ;) 2011-11-19 22:42:15 +00:00
Frederic Bouvier
394cc3ee9f Fix MSVC build 2011-11-19 23:37:42 +01:00
James Turner
daa973f1bc And make FGMenuBar abstract too, sinking the current implementation into FGPUIMenubar 2011-11-19 22:04:35 +00:00
ThorstenB
76baf75a47 Fix include dependencies for non-Mac platforms.
;-)
2011-11-19 22:48:26 +01:00
James Turner
03c966de13 Make FGDialog an interface, moving existing code to FGPUIDialog implementation. (no functionality change, yet) 2011-11-19 20:46:17 +00:00
James Turner
a05ea36acb Restructure GUI code, isolate PLIB in source files, to ease future refactoring and alternative GUI layers. 2011-11-19 20:25:51 +00:00
James Turner
d2d3fc054e Flip map zoom, to fit with user expectations better. http://code.google.com/p/flightgear-bugs/issues/detail?id=485 2011-11-08 21:06:51 +00:00
James Turner
70b4f38ebc Goodbye automake. 2011-11-01 11:15:53 +00:00
James Turner
b1b4b7ecf4 Fix (nearly) all the std:: namespace violations in headers, in preparation for fixing SGsmplstat.hxx to *not* do a 'using namespace std'. 2011-10-17 17:41:59 +01:00
James Turner
3d544fbc1f Tweak map-widget data boxes for AI objects, so speed/altitude update in real-time. 2011-10-12 22:33:56 +01:00
ThorstenB
30e2db94b1 Add generic "open-browser" command to show URLs or local HTML/text pages.
Replace deprecated "old-help-dialog" command with generic "open-browser".
Can also be used to add links to aircraft manuals in the menubar (local
file or http) , i.e.
<binding>
    <command>open-browser</command>
    <path>Aircraft/ogeL/FlightManual.html</path>
</binding>
2011-10-09 12:37:43 +02:00
James Turner
465557cfa7 Improve magnetic heading handling in MapWidget - following some testing at NZCH 2011-10-02 14:30:06 +01:00
James Turner
283b26114c Fix glx shutdown to only apply on Unix & !Mac (but we should really add a proper ifdef for GLX) 2011-10-01 10:05:01 +01:00
Mathias Froehlich
978a577ea2 Ugly workaround for a crash on exit with multiple screens 2011-10-01 09:50:34 +02:00
James Turner
5a17ccf9eb Push aspect-ratio handling into CameraGroup, so renderer doesn't need to resize viewports each update. 2011-09-21 17:13:53 +01:00
James Turner
66a3a7f164 Make map widget zoom a real property, so it persists between opening and closing the dialog. 2011-09-18 12:53:40 +01:00
Frederic Bouvier
5e30675c70 Fix issue #398: Menubar - Help > Help opens strange path when including space character 2011-08-08 23:26:58 +02:00
James Turner
6c52a5ac85 Fixes for include-file flattening - condition.hxx no longer pulls in props or props_io 2011-07-30 10:47:28 +01:00
James Turner
7abf7c5748 CMake header support for XCode/Visual Studio 2011-07-19 07:58:03 +01:00
James Turner
8e682cb8a4 Disable flight-related key-bindings in the WaypointList widget for 2.4 release, pending a better solution to PLIB's lack of focus. 2011-07-16 13:25:29 +01:00
Torsten Dreyer
279fbdc837 Fix #357: Enabling "fixes" on map dialog crashes FG
This happened for fixes with names shorter than 5 characters.
range check added, which operator[] does not perform.
2011-06-28 12:51:00 +02:00
ThorstenB
702d323a39 issue #127: make screen shots work with OSG multi-threading
Make sure actual snap shot is executed in graphics context.
(Revert the revert :) - since the basic issue in simgear is solved now)
(patch requires simgear+fgdata update!)
2011-06-13 20:31:27 +02:00
ThorstenB
25fdbebd57 Revert "issue #127: make screen shots work with OSG multi-threading"
This reverts commit b4d90150c5.
2011-06-13 00:52:43 +02:00
ThorstenB
88f7c05274 Introduce "PRESERVE" flag to protect properties on sim reset.
Some specific properties need protection and shouldn't be restored to their
original values on sim-reset.
2011-06-12 20:31:56 +02:00
ThorstenB
b4d90150c5 issue #127: make screen shots work with OSG multi-threading
Make sure actual snap shot is executed in graphics context.
(patch requires simgear+fgdata update!)
2011-05-28 23:27:46 +02:00
ThorstenB
9f13c49d29 issue #316: panning not working when center-on-aircraft enabled
Panning feature looked broken to some users since auto-center is enabled
by default which blocks panning. center-on-aircraft is now disabled
automatically when view is panned.
2011-05-20 19:48:05 +02:00
ThorstenB
0c500d4fc4 Wish #304: MapWidget's center-on-aircraft button should be sticky
Thanks to Victhor Foster for the idea.
2011-04-16 10:53:09 +02:00
ThorstenB
d7798a7cc2 Slightly brighter blue color level for map widget
Almost couldn't see the new blue color on my screen.
Enjoy the blues... :)
2011-03-27 11:32:41 +02:00
Stuart Buchanan
23971c17aa Improve display of shipping in map widget. 2011-03-26 11:02:00 +00:00
Torsten Dreyer
f938a23d7c clear two gcc warnings 2011-02-25 20:46:18 +01:00
ThorstenB
7f846d20c7 Make route editing sane.
Drag&drop, insert and remove now update the current waypoint as expected.
2011-01-23 00:45:06 +01:00
James Turner
7cbb3a10ed Expand route-manager waypoint info, to support smarter FMS functions. 2011-01-20 00:39:42 +00:00
Curtis L. Olson
7fb8114feb Add code to draw AI ships on the map widget (useful for carrier ops.)
An AI Tanker requested from the AI menu has an id of -2, so change the code to
only ignore AI models with an ID of -1.
2011-01-07 13:05:47 -06:00
James Turner
7d58b44f73 Alexey Varjat: Add ILS data to GUI/MapWidget 2011-01-03 17:29:24 +00:00
James Turner
a91ec5f9f9 Initial work on CMake build files, with considerable help from Olaf Flebbe. 2010-12-19 15:06:04 +00:00
Torsten Dreyer
58fbd0d72a msvc warning fixes 2010-12-15 16:40:25 +01:00
James Turner
2c175f57ae Override puaComboBox recalc_bbox, ignore the popup-menu 2010-12-07 10:33:14 +00:00
Tim Moore
38e1600bed add a command to print information about visible objects in the scene 2010-11-15 00:09:52 +01:00
Christian Schmitt
0a5e86f4e6 remove old .cvsignore files 2010-11-11 01:16:29 +01:00
James Turner
e5abcb1d4e Merge commit 'refs/merge-requests/9' of git://gitorious.org/fg/flightgear into integration/merge9
Conflicts:
	src/GUI/new_gui.cxx
2010-10-25 09:12:21 +01:00
ThorstenB
d61e992d76 Fix occasional start-up crash when reading GUI XMLs.
_dialog_props holds SGSharedPtrs (pointers managed by reference counters).
Explicitly casting the object to an unmanaged SGPropertyNode* and deleting it
may cause heap corruption, since the following assignment "_dialog_props[..] = ..."
also tries to delete the (already deleted) object.
2010-10-24 21:36:15 +02:00
James Turner
7ccba95b9c Remove direct uses of PLIB ulXXX functions 2010-10-24 07:10:51 +01:00
James Turner
dd2eec7bd8 Airways/procedures code - add new data structures to store waypoints and
procedures, and routing algorithms, and modify the GPS, route manager and
WaypointList to use the new objects.
2010-10-20 09:02:02 +01:00
James Turner
1afd4e602e Get rid of FGGeneral; expose equivlanet values via properties. 2010-10-01 09:33:31 +01:00
James Turner
582c1e8df8 Tidy new_gui header 2010-09-30 23:10:00 +01:00
James Turner
19360a8425 Fix 'using std::' abuses 2010-08-09 08:36:20 +01:00
James Turner
5c507beba2 Fix up Win32 GUI code after simgear/screen cleanup; deprecated dialog code going away. 2010-07-31 16:56:07 +01:00
James Turner
18d42ec1af Rename reInit() method to 'resetSimulator', and document that it's hooked up to the 'reset' command. 2010-07-01 22:50:11 +01:00
Torsten Dreyer
c89b18ddbd Ignore generated files
add generated files to gitignore that has also been in cvsignore
remove generated config.h-msvc* from source control
2010-06-02 11:27:16 +02:00
Tim Moore
0d45920098 Merge branch 'jmt/gps' into next 2010-04-25 18:31:19 +02:00
jmt
3419b28919 MapWidget: fix a crash on uninitialized. 2010-04-25 09:00:41 +02:00
Tim Moore
ebdeb3eed3 Merge branch 'jmt/gps' into next
Conflicts:
	src/Instrumentation/navradio.cxx
2010-03-28 15:32:59 +02:00
jmt
e4c4a3a412 MapWidget for the GUI, initial commit. 2010-03-28 15:25:47 +02:00
Tim Moore
39def8132a Merge branch 'jmt/gpswidget' 2010-03-28 15:15:58 +02:00
Tim Moore
7ee645aa20 Merge branch 'timoore/getpath-rebase' into next 2010-03-09 11:25:18 +01:00
Tim Moore
7ff80d11a0 changes for SGPropertyNode::getPath return type
It's now a std::string.
2010-03-09 11:24:45 +01:00
Tim Moore
0b6579d6fb Merge branch 'jmt/gpswidget' into next 2010-02-25 23:34:04 +01:00
jmt
8e12b0b679 Make automake happier. 2010-02-25 23:33:43 +01:00
Tim Moore
4ae8c90f76 Merge branch 'jmt/font' 2010-02-25 12:06:08 +01:00
Tim Moore
51846e5129 Merge branch 'jmt/gpswidget' into next 2010-02-23 08:53:58 +01:00
jmt
f0e72608a7 waypointList: stop using GNU extension / C99 features. 2010-02-23 08:53:46 +01:00
Tim Moore
da8be3ae7b Merge branch 'jmt/gpswidget' into next 2010-02-22 09:37:05 +01:00
Tim Moore
247219d1f1 remove trailing slash / empty line from Makefile.am 2010-02-22 09:36:10 +01:00
Tim Moore
de79ec4421 Merge branch 'jmt/gpswidget' into next 2010-02-21 22:26:29 +01:00
jmt
4468d785b5 GPS / route-manager: add new custom widget to display the waypoints list.
Supports various new editing features, including dragging to re-order, and
+/- keys to adjust the target altitude for a waypoint. Also displays some
additional information, and will display *even* more once I land airways/
SID/STAR support.
2010-02-21 22:26:14 +01:00
Tim Moore
351d1ddb5e Merge branch 'jmt/gui' into next 2010-02-17 07:41:48 +01:00
jmt
4f99561f63 Quiet: reduce log-level of various things from INFO to DEBUG or BULK, and tune the categories/level of some specific messages.
Commit split by timoore in order to apply most of it to maint branch.
2010-02-17 07:41:23 +01:00
jmt
26361f2f5a Bugfix: stop dialogs jumping around when re-layout occurs - make positions persistent. 2010-02-17 07:31:05 +01:00
jmt
73334cf61b Bugfix #35 / denker #20F:
Guard against invalid font names in panel XML files, and make font name
comparisons case-insensitive so that 'helvetica', 'Helvetica' or 'HELVETICA'
work as expected.
2010-02-11 00:20:59 +01:00
fredb
00e9ad3055 MINGW patch from Benot Laniel 2010-01-25 17:12:04 +01:00
Tim Moore
8933486a56 Merge branch 'jmt/dialog' 2009-11-26 23:32:38 +01:00
jmt
71c03b1ce4 Dynamic combo-boxes; read values from the property tree. 2009-11-04 23:13:42 +01:00
Tim Moore
3c5679fa40 Merge branches 'jmt/dialog' and 'durk/scenery' 2009-10-12 11:06:12 +02:00
jmt
23ce537168 Update for screen-dumps in PNG format instead of PPM. 2009-10-07 08:24:59 +02:00
jmt
90106c59ce Dialog support for conditional enable and visible flags, and re-running layout when conditions change. Used by the GPS code, but potentially in many other places I expect. 2009-10-04 02:06:48 +02:00
torsten
16eefc84d1 Tatsuhiro Nishioka:
Patches for configure.ac and Makefile.am files in FG/SG so Mac developers can build these in a unix way.
These also enables Mac developers to choose either PLIB framework or PLIB static libs.
2009-09-17 22:54:42 +02:00
Tim Moore
8238bcddbd fix warnings in GUI code 2009-08-24 18:00:10 +02:00
torsten
0c2db22988 Advanced input subsystem - Step1: cleanup dependencies 2009-08-08 08:37:14 +02:00
fredb
94caa0b891 Fix case typo 2009-07-27 23:52:33 +02:00
fredb
9718338560 Compile under MSVC9 2009-07-27 23:52:33 +02:00
Tim Moore
7d6c567fde Refer to property types using props:: namespace
BOOL, FLOAT etc. conflict with typedefs in windows.h.
2009-07-17 14:54:12 +02:00
timoore
5cf18d30c6 Support for VEC3D and VEC4D properties.
Tiny update to property_list for extended properties.

New property types in nasal.
2009-07-16 12:10:47 +02:00
timoore
4cc3084256 SGPropertyNode::Type moves to simgear::props namespace 2009-07-16 12:10:47 +02:00
fredb
219be77f1e Suppress warnings 2009-07-02 08:59:16 +02:00
Tim Moore
b588a92b7f adapt to changes in sg_exception interface
sg_location now uses C strings. Also, change uses of sg_throwable to more
specific exceptions like sg_io_exception.
2009-06-16 11:46:47 +02:00
mfranz
744a23d0aa fix leaks; make destructors virtual 2009-05-18 12:24:16 +02:00
mfranz
a57b626633 Ctrl-Shift-click on the '.' entry fires listeners of the parent node.
This can be used to validate atomic branches after individual members
have been changed.

(This is useful no matter how the discussion on aggregate property types
ends, and not meant to enforce/accelerate a decision.)
2009-04-15 23:19:29 +02:00
mfranz
6a590ce9de gui/embedded nasal: don't rely on the nasal system being available 2009-04-01 09:23:54 +02:00
frohlich
a99ea1c7b5 Port over remaining Point3D usage to the more type and unit safe SG* classes.
Remove leftover headers from plib/sg.

Modified Files:
 	src/AIModel/AIBase.cxx
 	src/AIModel/AIFlightPlanCreateCruise.cxx
 	src/ATCDCL/AIEntity.cxx src/ATCDCL/AIEntity.hxx
 	src/ATCDCL/AIGAVFRTraffic.cxx src/ATCDCL/AIGAVFRTraffic.hxx
 	src/ATCDCL/AILocalTraffic.cxx src/ATCDCL/AILocalTraffic.hxx
 	src/ATCDCL/AIMgr.cxx src/ATCDCL/ATC.hxx
 	src/ATCDCL/ATCDialog.cxx src/ATCDCL/ATCProjection.cxx
 	src/ATCDCL/ATCProjection.hxx src/ATCDCL/ATCutils.cxx
 	src/ATCDCL/ATCutils.hxx src/ATCDCL/approach.cxx
 	src/ATCDCL/commlist.cxx src/ATCDCL/ground.cxx
	src/ATCDCL/ground.hxx src/ATCDCL/tower.cxx
 	src/ATCDCL/tower.hxx src/Airports/calc_loc.cxx
 	src/Airports/dynamics.cxx src/Airports/groundnetwork.cxx
 	src/Airports/parking.cxx src/Airports/runwayprefs.cxx
 	src/Airports/simple.cxx src/Cockpit/cockpit.cxx
 	src/Cockpit/hud.hxx src/Cockpit/hud_card.cxx
 	src/Cockpit/hud_rwy.cxx src/Environment/environment.cxx
 	src/FDM/UFO.cxx src/FDM/SP/MagicCarpet.cxx src/GUI/dialog.hxx
 	src/Instrumentation/HUD/HUD.hxx
 	src/Instrumentation/HUD/HUD_runway.cxx
 	src/Instrumentation/KLN89/kln89.cxx src/Main/fg_init.cxx
 	src/Main/viewer.cxx src/Main/viewmgr.cxx
 	src/Model/panelnode.cxx src/MultiPlayer/mpmessages.hxx
 	src/Scenery/tilemgr.cxx src/Traffic/SchedFlight.cxx
 	src/Traffic/TrafficMgr.cxx
2009-03-18 08:00:08 +01:00
frohlich
b120d9dfb3 Casaba Halász: Fix some const warnings.
Modified Files:
	src/FDM/YASim/Rotor.cpp src/FDM/YASim/Rotor.hpp
	src/GUI/fonts.cxx
2009-03-05 10:52:03 +01:00
mfranz
0bc3ec940d make resize margin smaller 2009-02-13 10:18:20 +01:00
mfranz
880533037a call puaLargeInput's checkKey() if active (fixes ctrl-c) 2009-02-13 10:18:17 +01:00
mfranz
ec03d4ce01 move <text> before <property> part, so that <format>s are applied initially 2009-02-02 00:58:01 +01:00
mfranz
c366a445c5 textbox: add <top-line> param that sets first line (last line if negative) 2009-02-01 23:44:10 +01:00
mfranz
48f22c330a make use of plib/svn features 2009-02-01 23:44:10 +01:00
mfranz
2e1cfcb83d fgPopup::checkHit(): revert r1.103 (consume mouse hits by default)
Can't reproduce the problem that r1.103 meant to fix, but it
caused another problem: MMB dragging events weren't passed,
so e.g. power lever control in the bo105 stopped working.
2009-01-26 09:48:14 +01:00
mfranz
b8c0e67cdc one more PUCLASS exception (not that we used puaScrollBar yet) 2009-01-21 09:55:33 +01:00
mfranz
aa6e5fb528 disable dragging margins on non resizable dialogs 2009-01-18 23:21:44 +01:00
mfranz
390c1f4d1f - ctrl-click in the property browser is for toggling bools, not dragging
- add vertical arg to sliders (apparently nobody ever use a vertical one :-)
- simplification
2009-01-18 23:21:41 +01:00
mfranz
e0463a51ae - shift drag for global window dragging (like ctrl for global resizing)
- cleanup & some coding style unification
2009-01-13 23:07:52 +01:00
mfranz
a59ae7cb92 fix mouse flicker/disappearing problem 2009-01-12 13:04:44 +01:00
mfranz
16d2de1a0f allow resizing dialogs by grabbing the frame (without Ctrl-key);
Ctrl extends the resize sensible area to the whole dialog
2009-01-12 13:04:39 +01:00
mfranz
ab58bbd41e hits are consumed by default (prevents actions in lower dialogs) 2009-01-12 13:04:19 +01:00
mfranz
cc0b7e0076 puaLargeInput (textbox) aren't draggable areas 2009-01-12 13:04:14 +01:00
mfranz
014f366369 resize in SE direction (draggable borders planned) 2009-01-12 13:04:03 +01:00
mfranz
95c5a726a7 make dialogs resizable with Ctrl-dragging
At the moment the dialog grows to North-East. Only dialogs with
the <resizable> flag set to true are resizable.
2009-01-12 13:03:55 +01:00
mfranz
41da00105c apply custom widget fonts also to the legend, so that they show
up in list/textbox etc. (This should really be separately settable
via style definition, but it's very rarely used and a change now
is probably not worth it as we'll probably switch to osgWidget,
anyway.)
2009-01-10 00:07:15 +01:00
jmt
f1b10eddfa FGAirportList is gone. Everything should work as before, especially the
AirportList dialog. (It would now be possible to trivially implement a
VOR or NDB named search, if anyone wants such a thing).
2008-12-27 13:20:08 +00:00
mfranz
35f7f55507 Csaba/"Jester" and /me: since a few weeks the property browser had
displayed garbage in the title line if one left a directory. Jester
spent a lot of time finding the cause: a bug that must have been
there since ... forever: fgfs reported to PUI the string addresses
as returned by SGPropertyNode::getStringValue() without considering
that this address isn't valid after the next write access to that
node! It's almost a miracle that it worked so well for so long,
despite that issue. (I also used to opportunity for some more
cleanup -- so I'm to blame for any newly introduced bugs, and
also for reverting some of Jester's cleanups. :-)
2008-12-18 20:18:50 +00:00
mfranz
7f2f1e39e3 show verbose mode (see $FG_ROOT/Docs/README.gui -> property-list) 2008-12-03 20:18:15 +00:00
mfranz
995eaac10b screenshots: check for empty screenshots-dir 2008-10-19 16:25:05 +00:00
fredb
9ebb9128c8 MINGW patch by Csaba Halasz, reworked by me to avoid breaking MSVC or Cygwin build 2008-09-28 08:27:32 +00:00
durk
b2df4d41a5 Czaba Halasz:
Somebody please add config.h to AirportList.cxx, because the #include
<plib/puAux.h> (in AirportList.hxx) needs the PU_USE_NONE define.

DT: Done :-)
2008-08-21 20:14:26 +00:00
mfranz
aedc6f0614 use <enabled>false</enabled> flag for widgets that shouldn't be drawn
instead of <hide>true</hide>. This is consistent with other places
in fgfs, like menu entries, hud elements, subsystem switches, etc.
2008-08-05 05:27:07 +00:00
timoore
6f802959ce CameraGroup class for managing multiple cameras.
CameraGroup supports cameras opened in different windows or in the
same window, with flexible view and perspective specification.

Clean up mouse click handling via osgViewer. Don't let any camera
"have focus;" this forces events to be reported in window coordinates
and simplifies life. Don't use the osgViewer::View::requestWarpPointer
method; instead use our own code which only deals with window
coordinates.

Make glut and sdl versions work with CameraGroup too.
2008-08-01 15:57:29 +00:00
ehofman
14885374de header cleanups 2008-07-31 12:04:32 +00:00
ehofman
667e64e1eb - remove the SG_GLxxxx_H #defines, since OSG provides its own versions
- this exposed a bizarre issue on Mac where dragging in <AGL/agl.h> in
   extensions.hxx was pulling in all of Carbon to the global namespace
   - very scary. As a result, I now need to explicitly include CoreFoundation
   in fg_init.cxx.
 - change SG_USING_STD(x) to using std::x
2008-07-27 16:25:13 +00:00
fredb
3db0cf1659 Remove unneeded inclusions of windows.h, GL.h and GLU.H 2008-07-27 15:18:34 +00:00
mfranz
b68b751fd4 get rid of mouse.cxx and pu{Show|Hide}Cursor() 2008-07-27 09:39:10 +00:00
ehofman
46ae218672 remove all the FX and XMESA cruft relating to Glide support. 2008-07-27 07:54:13 +00:00
ehofman
d9bfd5a425 This should apply, and everything should build cleanly, in isolation from the
SimGear change. It changes all the SG_xxxx to be the 'real' includes, and gets
rid of many #ifdef SG_HAVE_STD_INCLUDES. As an added bonus, rather than
replacing 'SG_USING_NAMESPACE(std)' with 'using namespace std', I just fixed
the small number of places to use std:: explicitly. So we're no longer polluting
the global namespace with the entire contents of std, in many cases.

There is one more 'mechanical' change to come - getting rid of SG_USING_STD(X),
but I want to keep that separate from everything else. (There's another
mechnical change, replacing <math.h> with <cmath> and so on *everywhere*, but
one step at a time)
2008-07-25 18:38:29 +00:00
ehofman
eccddb3dfd Attached patches remove BORLANDC, and hence SG_MATH_EXCEPTION_CLASH and SG_INCOM
PLETE_FUNCTIONAL from SimGear and FlightGear.

As a result, SG_HAVE_STD_INCLUDES is now *always* set, so I will get the boring
fixes for that done, but separately. I'm still auditing the other things in comp
ilers.h - there's a lot that can die now BORLAND is gone.
2008-07-25 10:39:53 +00:00
mfranz
1ace68e836 don't run the help browser from a property that a user could have
changed to something evil, but rather make sure that the browser
string can be trusted. (TODO: change system() to vfork()/execvp() ?)
2008-07-09 19:35:53 +00:00
mfranz
0ae36e3979 remove depreciated and unused src/GUI/trackball.* 2008-07-09 12:44:32 +00:00
mfranz
b8d62d212c remove depreciated and unused src/GUI/trackball.* 2008-07-09 12:37:54 +00:00
mfranz
9f571a0f00 remove depreciated gui_local.[ch]xx:
- drop unused parts (MouseQuat/GuiQuat)
- move "old-reinit-dialog" fgcommand to fg_command.cxx under new name
  "reset" for now. (May later get merged with fgcommand "reinit".)
- move reInit() to fg_init.cxx: This was used by Shift-Esc and
  Menu->File-Reset (via fgcommand "old-reinit-dialog"). We have already
  a similar function fgReInitSubsystems() in fg_init.cxx, so these two
  functions will probably get merged later.)
2008-07-09 12:22:33 +00:00
mfranz
ecd5521bf8 - remove unused puObject args in gui fgcommands
- remove no longer used PU macros
2008-06-23 18:28:02 +00:00