コード例 #1
0
ファイル: Groupbox.py プロジェクト: shredEngineer/MagnetiCalc
    def __init__(self, title):
        """
        Initializes the groupbox.

        @param title: Title
        """
        QGroupBox.__init__(self)

        self.setTitle(title)
        self.setStyleSheet(f"""
            QGroupBox {{
                border: 1px solid #cccccc;
                border-radius: 3px;
                margin-top: 20px;
                color: {Theme.PrimaryColor};
                font-weight: bold;
                background-color: #e5e5e5;
            }}

            QGroupBox::title {{
                subcontrol-origin: margin;
                subcontrol-position: top left;
                background-color: palette(window);
            }}
        """)

        self.layout = QVBoxLayout()
        self.setLayout(self.layout)

        self.palette = self.palette()
        self.palette.setColor(QPalette.Button, QColor(3, 18, 14))
        self.setPalette(self.palette)
コード例 #2
0
    def __init__(self, parent=None):
        QGroupBox.__init__(self)

        self.toggled.connect(self.setExpanded)
        self.tempWidget = QWidget()

        self.customStyle = False
コード例 #3
0
    def __init__(self, plot):
        QGroupBox.__init__(self, plot.name())

        self._plot = plot
        self._symbol_map = {
            'none': None,
            'circle': 'o',
            'square': 's',
            'triangle': 't',
            'diamond': 'd',
            'plus': '+',
        }
        # plot.opts['pen'] is sometimes a pen and sometimes a string
        # make a pen just to be sure
        plot_pen = pg.mkPen(plot.opts['pen'])
        plot_symbol = plot.opts['symbol']

        self._color_picker = ColorWellWidget(color=plot_pen.color())
        self._color_picker.connect(self._color_update)

        self._symbol_picker = QComboBox()
        self._symbol_picker.addItems(self._symbol_map.keys())

        self._symbol_picker.setCurrentText('none')
        for text, symbol in self._symbol_map.items():
            if plot_symbol == symbol:
                self._symbol_picker.setCurrentText(text)
        self._symbol_picker.currentIndexChanged.connect(self._symbol_update)

        layout = QFormLayout()
        layout.addRow(QLabel('Curve Color'), self._color_picker)
        layout.addRow(QLabel('Curve Symbol'), self._symbol_picker)
        self.setLayout(layout)
コード例 #4
0
    def __init__(self, parent=None):

        QGroupBox.__init__(self, 'Partition', parent)
        cp.cgwmainpartition = self

        self.but_roll_call = QPushButton('Roll call')
        self.but_select = QPushButton('Select')
        #self.but_display   = QPushButton('Display')

        self.wcoll = CGWMainCollection()

        self.hbox = QHBoxLayout()
        self.hbox.addWidget(self.but_roll_call)
        self.hbox.addStretch(1)
        self.hbox.addWidget(self.but_select)
        #self.hbox.addStretch(1)
        #self.hbox.addWidget(self.but_display)

        self.vbox = QVBoxLayout()
        self.vbox.addLayout(self.hbox)
        self.vbox.addWidget(self.wcoll)

        self.setLayout(self.vbox)

        self.set_tool_tips()
        self.set_style()

        self.but_roll_call.clicked.connect(self.on_but_roll_call)
        self.but_select.clicked.connect(self.on_but_select)
        #self.but_display.clicked.connect(self.on_but_display)

        self.w_select = None
        self.state = None
コード例 #5
0
    def __init__(self, parent=None):

        QGroupBox.__init__(self, 'Configuration', parent)

        cp.cgwmainconfiguration = self

        self.lab_type = QLabel('Type')
        self.but_type = QPushButton('Select %s' % char_expand)
        self.but_edit = QPushButton('Edit')

        self.hbox1 = QHBoxLayout()
        self.hbox1.addWidget(self.lab_type)
        self.hbox1.addWidget(self.but_type)
        self.hbox1.addStretch(1)
        self.hbox1.addWidget(self.but_edit, 0, Qt.AlignCenter)

        self.vbox = QVBoxLayout()
        self.vbox.addLayout(self.hbox1)

        self.setLayout(self.vbox)

        self.set_tool_tips()
        self.set_style()

        self.but_edit.clicked.connect(self.on_but_edit)
        self.but_type.clicked.connect(self.on_but_type)
        #self.box_seq.currentIndexChanged[int].connect(self.on_box_seq)
        #self.cbx_seq.stateChanged[int].connect(self.on_cbx_seq)

        self.device = None
        self.w_edit = None
        self.type_old = None
        self.set_config_type('init')
