# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'qt_templates/ui_main.ui'
#
# Created by: PyQt5 UI code generator 5.13.1
#
# WARNING! All changes made in this file will be lost!


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1440, 855)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
        MainWindow.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setPointSize(12)
        MainWindow.setFont(font)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.contract_selection_groupbox = QtWidgets.QGroupBox(self.centralwidget)
        self.contract_selection_groupbox.setGeometry(QtCore.QRect(30, 10, 391, 391))
        self.contract_selection_groupbox.setObjectName("contract_selection_groupbox")
        self.select_address_combobox = QtWidgets.QComboBox(self.contract_selection_groupbox)
        self.select_address_combobox.setGeometry(QtCore.QRect(10, 30, 371, 26))
        self.select_address_combobox.setObjectName("select_address_combobox")
        self.select_address_combobox.addItem("")
        self.select_function_combobox = QtWidgets.QComboBox(self.contract_selection_groupbox)
        self.select_function_combobox.setGeometry(QtCore.QRect(10, 60, 371, 31))
        self.select_function_combobox.setObjectName("select_function_combobox")
        self.debug_checkbox = QtWidgets.QCheckBox(self.contract_selection_groupbox)
        self.debug_checkbox.setGeometry(QtCore.QRect(20, 280, 121, 20))
        self.debug_checkbox.setObjectName("debug_checkbox")
        self.send_transaction_button = QtWidgets.QPushButton(self.contract_selection_groupbox)
        self.send_transaction_button.setGeometry(QtCore.QRect(20, 340, 141, 32))
        self.send_transaction_button.setObjectName("send_transaction_button")
        self.formLayoutWidget = QtWidgets.QWidget(self.contract_selection_groupbox)
        self.formLayoutWidget.setGeometry(QtCore.QRect(20, 100, 351, 171))
        self.formLayoutWidget.setObjectName("formLayoutWidget")
        self.function_params_form_layout = QtWidgets.QFormLayout(self.formLayoutWidget)
        self.function_params_form_layout.setContentsMargins(0, 0, 0, 0)
        self.function_params_form_layout.setObjectName("function_params_form_layout")
        self.automode_checkbox = QtWidgets.QCheckBox(self.contract_selection_groupbox)
        self.automode_checkbox.setGeometry(QtCore.QRect(20, 310, 91, 20))
        self.automode_checkbox.setObjectName("automode_checkbox")
        self.step_duration_label = QtWidgets.QLabel(self.contract_selection_groupbox)
        self.step_duration_label.setGeometry(QtCore.QRect(230, 312, 101, 16))
        self.step_duration_label.setObjectName("step_duration_label")
        self.step_duration_le = QtWidgets.QLineEdit(self.contract_selection_groupbox)
        self.step_duration_le.setGeometry(QtCore.QRect(330, 310, 31, 21))
        self.step_duration_le.setObjectName("step_duration_le")
        self.abort_automode_button = QtWidgets.QPushButton(self.contract_selection_groupbox)
        self.abort_automode_button.setGeometry(QtCore.QRect(270, 340, 101, 32))
        self.abort_automode_button.setAutoFillBackground(False)
        self.abort_automode_button.setStyleSheet("")
        self.abort_automode_button.setObjectName("abort_automode_button")
        self.value_lbl = QtWidgets.QLabel(self.contract_selection_groupbox)
        self.value_lbl.setGeometry(QtCore.QRect(200, 282, 41, 16))
        self.value_lbl.setObjectName("value_lbl")
        self.value_le = QtWidgets.QLineEdit(self.contract_selection_groupbox)
        self.value_le.setGeometry(QtCore.QRect(250, 280, 113, 21))
        self.value_le.setObjectName("value_le")
        self.used_addresses_table_widget = QtWidgets.QTableWidget(self.centralwidget)
        self.used_addresses_table_widget.setGeometry(QtCore.QRect(40, 420, 371, 170))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.used_addresses_table_widget.sizePolicy().hasHeightForWidth())
        self.used_addresses_table_widget.setSizePolicy(sizePolicy)
        self.used_addresses_table_widget.setLineWidth(1)
        self.used_addresses_table_widget.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
        self.used_addresses_table_widget.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.used_addresses_table_widget.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContentsOnFirstShow)
        self.used_addresses_table_widget.setAutoScrollMargin(16)
        self.used_addresses_table_widget.setShowGrid(True)
        self.used_addresses_table_widget.setGridStyle(QtCore.Qt.DotLine)
        self.used_addresses_table_widget.setWordWrap(True)
        self.used_addresses_table_widget.setCornerButtonEnabled(True)
        self.used_addresses_table_widget.setObjectName("used_addresses_table_widget")
        self.used_addresses_table_widget.setColumnCount(3)
        self.used_addresses_table_widget.setRowCount(0)
        item = QtWidgets.QTableWidgetItem()
        self.used_addresses_table_widget.setHorizontalHeaderItem(0, item)
        item = QtWidgets.QTableWidgetItem()
        self.used_addresses_table_widget.setHorizontalHeaderItem(1, item)
        item = QtWidgets.QTableWidgetItem()
        self.used_addresses_table_widget.setHorizontalHeaderItem(2, item)
        self.used_addresses_table_widget.horizontalHeader().setVisible(True)
        self.used_addresses_table_widget.horizontalHeader().setCascadingSectionResizes(False)
        self.used_addresses_table_widget.horizontalHeader().setDefaultSectionSize(0)
        self.used_addresses_table_widget.horizontalHeader().setHighlightSections(True)
        self.used_addresses_table_widget.horizontalHeader().setSortIndicatorShown(False)
        self.used_addresses_table_widget.horizontalHeader().setStretchLastSection(True)
        self.used_addresses_table_widget.verticalHeader().setVisible(False)
        self.used_addresses_table_widget.verticalHeader().setDefaultSectionSize(18)
        self.used_addresses_table_widget.verticalHeader().setSortIndicatorShown(False)
        self.stack_table_widget = QtWidgets.QTableWidget(self.centralwidget)
        self.stack_table_widget.setGeometry(QtCore.QRect(910, 30, 491, 361))
        self.stack_table_widget.setGridStyle(QtCore.Qt.DotLine)
        self.stack_table_widget.setObjectName("stack_table_widget")
        self.stack_table_widget.setColumnCount(1)
        self.stack_table_widget.setRowCount(0)
        item = QtWidgets.QTableWidgetItem()
        self.stack_table_widget.setHorizontalHeaderItem(0, item)
        self.stack_table_widget.horizontalHeader().setDefaultSectionSize(112)
        self.stack_table_widget.horizontalHeader().setStretchLastSection(True)
        self.stack_table_widget.verticalHeader().setVisible(False)
        self.opcodes_table_widget = QtWidgets.QTableWidget(self.centralwidget)
        self.opcodes_table_widget.setGeometry(QtCore.QRect(490, 260, 391, 551))
        self.opcodes_table_widget.setGridStyle(QtCore.Qt.DotLine)
        self.opcodes_table_widget.setObjectName("opcodes_table_widget")
        self.opcodes_table_widget.setColumnCount(3)
        self.opcodes_table_widget.setRowCount(0)
        item = QtWidgets.QTableWidgetItem()
        self.opcodes_table_widget.setHorizontalHeaderItem(0, item)
        item = QtWidgets.QTableWidgetItem()
        self.opcodes_table_widget.setHorizontalHeaderItem(1, item)
        item = QtWidgets.QTableWidgetItem()
        self.opcodes_table_widget.setHorizontalHeaderItem(2, item)
        self.opcodes_table_widget.horizontalHeader().setStretchLastSection(True)
        self.opcodes_table_widget.verticalHeader().setVisible(False)
        self.horizontal_line = QtWidgets.QFrame(self.centralwidget)
        self.horizontal_line.setGeometry(QtCore.QRect(20, 600, 401, 20))
        self.horizontal_line.setFrameShape(QtWidgets.QFrame.HLine)
        self.horizontal_line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.horizontal_line.setObjectName("horizontal_line")
        self.vertical_line = QtWidgets.QFrame(self.centralwidget)
        self.vertical_line.setGeometry(QtCore.QRect(420, 30, 20, 571))
        self.vertical_line.setFrameShape(QtWidgets.QFrame.VLine)
        self.vertical_line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.vertical_line.setObjectName("vertical_line")
        self.storage_table_widget = QtWidgets.QTableWidget(self.centralwidget)
        self.storage_table_widget.setGeometry(QtCore.QRect(40, 640, 371, 171))
        self.storage_table_widget.setGridStyle(QtCore.Qt.DotLine)
        self.storage_table_widget.setObjectName("storage_table_widget")
        self.storage_table_widget.setColumnCount(2)
        self.storage_table_widget.setRowCount(0)
        item = QtWidgets.QTableWidgetItem()
        self.storage_table_widget.setHorizontalHeaderItem(0, item)
        item = QtWidgets.QTableWidgetItem()
        self.storage_table_widget.setHorizontalHeaderItem(1, item)
        self.storage_table_widget.horizontalHeader().setDefaultSectionSize(112)
        self.storage_table_widget.horizontalHeader().setStretchLastSection(True)
        self.storage_table_widget.verticalHeader().setVisible(False)
        self.memory_table_widget = QtWidgets.QTableWidget(self.centralwidget)
        self.memory_table_widget.setGeometry(QtCore.QRect(910, 410, 491, 401))
        self.memory_table_widget.setGridStyle(QtCore.Qt.DotLine)
        self.memory_table_widget.setObjectName("memory_table_widget")
        self.memory_table_widget.setColumnCount(1)
        self.memory_table_widget.setRowCount(0)
        item = QtWidgets.QTableWidgetItem()
        self.memory_table_widget.setHorizontalHeaderItem(0, item)
        self.memory_table_widget.horizontalHeader().setDefaultSectionSize(112)
        self.memory_table_widget.horizontalHeader().setStretchLastSection(True)
        self.memory_table_widget.verticalHeader().setVisible(False)
        self.message_groupbox = QtWidgets.QGroupBox(self.centralwidget)
        self.message_groupbox.setGeometry(QtCore.QRect(490, 10, 391, 161))
        self.message_groupbox.setObjectName("message_groupbox")
        self.verticalLayoutWidget = QtWidgets.QWidget(self.message_groupbox)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(0, 20, 391, 81))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(10, 10, 0, 5)
        self.verticalLayout.setObjectName("verticalLayout")
        self.origin_label = QtWidgets.QLabel(self.verticalLayoutWidget)
        self.origin_label.setEnabled(True)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.origin_label.sizePolicy().hasHeightForWidth())
        self.origin_label.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setPointSize(13)
        self.origin_label.setFont(font)
        self.origin_label.setObjectName("origin_label")
        self.verticalLayout.addWidget(self.origin_label)
        self.from_label = QtWidgets.QLabel(self.verticalLayoutWidget)
        self.from_label.setObjectName("from_label")
        self.verticalLayout.addWidget(self.from_label)
        self.to_label = QtWidgets.QLabel(self.verticalLayoutWidget)
        self.to_label.setObjectName("to_label")
        self.verticalLayout.addWidget(self.to_label)
        self.horizontalLayoutWidget = QtWidgets.QWidget(self.message_groupbox)
        self.horizontalLayoutWidget.setGeometry(QtCore.QRect(0, 100, 391, 31))
        self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget)
        self.horizontalLayout.setContentsMargins(10, 0, 10, 0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.value_label = QtWidgets.QLabel(self.horizontalLayoutWidget)
        self.value_label.setObjectName("value_label")
        self.horizontalLayout.addWidget(self.value_label)
        self.gas_limit_label = QtWidgets.QLabel(self.horizontalLayoutWidget)
        self.gas_limit_label.setObjectName("gas_limit_label")
        self.horizontalLayout.addWidget(self.gas_limit_label)
        self.horizontalLayoutWidget_3 = QtWidgets.QWidget(self.message_groupbox)
        self.horizontalLayoutWidget_3.setGeometry(QtCore.QRect(0, 130, 391, 31))
        self.horizontalLayoutWidget_3.setObjectName("horizontalLayoutWidget_3")
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget_3)
        self.horizontalLayout_3.setContentsMargins(10, 0, 10, 0)
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.data_label = QtWidgets.QLabel(self.horizontalLayoutWidget_3)
        self.data_label.setObjectName("data_label")
        self.horizontalLayout_3.addWidget(self.data_label)
        self.call_depth_label = QtWidgets.QLabel(self.horizontalLayoutWidget_3)
        self.call_depth_label.setObjectName("call_depth_label")
        self.horizontalLayout_3.addWidget(self.call_depth_label)
        self.execution_groupbox = QtWidgets.QGroupBox(self.centralwidget)
        self.execution_groupbox.setGeometry(QtCore.QRect(490, 180, 391, 61))
        self.execution_groupbox.setObjectName("execution_groupbox")
        self.horizontalLayoutWidget_2 = QtWidgets.QWidget(self.execution_groupbox)
        self.horizontalLayoutWidget_2.setGeometry(QtCore.QRect(0, 20, 391, 41))
        self.horizontalLayoutWidget_2.setObjectName("horizontalLayoutWidget_2")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget_2)
        self.horizontalLayout_2.setContentsMargins(10, 0, 10, 0)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.gas_label = QtWidgets.QLabel(self.horizontalLayoutWidget_2)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.gas_label.setFont(font)
        self.gas_label.setObjectName("gas_label")
        self.horizontalLayout_2.addWidget(self.gas_label)
        self.pc_label = QtWidgets.QLabel(self.horizontalLayoutWidget_2)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.pc_label.setFont(font)
        self.pc_label.setObjectName("pc_label")
        self.horizontalLayout_2.addWidget(self.pc_label)
        self.steps_line_edit = QtWidgets.QLineEdit(self.horizontalLayoutWidget_2)
        self.steps_line_edit.setEnabled(True)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.steps_line_edit.sizePolicy().hasHeightForWidth())
        self.steps_line_edit.setSizePolicy(sizePolicy)
        self.steps_line_edit.setMaximumSize(QtCore.QSize(40, 16777215))
        self.steps_line_edit.setObjectName("steps_line_edit")
        self.horizontalLayout_2.addWidget(self.steps_line_edit)
        self.steps_button = QtWidgets.QPushButton(self.horizontalLayoutWidget_2)
        self.steps_button.setObjectName("steps_button")
        self.horizontalLayout_2.addWidget(self.steps_button)
        self.storage_address_label = QtWidgets.QLabel(self.centralwidget)
        self.storage_address_label.setGeometry(QtCore.QRect(40, 620, 371, 16))
        self.storage_address_label.setText("")
        self.storage_address_label.setObjectName("storage_address_label")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1440, 22))
        self.menubar.setObjectName("menubar")
        self.menuImport = QtWidgets.QMenu(self.menubar)
        self.menuImport.setObjectName("menuImport")
        self.menuNew = QtWidgets.QMenu(self.menubar)
        self.menuNew.setObjectName("menuNew")
        MainWindow.setMenuBar(self.menubar)
        self.statusBar = QtWidgets.QStatusBar(MainWindow)
        self.statusBar.setObjectName("statusBar")
        MainWindow.setStatusBar(self.statusBar)
        self.actionSet_Gas_Price = QtWidgets.QAction(MainWindow)
        self.actionSet_Gas_Price.setObjectName("actionSet_Gas_Price")
        self.actionSet_Gas_Limit = QtWidgets.QAction(MainWindow)
        self.actionSet_Gas_Limit.setObjectName("actionSet_Gas_Limit")
        self.actionContract = QtWidgets.QAction(MainWindow)
        self.actionContract.setObjectName("actionContract")
        self.actionAddress_Balance = QtWidgets.QAction(MainWindow)
        self.actionAddress_Balance.setObjectName("actionAddress_Balance")
        self.actionStorage = QtWidgets.QAction(MainWindow)
        self.actionStorage.setObjectName("actionStorage")
        self.actionEVM_Simulator_Help = QtWidgets.QAction(MainWindow)
        self.actionEVM_Simulator_Help.setObjectName("actionEVM_Simulator_Help")
        self.menuImport.addAction(self.actionSet_Gas_Price)
        self.menuImport.addAction(self.actionSet_Gas_Limit)
        self.menuImport.addAction(self.actionAddress_Balance)
        self.menuImport.addAction(self.actionStorage)
        self.menuNew.addAction(self.actionContract)
        self.menubar.addAction(self.menuNew.menuAction())
        self.menubar.addAction(self.menuImport.menuAction())

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "EVM Simulator"))
        self.contract_selection_groupbox.setTitle(_translate("MainWindow", "Select Contract"))
        self.select_address_combobox.setItemText(0, _translate("MainWindow", "Load a contract first!"))
        self.debug_checkbox.setText(_translate("MainWindow", "Debug Mode"))
        self.send_transaction_button.setText(_translate("MainWindow", "Send Transaction"))
        self.automode_checkbox.setText(_translate("MainWindow", "Auto Mode"))
        self.step_duration_label.setText(_translate("MainWindow", "Step Duration:"))
        self.step_duration_le.setText(_translate("MainWindow", "0.01"))
        self.abort_automode_button.setText(_translate("MainWindow", "Abort"))
        self.value_lbl.setText(_translate("MainWindow", "Value:"))
        self.value_le.setText(_translate("MainWindow", "0"))
        item = self.used_addresses_table_widget.horizontalHeaderItem(0)
        item.setText(_translate("MainWindow", "Address"))
        item = self.used_addresses_table_widget.horizontalHeaderItem(1)
        item.setText(_translate("MainWindow", "Balance"))
        item = self.used_addresses_table_widget.horizontalHeaderItem(2)
        item.setText(_translate("MainWindow", "Type"))
        item = self.stack_table_widget.horizontalHeaderItem(0)
        item.setText(_translate("MainWindow", "Stack (256 Bit-Length Words)"))
        item = self.opcodes_table_widget.horizontalHeaderItem(0)
        item.setText(_translate("MainWindow", "Opcodes"))
        item = self.opcodes_table_widget.horizontalHeaderItem(1)
        item.setText(_translate("MainWindow", "Mnemonic"))
        item = self.opcodes_table_widget.horizontalHeaderItem(2)
        item.setText(_translate("MainWindow", "Gas Cost"))
        item = self.storage_table_widget.horizontalHeaderItem(0)
        item.setText(_translate("MainWindow", "Storage Slot"))
        item = self.storage_table_widget.horizontalHeaderItem(1)
        item.setText(_translate("MainWindow", "Storage Value"))
        item = self.memory_table_widget.horizontalHeaderItem(0)
        item.setText(_translate("MainWindow", "Memory"))
        self.message_groupbox.setTitle(_translate("MainWindow", "Message"))
        self.origin_label.setText(_translate("MainWindow", "origin: "))
        self.from_label.setText(_translate("MainWindow", "from: "))
        self.to_label.setText(_translate("MainWindow", "to: "))
        self.value_label.setText(_translate("MainWindow", "value: "))
        self.gas_limit_label.setText(_translate("MainWindow", "gas limit: "))
        self.data_label.setText(_translate("MainWindow", "data: "))
        self.call_depth_label.setText(_translate("MainWindow", "call depth:"))
        self.execution_groupbox.setTitle(_translate("MainWindow", "Execution"))
        self.gas_label.setText(_translate("MainWindow", "Gas: "))
        self.pc_label.setText(_translate("MainWindow", "PC: "))
        self.steps_line_edit.setText(_translate("MainWindow", "1"))
        self.steps_line_edit.setPlaceholderText(_translate("MainWindow", "1"))
        self.steps_button.setText(_translate("MainWindow", "Step(s)"))
        self.menuImport.setTitle(_translate("MainWindow", "Set"))
        self.menuNew.setTitle(_translate("MainWindow", "New"))
        self.actionSet_Gas_Price.setText(_translate("MainWindow", "Gas Price"))
        self.actionSet_Gas_Price.setShortcut(_translate("MainWindow", "Ctrl+P"))
        self.actionSet_Gas_Limit.setText(_translate("MainWindow", "Gas Limit"))
        self.actionSet_Gas_Limit.setShortcut(_translate("MainWindow", "Ctrl+L"))
        self.actionContract.setText(_translate("MainWindow", "Contract"))
        self.actionContract.setShortcut(_translate("MainWindow", "Ctrl+C"))
        self.actionAddress_Balance.setText(_translate("MainWindow", "Address Balance"))
        self.actionAddress_Balance.setShortcut(_translate("MainWindow", "Ctrl+A"))
        self.actionStorage.setText(_translate("MainWindow", "Storage"))
        self.actionStorage.setShortcut(_translate("MainWindow", "Ctrl+S"))
        self.actionEVM_Simulator_Help.setText(_translate("MainWindow", "EVM Simulator Help"))
        self.actionEVM_Simulator_Help.setShortcut(_translate("MainWindow", "Ctrl+H"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())
