From: mfranz Date: Thu, 18 May 2006 12:12:10 +0000 (+0000) Subject: Ctrl-Click on bool entry toggles property X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=6d24d7496e4c00ab98f77126ac1b84ec37e804b8;p=flightgear.git Ctrl-Click on bool entry toggles property --- diff --git a/src/GUI/prop_picker.cxx b/src/GUI/prop_picker.cxx index 2255e8e0d..dd6e6b23a 100755 --- a/src/GUI/prop_picker.cxx +++ b/src/GUI/prop_picker.cxx @@ -40,6 +40,7 @@ #include STL_STRING +#include
#include
#include "new_gui.hxx" #include "prop_picker.hxx" @@ -90,19 +91,11 @@ void prop_pickerRefresh() me -> find_props(); } -void prop_editInit( const char * name, const char * value, char * proppath ) -{ - if( PE_widget == 0 ) { - fgPropEdit *PP = new fgPropEdit ( name, value, proppath ); - PE_widget = PP; - } -} - void prop_editOpen( const char * name, const char * value, char * proppath ) { - if( PE_widget == 0 ) { - prop_editInit( name, value, proppath ); - } + if( PE_widget == 0 ) + PE_widget = new fgPropEdit(name, value, proppath); + fgPropEdit *me = (fgPropEdit *)PE_widget -> getUserData(); me -> propname -> setLabel (name); me -> propinput -> setValue (value); @@ -290,8 +283,11 @@ void fgPropPicker::handle_select ( puObject* list_box ) "PUI: fgPropPicker - path is too long, max is %d.", PUSTRING_MAX ) ; return ; } - - prop_editOpen(child->getName(), child->getStringValue(), dst); + + if (child->getType() == SGPropertyNode::BOOL && (fgGetKeyModifiers() & KEYMOD_CTRL)) + child->setBoolValue(!child->getBoolValue()); + else + prop_editOpen(child->getName(), child->getStringValue(), dst); } else { diff --git a/src/GUI/prop_picker.hxx b/src/GUI/prop_picker.hxx index fbbeabd34..1741f105a 100755 --- a/src/GUI/prop_picker.hxx +++ b/src/GUI/prop_picker.hxx @@ -13,7 +13,6 @@ void prop_pickerInit(); void prop_pickerView( puObject * ); void prop_pickerRefresh(); -void prop_editInit( const char * name, const char * value ); void prop_editOpen( const char * name, const char * value ); class fgPropPicker ;