1
0
Fork 0
Commit graph

518 commits

Author SHA1 Message Date
mfranz
dad550e0eb write a more useful list on shift-"."-click, not the whole subtree 2007-05-03 21:20:15 +00:00
mfranz
7e070759ad property browser: shift click on the "." entry dumps the contents of that
dir level to the terminal (remember: ctrl-click -> toggle additional info,
and ctrl-click on ".." move to root level)
2007-05-03 19:00:55 +00:00
frohlich
2f8beb56ea Modified Files:
src/GUI/new_gui.cxx src/GUI/new_gui.hxx src/Main/main.cxx
 	src/Main/renderer.cxx src/Main/renderer.hxx
	src/Main/splash.cxx src/Main/splash.hxx
	src/Scenery/scenery.hxx: Move splash screen into the scenegraph.
2007-05-03 18:12:29 +00:00
mfranz
3cb5b0159d MS Windows can't handle the symbols ... sigh 2007-04-02 17:20:05 +00:00
mfranz
887a1a732e - move format checking to the GUIInfo class. It has all the info, and this
keeps copy_to_gui() cleaner
- add "float", "int" and "long"
2007-04-02 15:42:45 +00:00
mfranz
d9cbdb53ff drop plib render callback, validate <format> in setupObject(), and apply
it in copy_to_pui()
2007-04-02 12:12:23 +00:00
mfranz
37acfd4e25 add signal on GUI reinit; needed for reloading Nasal loaded XML dialogs 2007-03-28 20:33:18 +00:00
mfranz
f27d7b2340 layout-props.cxx: hrule/vrule shall be accepted as widgets even if they
have no children (in which case they default to 1px thickness & stretch).
    This allows to just write <hrule/> instead of <hrule><dummy/></hrule>.
    One can still use <hrule><pref-height>3</pref-height></hrule>, of course.
layout.cxx: drop silly do??Box calls for hrule/vrule (yes, I wrote that :-)
2007-03-26 15:17:38 +00:00
mfranz
1d880a944f don't descend into <nasal> groups to avoid padding space beind added around 2007-02-24 19:43:19 +00:00
mfranz
6ebce11275 set /sim/signals/reinit to true before reset, and back to zero after it;
otherwise the last Hobbs time couldn't be read out at a reset
2007-01-21 00:19:39 +00:00
frohlich
826866b327 Modified Files:
src/GUI/gui.h src/GUI/gui_funcs.cxx src/GUI/gui_local.cxx
	src/GUI/mouse.cxx src/GUI/sgVec3Slider.cxx
	src/GUI/sgVec3Slider.hxx src/Main/fg_commands.cxx:
	Remove some dead code.
2007-01-07 15:51:29 +00:00
frohlich
059c906be5 Modified Files:
src/Cockpit/panel.cxx src/Cockpit/panel.hxx
 	src/Cockpit/panel_io.cxx src/GUI/dialog.cxx src/GUI/dialog.hxx
	src/GUI/menubar.cxx src/GUI/menubar.hxx src/GUI/new_gui.hxx
	src/Input/input.cxx src/Input/input.hxx src/Main/renderer.cxx
	src/Scenery/scenery.cxx src/Scenery/scenery.hxx:
	Use SGBinding instead of FGBinding. Remove FGBinding. Install hooks
	to make the pick animation work.
