refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future
This commit is contained in:
parent
3292d622c1
commit
9932ff32ae
|
@ -23,6 +23,8 @@
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
#include <commit.h>
|
#include <commit.h>
|
||||||
#include <base_struct.h>
|
#include <base_struct.h>
|
||||||
|
|
||||||
|
|
|
@ -22,11 +22,11 @@
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
#include <geometry/shape_line_chain.h>
|
#include <geometry/shape_line_chain.h>
|
||||||
#include <geometry/shape_circle.h>
|
#include <geometry/shape_circle.h>
|
||||||
|
|
||||||
using boost::optional;
|
|
||||||
|
|
||||||
bool SHAPE_LINE_CHAIN::Collide( const VECTOR2I& aP, int aClearance ) const
|
bool SHAPE_LINE_CHAIN::Collide( const VECTOR2I& aP, int aClearance ) const
|
||||||
{
|
{
|
||||||
// fixme: ugly!
|
// fixme: ugly!
|
||||||
|
@ -366,7 +366,7 @@ bool SHAPE_LINE_CHAIN::PointOnEdge( const VECTOR2I& aP ) const
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const optional<SHAPE_LINE_CHAIN::INTERSECTION> SHAPE_LINE_CHAIN::SelfIntersecting() const
|
const OPT<SHAPE_LINE_CHAIN::INTERSECTION> SHAPE_LINE_CHAIN::SelfIntersecting() const
|
||||||
{
|
{
|
||||||
for( int s1 = 0; s1 < SegmentCount(); s1++ )
|
for( int s1 = 0; s1 < SegmentCount(); s1++ )
|
||||||
{
|
{
|
||||||
|
@ -410,7 +410,7 @@ const optional<SHAPE_LINE_CHAIN::INTERSECTION> SHAPE_LINE_CHAIN::SelfIntersectin
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return optional<INTERSECTION>();
|
return OPT<SHAPE_LINE_CHAIN::INTERSECTION>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,8 @@
|
||||||
#include <tool/tool_action.h>
|
#include <tool/tool_action.h>
|
||||||
#include <tool/action_manager.h>
|
#include <tool/action_manager.h>
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
TOOL_ACTION::TOOL_ACTION( const std::string& aName, TOOL_ACTION_SCOPE aScope,
|
TOOL_ACTION::TOOL_ACTION( const std::string& aName, TOOL_ACTION_SCOPE aScope,
|
||||||
int aDefaultHotKey, const wxString aMenuItem, const wxString& aMenuDesc,
|
int aDefaultHotKey, const wxString aMenuItem, const wxString& aMenuDesc,
|
||||||
const BITMAP_OPAQUE* aIcon, TOOL_ACTION_FLAGS aFlags, void* aParam ) :
|
const BITMAP_OPAQUE* aIcon, TOOL_ACTION_FLAGS aFlags, void* aParam ) :
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
#include <class_draw_panel_gal.h>
|
#include <class_draw_panel_gal.h>
|
||||||
#include <pcbnew_id.h>
|
#include <pcbnew_id.h>
|
||||||
|
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
///> Stores information about a mouse button state
|
///> Stores information about a mouse button state
|
||||||
struct TOOL_DISPATCHER::BUTTON_STATE
|
struct TOOL_DISPATCHER::BUTTON_STATE
|
||||||
|
@ -154,7 +154,7 @@ bool TOOL_DISPATCHER::handleMouseButton( wxEvent& aEvent, int aIndex, bool aMoti
|
||||||
{
|
{
|
||||||
BUTTON_STATE* st = m_buttons[aIndex];
|
BUTTON_STATE* st = m_buttons[aIndex];
|
||||||
wxEventType type = aEvent.GetEventType();
|
wxEventType type = aEvent.GetEventType();
|
||||||
boost::optional<TOOL_EVENT> evt;
|
OPT<TOOL_EVENT> evt;
|
||||||
bool isClick = false;
|
bool isClick = false;
|
||||||
|
|
||||||
// bool up = type == st->upEvent;
|
// bool up = type == st->upEvent;
|
||||||
|
@ -307,7 +307,7 @@ int translateSpecialCode( int aKeyCode )
|
||||||
void TOOL_DISPATCHER::DispatchWxEvent( wxEvent& aEvent )
|
void TOOL_DISPATCHER::DispatchWxEvent( wxEvent& aEvent )
|
||||||
{
|
{
|
||||||
bool motion = false, buttonEvents = false;
|
bool motion = false, buttonEvents = false;
|
||||||
boost::optional<TOOL_EVENT> evt;
|
OPT<TOOL_EVENT> evt;
|
||||||
int key = 0; // key = 0 if the event is not a key event
|
int key = 0; // key = 0 if the event is not a key event
|
||||||
bool keyIsSpecial = false; // True if the key is a special key code
|
bool keyIsSpecial = false; // True if the key is a special key code
|
||||||
|
|
||||||
|
@ -436,7 +436,7 @@ void TOOL_DISPATCHER::DispatchWxEvent( wxEvent& aEvent )
|
||||||
|
|
||||||
void TOOL_DISPATCHER::DispatchWxCommand( wxCommandEvent& aEvent )
|
void TOOL_DISPATCHER::DispatchWxCommand( wxCommandEvent& aEvent )
|
||||||
{
|
{
|
||||||
boost::optional<TOOL_EVENT> evt = m_actions->TranslateLegacyId( aEvent.GetId() );
|
OPT<TOOL_EVENT> evt = m_actions->TranslateLegacyId( aEvent.GetId() );
|
||||||
|
|
||||||
if( evt )
|
if( evt )
|
||||||
m_toolMgr->ProcessEvent( *evt );
|
m_toolMgr->ProcessEvent( *evt );
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
#include <stack>
|
#include <stack>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
#include <wx/event.h>
|
#include <wx/event.h>
|
||||||
#include <wx/clipbrd.h>
|
#include <wx/clipbrd.h>
|
||||||
|
@ -44,8 +44,6 @@
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <class_draw_panel_gal.h>
|
#include <class_draw_panel_gal.h>
|
||||||
|
|
||||||
using boost::optional;
|
|
||||||
|
|
||||||
/// Struct describing the current execution state of a TOOL
|
/// Struct describing the current execution state of a TOOL
|
||||||
struct TOOL_MANAGER::TOOL_STATE
|
struct TOOL_MANAGER::TOOL_STATE
|
||||||
{
|
{
|
||||||
|
@ -494,7 +492,7 @@ void TOOL_MANAGER::RunMainStack( TOOL_BASE* aTool, std::function<void()> aFunc )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
optional<TOOL_EVENT> TOOL_MANAGER::ScheduleWait( TOOL_BASE* aTool,
|
OPT<TOOL_EVENT> TOOL_MANAGER::ScheduleWait( TOOL_BASE* aTool,
|
||||||
const TOOL_EVENT_LIST& aConditions )
|
const TOOL_EVENT_LIST& aConditions )
|
||||||
{
|
{
|
||||||
TOOL_STATE* st = m_toolState[aTool];
|
TOOL_STATE* st = m_toolState[aTool];
|
||||||
|
@ -632,7 +630,6 @@ bool TOOL_MANAGER::dispatchActivation( const TOOL_EVENT& aEvent )
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void TOOL_MANAGER::dispatchContextMenu( const TOOL_EVENT& aEvent )
|
void TOOL_MANAGER::dispatchContextMenu( const TOOL_EVENT& aEvent )
|
||||||
{
|
{
|
||||||
// Store the current tool ID to decide whether to restore the cursor position
|
// Store the current tool ID to decide whether to restore the cursor position
|
||||||
|
@ -703,10 +700,10 @@ void TOOL_MANAGER::dispatchContextMenu( const TOOL_EVENT& aEvent )
|
||||||
if( activeTool == GetCurrentToolId() )
|
if( activeTool == GetCurrentToolId() )
|
||||||
{
|
{
|
||||||
m_viewControls->ForceCursorPosition( (bool) m_origCursor,
|
m_viewControls->ForceCursorPosition( (bool) m_origCursor,
|
||||||
m_origCursor.get_value_or( VECTOR2D( 0, 0 ) ) );
|
m_origCursor.value_or( VECTOR2D( 0, 0 ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
m_origCursor = boost::none;
|
m_origCursor = NULLOPT;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,8 +29,6 @@
|
||||||
#include <base_units.h>
|
#include <base_units.h>
|
||||||
#include <wx/valnum.h>
|
#include <wx/valnum.h>
|
||||||
|
|
||||||
#include <boost/optional.hpp>
|
|
||||||
|
|
||||||
#include "wx_unit_binder.h"
|
#include "wx_unit_binder.h"
|
||||||
|
|
||||||
WX_UNIT_BINDER::WX_UNIT_BINDER( wxWindow* aParent, wxTextEntry* aTextInput,
|
WX_UNIT_BINDER::WX_UNIT_BINDER( wxWindow* aParent, wxTextEntry* aTextInput,
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include <limits>
|
#include <limits>
|
||||||
#include <base_units.h>
|
#include <base_units.h>
|
||||||
#include <wx/valnum.h>
|
#include <wx/valnum.h>
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
WX_UNIT_TEXT::WX_UNIT_TEXT( wxWindow* aParent, const wxString& aLabel, double aValue, double aStep ) :
|
WX_UNIT_TEXT::WX_UNIT_TEXT( wxWindow* aParent, const wxString& aLabel, double aValue, double aStep ) :
|
||||||
wxPanel( aParent, wxID_ANY ),
|
wxPanel( aParent, wxID_ANY ),
|
||||||
|
@ -109,18 +109,18 @@ void WX_UNIT_TEXT::SetValue( double aValue )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
boost::optional<double> WX_UNIT_TEXT::GetValue() const
|
OPT<double> WX_UNIT_TEXT::GetValue() const
|
||||||
{
|
{
|
||||||
wxString text = m_inputValue->GetValue();
|
wxString text = m_inputValue->GetValue();
|
||||||
double value;
|
double value;
|
||||||
|
|
||||||
if( text == DEFAULT_VALUE )
|
if( text == DEFAULT_VALUE )
|
||||||
return boost::optional<double>( -1.0 );
|
return OPT<double>( -1.0 );
|
||||||
|
|
||||||
if( !text.ToDouble( &value ) )
|
if( !text.ToDouble( &value ) )
|
||||||
return boost::optional<double>();
|
return OPT<double>();
|
||||||
|
|
||||||
return boost::optional<double>( value );
|
return OPT<double>( value );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ void GERBVIEW_ACTIONS::RegisterAllTools( TOOL_MANAGER* aToolManager )
|
||||||
aToolManager->RegisterTool( new ZOOM_TOOL );
|
aToolManager->RegisterTool( new ZOOM_TOOL );
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::optional<TOOL_EVENT> GERBVIEW_ACTIONS::TranslateLegacyId( int aId )
|
OPT<TOOL_EVENT> GERBVIEW_ACTIONS::TranslateLegacyId( int aId )
|
||||||
{
|
{
|
||||||
switch( aId )
|
switch( aId )
|
||||||
{
|
{
|
||||||
|
@ -72,5 +72,5 @@ boost::optional<TOOL_EVENT> GERBVIEW_ACTIONS::TranslateLegacyId( int aId )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return boost::optional<TOOL_EVENT>();
|
return OPT<TOOL_EVENT>();
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
#include <tool/tool_action.h>
|
#include <tool/tool_action.h>
|
||||||
#include <tool/actions.h>
|
#include <tool/actions.h>
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
class TOOL_EVENT;
|
class TOOL_EVENT;
|
||||||
class TOOL_MANAGER;
|
class TOOL_MANAGER;
|
||||||
|
@ -130,7 +130,7 @@ public:
|
||||||
static TOOL_ACTION highlightAttribute;
|
static TOOL_ACTION highlightAttribute;
|
||||||
|
|
||||||
///> @copydoc COMMON_ACTIONS::TranslateLegacyId()
|
///> @copydoc COMMON_ACTIONS::TranslateLegacyId()
|
||||||
virtual boost::optional<TOOL_EVENT> TranslateLegacyId( int aId ) override;
|
virtual OPT<TOOL_EVENT> TranslateLegacyId( int aId ) override;
|
||||||
|
|
||||||
///> @copydoc COMMON_ACTIONS::RegisterAllTools()
|
///> @copydoc COMMON_ACTIONS::RegisterAllTools()
|
||||||
virtual void RegisterAllTools( TOOL_MANAGER* aToolManager ) override;
|
virtual void RegisterAllTools( TOOL_MANAGER* aToolManager ) override;
|
||||||
|
|
|
@ -692,7 +692,7 @@ EDA_ITEM* GERBVIEW_SELECTION_TOOL::disambiguationMenu( GERBER_COLLECTOR* aCollec
|
||||||
}
|
}
|
||||||
else if( evt->Action() == TA_CONTEXT_MENU_CHOICE )
|
else if( evt->Action() == TA_CONTEXT_MENU_CHOICE )
|
||||||
{
|
{
|
||||||
boost::optional<int> id = evt->GetCommandId();
|
OPT<int> id = evt->GetCommandId();
|
||||||
|
|
||||||
// User has selected an item, so this one will be returned
|
// User has selected an item, so this one will be returned
|
||||||
if( id && ( *id > 0 ) )
|
if( id && ( *id > 0 ) )
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
# ifndef ___OPTIONAL_H___
|
||||||
|
# define ___OPTIONAL_H___
|
||||||
|
|
||||||
|
#include <boost/optional.hpp>
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
using OPT = boost::optional<T>;
|
||||||
|
|
||||||
|
const auto NULLOPT = boost::none;
|
||||||
|
|
||||||
|
# endif //___OPTIONAL_HPP___
|
|
@ -179,7 +179,7 @@ T Convert( const wxString& aValue )
|
||||||
/**
|
/**
|
||||||
* Class OPTIONAL_XML_ATTRIBUTE
|
* Class OPTIONAL_XML_ATTRIBUTE
|
||||||
* models an optional XML attribute.
|
* models an optional XML attribute.
|
||||||
* This was implemented as an alternative to boost::optional. This class should be replaced with a
|
* This was implemented as an alternative to OPT. This class should be replaced with a
|
||||||
* simple typedef per type using std::optional when C++17 is published.
|
* simple typedef per type using std::optional when C++17 is published.
|
||||||
*/
|
*/
|
||||||
template <class T>
|
template <class T>
|
||||||
|
|
|
@ -30,6 +30,8 @@
|
||||||
#define STROKE_FONT_H_
|
#define STROKE_FONT_H_
|
||||||
|
|
||||||
#include <deque>
|
#include <deque>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
#include <utf8.h>
|
#include <utf8.h>
|
||||||
|
|
||||||
#include <eda_text.h>
|
#include <eda_text.h>
|
||||||
|
|
|
@ -29,10 +29,9 @@
|
||||||
#include <climits>
|
#include <climits>
|
||||||
|
|
||||||
#include <math/vector2d.h>
|
#include <math/vector2d.h>
|
||||||
|
#include <core/optional.h>
|
||||||
|
|
||||||
#include <boost/optional/optional.hpp>
|
typedef OPT<VECTOR2I> OPT_VECTOR2I;
|
||||||
|
|
||||||
typedef boost::optional<VECTOR2I> OPT_VECTOR2I;
|
|
||||||
|
|
||||||
class SEG
|
class SEG
|
||||||
{
|
{
|
||||||
|
|
|
@ -25,8 +25,6 @@
|
||||||
#ifndef __SHAPE_INDEX_LIST_H
|
#ifndef __SHAPE_INDEX_LIST_H
|
||||||
#define __SHAPE_INDEX_LIST_H
|
#define __SHAPE_INDEX_LIST_H
|
||||||
|
|
||||||
#include <boost/unordered_map.hpp>
|
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
const SHAPE* defaultShapeFunctor( const T aItem )
|
const SHAPE* defaultShapeFunctor( const T aItem )
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
#include <math/vector2d.h>
|
#include <math/vector2d.h>
|
||||||
#include <geometry/shape.h>
|
#include <geometry/shape.h>
|
||||||
|
@ -538,7 +538,7 @@ public:
|
||||||
* Checks if the line chain is self-intersecting.
|
* Checks if the line chain is self-intersecting.
|
||||||
* @return (optional) first found self-intersection point.
|
* @return (optional) first found self-intersection point.
|
||||||
*/
|
*/
|
||||||
const boost::optional<INTERSECTION> SelfIntersecting() const;
|
const OPT<INTERSECTION> SelfIntersecting() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function Simplify()
|
* Function Simplify()
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
#include <math/vector2d.h>
|
#include <math/vector2d.h>
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class BOX2
|
* Class BOX2
|
||||||
|
@ -468,7 +468,7 @@ public:
|
||||||
typedef BOX2<VECTOR2I> BOX2I;
|
typedef BOX2<VECTOR2I> BOX2I;
|
||||||
typedef BOX2<VECTOR2D> BOX2D;
|
typedef BOX2<VECTOR2D> BOX2D;
|
||||||
|
|
||||||
typedef boost::optional<BOX2I> OPT_BOX2I;
|
typedef OPT<BOX2I> OPT_BOX2I;
|
||||||
|
|
||||||
// FIXME should be removed to avoid multiple typedefs for the same type
|
// FIXME should be removed to avoid multiple typedefs for the same type
|
||||||
typedef BOX2D DBOX;
|
typedef BOX2D DBOX;
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
#define __ACTIONS_H
|
#define __ACTIONS_H
|
||||||
|
|
||||||
#include <tool/tool_action.h>
|
#include <tool/tool_action.h>
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
class TOOL_EVENT;
|
class TOOL_EVENT;
|
||||||
class TOOL_MANAGER;
|
class TOOL_MANAGER;
|
||||||
|
@ -73,7 +73,7 @@ public:
|
||||||
* @return std::string is name of the corresponding TOOL_ACTION. It may be empty, if there is
|
* @return std::string is name of the corresponding TOOL_ACTION. It may be empty, if there is
|
||||||
* no corresponding TOOL_ACTION.
|
* no corresponding TOOL_ACTION.
|
||||||
*/
|
*/
|
||||||
virtual boost::optional<TOOL_EVENT> TranslateLegacyId( int aId ) = 0;
|
virtual OPT<TOOL_EVENT> TranslateLegacyId( int aId ) = 0;
|
||||||
|
|
||||||
///> Registers all valid tools for an application with the tool manager
|
///> Registers all valid tools for an application with the tool manager
|
||||||
virtual void RegisterAllTools( TOOL_MANAGER* aToolManager ) = 0;
|
virtual void RegisterAllTools( TOOL_MANAGER* aToolManager ) = 0;
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
#define CONDITIONAL_MENU_H
|
#define CONDITIONAL_MENU_H
|
||||||
|
|
||||||
#include "selection_conditions.h"
|
#include "selection_conditions.h"
|
||||||
#include <boost/unordered_map.hpp>
|
|
||||||
#include <list>
|
#include <list>
|
||||||
#include <wx/wx.h>
|
#include <wx/wx.h>
|
||||||
|
|
||||||
|
|
|
@ -172,7 +172,7 @@ public:
|
||||||
|
|
||||||
bool HasReferencePoint() const
|
bool HasReferencePoint() const
|
||||||
{
|
{
|
||||||
return m_referencePoint != boost::none;
|
return m_referencePoint != NULLOPT;
|
||||||
}
|
}
|
||||||
|
|
||||||
VECTOR2I GetReferencePoint() const
|
VECTOR2I GetReferencePoint() const
|
||||||
|
@ -187,12 +187,12 @@ public:
|
||||||
|
|
||||||
void ClearReferencePoint()
|
void ClearReferencePoint()
|
||||||
{
|
{
|
||||||
m_referencePoint = boost::none;
|
m_referencePoint = NULLOPT;
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
boost::optional<VECTOR2I> m_referencePoint;
|
OPT<VECTOR2I> m_referencePoint;
|
||||||
|
|
||||||
/// Set of selected items
|
/// Set of selected items
|
||||||
std::set<EDA_ITEM*> m_items;
|
std::set<EDA_ITEM*> m_items;
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#include <math/vector2d.h>
|
#include <math/vector2d.h>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
class TOOL_ACTION;
|
class TOOL_ACTION;
|
||||||
class TOOL_MANAGER;
|
class TOOL_MANAGER;
|
||||||
|
@ -387,12 +387,12 @@ public:
|
||||||
m_param = (void*) aParam;
|
m_param = (void*) aParam;
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::optional<int> GetCommandId() const
|
OPT<int> GetCommandId() const
|
||||||
{
|
{
|
||||||
return m_commandId;
|
return m_commandId;
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::optional<std::string> GetCommandStr() const
|
OPT<std::string> GetCommandStr() const
|
||||||
{
|
{
|
||||||
return m_commandStr;
|
return m_commandStr;
|
||||||
}
|
}
|
||||||
|
@ -453,11 +453,11 @@ private:
|
||||||
///> Generic parameter used for passing non-standard data.
|
///> Generic parameter used for passing non-standard data.
|
||||||
void* m_param;
|
void* m_param;
|
||||||
|
|
||||||
boost::optional<int> m_commandId;
|
OPT<int> m_commandId;
|
||||||
boost::optional<std::string> m_commandStr;
|
OPT<std::string> m_commandStr;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef boost::optional<TOOL_EVENT> OPT_TOOL_EVENT;
|
typedef OPT<TOOL_EVENT> OPT_TOOL_EVENT;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class TOOL_EVENT_LIST
|
* Class TOOL_EVENT_LIST
|
||||||
|
@ -490,13 +490,13 @@ public:
|
||||||
*/
|
*/
|
||||||
const std::string Format() const;
|
const std::string Format() const;
|
||||||
|
|
||||||
boost::optional<const TOOL_EVENT&> Matches( const TOOL_EVENT& aEvent ) const
|
OPT<const TOOL_EVENT&> Matches( const TOOL_EVENT& aEvent ) const
|
||||||
{
|
{
|
||||||
for( const_iterator i = m_events.begin(); i != m_events.end(); ++i )
|
for( const_iterator i = m_events.begin(); i != m_events.end(); ++i )
|
||||||
if( i->Matches( aEvent ) )
|
if( i->Matches( aEvent ) )
|
||||||
return *i;
|
return *i;
|
||||||
|
|
||||||
return boost::optional<const TOOL_EVENT&>();
|
return OPT<const TOOL_EVENT&>();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -329,7 +329,7 @@ public:
|
||||||
* The pause/resume operation is done through COROUTINE object.
|
* The pause/resume operation is done through COROUTINE object.
|
||||||
* Called only from coroutines.
|
* Called only from coroutines.
|
||||||
*/
|
*/
|
||||||
boost::optional<TOOL_EVENT> ScheduleWait( TOOL_BASE* aTool,
|
OPT<TOOL_EVENT> ScheduleWait( TOOL_BASE* aTool,
|
||||||
const TOOL_EVENT_LIST& aConditions );
|
const TOOL_EVENT_LIST& aConditions );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -514,7 +514,7 @@ private:
|
||||||
ACTION_MANAGER* m_actionMgr;
|
ACTION_MANAGER* m_actionMgr;
|
||||||
|
|
||||||
/// Original cursor position, if overridden by the context menu handler
|
/// Original cursor position, if overridden by the context menu handler
|
||||||
boost::optional<VECTOR2D> m_origCursor;
|
OPT<VECTOR2D> m_origCursor;
|
||||||
|
|
||||||
EDA_ITEM* m_model;
|
EDA_ITEM* m_model;
|
||||||
KIGFX::VIEW* m_view;
|
KIGFX::VIEW* m_view;
|
||||||
|
|
|
@ -80,7 +80,7 @@ public:
|
||||||
* Function GetValue
|
* Function GetValue
|
||||||
* Returns the current value in currently used units.
|
* Returns the current value in currently used units.
|
||||||
*/
|
*/
|
||||||
virtual boost::optional<double> GetValue() const;
|
virtual OPT<double> GetValue() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function GetUnits
|
* Function GetUnits
|
||||||
|
|
|
@ -381,8 +381,7 @@ bool D_PAD::GetBestAnchorPosition( VECTOR2I& aPos )
|
||||||
minDistEdge = std::max( GetSize().x, GetSize().y );
|
minDistEdge = std::max( GetSize().x, GetSize().y );
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::optional<VECTOR2I> bestAnchor( []()->
|
OPT<VECTOR2I> bestAnchor;
|
||||||
boost::optional<VECTOR2I>{ return boost::none; }() );
|
|
||||||
|
|
||||||
for ( int y = 0; y < stepsY ; y++ )
|
for ( int y = 0; y < stepsY ; y++ )
|
||||||
{
|
{
|
||||||
|
|
|
@ -47,16 +47,16 @@ DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES( PCB_BASE_FRAME* aParen
|
||||||
wxASSERT( !m_items.Empty() );
|
wxASSERT( !m_items.Empty() );
|
||||||
|
|
||||||
// This is a way to trick gcc into considering these variables as initialized
|
// This is a way to trick gcc into considering these variables as initialized
|
||||||
boost::optional<int> trackStartX = boost::make_optional<int>( false, 0 );
|
OPT<int> trackStartX = NULLOPT;
|
||||||
boost::optional<int> trackStartY = boost::make_optional<int>( false, 0 );
|
OPT<int> trackStartY = NULLOPT;
|
||||||
boost::optional<int> trackEndX = boost::make_optional<int>( false, 0 );
|
OPT<int> trackEndX = NULLOPT;
|
||||||
boost::optional<int> trackEndY = boost::make_optional<int>( false, 0 );
|
OPT<int> trackEndY = NULLOPT;
|
||||||
boost::optional<int> trackWidth = boost::make_optional<int>( false, 0 );
|
OPT<int> trackWidth = NULLOPT;
|
||||||
boost::optional<PCB_LAYER_ID> trackLayer = boost::make_optional<PCB_LAYER_ID>( false, (PCB_LAYER_ID) 0 );
|
OPT<PCB_LAYER_ID> trackLayer = NULLOPT;
|
||||||
boost::optional<int> viaX = boost::make_optional<int>( false, 0 );
|
OPT<int> viaX = NULLOPT;
|
||||||
boost::optional<int> viaY = boost::make_optional<int>( false, 0 );
|
OPT<int> viaY = NULLOPT;
|
||||||
boost::optional<int> viaDiameter = boost::make_optional<int>( false, 0 );
|
OPT<int> viaDiameter = NULLOPT;
|
||||||
boost::optional<int> viaDrill = boost::make_optional<int>( false, 0 );
|
OPT<int> viaDrill = NULLOPT;
|
||||||
|
|
||||||
m_haveUniqueNet = true;
|
m_haveUniqueNet = true;
|
||||||
int prevNet = -1;
|
int prevNet = -1;
|
||||||
|
@ -112,22 +112,22 @@ DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES( PCB_BASE_FRAME* aParen
|
||||||
else // check if values are the same for every selected track
|
else // check if values are the same for every selected track
|
||||||
{
|
{
|
||||||
if( trackStartX && ( *trackStartX != t->GetStart().x ) )
|
if( trackStartX && ( *trackStartX != t->GetStart().x ) )
|
||||||
trackStartX = boost::none;
|
trackStartX = NULLOPT;
|
||||||
|
|
||||||
if( trackStartY && ( *trackStartY != t->GetStart().y ) )
|
if( trackStartY && ( *trackStartY != t->GetStart().y ) )
|
||||||
trackStartY = boost::none;
|
trackStartY = NULLOPT;
|
||||||
|
|
||||||
if( trackEndX && ( *trackEndX != t->GetEnd().x ) )
|
if( trackEndX && ( *trackEndX != t->GetEnd().x ) )
|
||||||
trackEndX = boost::none;
|
trackEndX = NULLOPT;
|
||||||
|
|
||||||
if( trackEndY && ( *trackEndY != t->GetEnd().y ) )
|
if( trackEndY && ( *trackEndY != t->GetEnd().y ) )
|
||||||
trackEndY = boost::none;
|
trackEndY = NULLOPT;
|
||||||
|
|
||||||
if( trackWidth && ( *trackWidth != t->GetWidth() ) )
|
if( trackWidth && ( *trackWidth != t->GetWidth() ) )
|
||||||
trackWidth = boost::none;
|
trackWidth = NULLOPT;
|
||||||
|
|
||||||
if( trackLayer && ( *trackLayer != t->GetLayer() ) )
|
if( trackLayer && ( *trackLayer != t->GetLayer() ) )
|
||||||
trackLayer = boost::none;
|
trackLayer = NULLOPT;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( t->IsLocked() )
|
if( t->IsLocked() )
|
||||||
|
@ -153,16 +153,16 @@ DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES( PCB_BASE_FRAME* aParen
|
||||||
else // check if values are the same for every selected via
|
else // check if values are the same for every selected via
|
||||||
{
|
{
|
||||||
if( viaX && ( *viaX != v->GetPosition().x ) )
|
if( viaX && ( *viaX != v->GetPosition().x ) )
|
||||||
viaX = boost::none;
|
viaX = NULLOPT;
|
||||||
|
|
||||||
if( viaY && ( *viaY != v->GetPosition().y ) )
|
if( viaY && ( *viaY != v->GetPosition().y ) )
|
||||||
viaY = boost::none;
|
viaY = NULLOPT;
|
||||||
|
|
||||||
if( viaDiameter && ( *viaDiameter != v->GetWidth() ) )
|
if( viaDiameter && ( *viaDiameter != v->GetWidth() ) )
|
||||||
viaDiameter = boost::none;
|
viaDiameter = NULLOPT;
|
||||||
|
|
||||||
if( viaDrill && ( *viaDrill != v->GetDrillValue() ) )
|
if( viaDrill && ( *viaDrill != v->GetDrillValue() ) )
|
||||||
viaDrill = boost::none;
|
viaDrill = NULLOPT;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( v->IsLocked() )
|
if( v->IsLocked() )
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
#include <dialogs/dialog_track_via_properties_base.h>
|
#include <dialogs/dialog_track_via_properties_base.h>
|
||||||
#include <wx_unit_binder.h>
|
#include <wx_unit_binder.h>
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
#include <layers_id_colors_and_visibility.h>
|
#include <layers_id_colors_and_visibility.h>
|
||||||
|
|
||||||
class SELECTION;
|
class SELECTION;
|
||||||
|
@ -61,9 +61,9 @@ private:
|
||||||
///> Checks if the dialog values are correct.
|
///> Checks if the dialog values are correct.
|
||||||
bool check() const;
|
bool check() const;
|
||||||
|
|
||||||
///> Sets wxTextEntry to the value stored in boost::optional<T> or "<...>" if it is not available.
|
///> Sets wxTextEntry to the value stored in OPT<T> or "<...>" if it is not available.
|
||||||
template<typename T>
|
template<typename T>
|
||||||
void setCommonVal( const boost::optional<T>& aVal, wxTextEntry* aTxtEntry, WX_UNIT_BINDER& aBinder )
|
void setCommonVal( const OPT<T>& aVal, wxTextEntry* aTxtEntry, WX_UNIT_BINDER& aBinder )
|
||||||
{
|
{
|
||||||
if( aVal )
|
if( aVal )
|
||||||
aBinder.SetValue( *aVal );
|
aBinder.SetValue( *aVal );
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
#include "dialog_track_via_size.h"
|
#include "dialog_track_via_size.h"
|
||||||
#include <base_units.h>
|
#include <base_units.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
#include "class_board_design_settings.h"
|
#include "class_board_design_settings.h"
|
||||||
|
|
||||||
|
|
|
@ -96,10 +96,10 @@ static wxString getFilterString()
|
||||||
|
|
||||||
|
|
||||||
// Tries to guess the plugin type basing on the path
|
// Tries to guess the plugin type basing on the path
|
||||||
static boost::optional<IO_MGR::PCB_FILE_T> getPluginType( const wxString& aPath )
|
static OPT<IO_MGR::PCB_FILE_T> getPluginType( const wxString& aPath )
|
||||||
{
|
{
|
||||||
if( ( aPath.StartsWith( "http://" ) || aPath.StartsWith( "https://" ) ) )
|
if( ( aPath.StartsWith( "http://" ) || aPath.StartsWith( "https://" ) ) )
|
||||||
return boost::optional<IO_MGR::PCB_FILE_T>( IO_MGR::GITHUB );
|
return OPT<IO_MGR::PCB_FILE_T>( IO_MGR::GITHUB );
|
||||||
|
|
||||||
wxFileName path( aPath );
|
wxFileName path( aPath );
|
||||||
|
|
||||||
|
@ -127,10 +127,10 @@ static boost::optional<IO_MGR::PCB_FILE_T> getPluginType( const wxString& aPath
|
||||||
}
|
}
|
||||||
|
|
||||||
if( ok )
|
if( ok )
|
||||||
return boost::optional<IO_MGR::PCB_FILE_T>( fileFilters[i].m_Plugin );
|
return OPT<IO_MGR::PCB_FILE_T>( fileFilters[i].m_Plugin );
|
||||||
}
|
}
|
||||||
|
|
||||||
return boost::none;
|
return NULLOPT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -139,7 +139,7 @@ static bool passesFilter( const wxString& aFileName, int aFilterIndex )
|
||||||
{
|
{
|
||||||
wxASSERT( aFilterIndex <= FILTER_COUNT );
|
wxASSERT( aFilterIndex <= FILTER_COUNT );
|
||||||
wxFileName file( aFileName );
|
wxFileName file( aFileName );
|
||||||
boost::optional<IO_MGR::PCB_FILE_T> result = getPluginType( aFileName );
|
OPT<IO_MGR::PCB_FILE_T> result = getPluginType( aFileName );
|
||||||
|
|
||||||
if( !result ) // does not match any supported plugin
|
if( !result ) // does not match any supported plugin
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
#include <wizard_add_fplib_base.h>
|
#include <wizard_add_fplib_base.h>
|
||||||
#include <io_mgr.h>
|
#include <io_mgr.h>
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
class KIWAY_PLAYER;
|
class KIWAY_PLAYER;
|
||||||
|
|
||||||
|
@ -115,9 +115,9 @@ public:
|
||||||
/**
|
/**
|
||||||
* Function GetPluginType
|
* Function GetPluginType
|
||||||
* Returns the plugin type, autodetected basing on the path.
|
* Returns the plugin type, autodetected basing on the path.
|
||||||
* @return Returns empty boost::optional if the type could not be autodetected.
|
* @return Returns empty OPT if the type could not be autodetected.
|
||||||
*/
|
*/
|
||||||
inline boost::optional<IO_MGR::PCB_FILE_T> GetPluginType() const
|
inline OPT<IO_MGR::PCB_FILE_T> GetPluginType() const
|
||||||
{
|
{
|
||||||
return m_plugin;
|
return m_plugin;
|
||||||
}
|
}
|
||||||
|
@ -194,7 +194,7 @@ public:
|
||||||
|
|
||||||
wxString m_path;
|
wxString m_path;
|
||||||
wxString m_description;
|
wxString m_description;
|
||||||
boost::optional<IO_MGR::PCB_FILE_T> m_plugin;
|
OPT<IO_MGR::PCB_FILE_T> m_plugin;
|
||||||
STATUS m_status;
|
STATUS m_status;
|
||||||
|
|
||||||
friend class WIZARD_FPLIB_TABLE;
|
friend class WIZARD_FPLIB_TABLE;
|
||||||
|
|
|
@ -1085,7 +1085,7 @@ void EAGLE_PLUGIN::orientModuleText( MODULE* m, const EELEMENT& e,
|
||||||
txt->SetText( FROM_UTF8( a.value->c_str() ) );
|
txt->SetText( FROM_UTF8( a.value->c_str() ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( a.x && a.y ) // boost::optional
|
if( a.x && a.y ) // OPT
|
||||||
{
|
{
|
||||||
wxPoint pos( kicad_x( *a.x ), kicad_y( *a.y ) );
|
wxPoint pos( kicad_x( *a.x ), kicad_y( *a.y ) );
|
||||||
txt->SetTextPos( pos );
|
txt->SetTextPos( pos );
|
||||||
|
|
|
@ -47,7 +47,7 @@ class FP_THREAD_IFACE
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/// Retrieve a cache entry by LIB_ID
|
/// Retrieve a cache entry by LIB_ID
|
||||||
boost::optional<CACHE_ENTRY> GetFromCache( LIB_ID const & aFPID )
|
OPT<CACHE_ENTRY> GetFromCache( LIB_ID const & aFPID )
|
||||||
{
|
{
|
||||||
MUTLOCK lock( m_lock );
|
MUTLOCK lock( m_lock );
|
||||||
auto it = m_cachedFootprints.find( aFPID );
|
auto it = m_cachedFootprints.find( aFPID );
|
||||||
|
@ -55,7 +55,7 @@ class FP_THREAD_IFACE
|
||||||
if( it != m_cachedFootprints.end() )
|
if( it != m_cachedFootprints.end() )
|
||||||
return it->second;
|
return it->second;
|
||||||
else
|
else
|
||||||
return boost::none;
|
return NULLOPT;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -74,13 +74,13 @@ class FP_THREAD_IFACE
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Pop an entry from the queue, or empty option if none is available.
|
/// Pop an entry from the queue, or empty option if none is available.
|
||||||
boost::optional<CACHE_ENTRY> PopFromQueue()
|
OPT<CACHE_ENTRY> PopFromQueue()
|
||||||
{
|
{
|
||||||
MUTLOCK lock( m_lock );
|
MUTLOCK lock( m_lock );
|
||||||
|
|
||||||
if( m_loaderQueue.empty() )
|
if( m_loaderQueue.empty() )
|
||||||
{
|
{
|
||||||
return boost::none;
|
return NULLOPT;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#include <gal/gal_display_options.h>
|
#include <gal/gal_display_options.h>
|
||||||
#include <lib_id.h>
|
#include <lib_id.h>
|
||||||
#include <kiway_player.h>
|
#include <kiway_player.h>
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
#include <widgets/footprint_preview_widget.h>
|
#include <widgets/footprint_preview_widget.h>
|
||||||
|
|
||||||
|
|
|
@ -36,8 +36,7 @@
|
||||||
#include <common.h> // KiROUND
|
#include <common.h> // KiROUND
|
||||||
#include <convert_to_biu.h> // IU_PER_MM
|
#include <convert_to_biu.h> // IU_PER_MM
|
||||||
|
|
||||||
#include <boost/unordered_map.hpp>
|
#include <unordered_map>
|
||||||
#include <boost/unordered_set.hpp>
|
|
||||||
|
|
||||||
|
|
||||||
class BOARD;
|
class BOARD;
|
||||||
|
@ -65,8 +64,8 @@ struct LAYER;
|
||||||
*/
|
*/
|
||||||
class PCB_PARSER : public PCB_LEXER
|
class PCB_PARSER : public PCB_LEXER
|
||||||
{
|
{
|
||||||
typedef boost::unordered_map< std::string, PCB_LAYER_ID > LAYER_ID_MAP;
|
typedef std::unordered_map< std::string, PCB_LAYER_ID > LAYER_ID_MAP;
|
||||||
typedef boost::unordered_map< std::string, LSET > LSET_MAP;
|
typedef std::unordered_map< std::string, LSET > LSET_MAP;
|
||||||
|
|
||||||
BOARD* m_board;
|
BOARD* m_board;
|
||||||
LAYER_ID_MAP m_layerIndices; ///< map layer name to it's index
|
LAYER_ID_MAP m_layerIndices; ///< map layer name to it's index
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
#include "class_draw_panel_gal.h"
|
#include "class_draw_panel_gal.h"
|
||||||
#include "class_board.h"
|
#include "class_board.h"
|
||||||
|
@ -43,7 +43,6 @@
|
||||||
#include "length_tuner_tool.h"
|
#include "length_tuner_tool.h"
|
||||||
|
|
||||||
using namespace KIGFX;
|
using namespace KIGFX;
|
||||||
using boost::optional;
|
|
||||||
|
|
||||||
static TOOL_ACTION ACT_StartTuning( "pcbnew.LengthTuner.StartTuning", AS_CONTEXT, 'X',
|
static TOOL_ACTION ACT_StartTuning( "pcbnew.LengthTuner.StartTuning", AS_CONTEXT, 'X',
|
||||||
_( "New Track" ), _( "Starts laying a new track." ) );
|
_( "New Track" ), _( "Starts laying a new track." ) );
|
||||||
|
|
|
@ -690,9 +690,9 @@ void DP_GATEWAYS::BuildGeneric( const VECTOR2I& p0_p, const VECTOR2I& p0_n, bool
|
||||||
ips[1] = st_p[i].IntersectLines( st_n[j] );
|
ips[1] = st_p[i].IntersectLines( st_n[j] );
|
||||||
|
|
||||||
if( d_n[i].Collinear( d_p[j] ) )
|
if( d_n[i].Collinear( d_p[j] ) )
|
||||||
ips[0] = boost::none;
|
ips[0] = OPT_VECTOR2I();
|
||||||
if( st_p[i].Collinear( st_p[j] ) )
|
if( st_p[i].Collinear( st_p[j] ) )
|
||||||
ips[1] = boost::none;
|
ips[1] = OPT_VECTOR2I();
|
||||||
|
|
||||||
// diagonal-diagonal and straight-straight cases - the most typical case if the pads
|
// diagonal-diagonal and straight-straight cases - the most typical case if the pads
|
||||||
// are on the same straight/diagonal line
|
// are on the same straight/diagonal line
|
||||||
|
|
|
@ -247,7 +247,7 @@ private:
|
||||||
int m_netP, m_netN;
|
int m_netP, m_netN;
|
||||||
|
|
||||||
DP_PRIMITIVE_PAIR m_start;
|
DP_PRIMITIVE_PAIR m_start;
|
||||||
boost::optional<DP_PRIMITIVE_PAIR> m_prevPair;
|
OPT<DP_PRIMITIVE_PAIR> m_prevPair;
|
||||||
|
|
||||||
///> current algorithm iteration
|
///> current algorithm iteration
|
||||||
int m_iteration;
|
int m_iteration;
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
#include <base_units.h> // God forgive me doing this...
|
#include <base_units.h> // God forgive me doing this...
|
||||||
|
|
||||||
|
@ -33,8 +33,6 @@
|
||||||
|
|
||||||
namespace PNS {
|
namespace PNS {
|
||||||
|
|
||||||
using boost::optional;
|
|
||||||
|
|
||||||
DP_MEANDER_PLACER::DP_MEANDER_PLACER( ROUTER* aRouter ) :
|
DP_MEANDER_PLACER::DP_MEANDER_PLACER( ROUTER* aRouter ) :
|
||||||
MEANDER_PLACER_BASE( aRouter )
|
MEANDER_PLACER_BASE( aRouter )
|
||||||
{
|
{
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
|
|
||||||
#include <layers_id_colors_and_visibility.h>
|
#include <layers_id_colors_and_visibility.h>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
#include <unordered_set>
|
||||||
|
|
||||||
#include <boost/range/adaptor/map.hpp>
|
#include <boost/range/adaptor/map.hpp>
|
||||||
|
|
||||||
|
@ -47,7 +48,7 @@ class INDEX
|
||||||
public:
|
public:
|
||||||
typedef std::list<ITEM*> NET_ITEMS_LIST;
|
typedef std::list<ITEM*> NET_ITEMS_LIST;
|
||||||
typedef SHAPE_INDEX<ITEM*> ITEM_SHAPE_INDEX;
|
typedef SHAPE_INDEX<ITEM*> ITEM_SHAPE_INDEX;
|
||||||
typedef boost::unordered_set<ITEM*> ITEM_SET;
|
typedef std::unordered_set<ITEM*> ITEM_SET;
|
||||||
|
|
||||||
INDEX();
|
INDEX();
|
||||||
~INDEX();
|
~INDEX();
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
#define __PNS_JOINT_H
|
#define __PNS_JOINT_H
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <boost/functional/hash.hpp>
|
|
||||||
|
|
||||||
#include <math/vector2d.h>
|
#include <math/vector2d.h>
|
||||||
|
|
||||||
|
@ -54,6 +53,20 @@ public:
|
||||||
int net;
|
int net;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct JOINT_TAG_HASH
|
||||||
|
{
|
||||||
|
std::size_t operator()( const JOINT::HASH_TAG& aP ) const
|
||||||
|
{
|
||||||
|
using std::size_t;
|
||||||
|
using std::hash;
|
||||||
|
using std::string;
|
||||||
|
|
||||||
|
return ( (hash<int>()( aP.pos.x )
|
||||||
|
^ (hash<int>()( aP.pos.y ) << 1) ) >> 1 )
|
||||||
|
^ (hash<int>()( aP.net ) << 1);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
JOINT() :
|
JOINT() :
|
||||||
ITEM( JOINT_T ), m_locked( false ) {}
|
ITEM( JOINT_T ), m_locked( false ) {}
|
||||||
|
|
||||||
|
@ -249,16 +262,6 @@ inline bool operator==( JOINT::HASH_TAG const& aP1, JOINT::HASH_TAG const& aP2 )
|
||||||
return aP1.pos == aP2.pos && aP1.net == aP2.net;
|
return aP1.pos == aP2.pos && aP1.net == aP2.net;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline std::size_t hash_value( JOINT::HASH_TAG const& aP )
|
|
||||||
{
|
|
||||||
std::size_t seed = 0;
|
|
||||||
boost::hash_combine( seed, aP.pos.x );
|
|
||||||
boost::hash_combine( seed, aP.pos.y );
|
|
||||||
boost::hash_combine( seed, aP.net );
|
|
||||||
|
|
||||||
return seed;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // __PNS_JOINT_H
|
#endif // __PNS_JOINT_H
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
#include <math/vector2d.h>
|
#include <math/vector2d.h>
|
||||||
|
|
||||||
|
@ -31,8 +31,6 @@
|
||||||
|
|
||||||
#include <geometry/shape_rect.h>
|
#include <geometry/shape_rect.h>
|
||||||
|
|
||||||
using boost::optional;
|
|
||||||
|
|
||||||
namespace PNS {
|
namespace PNS {
|
||||||
|
|
||||||
LINE::LINE( const LINE& aOther ) :
|
LINE::LINE( const LINE& aOther ) :
|
||||||
|
@ -338,7 +336,7 @@ void LINE::ShowLinks() const
|
||||||
|
|
||||||
SHAPE_LINE_CHAIN dragCornerInternal( const SHAPE_LINE_CHAIN& aOrigin, const VECTOR2I& aP )
|
SHAPE_LINE_CHAIN dragCornerInternal( const SHAPE_LINE_CHAIN& aOrigin, const VECTOR2I& aP )
|
||||||
{
|
{
|
||||||
optional<SHAPE_LINE_CHAIN> picked;
|
OPT<SHAPE_LINE_CHAIN> picked;
|
||||||
int i;
|
int i;
|
||||||
int d = 2;
|
int d = 2;
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
#include "pns_node.h"
|
#include "pns_node.h"
|
||||||
#include "pns_line_placer.h"
|
#include "pns_line_placer.h"
|
||||||
|
@ -32,8 +32,6 @@
|
||||||
|
|
||||||
#include <class_board_item.h>
|
#include <class_board_item.h>
|
||||||
|
|
||||||
using boost::optional;
|
|
||||||
|
|
||||||
namespace PNS {
|
namespace PNS {
|
||||||
|
|
||||||
LINE_PLACER::LINE_PLACER( ROUTER* aRouter ) :
|
LINE_PLACER::LINE_PLACER( ROUTER* aRouter ) :
|
||||||
|
|
|
@ -38,13 +38,11 @@
|
||||||
#include "pns_index.h"
|
#include "pns_index.h"
|
||||||
#include "pns_router.h"
|
#include "pns_router.h"
|
||||||
|
|
||||||
using boost::unordered_set;
|
|
||||||
using boost::unordered_map;
|
|
||||||
|
|
||||||
namespace PNS {
|
namespace PNS {
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
static boost::unordered_set<NODE*> allocNodes;
|
static std::unordered_set<NODE*> allocNodes;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
NODE::NODE()
|
NODE::NODE()
|
||||||
|
@ -1082,7 +1080,7 @@ void NODE::unlinkJoint( const VECTOR2I& aPos, const LAYER_RANGE& aLayers,
|
||||||
void NODE::Dump( bool aLong )
|
void NODE::Dump( bool aLong )
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
boost::unordered_set<SEGMENT*> all_segs;
|
std::unordered_set<SEGMENT*> all_segs;
|
||||||
SHAPE_INDEX_LIST<ITEM*>::iterator i;
|
SHAPE_INDEX_LIST<ITEM*>::iterator i;
|
||||||
|
|
||||||
for( i = m_items.begin(); i != m_items.end(); i++ )
|
for( i = m_items.begin(); i != m_items.end(); i++ )
|
||||||
|
|
|
@ -24,10 +24,10 @@
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <list>
|
#include <list>
|
||||||
|
#include <unordered_set>
|
||||||
|
#include <unordered_map>
|
||||||
|
|
||||||
#include <boost/unordered_set.hpp>
|
#include <core/optional.h>
|
||||||
#include <boost/unordered_map.hpp>
|
|
||||||
#include <boost/optional.hpp>
|
|
||||||
|
|
||||||
#include <geometry/shape.h>
|
#include <geometry/shape.h>
|
||||||
#include <geometry/shape_line_chain.h>
|
#include <geometry/shape_line_chain.h>
|
||||||
|
@ -137,7 +137,7 @@ protected:
|
||||||
class NODE
|
class NODE
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef boost::optional<OBSTACLE> OPT_OBSTACLE;
|
typedef OPT<OBSTACLE> OPT_OBSTACLE;
|
||||||
typedef std::vector<ITEM*> ITEM_VECTOR;
|
typedef std::vector<ITEM*> ITEM_VECTOR;
|
||||||
typedef std::vector<OBSTACLE> OBSTACLES;
|
typedef std::vector<OBSTACLE> OBSTACLES;
|
||||||
|
|
||||||
|
@ -420,7 +420,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
struct DEFAULT_OBSTACLE_VISITOR;
|
struct DEFAULT_OBSTACLE_VISITOR;
|
||||||
typedef boost::unordered_multimap<JOINT::HASH_TAG, JOINT> JOINT_MAP;
|
typedef std::unordered_multimap<JOINT::HASH_TAG, JOINT, JOINT::JOINT_TAG_HASH> JOINT_MAP;
|
||||||
typedef JOINT_MAP::value_type TagJointPair;
|
typedef JOINT_MAP::value_type TagJointPair;
|
||||||
|
|
||||||
/// nodes are not copyable
|
/// nodes are not copyable
|
||||||
|
@ -486,7 +486,7 @@ private:
|
||||||
std::set<NODE*> m_children;
|
std::set<NODE*> m_children;
|
||||||
|
|
||||||
///> hash of root's items that have been changed in this node
|
///> hash of root's items that have been changed in this node
|
||||||
boost::unordered_set<ITEM*> m_override;
|
std::unordered_set<ITEM*> m_override;
|
||||||
|
|
||||||
///> worst case item-item clearance
|
///> worst case item-item clearance
|
||||||
int m_maxClearance;
|
int m_maxClearance;
|
||||||
|
@ -500,7 +500,7 @@ private:
|
||||||
///> depth of the node (number of parent nodes in the inheritance chain)
|
///> depth of the node (number of parent nodes in the inheritance chain)
|
||||||
int m_depth;
|
int m_depth;
|
||||||
|
|
||||||
boost::unordered_set<ITEM*> m_garbageItems;
|
std::unordered_set<ITEM*> m_garbageItems;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#ifndef __PNS_OPTIMIZER_H
|
#ifndef __PNS_OPTIMIZER_H
|
||||||
#define __PNS_OPTIMIZER_H
|
#define __PNS_OPTIMIZER_H
|
||||||
|
|
||||||
#include <boost/unordered_map.hpp>
|
#include <unordered_map>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include <geometry/shape_index_list.h>
|
#include <geometry/shape_index_list.h>
|
||||||
|
@ -170,7 +170,7 @@ private:
|
||||||
|
|
||||||
SHAPE_INDEX_LIST<ITEM*> m_cache;
|
SHAPE_INDEX_LIST<ITEM*> m_cache;
|
||||||
|
|
||||||
typedef boost::unordered_map<ITEM*, CACHED_ITEM> CachedItemTags;
|
typedef std::unordered_map<ITEM*, CACHED_ITEM> CachedItemTags;
|
||||||
CachedItemTags m_cacheTags;
|
CachedItemTags m_cacheTags;
|
||||||
NODE* m_world;
|
NODE* m_world;
|
||||||
int m_collisionKindMask;
|
int m_collisionKindMask;
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
#include <list>
|
#include <list>
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
#include <boost/unordered_set.hpp>
|
#include <boost/unordered_set.hpp>
|
||||||
|
|
||||||
#include <geometry/shape_line_chain.h>
|
#include <geometry/shape_line_chain.h>
|
||||||
|
|
|
@ -87,7 +87,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
typedef std::vector<SHAPE_LINE_CHAIN> HULL_SET;
|
typedef std::vector<SHAPE_LINE_CHAIN> HULL_SET;
|
||||||
typedef boost::optional<LINE> OPT_LINE;
|
typedef OPT<LINE> OPT_LINE;
|
||||||
typedef std::pair<LINE, LINE> LINE_PAIR;
|
typedef std::pair<LINE, LINE> LINE_PAIR;
|
||||||
typedef std::vector<LINE_PAIR> LINE_PAIR_VEC;
|
typedef std::vector<LINE_PAIR> LINE_PAIR_VEC;
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
#define __PNS_SIZES_SETTINGS_H
|
#define __PNS_SIZES_SETTINGS_H
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
#include "../class_track.h" // for VIATYPE_T
|
#include "../class_track.h" // for VIATYPE_T
|
||||||
|
|
||||||
|
@ -82,10 +82,10 @@ public:
|
||||||
int ViaDrill() const { return m_viaDrill; }
|
int ViaDrill() const { return m_viaDrill; }
|
||||||
void SetViaDrill( int aDrill ) { m_viaDrill = aDrill; }
|
void SetViaDrill( int aDrill ) { m_viaDrill = aDrill; }
|
||||||
|
|
||||||
boost::optional<int> PairedLayer( int aLayerId )
|
OPT<int> PairedLayer( int aLayerId )
|
||||||
{
|
{
|
||||||
if( m_layerPairs.find(aLayerId) == m_layerPairs.end() )
|
if( m_layerPairs.find(aLayerId) == m_layerPairs.end() )
|
||||||
return boost::optional<int>();
|
return OPT<int>();
|
||||||
|
|
||||||
return m_layerPairs[aLayerId];
|
return m_layerPairs[aLayerId];
|
||||||
}
|
}
|
||||||
|
|
|
@ -141,14 +141,14 @@ const SHAPE_LINE_CHAIN ConvexHull( const SHAPE_CONVEX& aConvex, int aClearance )
|
||||||
SHAPE_LINE_CHAIN octagon;
|
SHAPE_LINE_CHAIN octagon;
|
||||||
octagon.SetClosed( true );
|
octagon.SetClosed( true );
|
||||||
|
|
||||||
octagon.Append( leftline.IntersectLines( bottomleftline ).get() );
|
octagon.Append( *leftline.IntersectLines( bottomleftline ) );
|
||||||
octagon.Append( bottomline.IntersectLines( bottomleftline ).get() );
|
octagon.Append( *bottomline.IntersectLines( bottomleftline ) );
|
||||||
octagon.Append( bottomline.IntersectLines( bottomrightline ).get() );
|
octagon.Append( *bottomline.IntersectLines( bottomrightline ) );
|
||||||
octagon.Append( rightline.IntersectLines( bottomrightline ).get() );
|
octagon.Append( *rightline.IntersectLines( bottomrightline ) );
|
||||||
octagon.Append( rightline.IntersectLines( toprightline ).get() );
|
octagon.Append( *rightline.IntersectLines( toprightline ) );
|
||||||
octagon.Append( topline.IntersectLines( toprightline ).get() );
|
octagon.Append( *topline.IntersectLines( toprightline ) );
|
||||||
octagon.Append( topline.IntersectLines( topleftline ).get() );
|
octagon.Append( *topline.IntersectLines( topleftline ) );
|
||||||
octagon.Append( leftline.IntersectLines( topleftline ).get() );
|
octagon.Append( *leftline.IntersectLines( topleftline ) );
|
||||||
|
|
||||||
return octagon;
|
return octagon;
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
#include <geometry/shape_line_chain.h>
|
#include <geometry/shape_line_chain.h>
|
||||||
|
|
||||||
|
@ -27,7 +27,6 @@
|
||||||
#include "pns_optimizer.h"
|
#include "pns_optimizer.h"
|
||||||
#include "pns_utils.h"
|
#include "pns_utils.h"
|
||||||
#include "pns_router.h"
|
#include "pns_router.h"
|
||||||
using boost::optional;
|
|
||||||
|
|
||||||
namespace PNS {
|
namespace PNS {
|
||||||
|
|
||||||
|
@ -55,7 +54,7 @@ NODE::OPT_OBSTACLE WALKAROUND::nearestObstacle( const LINE& aPath )
|
||||||
WALKAROUND::WALKAROUND_STATUS WALKAROUND::singleStep( LINE& aPath,
|
WALKAROUND::WALKAROUND_STATUS WALKAROUND::singleStep( LINE& aPath,
|
||||||
bool aWindingDirection )
|
bool aWindingDirection )
|
||||||
{
|
{
|
||||||
optional<OBSTACLE>& current_obs =
|
OPT<OBSTACLE>& current_obs =
|
||||||
aWindingDirection ? m_currentObstacle[0] : m_currentObstacle[1];
|
aWindingDirection ? m_currentObstacle[0] : m_currentObstacle[1];
|
||||||
|
|
||||||
bool& prev_recursive = aWindingDirection ? m_recursiveCollision[0] : m_recursiveCollision[1];
|
bool& prev_recursive = aWindingDirection ? m_recursiveCollision[0] : m_recursiveCollision[1];
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include <wx/numdlg.h>
|
#include <wx/numdlg.h>
|
||||||
|
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
using namespace std::placeholders;
|
using namespace std::placeholders;
|
||||||
|
|
||||||
|
@ -60,8 +60,6 @@ using namespace std::placeholders;
|
||||||
#include "pns_router.h"
|
#include "pns_router.h"
|
||||||
|
|
||||||
using namespace KIGFX;
|
using namespace KIGFX;
|
||||||
using boost::optional;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Flags used by via tool actions
|
* Flags used by via tool actions
|
||||||
|
@ -460,7 +458,7 @@ void ROUTER_TOOL::switchLayerOnViaPlacement()
|
||||||
m_router->SwitchLayer( al );
|
m_router->SwitchLayer( al );
|
||||||
}
|
}
|
||||||
|
|
||||||
optional<int> newLayer = m_router->Sizes().PairedLayer( cl );
|
OPT<int> newLayer = m_router->Sizes().PairedLayer( cl );
|
||||||
|
|
||||||
if( !newLayer )
|
if( !newLayer )
|
||||||
newLayer = m_router->Sizes().GetLayerTop();
|
newLayer = m_router->Sizes().GetLayerTop();
|
||||||
|
|
|
@ -219,7 +219,7 @@ int DRAWING_TOOL::DrawLine( const TOOL_EVENT& aEvent )
|
||||||
BOARD_ITEM_CONTAINER* parent = m_frame->GetModel();
|
BOARD_ITEM_CONTAINER* parent = m_frame->GetModel();
|
||||||
DRAWSEGMENT* line = m_editModules ? new EDGE_MODULE( (MODULE*) parent ) : new DRAWSEGMENT;
|
DRAWSEGMENT* line = m_editModules ? new EDGE_MODULE( (MODULE*) parent ) : new DRAWSEGMENT;
|
||||||
|
|
||||||
boost::optional<VECTOR2D> startingPoint;
|
OPT<VECTOR2D> startingPoint;
|
||||||
BOARD_COMMIT commit( m_frame );
|
BOARD_COMMIT commit( m_frame );
|
||||||
|
|
||||||
SCOPED_DRAW_MODE scopedDrawMode( m_mode, MODE::LINE );
|
SCOPED_DRAW_MODE scopedDrawMode( m_mode, MODE::LINE );
|
||||||
|
@ -234,11 +234,11 @@ int DRAWING_TOOL::DrawLine( const TOOL_EVENT& aEvent )
|
||||||
{
|
{
|
||||||
commit.Add( line );
|
commit.Add( line );
|
||||||
commit.Push( _( "Draw a line segment" ) );
|
commit.Push( _( "Draw a line segment" ) );
|
||||||
startingPoint = line->GetEnd();
|
startingPoint = VECTOR2D( line->GetEnd() );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
startingPoint = boost::none;
|
startingPoint = NULLOPT;
|
||||||
}
|
}
|
||||||
|
|
||||||
line = m_editModules ? new EDGE_MODULE( (MODULE*) parent ) : new DRAWSEGMENT;
|
line = m_editModules ? new EDGE_MODULE( (MODULE*) parent ) : new DRAWSEGMENT;
|
||||||
|
@ -920,7 +920,7 @@ int DRAWING_TOOL::SetAnchor( const TOOL_EVENT& aEvent )
|
||||||
|
|
||||||
|
|
||||||
bool DRAWING_TOOL::drawSegment( int aShape, DRAWSEGMENT*& aGraphic,
|
bool DRAWING_TOOL::drawSegment( int aShape, DRAWSEGMENT*& aGraphic,
|
||||||
boost::optional<VECTOR2D> aStartingPoint )
|
OPT<VECTOR2D> aStartingPoint )
|
||||||
{
|
{
|
||||||
// Only two shapes are currently supported
|
// Only two shapes are currently supported
|
||||||
assert( aShape == S_SEGMENT || aShape == S_CIRCLE );
|
assert( aShape == S_SEGMENT || aShape == S_CIRCLE );
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
#define __DRAWING_TOOL_H
|
#define __DRAWING_TOOL_H
|
||||||
|
|
||||||
#include <tools/pcb_tool.h>
|
#include <tools/pcb_tool.h>
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
#include <tool/tool_menu.h>
|
#include <tool/tool_menu.h>
|
||||||
|
|
||||||
|
@ -206,7 +206,7 @@ private:
|
||||||
///> @return False if the tool was cancelled before the origin was set or origin and end are
|
///> @return False if the tool was cancelled before the origin was set or origin and end are
|
||||||
///> the same point.
|
///> the same point.
|
||||||
bool drawSegment( int aShape, DRAWSEGMENT*& aGraphic,
|
bool drawSegment( int aShape, DRAWSEGMENT*& aGraphic,
|
||||||
boost::optional<VECTOR2D> aStartingPoint = boost::none );
|
OPT<VECTOR2D> aStartingPoint = NULLOPT );
|
||||||
|
|
||||||
///> Starts drawing an arc.
|
///> Starts drawing an arc.
|
||||||
///> @param aGraphic is an object that is going to be used by the tool for drawing. It has to
|
///> @param aGraphic is an object that is going to be used by the tool for drawing. It has to
|
||||||
|
|
|
@ -108,7 +108,7 @@ void GRID_HELPER::SetAuxAxes( bool aEnable, const VECTOR2I& aOrigin, bool aEnabl
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_auxAxis = boost::optional<VECTOR2I>();
|
m_auxAxis = OPT<VECTOR2I>();
|
||||||
view->SetVisible( &m_viewAxis, false );
|
view->SetVisible( &m_viewAxis, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include <math/vector2d.h>
|
#include <math/vector2d.h>
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
#include <origin_viewitem.h>
|
#include <origin_viewitem.h>
|
||||||
|
|
||||||
#include <layers_id_colors_and_visibility.h>
|
#include <layers_id_colors_and_visibility.h>
|
||||||
|
@ -102,7 +102,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
PCB_BASE_FRAME* m_frame;
|
PCB_BASE_FRAME* m_frame;
|
||||||
boost::optional<VECTOR2I> m_auxAxis;
|
OPT<VECTOR2I> m_auxAxis;
|
||||||
bool m_diagonalAuxAxesEnable;
|
bool m_diagonalAuxAxesEnable;
|
||||||
KIGFX::ORIGIN_VIEWITEM m_viewSnapPoint, m_viewAxis;
|
KIGFX::ORIGIN_VIEWITEM m_viewSnapPoint, m_viewAxis;
|
||||||
};
|
};
|
||||||
|
|
|
@ -26,6 +26,9 @@
|
||||||
#include "kicad_clipboard.h"
|
#include "kicad_clipboard.h"
|
||||||
#include "selection_tool.h"
|
#include "selection_tool.h"
|
||||||
#include "pcb_actions.h"
|
#include "pcb_actions.h"
|
||||||
|
|
||||||
|
#include <core/optional.h>
|
||||||
|
|
||||||
#include <tool/tool_manager.h>
|
#include <tool/tool_manager.h>
|
||||||
|
|
||||||
#include <class_draw_panel_gal.h>
|
#include <class_draw_panel_gal.h>
|
||||||
|
@ -467,12 +470,12 @@ int MODULE_EDITOR_TOOLS::CreatePadFromShapes( const TOOL_EVENT& aEvent )
|
||||||
pad->SetPrimitives( shapes );
|
pad->SetPrimitives( shapes );
|
||||||
pad->SetShape ( PAD_SHAPE_CUSTOM );
|
pad->SetShape ( PAD_SHAPE_CUSTOM );
|
||||||
|
|
||||||
boost::optional<VECTOR2I> anchor;
|
OPT<VECTOR2I> anchor;
|
||||||
VECTOR2I tmp;
|
VECTOR2I tmp;
|
||||||
|
|
||||||
if( refPad )
|
if( refPad )
|
||||||
{
|
{
|
||||||
anchor = pad->GetPosition();
|
anchor = VECTOR2I( pad->GetPosition() );
|
||||||
}
|
}
|
||||||
else if( pad->GetBestAnchorPosition( tmp ) )
|
else if( pad->GetBestAnchorPosition( tmp ) )
|
||||||
{
|
{
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
#include <pcbnew_id.h>
|
#include <pcbnew_id.h>
|
||||||
|
|
||||||
|
|
||||||
boost::optional<TOOL_EVENT> PCB_ACTIONS::TranslateLegacyId( int aId )
|
OPT<TOOL_EVENT> PCB_ACTIONS::TranslateLegacyId( int aId )
|
||||||
{
|
{
|
||||||
switch( aId )
|
switch( aId )
|
||||||
{
|
{
|
||||||
|
@ -199,5 +199,5 @@ boost::optional<TOOL_EVENT> PCB_ACTIONS::TranslateLegacyId( int aId )
|
||||||
return PCB_ACTIONS::pasteFromClipboard.MakeEvent();
|
return PCB_ACTIONS::pasteFromClipboard.MakeEvent();
|
||||||
}
|
}
|
||||||
|
|
||||||
return boost::optional<TOOL_EVENT>();
|
return OPT<TOOL_EVENT>();
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
|
|
||||||
#include <tool/tool_action.h>
|
#include <tool/tool_action.h>
|
||||||
#include <tool/actions.h>
|
#include <tool/actions.h>
|
||||||
#include <boost/optional.hpp>
|
#include <core/optional.h>
|
||||||
|
|
||||||
class TOOL_EVENT;
|
class TOOL_EVENT;
|
||||||
class TOOL_MANAGER;
|
class TOOL_MANAGER;
|
||||||
|
@ -391,7 +391,7 @@ public:
|
||||||
|
|
||||||
|
|
||||||
///> @copydoc COMMON_ACTIONS::TranslateLegacyId()
|
///> @copydoc COMMON_ACTIONS::TranslateLegacyId()
|
||||||
virtual boost::optional<TOOL_EVENT> TranslateLegacyId( int aId ) override;
|
virtual OPT<TOOL_EVENT> TranslateLegacyId( int aId ) override;
|
||||||
|
|
||||||
///> @copydoc COMMON_ACTIONS::RegisterAllTools()
|
///> @copydoc COMMON_ACTIONS::RegisterAllTools()
|
||||||
virtual void RegisterAllTools( TOOL_MANAGER* aToolManager ) override;
|
virtual void RegisterAllTools( TOOL_MANAGER* aToolManager ) override;
|
||||||
|
|
|
@ -47,7 +47,7 @@ int PICKER_TOOL::Main( const TOOL_EVENT& aEvent )
|
||||||
|
|
||||||
assert( !m_picking );
|
assert( !m_picking );
|
||||||
m_picking = true;
|
m_picking = true;
|
||||||
m_picked = boost::none;
|
m_picked = NULLOPT;
|
||||||
|
|
||||||
setControls();
|
setControls();
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ int PICKER_TOOL::Main( const TOOL_EVENT& aEvent )
|
||||||
{
|
{
|
||||||
bool getNext = false;
|
bool getNext = false;
|
||||||
|
|
||||||
m_picked = p;
|
m_picked = VECTOR2D( p );
|
||||||
|
|
||||||
if( m_clickHandler )
|
if( m_clickHandler )
|
||||||
{
|
{
|
||||||
|
@ -112,7 +112,7 @@ void PICKER_TOOL::reset()
|
||||||
m_autoPanning = false;
|
m_autoPanning = false;
|
||||||
|
|
||||||
m_picking = false;
|
m_picking = false;
|
||||||
m_clickHandler = boost::none;
|
m_clickHandler = NULLOPT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ public:
|
||||||
* Function GetPoint()
|
* Function GetPoint()
|
||||||
* Returns picked point.
|
* Returns picked point.
|
||||||
*/
|
*/
|
||||||
inline boost::optional<VECTOR2D> GetPoint() const
|
inline OPT<VECTOR2D> GetPoint() const
|
||||||
{
|
{
|
||||||
assert( !m_picking );
|
assert( !m_picking );
|
||||||
return m_picked;
|
return m_picked;
|
||||||
|
@ -108,10 +108,10 @@ private:
|
||||||
bool m_autoPanning;
|
bool m_autoPanning;
|
||||||
|
|
||||||
///> Optional mouse click event handler.
|
///> Optional mouse click event handler.
|
||||||
boost::optional<CLICK_HANDLER> m_clickHandler;
|
OPT<CLICK_HANDLER> m_clickHandler;
|
||||||
|
|
||||||
///> Picked point (if any).
|
///> Picked point (if any).
|
||||||
boost::optional<VECTOR2D> m_picked;
|
OPT<VECTOR2D> m_picked;
|
||||||
|
|
||||||
///> Activity status.
|
///> Activity status.
|
||||||
bool m_picking;
|
bool m_picking;
|
||||||
|
|
|
@ -1361,7 +1361,7 @@ BOARD_ITEM* SELECTION_TOOL::disambiguationMenu( GENERAL_COLLECTOR* aCollector )
|
||||||
}
|
}
|
||||||
else if( evt->Action() == TA_CONTEXT_MENU_CHOICE )
|
else if( evt->Action() == TA_CONTEXT_MENU_CHOICE )
|
||||||
{
|
{
|
||||||
boost::optional<int> id = evt->GetCommandId();
|
OPT<int> id = evt->GetCommandId();
|
||||||
|
|
||||||
// User has selected an item, so this one will be returned
|
// User has selected an item, so this one will be returned
|
||||||
if( id && ( *id > 0 ) )
|
if( id && ( *id > 0 ) )
|
||||||
|
|
|
@ -28,10 +28,6 @@
|
||||||
* @brief Pcbnew main program.
|
* @brief Pcbnew main program.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef KICAD_SCRIPTING
|
|
||||||
#include <python_scripting.h>
|
|
||||||
#include <pcbnew_scripting_helpers.h>
|
|
||||||
#endif
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <pgm_base.h>
|
#include <pgm_base.h>
|
||||||
#include <kiface_i.h>
|
#include <kiface_i.h>
|
||||||
|
@ -51,7 +47,6 @@
|
||||||
#include <hotkeys.h>
|
#include <hotkeys.h>
|
||||||
#include <wildcards_and_files_ext.h>
|
#include <wildcards_and_files_ext.h>
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <3d_viewer.h>
|
|
||||||
#include <fp_lib_table.h>
|
#include <fp_lib_table.h>
|
||||||
#include <module_editor_frame.h>
|
#include <module_editor_frame.h>
|
||||||
#include <modview_frame.h>
|
#include <modview_frame.h>
|
||||||
|
|
|
@ -103,9 +103,9 @@ public:
|
||||||
|
|
||||||
virtual ~TEST_ACTIONS() {};
|
virtual ~TEST_ACTIONS() {};
|
||||||
|
|
||||||
virtual boost::optional<TOOL_EVENT> TranslateLegacyId( int aId )
|
virtual OPT<TOOL_EVENT> TranslateLegacyId( int aId )
|
||||||
{
|
{
|
||||||
return boost::none;
|
return NULLOPT;
|
||||||
}
|
}
|
||||||
|
|
||||||
void RegisterAllTools( TOOL_MANAGER* aToolManager )
|
void RegisterAllTools( TOOL_MANAGER* aToolManager )
|
||||||
|
|
|
@ -75,6 +75,7 @@ target_link_libraries( test_window
|
||||||
common
|
common
|
||||||
pcbcommon
|
pcbcommon
|
||||||
bitmaps
|
bitmaps
|
||||||
|
gal
|
||||||
${Boost_FILESYSTEM_LIBRARY}
|
${Boost_FILESYSTEM_LIBRARY}
|
||||||
${Boost_SYSTEM_LIBRARY}
|
${Boost_SYSTEM_LIBRARY}
|
||||||
${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
|
${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
|
||||||
|
|
Loading…
Reference in New Issue