コード例 #6
0
    def __init__(self, parent=None, parent_ctrl=None):

        QGroupBox.__init__(self, 'Detector', parent)

        self.parent_ctrl = parent_ctrl

        self.lab_state = QLabel('Control state')
        self.but_state = QPushButton('Ready')

        self.vbox = QVBoxLayout()
        self.vbox.addWidget(self.lab_state)
        self.vbox.addWidget(self.but_state)
        self.vbox.addStretch(1)
        self.setLayout(self.vbox)

        self.set_tool_tips()
        self.set_style()

        self.but_state.clicked.connect(self.on_but_state)

        #self.timer = QTimer()
        #self.timer.timeout.connect(self.on_timeout)
        #self.timer.start(1000)

        self.state = 'undefined'
        self.ts = 'start of GUI'
        self.check_state()
コード例 #7
0
 def __init__(self, title=None, layout=None):
     QGroupBox.__init__(self)
     if title:
         self.setTitle(title)
     if layout:
         self.setLayout(layout)
     self.setContentsMargins(*DEFAULT_MARGINS)
コード例 #8
0
    def __init__(self, parent=None) -> None:
        QGroupBox.__init__(self, parent)
        self.setTitle("Результаты:")

        # Нужные компоненты
        self.percent_identification_label = QLabel(
            text="Процент принятия решения о том,\n"
            " что две трассы принадлежат одной цели: 0 %")
        self.histogram_generalized_distance_button = QPushButton(
            text="Гистограмма обобщённых расстояний")
        self.first_scatter_matrix_button = QPushButton(
            text="Scatter Matrix координат первой трассы")
        self.second_scatter_matrix_button = QPushButton(
            text="Scatter Matrix координат второй трассы")
        self.difference_scatter_matrix_button = QPushButton(
            text="Scatter Matrix разности координат трасс")
        self.first_show_diff_distribution_button = QPushButton(
            text="Сравнение реального и оцененного \n"
            "распределения координат первой трассы")
        self.second_show_diff_distribution_button = QPushButton(
            text="Сравнение реального и оцененного \n"
            "распределения координат второй трассы")

        # Основной контейнер
        layout = QVBoxLayout(self)
        layout.addWidget(self.percent_identification_label)
        layout.addWidget(self.histogram_generalized_distance_button)
        layout.addWidget(self.first_scatter_matrix_button)
        layout.addWidget(self.second_scatter_matrix_button)
        layout.addWidget(self.difference_scatter_matrix_button)
        layout.addWidget(self.first_show_diff_distribution_button)
        layout.addWidget(self.second_show_diff_distribution_button)
コード例 #9
0
    def __init__(self, file_name, name):
        QGroupBox.__init__(self)
        self.file_name = file_name
        self.name = name
        self.setTitle(name)
        self.setStyleSheet("QGroupBox {  border: 1px solid gray;}")
        vbox = QVBoxLayout()
        self.setLayout(vbox)

        toolbar = QToolBar()
        self.tab = gpvdm_tab(toolbar=toolbar)

        self.tab.tb_add.triggered.connect(self.add_item_clicked)

        self.tab.tb_remove.triggered.connect(self.on_remove_click)

        vbox.addWidget(toolbar)

        self.tab.resizeColumnsToContents()

        self.tab.verticalHeader().setVisible(False)

        self.tab.clear()
        self.tab.setColumnCount(5)
        self.tab.setSelectionBehavior(QAbstractItemView.SelectRows)

        self.load()

        self.tab.cellChanged.connect(self.tab_changed)

        vbox.addWidget(self.tab)