2007-01-04 13:22:27 +00:00
mfranz
a1e62b9c62 remove function declarations for long removed functions 2006-11-01 23:36:46 +00:00
mfranz
8d1ecbfa1b remove obsolete and non-functional menu toggle command 2006-11-01 23:23:26 +00:00
mfranz
65e2ce16d6 remove obsolete preset dialogs 2006-11-01 22:55:15 +00:00
mfranz
4deaed6d99 remove obsolete preset dialogs 2006-11-01 22:48:34 +00:00
mfranz
284c73a95c remove old property dialog 2006-11-01 22:10:22 +00:00
mfranz
91dbe0c3fe remove old property dialog 2006-11-01 21:59:46 +00:00
frohlich
b0f9d24f9d Modified Files:
configure.ac src/AIModel/AIAircraft.cxx src/AIModel/AIBase.cxx
 	src/AIModel/AIBase.hxx src/AIModel/AICarrier.cxx
 	src/AIModel/AICarrier.hxx src/AIModel/AIManager.cxx
 	src/AIModel/AIManager.hxx src/ATC/AIEntity.cxx
 	src/ATC/AIEntity.hxx src/ATC/AIMgr.cxx src/ATC/AIMgr.hxx
 	src/ATC/ATCdisplay.cxx src/ATC/ATCdisplay.hxx
 	src/Cockpit/cockpit.cxx src/Cockpit/cockpit.hxx
 	src/Cockpit/hud.cxx src/Cockpit/hud.hxx
 	src/Cockpit/hud_rwy.cxx src/Cockpit/panel.cxx
 	src/Cockpit/panel.hxx src/Cockpit/built_in/FGMagRibbon.cxx
 	src/Cockpit/built_in/FGMagRibbon.hxx src/FDM/flight.cxx
 	src/FDM/groundcache.cxx src/FDM/groundcache.hxx
 	src/GUI/gui_funcs.cxx src/Input/input.cxx
 	src/Instrumentation/od_gauge.cxx
 	src/Instrumentation/od_gauge.hxx
 	src/Instrumentation/render_area_2d.cxx
 	src/Instrumentation/render_area_2d.hxx
 	src/Instrumentation/wxradar.cxx
 	src/Instrumentation/wxradar.hxx
 	src/Instrumentation/HUD/HUD.cxx
 	src/Instrumentation/HUD/HUD.hxx
 	src/Instrumentation/HUD/HUD_runway.cxx src/Main/Makefile.am
 	src/Main/main.cxx src/Main/renderer.cxx src/Main/renderer.hxx
 	src/Main/viewmgr.cxx src/Model/acmodel.cxx
 	src/Model/acmodel.hxx src/Model/model_panel.cxx
 	src/Model/model_panel.hxx src/Model/modelmgr.cxx
 	src/Model/modelmgr.hxx src/Model/panelnode.cxx
 	src/Model/panelnode.hxx src/Navaids/awynet.cxx
 	src/Scenery/Makefile.am src/Scenery/hitlist.cxx
 	src/Scenery/hitlist.hxx src/Scenery/newcache.cxx
 	src/Scenery/scenery.cxx src/Scenery/scenery.hxx
 	src/Scenery/tileentry.cxx src/Scenery/tileentry.hxx
 	src/Scenery/tilemgr.cxx src/Scripting/NasalSys.cxx
 	src/Scripting/NasalSys.hxx src/Time/light.cxx
	Big BLOB on the way to OSG.
2006-10-29 19:30:21 +00:00
mfranz
7ae6dd709a don't let invisible objects prevent dragging (for example: currently
not shown combobox menus)
2006-07-10 14:56:07 +00:00
mfranz
d702ed379d ok, so the old ~FGFontCache() was useless. But at least it didn't call
the buggy ~fnt(), causing an abort() ...   ;-)

(Only loaded texture fonts (*.txf) have a new'ed puFont. The built-in
pixmap fonts don't, and may, thus, not be deleted.)
2006-06-22 08:35:50 +00:00
mfranz
229d499f7b oh, and by the way: this destructor didn't do anything useful :-) 2006-06-21 21:17:21 +00:00
mfranz
124dfab5ae umm ... fix a tiny leak :-) 2006-06-21 19:53:47 +00:00
mfranz
e2deb397a9 remove obsolete "lon/lat format" commands that have been labeled "deprecated"
and "will very soon be removed" since years
2006-06-17 16:37:33 +00:00
mfranz
e48967cb1d fix another crash on exit by finally converting the rest of unguarded
SGPropertyNode to guarded ones. This is also done for JSBSim/JSBSim.hxx,
for which JSB had given explicit permission a while ago. I postponed that
back then, but now is the time.
2006-06-11 10:21:10 +00:00
mfranz
88beabb2d3 use global fontcache ... this is mostly cosmetic, as the whole file will
probably die a soon as the old property picker was removed
2006-06-06 16:33:38 +00:00
mfranz
355f86d6cf FGFontCache: add getter for the fntTexFont component of a cached font 2006-06-06 12:49:42 +00:00
mfranz
43b66ac74b don't choke on invalid nodes 2006-06-05 21:55:18 +00:00
mfranz
067e6d56c2 use global fontcache 2006-06-05 20:25:43 +00:00
mfranz
47223b0442 make FGFontCache independent of NewGUI and allow early construction in
FGGlobals
2006-06-05 20:23:56 +00:00
mfranz
18d09b569f - display of SGPropertyNode flags can now be toggled per <property-list>
widget (Ctrl-click on "." entry), so we don't need a global property
  for this
