Extract block replacement list to its own widget
This commit is contained in:
parent
14702978f5
commit
bfafe53209
@ -25,6 +25,7 @@ class FindReplaceDialog(QtGui.QDialog, Ui_findReplaceDialog):
|
|||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
|
|
||||||
self.findReplaceBlocks = FindReplaceBlocks(editorSession, self)
|
self.findReplaceBlocks = FindReplaceBlocks(editorSession, self)
|
||||||
|
self.replaceBlocksTab.setLayout(Column(self.findReplaceBlocks.widget, margin=0))
|
||||||
|
|
||||||
self.findReplaceCommandText = FindReplaceCommandText(editorSession, self)
|
self.findReplaceCommandText = FindReplaceCommandText(editorSession, self)
|
||||||
self.commandBlocksTab.setLayout(Column(self.findReplaceCommandText.widget, margin=0))
|
self.commandBlocksTab.setLayout(Column(self.findReplaceCommandText.widget, margin=0))
|
||||||
|
@ -9,6 +9,7 @@ from mcedit2.ui.find_replace_commands import Ui_findCommandsWidget
|
|||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class FindReplaceCommandWidget(QtGui.QWidget, Ui_findCommandsWidget):
|
class FindReplaceCommandWidget(QtGui.QWidget, Ui_findCommandsWidget):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(FindReplaceCommandWidget, self).__init__()
|
super(FindReplaceCommandWidget, self).__init__()
|
||||||
|
@ -7,6 +7,7 @@ import logging
|
|||||||
from PySide import QtCore, QtGui
|
from PySide import QtCore, QtGui
|
||||||
|
|
||||||
from mcedit2.command import SimpleRevisionCommand
|
from mcedit2.command import SimpleRevisionCommand
|
||||||
|
from mcedit2.ui.find_replace_blocks import Ui_FindReplaceBlocks
|
||||||
from mcedit2.util.resources import resourcePath
|
from mcedit2.util.resources import resourcePath
|
||||||
from mcedit2.util.showprogress import showProgress
|
from mcedit2.util.showprogress import showProgress
|
||||||
from mcedit2.widgets.blockpicker import BlockTypeButton
|
from mcedit2.widgets.blockpicker import BlockTypeButton
|
||||||
@ -15,104 +16,27 @@ from mcedit2.widgets.layout import Row
|
|||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
class FindReplaceBlocksWidget(QtGui.QWidget, Ui_FindReplaceBlocks):
|
||||||
|
def __init__(self):
|
||||||
|
super(FindReplaceBlocksWidget, self).__init__()
|
||||||
|
self.setupUi(self)
|
||||||
|
|
||||||
|
|
||||||
class FindReplaceBlocks(QtCore.QObject):
|
class FindReplaceBlocks(QtCore.QObject):
|
||||||
def __init__(self, editorSession, dialog, *args, **kwargs):
|
def __init__(self, editorSession, dialog, *args, **kwargs):
|
||||||
super(FindReplaceBlocks, self).__init__(*args, **kwargs)
|
super(FindReplaceBlocks, self).__init__(*args, **kwargs)
|
||||||
self.editorSession = editorSession
|
self.editorSession = editorSession
|
||||||
self.dialog = dialog
|
self.dialog = dialog
|
||||||
|
|
||||||
header = dialog.findReplaceTable.horizontalHeader()
|
self.widget = FindReplaceBlocksWidget()
|
||||||
header.setResizeMode(0, QtGui.QHeaderView.Stretch)
|
|
||||||
header.setResizeMode(1, QtGui.QHeaderView.Stretch)
|
|
||||||
dialog.findReplaceTable.setRowCount(1)
|
|
||||||
addButton = QtGui.QPushButton("Add...", flat=True, clicked=self.addNewRow)
|
|
||||||
addButton.setIcon(QtGui.QIcon(resourcePath("mcedit2/assets/mcedit2/icons/add.png")))
|
|
||||||
addButton.setMinimumHeight(48)
|
|
||||||
addButton.setIconSize(QtCore.QSize(32, 32))
|
|
||||||
addItem = QtGui.QTableWidgetItem(text="Add...")
|
|
||||||
addItem.setSizeHint(addButton.sizeHint())
|
|
||||||
dialog.findReplaceTable.setItem(0, 0, addItem)
|
|
||||||
dialog.findReplaceTable.setSpan(0, 0, 1, 2)
|
|
||||||
dialog.findReplaceTable.setCellWidget(0, 0, addButton)
|
|
||||||
dialog.findReplaceTable.resizeRowsToContents()
|
|
||||||
dialog.findReplaceTable.resizeColumnsToContents()
|
|
||||||
dialog.blocksReplaceButton.clicked.connect(self.doReplace)
|
|
||||||
|
|
||||||
@property
|
self.widget.replacementList.editorSession = editorSession
|
||||||
def blocktypes(self):
|
self.widget.blocksReplaceButton.clicked.connect(self.doReplace)
|
||||||
return self.editorSession.worldEditor.blocktypes
|
|
||||||
|
|
||||||
def addNewRow(self):
|
|
||||||
self.addRow([self.blocktypes["air"]], self.blocktypes["air"])
|
|
||||||
|
|
||||||
def addRow(self, oldBlocks, newBlock):
|
|
||||||
row = self.dialog.findReplaceTable.rowCount() - 1
|
|
||||||
|
|
||||||
self.dialog.findReplaceTable.insertRow(row)
|
|
||||||
log.info("Row inserted")
|
|
||||||
|
|
||||||
left = QtGui.QTableWidgetItem()
|
|
||||||
right = QtGui.QTableWidgetItem()
|
|
||||||
log.info("Items created")
|
|
||||||
|
|
||||||
def frameButton(button, withRemove=False):
|
|
||||||
frame = QtGui.QFrame()
|
|
||||||
frame.button = button
|
|
||||||
layout = QtGui.QVBoxLayout()
|
|
||||||
layout.addStretch(1)
|
|
||||||
if withRemove:
|
|
||||||
removeButton = QtGui.QPushButton("", flat=True)
|
|
||||||
removeButton.setIcon(QtGui.QIcon(resourcePath("mcedit2/assets/mcedit2/icons/remove.png")))
|
|
||||||
removeButton.setIconSize(QtCore.QSize(24, 24))
|
|
||||||
|
|
||||||
def _clicked():
|
|
||||||
self.removeRow(self.dialog.findReplaceTable.row(left))
|
|
||||||
removeButton.__clicked = _clicked
|
|
||||||
removeButton.clicked.connect(_clicked)
|
|
||||||
layout.addLayout(Row((button, 1), removeButton))
|
|
||||||
else:
|
|
||||||
layout.addWidget(button)
|
|
||||||
layout.addStretch(1)
|
|
||||||
frame.setLayout(layout)
|
|
||||||
return frame
|
|
||||||
|
|
||||||
leftButton = BlockTypeButton(flat=True, multipleSelect=True)
|
|
||||||
leftButton.editorSession = self.editorSession
|
|
||||||
leftButton.blocks = oldBlocks
|
|
||||||
leftFramedButton = frameButton(leftButton)
|
|
||||||
left.setSizeHint(leftFramedButton.sizeHint())
|
|
||||||
log.info("Left button")
|
|
||||||
|
|
||||||
rightButton = BlockTypeButton(flat=True)
|
|
||||||
rightButton.editorSession = self.editorSession
|
|
||||||
rightButton.block = newBlock
|
|
||||||
rightFramedButton = frameButton(rightButton, True)
|
|
||||||
right.setSizeHint(rightFramedButton.sizeHint())
|
|
||||||
log.info("Right button")
|
|
||||||
self.dialog.findReplaceTable.setItem(row, 0, left)
|
|
||||||
self.dialog.findReplaceTable.setItem(row, 1, right)
|
|
||||||
self.dialog.findReplaceTable.setCellWidget(row, 0, leftFramedButton)
|
|
||||||
self.dialog.findReplaceTable.setCellWidget(row, 1, rightFramedButton)
|
|
||||||
self.dialog.findReplaceTable.resizeRowsToContents()
|
|
||||||
#self.findReplaceTable.resizeColumnsToContents()
|
|
||||||
log.info("Done")
|
|
||||||
|
|
||||||
def removeRow(self, row):
|
|
||||||
self.dialog.findReplaceTable.removeRow(row)
|
|
||||||
|
|
||||||
def getReplacements(self):
|
|
||||||
def _get():
|
|
||||||
for row in range(self.dialog.findReplaceTable.rowCount()-1):
|
|
||||||
left = self.dialog.findReplaceTable.cellWidget(row, 0).button
|
|
||||||
right = self.dialog.findReplaceTable.cellWidget(row, 1).button
|
|
||||||
yield left.blocks, right.block
|
|
||||||
|
|
||||||
return list(_get())
|
|
||||||
|
|
||||||
def doReplace(self):
|
def doReplace(self):
|
||||||
replacements = self.getReplacements()
|
replacements = self.widget.replacementList.getReplacements()
|
||||||
command = SimpleRevisionCommand(self.editorSession, "Replace")
|
command = SimpleRevisionCommand(self.editorSession, "Replace")
|
||||||
if self.dialog.replaceBlocksInSelectionCheckbox.isChecked():
|
if self.widget.replaceBlocksInSelectionCheckbox.isChecked():
|
||||||
selection = self.editorSession.currentSelection
|
selection = self.editorSession.currentSelection
|
||||||
else:
|
else:
|
||||||
selection = self.editorSession.currentDimension.bounds
|
selection = self.editorSession.currentDimension.bounds
|
||||||
|
47
src/mcedit2/ui/block_replacements.ui
Normal file
47
src/mcedit2/ui/block_replacements.ui
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>BlockReplacements</class>
|
||||||
|
<widget class="QWidget" name="BlockReplacements">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>607</width>
|
||||||
|
<height>337</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QTableWidget" name="findReplaceTable">
|
||||||
|
<property name="verticalScrollBarPolicy">
|
||||||
|
<enum>Qt::ScrollBarAlwaysOn</enum>
|
||||||
|
</property>
|
||||||
|
<property name="alternatingRowColors">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="selectionMode">
|
||||||
|
<enum>QAbstractItemView::NoSelection</enum>
|
||||||
|
</property>
|
||||||
|
<attribute name="verticalHeaderVisible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</attribute>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Old Blocks</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>New Blocks</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>768</width>
|
<width>781</width>
|
||||||
<height>369</height>
|
<height>416</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@ -17,79 +17,17 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QTabWidget" name="tabWidget">
|
<widget class="QTabWidget" name="tabWidget">
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>4</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="findBlocksTab">
|
<widget class="QWidget" name="findBlocksTab">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>Find Blocks</string>
|
<string>Find Blocks</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="tab">
|
<widget class="QWidget" name="replaceBlocksTab">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>Replace Blocks</string>
|
<string>Replace Blocks</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
|
||||||
<item>
|
|
||||||
<widget class="QTableWidget" name="findReplaceTable">
|
|
||||||
<property name="verticalScrollBarPolicy">
|
|
||||||
<enum>Qt::ScrollBarAlwaysOn</enum>
|
|
||||||
</property>
|
|
||||||
<property name="alternatingRowColors">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="selectionMode">
|
|
||||||
<enum>QAbstractItemView::NoSelection</enum>
|
|
||||||
</property>
|
|
||||||
<attribute name="verticalHeaderVisible">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>Old Blocks</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>New Blocks</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
|
||||||
<item>
|
|
||||||
<spacer name="horizontalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="replaceBlocksInSelectionCheckbox">
|
|
||||||
<property name="text">
|
|
||||||
<string>In Selection</string>
|
|
||||||
</property>
|
|
||||||
<property name="checked">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="blocksReplaceButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>Replace</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="itemsTab">
|
<widget class="QWidget" name="itemsTab">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
|
73
src/mcedit2/ui/find_replace_blocks.ui
Normal file
73
src/mcedit2/ui/find_replace_blocks.ui
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>FindReplaceBlocks</class>
|
||||||
|
<widget class="QWidget" name="FindReplaceBlocks">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>400</width>
|
||||||
|
<height>300</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="BlockReplacementList" name="replacementList" native="true">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="replaceBlocksInSelectionCheckbox">
|
||||||
|
<property name="text">
|
||||||
|
<string>In Selection</string>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="blocksReplaceButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Replace</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>BlockReplacementList</class>
|
||||||
|
<extends>QWidget</extends>
|
||||||
|
<header>mcedit2/widgets/block_replacement_list.h</header>
|
||||||
|
<container>1</container>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
111
src/mcedit2/widgets/block_replacement_list.py
Normal file
111
src/mcedit2/widgets/block_replacement_list.py
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
"""
|
||||||
|
block_replacements
|
||||||
|
"""
|
||||||
|
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||||
|
import logging
|
||||||
|
|
||||||
|
from PySide import QtCore, QtGui
|
||||||
|
|
||||||
|
from mcedit2.ui.block_replacements import Ui_BlockReplacements
|
||||||
|
from mcedit2.util.resources import resourcePath
|
||||||
|
from mcedit2.widgets.blockpicker import BlockTypeButton
|
||||||
|
from mcedit2.widgets.layout import Row
|
||||||
|
|
||||||
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
class BlockReplacementList(QtGui.QWidget, Ui_BlockReplacements):
|
||||||
|
def __init__(self, parent):
|
||||||
|
super(BlockReplacementList, self).__init__(parent)
|
||||||
|
self.setupUi(self)
|
||||||
|
|
||||||
|
header = self.findReplaceTable.horizontalHeader()
|
||||||
|
header.setResizeMode(0, QtGui.QHeaderView.Stretch)
|
||||||
|
header.setResizeMode(1, QtGui.QHeaderView.Stretch)
|
||||||
|
self.findReplaceTable.setRowCount(1)
|
||||||
|
addButton = QtGui.QPushButton("Add...", flat=True, clicked=self.addNewRow)
|
||||||
|
addButton.setIcon(QtGui.QIcon(resourcePath("mcedit2/assets/mcedit2/icons/add.png")))
|
||||||
|
addButton.setMinimumHeight(48)
|
||||||
|
addButton.setIconSize(QtCore.QSize(32, 32))
|
||||||
|
addItem = QtGui.QTableWidgetItem(text="Add...")
|
||||||
|
addItem.setSizeHint(addButton.sizeHint())
|
||||||
|
self.findReplaceTable.setItem(0, 0, addItem)
|
||||||
|
self.findReplaceTable.setSpan(0, 0, 1, 2)
|
||||||
|
self.findReplaceTable.setCellWidget(0, 0, addButton)
|
||||||
|
self.findReplaceTable.resizeRowsToContents()
|
||||||
|
self.findReplaceTable.resizeColumnsToContents()
|
||||||
|
|
||||||
|
self.editorSession = None
|
||||||
|
|
||||||
|
@property
|
||||||
|
def blocktypes(self):
|
||||||
|
return self.editorSession.worldEditor.blocktypes if self.editorSession else None
|
||||||
|
|
||||||
|
def addNewRow(self):
|
||||||
|
self.addRow([self.blocktypes["air"]], self.blocktypes["air"])
|
||||||
|
|
||||||
|
def addRow(self, oldBlocks, newBlock):
|
||||||
|
assert self.editorSession is not None, "Must set BlockReplacementList.editorSession before using"
|
||||||
|
|
||||||
|
row = self.findReplaceTable.rowCount() - 1
|
||||||
|
|
||||||
|
self.findReplaceTable.insertRow(row)
|
||||||
|
log.info("Row inserted")
|
||||||
|
|
||||||
|
left = QtGui.QTableWidgetItem()
|
||||||
|
right = QtGui.QTableWidgetItem()
|
||||||
|
log.info("Items created")
|
||||||
|
|
||||||
|
def frameButton(button, withRemove=False):
|
||||||
|
frame = QtGui.QFrame()
|
||||||
|
frame.button = button
|
||||||
|
layout = QtGui.QVBoxLayout()
|
||||||
|
layout.addStretch(1)
|
||||||
|
if withRemove:
|
||||||
|
removeButton = QtGui.QPushButton("", flat=True)
|
||||||
|
removeButton.setIcon(QtGui.QIcon(resourcePath("mcedit2/assets/mcedit2/icons/remove.png")))
|
||||||
|
removeButton.setIconSize(QtCore.QSize(24, 24))
|
||||||
|
|
||||||
|
def _clicked():
|
||||||
|
self.removeRow(self.findReplaceTable.row(left))
|
||||||
|
removeButton.__clicked = _clicked
|
||||||
|
removeButton.clicked.connect(_clicked)
|
||||||
|
layout.addLayout(Row((button, 1), removeButton))
|
||||||
|
else:
|
||||||
|
layout.addWidget(button)
|
||||||
|
layout.addStretch(1)
|
||||||
|
frame.setLayout(layout)
|
||||||
|
return frame
|
||||||
|
|
||||||
|
leftButton = BlockTypeButton(flat=True, multipleSelect=True)
|
||||||
|
leftButton.editorSession = self.editorSession
|
||||||
|
leftButton.blocks = oldBlocks
|
||||||
|
leftFramedButton = frameButton(leftButton)
|
||||||
|
left.setSizeHint(leftFramedButton.sizeHint())
|
||||||
|
log.info("Left button")
|
||||||
|
|
||||||
|
rightButton = BlockTypeButton(flat=True)
|
||||||
|
rightButton.editorSession = self.editorSession
|
||||||
|
rightButton.block = newBlock
|
||||||
|
rightFramedButton = frameButton(rightButton, True)
|
||||||
|
right.setSizeHint(rightFramedButton.sizeHint())
|
||||||
|
log.info("Right button")
|
||||||
|
self.findReplaceTable.setItem(row, 0, left)
|
||||||
|
self.findReplaceTable.setItem(row, 1, right)
|
||||||
|
self.findReplaceTable.setCellWidget(row, 0, leftFramedButton)
|
||||||
|
self.findReplaceTable.setCellWidget(row, 1, rightFramedButton)
|
||||||
|
self.findReplaceTable.resizeRowsToContents()
|
||||||
|
#self.findReplaceTable.resizeColumnsToContents()
|
||||||
|
log.info("Done")
|
||||||
|
|
||||||
|
def removeRow(self, row):
|
||||||
|
self.findReplaceTable.removeRow(row)
|
||||||
|
|
||||||
|
def getReplacements(self):
|
||||||
|
def _get():
|
||||||
|
for row in range(self.findReplaceTable.rowCount()-1):
|
||||||
|
left = self.findReplaceTable.cellWidget(row, 0).button
|
||||||
|
right = self.findReplaceTable.cellWidget(row, 1).button
|
||||||
|
yield left.blocks, right.block
|
||||||
|
|
||||||
|
return list(_get())
|
Reference in New Issue
Block a user