Files
GDevelop/IDE/EditorEventsActions.cpp
T
Florian 3cc1d82c99 Adaptations and code cleanup.
SceneCanvas is aware of events compilation when reloading : If a preview is launched, wait until compilation is over.

git-svn-id: svn://localhost@456 8062f311-0dae-4547-b526-b8ab9ac864a5
2011-07-07 23:11:20 +00:00

101 lines
3.3 KiB
C++

#include "OldEventsEditor.h"
#include "ChoixAction.h"
#include "Clipboard.h"
/**
* Edit an action
*/
void OldEventsEditor::OnEditActionMenuSelected(wxCommandEvent& event)
{
if ( !instructionsSelected ) return;
Instruction & instr = GetLastSelectedInstruction();
ChoixAction dialog(this, game, scene);
dialog.Type = instr.GetType();
dialog.Param = instr.GetParameters();
dialog.Loc = instr.IsLocal();
dialog.RefreshFromAction();
dialog.Fit();
if ( dialog.ShowModal() == 0)
{
instr.SetType( dialog.Type );
instr.SetParameters( dialog.Param );
instr.SetLocal( dialog.Loc );
GetLastSelectedEvent()->eventHeightNeedUpdate = true;
ChangesMadeOnEvents();
}
}
void OldEventsEditor::OnAddActionMenuSelected(wxCommandEvent& event)
{
if ( !instructionsSelected ) return;
ChoixAction dialog(this, game, scene);
if ( dialog.ShowModal() == 0)
{
Instruction instruction;
instruction.SetType(dialog.Type);
instruction.SetParameters(dialog.Param);
instruction.SetLocal(dialog.Loc);
GetLastSelectedListOfInstructions()->push_back(instruction);
GetLastSelectedEvent()->eventHeightNeedUpdate = true;
ChangesMadeOnEvents();
}
}
void OldEventsEditor::OnDelActionMenuSelected(wxCommandEvent& event)
{
if ( !instructionsSelected || boost::tuples::get<3>(eventsSelected[0]) >= GetLastSelectedListOfInstructions()->size() ) return;
GetLastSelectedListOfInstructions()->erase( GetLastSelectedListOfInstructions()->begin() + boost::tuples::get<3>(eventsSelected[0]) );
GetLastSelectedEvent()->eventHeightNeedUpdate = true;
ChangesMadeOnEvents();
}
void OldEventsEditor::OnCopyActionMenuSelected(wxCommandEvent& event)
{
if (!instructionsSelected ||
boost::tuples::get<3>(eventsSelected[0]) >= GetLastSelectedListOfInstructions()->size() ||
conditionsSelected ) return;
Clipboard * clipboard = Clipboard::GetInstance();
clipboard->SetAction(GetLastSelectedInstruction());
}
void OldEventsEditor::OnCutActionMenuSelected(wxCommandEvent& event)
{
if (!instructionsSelected ||
boost::tuples::get<3>(eventsSelected[0]) >= GetLastSelectedListOfInstructions()->size() ||
conditionsSelected ) return;
Clipboard * clipboard = Clipboard::GetInstance();
clipboard->SetAction(GetLastSelectedInstruction());
GetLastSelectedListOfInstructions()->erase( GetLastSelectedListOfInstructions()->begin() + boost::tuples::get<3>(eventsSelected[0]) );
GetLastSelectedEvent()->eventHeightNeedUpdate = true;
ChangesMadeOnEvents();
}
void OldEventsEditor::OnPasteActionMenuSelected(wxCommandEvent& event)
{
if ( !instructionsSelected || conditionsSelected) return;
Clipboard * clipboard = Clipboard::GetInstance();
if ( !clipboard->HasAction() ) return;
if ( boost::tuples::get<3>(eventsSelected[0]) >= GetLastSelectedListOfInstructions()->size() )
GetLastSelectedListOfInstructions()->push_back(clipboard->GetAction());
else
GetLastSelectedListOfInstructions()->insert(GetLastSelectedListOfInstructions()->begin()+boost::tuples::get<3>(eventsSelected[0]), clipboard->GetAction());
GetLastSelectedEvent()->eventHeightNeedUpdate = true;
ChangesMadeOnEvents();
}