- s/dotFiles/_dot_files/ for consistency reasons
2006-06-03 11:20:19 +00:00
mfranz
9e9d463a11 not that! 2006-05-24 21:05:48 +00:00
mfranz
68beab9fb2 s/isascii/isprint/ 2006-05-24 21:02:52 +00:00
mfranz
597298d5a7 - fix slider
- order functions like in puAuxList.cxx (plib/cvs) for easier
  back/forward-porting
2006-05-24 20:46:10 +00:00
mfranz
e7e0e84add - force multiline contents (Nasal scripts!) into one line, so that they
don't print over other entries or even leak out of the widget
- warning-- (MSVC)
2006-05-24 14:00:56 +00:00
fredb
790848b822 Compile 2006-05-24 10:51:35 +00:00
mfranz
b08a588fb1 ok, now I know why the destructor was commented out in prop_picker.cxx:
there's a bug that I had copied: update() checks each list node: if it
has no children, then a listener is attached. Later, when freeing the
children list, it assumed again that each node without children would
have a listener attached. This caused a crash when a node had children
before, but lost them in the meantime. Now we tried to remove a listener
where there never was one.
2006-05-24 09:42:10 +00:00
mfranz
6465141ac2 - don't jump to top after bool toggling 2006-05-23 21:35:38 +00:00
mfranz
91a367379c catch non-existent nodes, too 2006-05-23 20:48:01 +00:00
mfranz
9c98766700 treat widget input correctly 2006-05-23 20:24:56 +00:00
mfranz
fdb9e94af3 ugly "fix": the constructor was commented out in prop_picker.cxx since
*many* years, so the property browser always leaked memory. I activated
this line in property_list.cxx and ... got a crash right there. So this
was the reason for it being commented out? Doing the same for now, until
I know the exact reason and can really fix it.
2006-05-23 16:49:32 +00:00
mfranz
4c940a55f9 fix for broken plib 1.8.4 2006-05-23 16:44:10 +00:00
mfranz
e2c195f3a6 - move the ID stuff to dialog.hxx
- add an identifier to fgPropertyList(), which is also PUCLASS_LIST based
2006-05-22 16:14:50 +00:00
mfranz
9ff339332c make new widget available as <property-list> 2006-05-22 14:35:39 +00:00
mfranz
0007098aac add property_list.[ch]xx 2006-05-22 14:34:59 +00:00
mfranz
3610680095 new property browser widget 2006-05-22 14:34:20 +00:00
mfranz
7b4238fe8c - backport plib/cvs (transparency feature; never tried that :-)
- backport submissions for plib 1.8.5:
  * set slider size correctly
  * remove slider/arrow when all entries fit into the view
  * don't allow to scroll off the list
2006-05-22 14:33:01 +00:00
mfranz
dfdb7f8107 the last patch fixed the AirportList ... and broke all other PUCLASS_LIST.;
Unfortunately, there's no simple way to distinguish them. plib has no
user defined widget classes, and getTypeString() -- which could be used
for that -- isn't virtual. Sigh. I'll discuss the problem on the plib list.
For now I can only offer an ugly workaround. (Don't look closely!)
2006-05-21 22:14:18 +00:00
mfranz
24981fd043 - replace string methods with property methods The class was originally adapted
from plib's file-picker, where it made some sense to keep the current path as
  string, and to chop off elements when leaving a dir, and adding them when
  entering. But it doesn't make the least sense in SGPropertyNode space, where
  we already have everything to move in a tree.

- add R & W flags for TRACE_READ and TRACE_WRITE. Remember: lower case letters:
  disabled (rw ... reading/writing), upper case letters: enabled (RWAUT)

- remove some verbosity & further cleanup ... to make further work easier :-)
2006-05-20 15:25:38 +00:00
mfranz
368349aa58 fix "airport list" crash: I had wrongly assumed that now all PUCLASS_LIST
would actually be an fgList class. The airport list is a PUCLASS_LIST, too,
so we have to check for that. -> Use getTypeString() for identification.
2006-05-20 11:35:28 +00:00
mfranz
53572823bc - unify several indentation and coding styles (and no, this is not my
preferred style, but the most sane of those used :-)
- remove trailing spaces
- cleanup

