20#include <boost/test/unit_test.hpp>
31 TEST_EDA_ITEM(
KICAD_T aType ) : EDA_ITEM( aType ) {}
33 wxString GetClass()
const override {
return wxT(
"TEST_EDA_ITEM" ); }
35 EDA_ITEM*
Clone()
const override {
return new TEST_EDA_ITEM( Type() ); }
44 void Push(
const wxString&,
int )
override {}
61 TEST_EDA_ITEM itemAdd(
PCB_T );
62 TEST_EDA_ITEM itemRemove(
PCB_T );
63 TEST_EDA_ITEM itemModify(
PCB_T );
65 commit.
Add( &itemAdd );
68 commit.
Remove( &itemRemove );
71 commit.
Modify( &itemModify );
72 TEST_EDA_ITEM*
copy =
static_cast<TEST_EDA_ITEM*
>( itemModify.Clone() );
81 TEST_EDA_ITEM a(
PCB_T );
82 TEST_EDA_ITEM b(
PCB_T );
83 std::vector<EDA_ITEM*> items = { &a, &b };
95 TEST_EDA_ITEM newItem(
PCB_T );
96 TEST_EDA_ITEM modItem(
PCB_T );
97 TEST_EDA_ITEM* modCopy =
static_cast<TEST_EDA_ITEM*
>( modItem.Clone() );
107 commit.
Stage( list );
117 TEST_EDA_ITEM* item =
new TEST_EDA_ITEM(
PCB_T );
121 commit.
Unstage( item,
nullptr );
123 BOOST_CHECK( commit.
Empty() );
COMMIT & Remove(EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
Remove a new item from the model.
void Unstage(EDA_ITEM *aItem, BASE_SCREEN *aScreen)
COMMIT & Modified(EDA_ITEM *aItem, EDA_ITEM *aCopy, BASE_SCREEN *aScreen=nullptr)
Create an undo entry for an item that has been already modified.
COMMIT & Modify(EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr, RECURSE_MODE aRecurse=RECURSE_MODE::NO_RECURSE)
Modify a given item in the model.
COMMIT & Add(EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
Add a new item to the model.
int GetStatus(EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
Returns status of an item.
virtual COMMIT & Stage(EDA_ITEM *aItem, CHANGE_TYPE aChangeType, BASE_SCREEN *aScreen=nullptr, RECURSE_MODE aRecurse=RECURSE_MODE::NO_RECURSE)
Add a change of the item aItem of type aChangeType to the change list.
A base class for most all the KiCad significant classes used in schematics and boards.
virtual EDA_ITEM * Clone() const
Create a duplicate of this item with linked list members set to NULL.
void SetLink(EDA_ITEM *aItem)
A holder to handle information on schematic or board items.
void Revert() override
Revert the commit by restoring the modified items state.
void RevertToCheckpoint(int aCheckpoint) override
EDA_ITEM * makeImage(EDA_ITEM *aItem) const override
EDA_ITEM * undoLevelItem(EDA_ITEM *aItem) const override
void Push(const wxString &, int) override
Execute the changes.
EDA_ITEM * ResolveItem(KIID &aID) override
Search for an item in this commit that matches the provided KIID.
#define IS_NEW
New item, just created.
std::unique_ptr< typename std::remove_const< T >::type > Clone(const T &aItem)
BOOST_AUTO_TEST_CASE(HorizontalAlignment)
BOOST_AUTO_TEST_SUITE(CadstarPartParser)
BOOST_AUTO_TEST_CASE(StageAndStatus)
BOOST_AUTO_TEST_SUITE_END()
BOOST_CHECK_EQUAL(result, "25.4")
KICAD_T
The set of class identification values stored in EDA_ITEM::m_structType.