コード例 #10
0
ファイル: motors.py プロジェクト: Subaru-PFS/ics_spsGUIActor
    def __init__(self, moduleRow, motorId):
        QGroupBox.__init__(self)
        title = 'Motor %s' % self.motorNames[motorId]
        self.grid = GBoxGrid(title=title)
        self.setLayout(self.grid)
        self.setTitle(title)
        self.status = ValueGB(moduleRow, 'ccdMotor%i' % motorId, 'status', 0,
                              '{:s}')
        self.homeSwitch = ValueGB(moduleRow, 'ccdMotor%i' % motorId,
                                  'homeSwitch', 1, '{:d}')
        self.farSwitch = ValueGB(moduleRow, 'ccdMotor%i' % motorId,
                                 'farSwitch', 2, '{:d}')
        self.steps = ValueGB(moduleRow, 'ccdMotor%i' % motorId, 'steps', 3,
                             '{:g}')
        self.position = ValueGB(moduleRow, 'ccdMotor%i' % motorId, 'position',
                                4, '{:.2f}')

        for j, widget in enumerate(self.widgets):
            self.grid.addWidget(widget, 0, j)

        self.setStyleSheet(
            "QGroupBox {font-size: %ipt; border: 1px solid #d7d4d1;border-radius: 3px;margin-top: 1ex;} "
            % (styles.smallFont) +
            "QGroupBox::title {subcontrol-origin: margin;subcontrol-position: top center; padding: 0 3px;}"
        )
コード例 #11
0
    def __init__(self, parent=None) -> None:
        QGroupBox.__init__(self, title="Выполнение", parent=parent)
        # Переменная для времени старта моделирования
        self.starting_simulation_time = 0.
        # Переменная для времени старта записи в файл
        self.starting_writing_time = 0.
        # Число выполянемых итераций
        self.count_of_iteration = 0

        # Все компоненты
        # Прогресс бар
        self.bar = QProgressBar()
        self.bar.setRange(0, 10)

        # Строки состояний
        self.simulation_label = QLabel()
        self.iteration_label = QLabel()
        self.writing_label = QLabel()

        # Объеденим все виджеты в лист
        all_widgets = [self.bar,
                       self.simulation_label,
                       self.iteration_label,
                       self.writing_label]

        # Основной контейнер
        layout = QVBoxLayout(self)

        # Для всех виджетов указываем выравнивание и добавим в контейнер
        for widget in all_widgets:
            widget.setAlignment(Qt.AlignCenter)
            layout.addWidget(widget)
コード例 #12
0
    def __init__(self, frame_id, data='rgbimage', parent=None):
        """Constructor of the class

        Arguments:
            frame_id {str} -- Identificator of the frame

        Keyword Arguments:
            data {str} -- Identificator of the data type (could be 'depthimage, laser and pose) (default: {'rgbimage'})
            parent {ui.gui.views.main_view.MainView} -- Parent of this widget (default: {None})
        """

        QGroupBox.__init__(self)
        self.parent = parent
        self.id = frame_id
        self.data_type = data
        self.setObjectName(frame_id)
        self.setTitle('id:  ' + self.id + ' | Data:  ' + str(self.data_type))
        self.setAlignment(Qt.AlignCenter)
        self.is_active = False
        self.setStyleSheet(self.normal_qss)
        self.confirm.connect(self.create_widget)
        self.widget = None
        self.keep_ratio = False

        self.lay = QHBoxLayout()
        self.frame_config = FrameConfig(self)
        self.scroll = QScrollArea()
        self.scroll.setWidget(self.frame_config)
        self.scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.lay.addWidget(self.scroll, alignment=Qt.AlignCenter)

        self.setLayout(self.lay)
コード例 #13
0
    def __init__(self, parent=None, msg='No message in QWStatus...'):

        QGroupBox.__init__(self, 'State', parent)
        #QWidget.__init__(self, parent)

        icon.set_icons()
        try:
            self.setWindowIcon(icon.icon_logviewer)
        except:
            pass

        self.box_txt = QTextEdit(self)
        #self.tit_status     = QLabel(' State ', self)

        #self.setTitle('My status')

        self.vbox = QVBoxLayout()
        self.vbox.addWidget(self.box_txt)
        self.setLayout(self.vbox)

        #self.connect( self.but_close, QtCore.SIGNAL('clicked()'), self.onClose )

        self.setStatusMessage(msg)

        self.showToolTips()
        self.setStyle()

        #cp.guistatus = self
        self.timer = QTimer()
        self.timer.timeout.connect(self.on_timeout)
        self.timer.start(1000)
コード例 #14
0
    def __init__(self, parent=None):

        QGroupBox.__init__(self, 'Partition', parent)
        cp.cgwmainpartition = self

        self.but_select = QPushButton('Select')
        self.but_show = QPushButton('Show')

        self.wcoll = CGWMainCollection()

        self.hbox = QHBoxLayout()
        self.hbox.addWidget(self.but_select)
        self.hbox.addStretch(1)
        self.hbox.addWidget(self.but_show)

        self.vbox = QVBoxLayout()
        self.vbox.addLayout(self.hbox)
        self.vbox.addWidget(self.wcoll)

        self.setLayout(self.vbox)

        self.set_tool_tips()
        self.set_style()

        self.but_select.clicked.connect(self.on_but_select)
        self.but_show.clicked.connect(self.on_but_show)

        self.w_select = None
        self.w_show = None
        self.w_select = None
        self.set_buts_enabled()