(all of this will make further work on the files easier)
2006-05-19 10:59:04 +00:00
mfranz
ee0d288e32 show attributes if /sim/gui/dialogs/property-browser/show-flags == true:
r ... read protected
w ... write protected (untested; does probably not work for obvious reasons ;-)
A ... archive
U ... userarchive
T ... tied
2006-05-18 14:46:42 +00:00
mfranz
865a1c037e unselect entry after editing process has been finished 2006-05-18 13:09:34 +00:00
mfranz
7512553a9a don't reset list to top after having changed a value 2006-05-18 12:51:32 +00:00
mfranz
6d24d7496e Ctrl-Click on bool entry toggles property 2006-05-18 12:12:10 +00:00
mfranz
5a38a9d071 - undefine PUCLASS_LIST, as we have our own (old_warning--)
- PropertyObject: remove additional "values" member again
- don't create entry lists for <list>, <select>, and <combo> at dialog
  creation and delete them on dialog close, but let a separate class
  fgValueList handle this. The three widgets are now subclassed and the
  derived widget lets fgValueList manage the lists
- make <select> consistent with <list>. This breaks backwards
  compatibility, but not a single dialog in fgfs uses it and did so
  since ... forever. (Shoot me!)

Rationale: now that dialogs are a bit more dynamic than they used to be
(thanks to embedded Nasal), we have to delete and recreate entry lists
during dialog use. Deleting only at dialog closing doesn't cut it anymore.
Especially list widgets that are updated several times per second would
use up a lot of memory otherwise. The route-manager doesn't update that
often, but it did already leak. One TODO less.  :-)
2006-05-16 12:45:38 +00:00
fredb
b30d903a56 Use puAux widgets available in plib 1.8.4 instead of using pui deprecated widgets now removed from CVS 2006-05-14 09:03:50 +00:00
mfranz
d409d5dbbe add "signals" for start and end of screenshot capturing. Like the other
signals, this is meant for attaching listeners. The ufo will use that to
hide/reveal the status line in screenshots. The following signal properties
are now available:

  /sim/signals/exit       ... set to 1 right before quitting
  /sim/signals/reinit     ... set to 1 on re-init  (Shift-Esc)
  /sim/signals/screenshot ... set to 1 before and to 0 after screenshot
  /sim/signals/click      ... set to 1 after mouse clicks at terrain, signalling
                              that the geo coords in /sim/input/click/ were updated
2006-05-09 09:39:28 +00:00
mfranz
95a97dbee4 remove obsolete menu functions 2006-05-08 15:00:10 +00:00
mfranz
30a38b2c3a remove obsolete fgcommands 2006-05-08 14:56:46 +00:00
mfranz
f9959b7f2c - move auto_gui's addWaypoint to routemgr.cxx
- add command interface property (monitored by listener)
- remove all traces of auto_gui.[ch]xx
- remove some trailing spaces, fix indentation
2006-05-08 14:35:29 +00:00
mfranz
ff52ed5072 add an optional property node pointer to ObjectProperty. This is currently
only used by the <list> widget. It allows to "dialog-update" the list,
which rescans the <value> children and redraws the list widget with new
contents. The old contents are only freed at dialog close, which should
eventually get changed.
2006-04-28 15:55:41 +00:00
mfranz
5b1dd6c8ae empty names aren't names 2006-04-28 12:56:11 +00:00
mfranz
ce8e28f1f5 what about using the right variable? 2006-04-28 12:14:23 +00:00
mfranz
29ff85142b - merge FGDialog::{update,apply}Value{,s} ... there's really no need to have
two almost identical functions for these methods. It only forces to repeat
  the redundancy for every small change to either.
