Files
GDevelop/IDE/EditorEventsConditions.cpp
T
Florian 8672f179e9 Exchanged all french messages with their English counterparts.
Gui elements in SceneCanvas are now independant from the zoom factor.
Work in progress: NewProjectDialog.

git-svn-id: svn://localhost@837 8062f311-0dae-4547-b526-b8ab9ac864a5
2012-09-20 19:53:26 +00:00

112 lines
3.6 KiB
C++

#include "OldEventsEditor.h"
#include "ChoixCondition.h"
#include "Clipboard.h"
/**
* Edit a condition
*/
void OldEventsEditor::OneEditConditionMenuSelected(wxCommandEvent& event)
{
if ( !instructionsSelected ) return;
Instruction & instr = GetLastSelectedInstruction();
ChoixCondition dialog(this, game, scene);
dialog.Type = instr.GetType(); // On rafraichit la fenêtre
dialog.Param = instr.GetParameters(); // avec la condition
dialog.Loc = instr.IsLocal();
dialog.Contraire = instr.IsInverted();
dialog.RefreshFromCondition();
dialog.Fit();
if ( dialog.ShowModal() == 0)
{
instr.SetType( dialog.Type );
instr.SetParameters( dialog.Param );
instr.SetLocal( dialog.Loc );
instr.SetInversion( dialog.Contraire );
GetLastSelectedEvent()->eventHeightNeedUpdate = true;
ChangesMadeOnEvents();
}
}
void OldEventsEditor::OnAddConditionMenuSelected(wxCommandEvent& event)
{
if ( !instructionsSelected ) return;
ChoixCondition dialog(this, game, scene);
if ( dialog.ShowModal() == 0)
{
Instruction instruction;
instruction.SetType(dialog.Type);
instruction.SetParameters(dialog.Param);
instruction.SetLocal(dialog.Loc);
instruction.SetInversion(dialog.Contraire);
GetLastSelectedListOfInstructions()->push_back(instruction);
GetLastSelectedEvent()->eventHeightNeedUpdate = true;
ChangesMadeOnEvents();
}
}
void OldEventsEditor::OnDelConditionMenuSelected(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::OnCopyConditionMenuSelected(wxCommandEvent& event)
{
if (!instructionsSelected ||
boost::tuples::get<3>(eventsSelected[0]) >= GetLastSelectedListOfInstructions()->size() ||
!conditionsSelected ) return;
Clipboard * clipboard = Clipboard::GetInstance();
clipboard->SetCondition(GetLastSelectedInstruction());
}
void OldEventsEditor::OnCutConditionMenuSelected(wxCommandEvent& event)
{
if (!instructionsSelected ||
boost::tuples::get<3>(eventsSelected[0]) >= GetLastSelectedListOfInstructions()->size() ||
!conditionsSelected ) return;
Clipboard * clipboard = Clipboard::GetInstance();
clipboard->SetCondition(GetLastSelectedInstruction());
GetLastSelectedListOfInstructions()->erase( GetLastSelectedListOfInstructions()->begin() + boost::tuples::get<3>(eventsSelected[0]) );
GetLastSelectedEvent()->eventHeightNeedUpdate = true;
ChangesMadeOnEvents();
}
void OldEventsEditor::OnPasteConditionMenuSelected(wxCommandEvent& event)
{
if ( !instructionsSelected || !conditionsSelected) return;
Clipboard * clipboard = Clipboard::GetInstance();
if ( !clipboard->HasCondition() ) return;
if ( boost::tuples::get<3>(eventsSelected[0]) >= GetLastSelectedListOfInstructions()->size() )
GetLastSelectedListOfInstructions()->push_back(clipboard->GetCondition());
else
GetLastSelectedListOfInstructions()->insert(GetLastSelectedListOfInstructions()->begin()+boost::tuples::get<3>(eventsSelected[0]), clipboard->GetCondition());
GetLastSelectedEvent()->eventHeightNeedUpdate = true;
ChangesMadeOnEvents();
}