コード例 #15
0
 def __init__(self, mwindow, title):
     QGroupBox.__init__(self)
     self.grid = GridLayout()
     self.setLayout(self.grid)
     self.setTitle(title)
     self.mwindow = mwindow
     self.setStyleSheet()
コード例 #16
0
    def __init__(self, accordion, title, widget):
        QGroupBox.__init__(self, accordion)

        # create the layout
        layout = QVBoxLayout()
        layout.setContentsMargins(6, 6, 6, 6)
        layout.setSpacing(0)
        layout.addWidget(widget)

        self._accordianWidget = accordion
        self._rolloutStyle = 2
        self._dragDropMode = 0

        self.setAcceptDrops(True)
        self.setLayout(layout)
        self.setContextMenuPolicy(Qt.CustomContextMenu)
        self.customContextMenuRequested.connect(self.showMenu)

        # create custom properties
        self._widget = widget
        self._collapsed = False
        self._collapsible = True
        self._clicked = False
        self._customData = {}

        # set common properties
        self.setTitle(title)
コード例 #17
0
ファイル: buttonarea.py プロジェクト: saltekar2000/sloth
    def __init__(self, name, parent=None):
        QGroupBox.__init__(self, name, parent)
        self.setLayout(FloatingLayout())

        self.name = name
        self.button_group = QButtonGroup()
        self.button_group.setExclusive(False)
        self.buttons = {}
コード例 #18
0
ファイル: GroupBox.py プロジェクト: oscarvogel/PyFE
    def __init__(self, parent=None, *args, **kwargs):
        QGroupBox.__init__(self, *args)
        if 'tamanio' in kwargs:
            self.setStyleSheet('font-size: ' + str(kwargs['tamanio']) + 'px;')
        else:
            self.setStyleSheet('font-size: 12px;')

        if 'titulo' in kwargs:
            self.setTitle(kwargs['titulo'])
コード例 #19
0
    def __init__(self):
        QGroupBox.__init__(self, 'Sample')

        self.spot_list = QListWidget()

        layout = QFormLayout()
        layout.addRow(QLabel("Spots:"), self.spot_list)

        self.setLayout(layout)
コード例 #20
0
 def __init__(self, master_client: QTMasterClient, name, command):
     QGroupBox.__init__(self, name)
     self.name = name
     self.command = command
     self.master_client = master_client
     self.data = dict(name=self.name, command=self.command)
     self.start_time = None
     self.create_ui()
     self.connect_signal()
コード例 #21
0
    def __init__(self, parent):
        QGroupBox.__init__(self, "Words")
        layout = QVBoxLayout()
        self.setLayout(layout)
        self.setFixedWidth(200)

        self.words_field = QTextEdit()
        layout.addWidget(self.words_field)

        parent.addWidget(self, QtCore.Qt.AlignTop)
コード例 #22
0
    def __init__(self, title):
        QGroupBox.__init__(self, title)
        self.vbox = QVBoxLayout()
        self.textInfo = QPlainTextEdit()
        self.textInfo.setReadOnly(True)

        self.info = ""
        self.basic_styles = "font-size: 14px; color: black; font-weight: normal; font-family: Helvetica, Arial, sans-serif;"
        self.setInfo()
        self.setLayout(self.vbox)
        self.vbox.addWidget(self.textInfo)
コード例 #23
0
 def __init__(self, parent):
     QGroupBox.__init__(self, parent)
     buttons_groupbox_layout = QHBoxLayout()
     self.setLayout(buttons_groupbox_layout)
     self.load_config_button = QPushButton("Load Configuration", self)
     self.save_config_button = QPushButton("Save Configuration", self)
     self.run_farseer_button = QPushButton("Run FarSeer-NMR", self)
     self.layout().addWidget(self.load_config_button)
     self.layout().addWidget(self.save_config_button)
     self.layout().addWidget(self.run_farseer_button)
     self.setFixedHeight(75)
