mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-10 04:57:00 -04:00
Use smart pointer
This commit is contained in:
@@ -42,9 +42,10 @@ SymbolWindow::SymbolWindow(Window* parent, const String& filename)
|
||||
init(parent, symbol);
|
||||
}
|
||||
|
||||
SymbolWindow::SymbolWindow(Window* parent, ValueActionPerformer* performer)
|
||||
: performer(performer)
|
||||
SymbolWindow::SymbolWindow(Window* parent, unique_ptr<ValueActionPerformer> performer_)
|
||||
: performer(move(performer_))
|
||||
{
|
||||
assert(performer);
|
||||
// attempt to load symbol
|
||||
SymbolP symbol;
|
||||
SymbolValueP value = static_pointer_cast<SymbolValue>(performer->value);
|
||||
@@ -61,7 +62,6 @@ SymbolWindow::SymbolWindow(Window* parent, ValueActionPerformer* performer)
|
||||
init(parent, symbol);
|
||||
}
|
||||
SymbolWindow::~SymbolWindow() {
|
||||
delete performer;
|
||||
}
|
||||
|
||||
void SymbolWindow::init(Window* parent, SymbolP symbol) {
|
||||
@@ -290,7 +290,7 @@ void SymbolWindow::onUpdateUI(wxUpdateUIEvent& ev) {
|
||||
switch(ev.GetId()) {
|
||||
// file menu
|
||||
case ID_FILE_STORE: {
|
||||
ev.Enable(performer);
|
||||
ev.Enable((bool)performer);
|
||||
break;
|
||||
// undo/redo
|
||||
} case ID_EDIT_UNDO: {
|
||||
|
||||
@@ -26,7 +26,7 @@ public:
|
||||
/// Construct a SymbolWindow showing a symbol from a file
|
||||
SymbolWindow(Window* parent, const String& filename);
|
||||
/// Construct a SymbolWindow showing a symbol value in a set
|
||||
SymbolWindow(Window* parent, ValueActionPerformer* performer);
|
||||
SymbolWindow(Window* parent, unique_ptr<ValueActionPerformer> performer);
|
||||
~SymbolWindow();
|
||||
|
||||
private:
|
||||
@@ -39,7 +39,7 @@ private:
|
||||
SymbolPartList* parts; ///< A list of parts in the symbol
|
||||
|
||||
// when editing a symbol field
|
||||
ValueActionPerformer* performer;
|
||||
unique_ptr<ValueActionPerformer> performer;
|
||||
|
||||
// --------------------------------------------------- : Event handling
|
||||
DECLARE_EVENT_TABLE();
|
||||
|
||||
@@ -116,6 +116,6 @@ void SymbolValueEditor::editSymbol() {
|
||||
wnd->Show();
|
||||
}
|
||||
|
||||
ValueActionPerformer* SymbolValueEditor::getActionPerformer() {
|
||||
return new ValueActionPerformer(valueP(), editor().getCard(), editor().getSetForActions());
|
||||
unique_ptr<ValueActionPerformer> SymbolValueEditor::getActionPerformer() {
|
||||
return make_unique<ValueActionPerformer>(valueP(), editor().getCard(), editor().getSetForActions());
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ private:
|
||||
/// Show the symbol editor
|
||||
void editSymbol();
|
||||
/// Get an object to perform actions for us
|
||||
ValueActionPerformer* getActionPerformer();
|
||||
unique_ptr<ValueActionPerformer> getActionPerformer();
|
||||
|
||||
// button, or -1 for mouse down, but not on button, or -2 for mouse not down
|
||||
int button_down;
|
||||
|
||||
Reference in New Issue
Block a user