34#ifndef TTA_OPERATION_PROPERTY_DIALOG_HH
35#define TTA_OPERATION_PROPERTY_DIALOG_HH
38#include <wx/listctrl.h>
57 const std::string& path);
68 wxSizer*
createContents(wxWindow* parent,
bool call_fit,
bool set_sizer);
91 void onOpen(wxCommandEvent& event);
102 void moveUp(std::vector<Operand*>& ops,
int id, wxListCtrl* list);
103 void moveDown(std::vector<Operand*>& ops,
int id, wxListCtrl* list);
106 void onOk(wxCommandEvent& event);
226 DECLARE_EVENT_TABLE()
bool operationWasCreatedHere_
void onOk(wxCommandEvent &event)
void onSaveDAG(wxCommandEvent &event)
bool controlFlow_
Can operation can change program flow.
OperationModule & module_
Module in which operation belongs to.
void onDeleteAffectedBy(wxCommandEvent &event)
void updateSwapLists(std::vector< std::string > deletedOperands)
wxListCtrl * outputOperandList_
List of output operands.
void onDAGChange(wxCommandEvent &event)
bool isCall_
Operation performs function call.
bool hasSideEffects_
Does operation has side effects?
void onModifyInputOperand(wxCommandEvent &event)
void onDeleteInputOperand(wxCommandEvent &event)
void onOpen(wxCommandEvent &event)
bool writeMemory_
Does operation write memory?
wxString name_
Name of the operation.
void updateOperation(bool newOpDag)
void onMoveInputDown(wxCommandEvent &event)
Operation * operation_
Operation to be created or to be modified.
void onSelection(wxListEvent &event)
bool readMemory_
Does operation read memory?
wxSizer * createContents(wxWindow *parent, bool call_fit, bool set_sizer)
void onDeleteAffects(wxCommandEvent &event)
wxBitmap createBitmaps(size_t index)
std::vector< Operand * > outputOperands_
Output operands.
wxTextCtrl * editDescription_
wxCheckBox * sideEffectsCB_
Has side effects check box.
void onUndoDAG(wxCommandEvent &event)
virtual ~OperationPropertyDialog()
void onDeleteOutputOperand(wxCommandEvent &event)
wxStaticBoxSizer * affectsSizer_
Affects sizer.
void onComboBoxChange(wxCommandEvent &event)
std::vector< std::string > getSelectedItems(wxListCtrl *listCtrl)
std::string path_
Path in which module belongs to.
void onMoveInputUp(wxCommandEvent &event)
@ ID_OUTPUT_DELETE_BUTTON
@ ID_OUTPUT_MODIFY_BUTTON
@ ID_OPERATION_AFFECTED_BY
@ ID_AFFECTED_DELETE_BUTTON
@ ID_AFFECTS_DELETE_BUTTON
ObjectState * saveOperation()
virtual bool TransferDataToWindow()
void onAddInputOperand(wxCommandEvent &event)
void onModifyOutputOperand(wxCommandEvent &event)
bool canTrap_
Can operation trap?
wxCheckBox * readMemoryCB_
Read memory check box.
wxCheckBox * clockedCB_
Clocked check box.
Operation * operation() const
void onAddAffectedBy(wxCommandEvent &event)
bool isBranch_
Operation is branch.
void onAddAffects(wxCommandEvent &event)
void onNewDAG(wxCommandEvent &event)
void moveDown(std::vector< Operand * > &ops, int id, wxListCtrl *list)
ObjectState * orig_
Original operation's ObjectState tree.
wxCheckBox * writeMemoryCB_
Write memory check box.
wxListCtrl * inputOperandList_
List of input operands.
wxStaticBoxSizer * affectedBySizer_
Affected by sizer.
void onAddOutputOperand(wxCommandEvent &event)
wxListCtrl * affectedByList_
List of affected by operations.
wxStaticBoxSizer * outputSizer_
Output operand sizer.
bool clocked_
Is operation clocked?
void onOpenDAG(wxCommandEvent &event)
void onMoveOutputUp(wxCommandEvent &event)
void onMoveOutputDown(wxCommandEvent &event)
std::vector< Operand * > inputOperands_
Input operands.
void launchEditor(const std::string &cmd)
std::vector< std::string > affects_
Operations that affects this operation.
OperationPropertyDialog(const OperationPropertyDialog &)
Copying not allowed.
wxComboBox * affectsChoice_
Choice box for new affects operations.
wxStaticBoxSizer * inputSizer_
Input operand sizer.
void moveUp(std::vector< Operand * > &ops, int id, wxListCtrl *list)
void onDeleteDAG(wxCommandEvent &event)
OperationPropertyDialog & operator=(const OperationPropertyDialog &)
Assignment not allowed.
std::vector< std::string > affectedBy_
Operations that are affected by this operation.
wxListCtrl * affectsList_
List of affects operations.
wxCheckBox * canTrapCB_
Can trap check box.
wxComboBox * affectedByChoice_
Choice box for new affected by operations.