- abstract out generation and destruction of plib string arrays
- abstract out generation of lists from <value> children
2006-04-28 11:49:11 +00:00
mfranz
eb19c2650d newgui.[ch]xx: implement FGDialog *NewGUI::getDialog(cont string&)
fg_command.cxx: add possibility to "dialog-apply" or "dialog-update"
                an arbitrary active (= open) dialog or widget
2006-04-28 10:27:54 +00:00
mfranz
ca46e8d5d5 rename NewGUI::getDialog() to NewGUI::getDialogProperties()
getDialog wrongly implies that it returns an FGDialog, and we might later
need a real getDialog.
2006-04-28 09:59:31 +00:00
mfranz
52306b9093 add optional SGPropertyNode* argument to NasalSys::createModule. This is
used in dialog.cxx to allow XML dialogs access to their own prop tree via
Nasal's cmdarg(). That way dialogs can generate dynamic content, such as
list entries.
2006-04-27 15:56:51 +00:00
mfranz
e354b810fa - work around plib bug that crashes fgfs if no airport was found (empty
list) and the arrows are clicked  (patch sent to plib; workaround it to
  be removed once fgfs officially depends on a plib version that includes
  the fix)
- fix (very unlikely) crash in case the widget is redrawn between list
  destruction and setting of the new list.
2006-04-18 15:21:19 +00:00
mfranz
2e7cab820b make headers include headers they depend on, don't rely on the c(xx)
file to do that. (This is a requirement for header precompiling.)
2006-04-17 13:40:20 +00:00
mfranz
fe78690623 allow to not only set a general widget <color>, but also specific element
colors:  <color-{{back,fore}ground,highlight,label,legend,misc,editfield}>
<input-misc>, for example, sets the input field cursor color, <input-legend>
the input field text color. (This feature was always planned as part of the
'theming' capabilities, and most code is already in place. Only this line
was apparently fogotten. :-)
2006-04-14 10:17:09 +00:00
mfranz
86d606f87a <input> elements that are <live> always update their input field from the
<property>, except if they are activated, in which case the user input
should, of course, not get overwritten. But if such an input was active and
the user selected a different widget, then its contents were dropped.
Fix that by setting the "DownCallback" for live input fields.
2006-04-03 15:00:33 +00:00
mfranz
bff4c3fe22 support filtering to show only a subset of entries 2006-03-31 10:17:43 +00:00
fredb
0abca6be34 Don't restore initial screen geometry because there is nothing in fg_os* to resize an existing window.
Old behavior was to just resize the GL viewport, which doesn't necessarily match the fg window size.
2006-03-30 20:37:34 +00:00
mfranz
8d9f8e5761 - don't crash if user clicked "Apply" but hasn't selected an airport
- re-order information from  "LOXT  Tulln"  to  "Tulln  (LOXT)".
  The list is sorted by airport name and columns aren't aligned, so this
  looks way cleaner.
2006-03-25 08:47:53 +00:00
mfranz
651db1845b - make aircraft list no longer stick out from its dialog box
- cosmetics: consistent coding style (and "if" is not a function :-)
2006-03-25 07:45:50 +00:00
mfranz
bf53d2b117 - set size, otherwise the widget doesn't expand to the size that the layouter
found desirable
- set slider width default correctly (parentHeight? Huh?)
2006-03-23 23:02:48 +00:00
mfranz
b650e86e74 - implement setSize(): We can't just use puObject::setSize() -- we do, of
course, have to re-layout all sub-widgets on resizing
- make slider size configurable, like it's done for the close relative
  puLargeInput