コード例 #24
0
ファイル: QWLoggerError.py プロジェクト: slac-lcls/lcls2
    def __init__(self, parent=None):

        QGroupBox.__init__(self, 'Error messages', parent)

        #cp.qwloggererror = self

        self.edi_err = QTextEdit()
        self.hbox = QHBoxLayout()
        self.hbox.addWidget(self.edi_err)
        self.setLayout(self.hbox)
        self.set_style()
コード例 #25
0
    def __init__(self, module_info):
        QGroupBox.__init__(self)
        self.setupUi(self)
        self.installButtonState = None
        self.name = None

        self.module = module_info
        self.set_data()

        self.pushButton_install.clicked.connect(self.install_click_action)
        self.pushButton_update.clicked.connect(self.update_click_action)
コード例 #26
0
 def __init__(self, size=None, title=None, layout=None, **kwargs):
     QGroupBox.__init__(self)
     Container.__init__(self, layout=layout)
     parent = find_parent(Container)
     if parent is None:
         raise Exception("GroupBox needs to be defined inside a MainWindow or Dialog")
     parent.add_widget(self, **kwargs)
     if size:
         self.resize(*size)
     if title is not None:
         self.setTitle(title)
コード例 #27
0
 def __init__(self, controlPanel, fontSize=styles.smallFont):
     QGroupBox.__init__(self)
     self.controlPanel = controlPanel
     self.grid = GridLayout()
     self.grid.setContentsMargins(1, 7, 1, 1)
     self.setTitle('Commands')
     self.setLayout(self.grid)
     self.setStyleSheet(
         "QGroupBox {font-size: %ipt; border: 1px solid #d7d4d1;border-radius: 3px;margin-top: 1ex;} "
         % (fontSize) +
         "QGroupBox::title {subcontrol-origin: margin;subcontrol-position: top center; padding: 0 3px;}"
     )
コード例 #28
0
ファイル: panels.py プロジェクト: glow153/WITLAB_NLDC
    def __init__(self, title):
        QGroupBox.__init__(self, title)
        # self.setFixedSize(120, 150)
        self.setCheckable(True)
        self.setChecked(False)

        self.filterTypeList = ['jake\'s filter']

        self.cbxFilterType = QComboBox()
        self.layout = QHBoxLayout()

        self.setItemsInCbx()
        self.setComponentsWithLayout()
コード例 #29
0
    def __init__(self, parent=None, number: str = "0") -> None:
        QGroupBox.__init__(self, "Сопровождение этим МФР", parent)
        # Сохранение номера МФП
        self.number = number
        # Основные компоненты
        self.anj_check_box = QCheckBox("Постановщик АШП")
        self.auto_tracking_check_box = QCheckBox("Точное АС")
        # Основной контейнер
        layout = QVBoxLayout(self)
        layout.addWidget(self.anj_check_box)
        layout.addWidget(self.auto_tracking_check_box)

        self.setCheckable(True)
コード例 #30
0
 def __init__(self, tags=None, parent=None, status=None):
     self.settingsdialog = SettingsWin
     QGroupBox.__init__(self, parent)
     self.emits = ['onetomany', 'onetomanypreview', 'manypreview']
     self.receives = [(SELECTIONCHANGED, self.fillCombos),
                      ('previewModeChanged', lambda v: self._enablePreview()
                      if v else self._disablePreview()), ]
     self.combos = {}
     self.labels = {}
     self._hboxes = []
     self._status = status
     self._originalValues = {}
     self.__indexFuncs = []
コード例 #31
0
    def __init__(self, module, alarm):
        self.module = module
        self.alarm = alarm

        if "gatevalve" in alarm.tablename:
            self.stateGatevalve = {0: "OPEN", 1: "CLOSED", 2: "UNKNOWN", 3: "INVALID"}

        QGroupBox.__init__(self)
        self.setTitle(alarm.label)

        self.grid = QGridLayout()
        self.value = QLabel()

        self.grid.addWidget(self.value, 0, 0)
        self.setLayout(self.grid)
        self.value.setStyleSheet("QLabel{font-size: 11pt; qproperty-alignment: AlignCenter; color:white;}")
        self.getValue()
コード例 #32
0
ファイル: propertyeditor.py プロジェクト: mlilien/sloth
    def __init__(self, attribute, values, parent=None):
        QGroupBox.__init__(self, attribute, parent)
        self._attribute = attribute
        self._current_items = []
        self._defaults = {}
        self._inputField = None
        self._inputFieldType = None
        self._insertIndex = -1
        self._insertAtEnd = False
        self._shortcuts = {}

        # Setup GUI
        self._layout = FloatingLayout()
        self.setLayout(self._layout)
        self._buttons = {}

        # Add interface elements
        self.updateValues(values)
