diff --git a/pcbnew/dialogs/dialog_keepout_area_properties.cpp b/pcbnew/dialogs/dialog_keepout_area_properties.cpp
index 057865b18f..4b3e163c02 100644
--- a/pcbnew/dialogs/dialog_keepout_area_properties.cpp
+++ b/pcbnew/dialogs/dialog_keepout_area_properties.cpp
@@ -58,8 +58,9 @@ public:
private:
PCB_BASE_FRAME* m_parent;
wxConfigBase* m_config; ///< Current config
- ZONE_SETTINGS m_zonesettings;
- ZONE_SETTINGS* m_ptr;
+ ZONE_SETTINGS m_zonesettings; ///< the working copy of zone settings
+ ZONE_SETTINGS* m_ptr; ///< the pointer to the zone settings
+ ///< of the zone to edit
/**
* Function initDialog
@@ -67,7 +68,10 @@ private:
*/
void initDialog();
- virtual void OnOkClick( wxCommandEvent& event ) override;
+ /**
+ * automatically called by wxWidgets before closing the dialog
+ */
+ virtual bool TransferDataFromWindow() override;
virtual void OnLayerSelection( wxDataViewEvent& event ) override;
@@ -190,13 +194,15 @@ void DIALOG_KEEPOUT_AREA_PROPERTIES::initDialog()
}
-void DIALOG_KEEPOUT_AREA_PROPERTIES::OnOkClick( wxCommandEvent& event )
+bool DIALOG_KEEPOUT_AREA_PROPERTIES::TransferDataFromWindow()
{
if( AcceptOptionsForKeepOut() )
{
*m_ptr = m_zonesettings;
- event.Skip(); // ends returning wxID_OK (default behavior)
+ return true;
}
+
+ return false;
}
@@ -210,7 +216,6 @@ void DIALOG_KEEPOUT_AREA_PROPERTIES::OnLayerSelection( wxDataViewEvent& event )
wxDataViewItem item = event.GetItem();
int row = m_layers->ItemToRow( item );
-
bool selected = m_layers->GetToggleValue( row, 0 );
BOARD* board = m_parent->GetBoard();
@@ -275,8 +280,8 @@ bool DIALOG_KEEPOUT_AREA_PROPERTIES::AcceptOptionsForKeepOut()
else
m_zonesettings.m_Zone_45_Only = true;
- m_zonesettings.m_ZonePriority = 0; //m_PriorityLevelCtrl->GetValue();
-
+ m_zonesettings.m_ZonePriority = 0; // for a keepout, this param is not used.
+ // set it to 0
return true;
}
diff --git a/pcbnew/dialogs/dialog_keepout_area_properties_base.cpp b/pcbnew/dialogs/dialog_keepout_area_properties_base.cpp
index 784001e9a3..a55f2096fb 100644
--- a/pcbnew/dialogs/dialog_keepout_area_properties_base.cpp
+++ b/pcbnew/dialogs/dialog_keepout_area_properties_base.cpp
@@ -1,101 +1,100 @@
-///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Mar 22 2017)
-// http://www.wxformbuilder.org/
-//
-// PLEASE DO "NOT" EDIT THIS FILE!
-///////////////////////////////////////////////////////////////////////////
-
-#include "dialog_keepout_area_properties_base.h"
-
-///////////////////////////////////////////////////////////////////////////
-
-BEGIN_EVENT_TABLE( DIALOG_KEEPOUT_AREA_PROPERTIES_BASE, DIALOG_SHIM )
+///////////////////////////////////////////////////////////////////////////
+// C++ code generated with wxFormBuilder (version Aug 4 2017)
+// http://www.wxformbuilder.org/
+//
+// PLEASE DO "NOT" EDIT THIS FILE!
+///////////////////////////////////////////////////////////////////////////
+
+#include "dialog_keepout_area_properties_base.h"
+
+///////////////////////////////////////////////////////////////////////////
+
+BEGIN_EVENT_TABLE( DIALOG_KEEPOUT_AREA_PROPERTIES_BASE, DIALOG_SHIM )
EVT_DATAVIEW_ITEM_VALUE_CHANGED( wxID_ANY, DIALOG_KEEPOUT_AREA_PROPERTIES_BASE::_wxFB_OnLayerSelection )
- EVT_BUTTON( wxID_OK, DIALOG_KEEPOUT_AREA_PROPERTIES_BASE::_wxFB_OnOkClick )
-END_EVENT_TABLE()
-
-DIALOG_KEEPOUT_AREA_PROPERTIES_BASE::DIALOG_KEEPOUT_AREA_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
-{
+END_EVENT_TABLE()
+
+DIALOG_KEEPOUT_AREA_PROPERTIES_BASE::DIALOG_KEEPOUT_AREA_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
+{
this->SetSizeHints( wxSize( 500,-1 ), wxDefaultSize );
-
- wxBoxSizer* m_MainSizer;
- m_MainSizer = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* m_UpperSizer;
- m_UpperSizer = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* m_layersListSizer;
- m_layersListSizer = new wxBoxSizer( wxVERTICAL );
-
+
+ wxBoxSizer* m_MainSizer;
+ m_MainSizer = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* m_UpperSizer;
+ m_UpperSizer = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* m_layersListSizer;
+ m_layersListSizer = new wxBoxSizer( wxVERTICAL );
+
m_staticTextLayerSelection = new wxStaticText( this, wxID_ANY, _("Keepout Area Layers:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextLayerSelection->Wrap( -1 );
- m_layersListSizer->Add( m_staticTextLayerSelection, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
-
+ m_staticTextLayerSelection->Wrap( -1 );
+ m_layersListSizer->Add( m_staticTextLayerSelection, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
+
m_layers = new wxDataViewListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxDV_HORIZ_RULES|wxDV_NO_HEADER );
m_layersListSizer->Add( m_layers, 1, wxALL|wxEXPAND, 5 );
-
-
- m_UpperSizer->Add( m_layersListSizer, 1, wxEXPAND, 5 );
-
- wxBoxSizer* bSizerRight;
- bSizerRight = new wxBoxSizer( wxVERTICAL );
-
- m_staticTextprops = new wxStaticText( this, wxID_ANY, _("Properties:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextprops->Wrap( -1 );
- bSizerRight->Add( m_staticTextprops, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
-
- wxString m_OrientEdgesOptChoices[] = { _("Any"), _("180, 90, and 45 degrees") };
- int m_OrientEdgesOptNChoices = sizeof( m_OrientEdgesOptChoices ) / sizeof( wxString );
- m_OrientEdgesOpt = new wxRadioBox( this, wxID_ANY, _("Zone Edge Orientation:"), wxDefaultPosition, wxDefaultSize, m_OrientEdgesOptNChoices, m_OrientEdgesOptChoices, 1, wxRA_SPECIFY_COLS );
- m_OrientEdgesOpt->SetSelection( 1 );
- bSizerRight->Add( m_OrientEdgesOpt, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
-
- wxString m_OutlineAppearanceCtrlChoices[] = { _("Line"), _("Hatched Outline"), _("Full Hatched") };
- int m_OutlineAppearanceCtrlNChoices = sizeof( m_OutlineAppearanceCtrlChoices ) / sizeof( wxString );
- m_OutlineAppearanceCtrl = new wxRadioBox( this, wxID_ANY, _("Outline Appearence:"), wxDefaultPosition, wxDefaultSize, m_OutlineAppearanceCtrlNChoices, m_OutlineAppearanceCtrlChoices, 1, wxRA_SPECIFY_COLS );
- m_OutlineAppearanceCtrl->SetSelection( 1 );
- bSizerRight->Add( m_OutlineAppearanceCtrl, 0, wxALL|wxEXPAND, 5 );
-
- wxStaticBoxSizer* sbSizerCutoutOpts;
- sbSizerCutoutOpts = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Keepout Options:") ), wxVERTICAL );
-
- m_cbTracksCtrl = new wxCheckBox( sbSizerCutoutOpts->GetStaticBox(), wxID_ANY, _("No tracks"), wxDefaultPosition, wxDefaultSize, 0 );
- sbSizerCutoutOpts->Add( m_cbTracksCtrl, 0, wxTOP|wxRIGHT|wxLEFT|wxEXPAND, 5 );
-
- m_cbViasCtrl = new wxCheckBox( sbSizerCutoutOpts->GetStaticBox(), wxID_ANY, _("No vias"), wxDefaultPosition, wxDefaultSize, 0 );
- sbSizerCutoutOpts->Add( m_cbViasCtrl, 0, wxTOP|wxRIGHT|wxLEFT|wxEXPAND, 5 );
-
- m_cbCopperPourCtrl = new wxCheckBox( sbSizerCutoutOpts->GetStaticBox(), wxID_ANY, _("No copper pour"), wxDefaultPosition, wxDefaultSize, 0 );
- sbSizerCutoutOpts->Add( m_cbCopperPourCtrl, 0, wxALL|wxEXPAND, 5 );
-
-
- bSizerRight->Add( sbSizerCutoutOpts, 0, wxEXPAND|wxALL, 5 );
-
-
- m_UpperSizer->Add( bSizerRight, 0, wxEXPAND, 5 );
-
-
- m_MainSizer->Add( m_UpperSizer, 1, wxEXPAND, 5 );
-
- m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- m_MainSizer->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
-
- m_sdbSizerButtons = new wxStdDialogButtonSizer();
- m_sdbSizerButtonsOK = new wxButton( this, wxID_OK );
- m_sdbSizerButtons->AddButton( m_sdbSizerButtonsOK );
- m_sdbSizerButtonsCancel = new wxButton( this, wxID_CANCEL );
- m_sdbSizerButtons->AddButton( m_sdbSizerButtonsCancel );
- m_sdbSizerButtons->Realize();
-
- m_MainSizer->Add( m_sdbSizerButtons, 0, wxEXPAND|wxALL, 5 );
-
-
- this->SetSizer( m_MainSizer );
- this->Layout();
-
- this->Centre( wxBOTH );
-}
-
-DIALOG_KEEPOUT_AREA_PROPERTIES_BASE::~DIALOG_KEEPOUT_AREA_PROPERTIES_BASE()
-{
-}
+
+
+ m_UpperSizer->Add( m_layersListSizer, 1, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizerRight;
+ bSizerRight = new wxBoxSizer( wxVERTICAL );
+
+ m_staticTextprops = new wxStaticText( this, wxID_ANY, _("Properties:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextprops->Wrap( -1 );
+ bSizerRight->Add( m_staticTextprops, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
+
+ wxString m_OrientEdgesOptChoices[] = { _("Any orientation"), _("180, 90, and 45 degrees") };
+ int m_OrientEdgesOptNChoices = sizeof( m_OrientEdgesOptChoices ) / sizeof( wxString );
+ m_OrientEdgesOpt = new wxRadioBox( this, wxID_ANY, _("Zone Edge Orientation:"), wxDefaultPosition, wxDefaultSize, m_OrientEdgesOptNChoices, m_OrientEdgesOptChoices, 1, wxRA_SPECIFY_COLS );
+ m_OrientEdgesOpt->SetSelection( 1 );
+ bSizerRight->Add( m_OrientEdgesOpt, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
+
+ wxString m_OutlineAppearanceCtrlChoices[] = { _("Line"), _("Hatched Outline"), _("Full Hatched") };
+ int m_OutlineAppearanceCtrlNChoices = sizeof( m_OutlineAppearanceCtrlChoices ) / sizeof( wxString );
+ m_OutlineAppearanceCtrl = new wxRadioBox( this, wxID_ANY, _("Outline Appearence:"), wxDefaultPosition, wxDefaultSize, m_OutlineAppearanceCtrlNChoices, m_OutlineAppearanceCtrlChoices, 1, wxRA_SPECIFY_COLS );
+ m_OutlineAppearanceCtrl->SetSelection( 1 );
+ bSizerRight->Add( m_OutlineAppearanceCtrl, 0, wxALL|wxEXPAND, 5 );
+
+ wxStaticBoxSizer* sbSizerCutoutOpts;
+ sbSizerCutoutOpts = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Keepout Options:") ), wxVERTICAL );
+
+ m_cbTracksCtrl = new wxCheckBox( sbSizerCutoutOpts->GetStaticBox(), wxID_ANY, _("No tracks"), wxDefaultPosition, wxDefaultSize, 0 );
+ sbSizerCutoutOpts->Add( m_cbTracksCtrl, 0, wxTOP|wxRIGHT|wxLEFT|wxEXPAND, 5 );
+
+ m_cbViasCtrl = new wxCheckBox( sbSizerCutoutOpts->GetStaticBox(), wxID_ANY, _("No vias"), wxDefaultPosition, wxDefaultSize, 0 );
+ sbSizerCutoutOpts->Add( m_cbViasCtrl, 0, wxTOP|wxRIGHT|wxLEFT|wxEXPAND, 5 );
+
+ m_cbCopperPourCtrl = new wxCheckBox( sbSizerCutoutOpts->GetStaticBox(), wxID_ANY, _("No copper pour"), wxDefaultPosition, wxDefaultSize, 0 );
+ sbSizerCutoutOpts->Add( m_cbCopperPourCtrl, 0, wxALL|wxEXPAND, 5 );
+
+
+ bSizerRight->Add( sbSizerCutoutOpts, 0, wxEXPAND|wxALL, 5 );
+
+
+ m_UpperSizer->Add( bSizerRight, 0, wxEXPAND, 5 );
+
+
+ m_MainSizer->Add( m_UpperSizer, 1, wxEXPAND, 5 );
+
+ m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ m_MainSizer->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
+
+ m_sdbSizerButtons = new wxStdDialogButtonSizer();
+ m_sdbSizerButtonsOK = new wxButton( this, wxID_OK );
+ m_sdbSizerButtons->AddButton( m_sdbSizerButtonsOK );
+ m_sdbSizerButtonsCancel = new wxButton( this, wxID_CANCEL );
+ m_sdbSizerButtons->AddButton( m_sdbSizerButtonsCancel );
+ m_sdbSizerButtons->Realize();
+
+ m_MainSizer->Add( m_sdbSizerButtons, 0, wxEXPAND|wxALL, 5 );
+
+
+ this->SetSizer( m_MainSizer );
+ this->Layout();
+
+ this->Centre( wxBOTH );
+}
+
+DIALOG_KEEPOUT_AREA_PROPERTIES_BASE::~DIALOG_KEEPOUT_AREA_PROPERTIES_BASE()
+{
+}
diff --git a/pcbnew/dialogs/dialog_keepout_area_properties_base.fbp b/pcbnew/dialogs/dialog_keepout_area_properties_base.fbp
index d49acffd07..d550aa166a 100644
--- a/pcbnew/dialogs/dialog_keepout_area_properties_base.fbp
+++ b/pcbnew/dialogs/dialog_keepout_area_properties_base.fbp
@@ -1,225 +1,225 @@
-
-
-
-
-
-
-
-
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ No copper pour
+
+ 0
+
+
+ 0
+
+ 1
+ m_cbCopperPourCtrl
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- 5
- wxEXPAND | wxALL
- 0
+ 5
+ wxEXPAND | wxALL
+ 0
- 1
- 1
- 1
- 1
-
-
-
-
-
-
-
- 1
- 0
- 1
-
- 1
- 0
- Dock
- 0
- Left
- 1
-
- 1
-
- 0
- 0
- wxID_ANY
-
- 0
-
-
- 0
-
- 1
- m_staticline1
- 1
-
-
- protected
- 1
-
- Resizable
- 1
-
- wxLI_HORIZONTAL
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticline1
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxLI_HORIZONTAL
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- 5
- wxEXPAND|wxALL
- 0
+ 5
+ wxEXPAND|wxALL
+ 0
- 0
- 1
- 0
- 0
- 0
- 1
- 0
- 0
-
- m_sdbSizerButtons
- protected
-
-
-
-
-
- OnOkClick
-
-
-
-
-
-
-
-
+ 0
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+
+ m_sdbSizerButtons
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pcbnew/dialogs/dialog_keepout_area_properties_base.h b/pcbnew/dialogs/dialog_keepout_area_properties_base.h
index 831c64fb78..0bb92359f7 100644
--- a/pcbnew/dialogs/dialog_keepout_area_properties_base.h
+++ b/pcbnew/dialogs/dialog_keepout_area_properties_base.h
@@ -1,74 +1,72 @@
-///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Mar 22 2017)
-// http://www.wxformbuilder.org/
-//
-// PLEASE DO "NOT" EDIT THIS FILE!
-///////////////////////////////////////////////////////////////////////////
-
-#ifndef __DIALOG_KEEPOUT_AREA_PROPERTIES_BASE_H__
-#define __DIALOG_KEEPOUT_AREA_PROPERTIES_BASE_H__
-
-#include
-#include
-#include
-class DIALOG_SHIM;
-
-#include "dialog_shim.h"
-#include
-#include
-#include
-#include
-#include
-#include
+///////////////////////////////////////////////////////////////////////////
+// C++ code generated with wxFormBuilder (version Aug 4 2017)
+// http://www.wxformbuilder.org/
+//
+// PLEASE DO "NOT" EDIT THIS FILE!
+///////////////////////////////////////////////////////////////////////////
+
+#ifndef __DIALOG_KEEPOUT_AREA_PROPERTIES_BASE_H__
+#define __DIALOG_KEEPOUT_AREA_PROPERTIES_BASE_H__
+
+#include
+#include
+#include
+class DIALOG_SHIM;
+
+#include "dialog_shim.h"
+#include
+#include
+#include
+#include
+#include
+#include
#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-///////////////////////////////////////////////////////////////////////////
-
-
-///////////////////////////////////////////////////////////////////////////////
-/// Class DIALOG_KEEPOUT_AREA_PROPERTIES_BASE
-///////////////////////////////////////////////////////////////////////////////
-class DIALOG_KEEPOUT_AREA_PROPERTIES_BASE : public DIALOG_SHIM
-{
- DECLARE_EVENT_TABLE()
- private:
-
- // Private event handlers
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+///////////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////////////
+/// Class DIALOG_KEEPOUT_AREA_PROPERTIES_BASE
+///////////////////////////////////////////////////////////////////////////////
+class DIALOG_KEEPOUT_AREA_PROPERTIES_BASE : public DIALOG_SHIM
+{
+ DECLARE_EVENT_TABLE()
+ private:
+
+ // Private event handlers
void _wxFB_OnLayerSelection( wxDataViewEvent& event ){ OnLayerSelection( event ); }
- void _wxFB_OnOkClick( wxCommandEvent& event ){ OnOkClick( event ); }
-
-
- protected:
- wxStaticText* m_staticTextLayerSelection;
+
+
+ protected:
+ wxStaticText* m_staticTextLayerSelection;
wxDataViewListCtrl* m_layers;
- wxStaticText* m_staticTextprops;
- wxRadioBox* m_OrientEdgesOpt;
- wxRadioBox* m_OutlineAppearanceCtrl;
- wxCheckBox* m_cbTracksCtrl;
- wxCheckBox* m_cbViasCtrl;
- wxCheckBox* m_cbCopperPourCtrl;
- wxStaticLine* m_staticline1;
- wxStdDialogButtonSizer* m_sdbSizerButtons;
- wxButton* m_sdbSizerButtonsOK;
- wxButton* m_sdbSizerButtonsCancel;
-
- // Virtual event handlers, overide them in your derived class
+ wxStaticText* m_staticTextprops;
+ wxRadioBox* m_OrientEdgesOpt;
+ wxRadioBox* m_OutlineAppearanceCtrl;
+ wxCheckBox* m_cbTracksCtrl;
+ wxCheckBox* m_cbViasCtrl;
+ wxCheckBox* m_cbCopperPourCtrl;
+ wxStaticLine* m_staticline1;
+ wxStdDialogButtonSizer* m_sdbSizerButtons;
+ wxButton* m_sdbSizerButtonsOK;
+ wxButton* m_sdbSizerButtonsCancel;
+
+ // Virtual event handlers, overide them in your derived class
virtual void OnLayerSelection( wxDataViewEvent& event ) { event.Skip(); }
- virtual void OnOkClick( wxCommandEvent& event ) { event.Skip(); }
-
-
- public:
-
+
+
+ public:
+
DIALOG_KEEPOUT_AREA_PROPERTIES_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Keepout Area Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 650,402 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxFULL_REPAINT_ON_RESIZE|wxSUNKEN_BORDER );
- ~DIALOG_KEEPOUT_AREA_PROPERTIES_BASE();
-
-};
-
-#endif //__DIALOG_KEEPOUT_AREA_PROPERTIES_BASE_H__
+ ~DIALOG_KEEPOUT_AREA_PROPERTIES_BASE();
+
+};
+
+#endif //__DIALOG_KEEPOUT_AREA_PROPERTIES_BASE_H__