2006-03-23 23:00:31 +00:00
mfranz
d6af5da0a8 - abstract out box slider width (should probably be settable)
- reduce it to 20 (30 is excessive and didn't match the property brower look)
- call puSlider with this size explicitly (otherwise its size is derived
  from the font size, unlike the arrow buttons!)
2006-03-23 19:51:38 +00:00
mfranz
2726cda057 make puList actually useful: call back on list entry selection.
(again: I'll submit all the changes to plib's puaList as soon as
possibe. Just needs a few more fixes first ... :-)
2006-03-23 19:03:31 +00:00
mfranz
a7bab83cc8 make puListBox inherit puList colors (otherwise the GUI style isn't
respected, and black text on dark grey is a bit hard to read).
TODO: - submit that for inclusion in plib's puAuxList
      - drop custom version and use plib's (after 0.9.10)
2006-03-23 17:44:10 +00:00
mfranz
a04aad7a99 puList.cxx: _list_box->getIntegerValue() returns -1 as long as no list
entry was selected. Return 0 in this case, not an invalid string address
  (causing segfaults).
dialogs.cxx: don't set property if no list entry was chosen.
2006-03-22 10:56:49 +00:00
mfranz
9604277484 create /sim/gui if it doesn't exist 2006-03-19 07:10:10 +00:00
mfranz
e4f08637f7 move gui styles from /sim/gui[n] to /sim/gui/style[n] to make /sim/gui
free for other gui related properties
2006-03-09 23:04:41 +00:00
mfranz
b0b5c2dda9 remove useless test 2006-03-08 20:23:31 +00:00
mfranz
2de4fd5d8e add support for <nasal> blocks <open> and <close> in XML dialogs:
<nasal>
      <open>print("I'm called on dialog open")</open>
      <close>print("I'm called on dialog close")</close>
  </nasal>

All Nasal runs in a dialog namespace, so that variables and functions
defined in the <open> block can be used in <binding>s, etc. This is
especially useful for <radio> button handling. See "location-in-air.xml".
2006-03-08 10:44:46 +00:00
mfranz
ef70c9cf41 backspace accelerator 2006-03-01 14:26:17 +00:00
mfranz
c9813d1b5d new FSF address 2006-02-21 01:16:04 +00:00
mfranz
dc1cf77804 make sure the dialog property tree can't disappear until we wrote the
last position back
2006-02-19 08:48:30 +00:00
fredb
36e4045810 Add missing include files needed by the new math code under windows 2006-02-18 13:58:09 +00:00
mfranz
f5469ba9fe only user specified negative coords are interpreted as relative to the upper
right corner, not those that are result of centering a dialog if no x/y are
given. This centers screen.log messages correctly. But maybe we have to
rethink that special meaning of negative coords altogether.
2006-02-12 19:43:53 +00:00
mfranz
e51cd8eaf5 make room for more font specifications in style files 2006-02-04 13:06:47 +00:00
mfranz
aec1d580c2 on closing a dialog write the last position back, so that the caller can
open it there again next time
2006-01-29 21:21:56 +00:00
mfranz
129813e0aa set the /sim/signals/reinit property on reinit, so that aircraft code can
attach listeners. Other relevant stuff should go here, too. (/sim/crashed
could be one.)
2006-01-29 16:20:31 +00:00
mfranz
cabf53537a allow top level <font> definition that applies to text in the whole dialog
and makes the layouter use this font's metrics
2006-01-27 12:57:13 +00:00
mfranz
54ee68291b fonts are now delivered by FGFontCache (except for the splash screen,
because this comes way before the gui subsystem is ready)
2006-01-27 08:01:31 +00:00
mfranz
f729ec6013 cosmetics 2006-01-26 22:22:37 +00:00
mfranz
e2016f9568 fix FGFontCache and make use of it (this allows to assign bitmap fonts
in dialogs)
2006-01-26 21:40:37 +00:00
ehofman
619226e9d0 Integrate a large part of John Wojnaroski's 747 cockpit project.
Erik Hofman:
This patch contains an update to net_ctrls.hxx that adds an extra 100 bytes
(or an equivalent of 25 (u)int32_t types) of reserved space. This could be
used to make the protocol forward and backward compatibel within a certain
scope. Be sure to read the instructions at the begining of the header file
when addinf new variables.
2006-01-20 17:19:01 +00:00
ehofman
fcfe5d2010 Don't display the menubar in e highres screenshot. 2006-01-11 10:53:04 +00:00