コード例 #33
0
    def __init__(self, module, deviceConf):
        QGroupBox.__init__(self)

        self.timeoutlimit = 90

        self.module = module
        self.tablename = deviceConf.tablename
        self.deviceLabel = deviceConf.deviceLabel
        self.keys = deviceConf.keys
        self.labels = deviceConf.labels
        self.units = deviceConf.units
        self.lbounds = deviceConf.lbounds
        self.ubounds = deviceConf.ubounds

        self.formats = ["{:g}" for uni in self.units]
        self.sqlRequest = "%s" % ",".join([key for key in self.keys])

        GvState = {0: "OPEN", 1: "CLOSED", 2: "UNKNOWN", 3: "INVALID"} if "gatevalve" in self.tablename else False

        self.setFlat(True)
        self.dict_label = {}
        self.grid = QGridLayout()

        self.setLayout(self.grid)
        self.prev_date = 0
        self.prev_time = datetime.datetime.now()

        devName = DeviceName(self, self.deviceLabel.capitalize())
        self.grid.addWidget(devName, 0, 0)

        for i in range(len(self.labels)):

            labelName = LabelName(self.labels[i], self.units[i])
            labelValue = LabelValue(self.formats[i], self.lbounds[i], self.ubounds[i], GvState)

            self.grid.addWidget(labelName, 3 * i + 1, 0, 3, 1)
            self.grid.addWidget(labelValue, 3 * i + 1, 1, 3, 1)

            self.dict_label[self.keys[i]] = labelValue

        self.grid.setSpacing(1)

        self.setOffline()
コード例 #34
0
    def __init__(self, plotWindow):
        self.plotWindow = plotWindow
        QGroupBox.__init__(self, 'Figure')
        layout = QVBoxLayout()
        self.sublayout = QGridLayout()
        self.curvelayout = QGridLayout()
        self.customAxes = []

        self.rowList = []
        self.allAxes = {}

        for id, axStr in Customize.id2axStr.items():
            if id is not None:
                self.constructAxe(id, axStr)

        self.checkAvailable()
        layout.addLayout(self.sublayout)
        layout.addLayout(self.curvelayout)

        self.setLayout(layout)
コード例 #35
0
    def __init__(self, mainWindow, name, devices):
        QGroupBox.__init__(self)

        self.mainWindow = mainWindow
        self.name = name
        self.devices = devices

        self.groupBox = []
        self.alarmGB = []
        self.divcoeff = 5

        self.cLayout = QHBoxLayout()
        self.alarmLayout = QHBoxLayout()
        self.gbLayout = QGridLayout()

        self.cLayout.addLayout(self.alarmLayout)
        self.cLayout.addLayout(self.gbLayout)

        self.setLayout(self.cLayout)

        self.initialize()
        self.waitforData()
コード例 #36
0
ファイル: tab_homo.py プロジェクト: roderickmackenzie/gpvdm
	def __init__(self,file_name,name):
		QGroupBox.__init__(self)
		self.file_name=file_name
		self.name=name
		self.setTitle(name)
		self.setStyleSheet("QGroupBox {  border: 1px solid gray;}")
		vbox=QVBoxLayout()
		self.setLayout(vbox)

		toolbar=QToolBar()
		toolbar.setIconSize(QSize(48, 48))

		add = QAction(QIcon(os.path.join(get_image_file_path(),"16_add.png")),  _("Add "+self.name+" mesh layer"), self)
		add.triggered.connect(self.add_item_clicked)
		toolbar.addAction(add)

		remove = QAction(QIcon(os.path.join(get_image_file_path(),"16_minus.png")),  _("Remove "+self.name+" mesh layer"), self)
		remove.triggered.connect(self.on_remove_click)
		toolbar.addAction(remove)

		vbox.addWidget(toolbar)

		self.tab = QTableWidget()

		self.tab.resizeColumnsToContents()

		self.tab.verticalHeader().setVisible(False)

		self.tab.clear()
		self.tab.setColumnCount(5)
		self.tab.setSelectionBehavior(QAbstractItemView.SelectRows)

		self.load()

		self.tab.cellChanged.connect(self.tab_changed)

		vbox.addWidget(self.tab)