Fixed #271 (proposal, more choices for the cell origin on 'make cell')

This commit is contained in:
Matthias Koefferlein 2019-06-18 00:50:21 +02:00
parent f59e49d678
commit eecb62906c
7 changed files with 580 additions and 167 deletions

View File

@ -1,55 +1,351 @@
<ui version="4.0" >
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MakeCellOptionsDialog</class>
<widget class="QDialog" name="MakeCellOptionsDialog" >
<property name="geometry" >
<widget class="QDialog" name="MakeCellOptionsDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>462</width>
<height>159</height>
<width>483</width>
<height>367</height>
</rect>
</property>
<property name="windowTitle" >
<string>Dialog</string>
<property name="windowTitle">
<string>Make Cell</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<layout class="QVBoxLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin">
<number>9</number>
</property>
<property name="topMargin">
<number>9</number>
</property>
<property name="rightMargin">
<number>9</number>
</property>
<property name="bottomMargin">
<number>9</number>
</property>
<item>
<widget class="QGroupBox" name="groupBox" >
<property name="title" >
<string>Make Cell</string>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Name of cell to make from selected shapes and instances:</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<layout class="QVBoxLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin">
<number>9</number>
</property>
<property name="topMargin">
<number>9</number>
</property>
<property name="rightMargin">
<number>9</number>
</property>
<property name="bottomMargin">
<number>9</number>
</property>
<item>
<widget class="QLabel" name="label" >
<property name="text" >
<string>Name of cell to make from selected shapes and instances:</string>
</property>
</widget>
<widget class="QLineEdit" name="cell_name_le"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="origin_groupbox">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="title">
<string>Put origin relative to cell's bounding bo&amp;x at ...</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLineEdit" name="cell_name_le" />
<widget class="QFrame" name="frame_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="_2">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin">
<number>9</number>
</property>
<property name="topMargin">
<number>9</number>
</property>
<property name="rightMargin">
<number>9</number>
</property>
<property name="bottomMargin">
<number>9</number>
</property>
<item>
<spacer>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>64</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QFrame" name="frame_3">
<property name="frameShape">
<enum>QFrame::Box</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<layout class="QGridLayout" name="_3">
<property name="leftMargin">
<number>15</number>
</property>
<property name="topMargin">
<number>15</number>
</property>
<property name="rightMargin">
<number>15</number>
</property>
<property name="bottomMargin">
<number>15</number>
</property>
<property name="spacing">
<number>6</number>
</property>
<item row="0" column="2">
<widget class="QToolButton" name="ct">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/ct.png</normaloff>:/ct.png</iconset>
</property>
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QToolButton" name="lt">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/lt.png</normaloff>:/lt.png</iconset>
</property>
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QToolButton" name="rt">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/rt.png</normaloff>:/rt.png</iconset>
</property>
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QToolButton" name="lc">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/lc.png</normaloff>:/lc.png</iconset>
</property>
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QToolButton" name="cc">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/cc.png</normaloff>:/cc.png</iconset>
</property>
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QToolButton" name="rc">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/rc.png</normaloff>:/rc.png</iconset>
</property>
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QToolButton" name="lb">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/lb.png</normaloff>:/lb.png</iconset>
</property>
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QToolButton" name="cb">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/cb.png</normaloff>:/cb.png</iconset>
</property>
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QToolButton" name="rb">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/rb.png</normaloff>:/rb.png</iconset>
</property>
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>88</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" >
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>16</height>
@ -58,18 +354,20 @@
</spacer>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox" >
<property name="orientation" >
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons" >
<set>QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<resources>
<include location="../../lay/lay/layResources.qrc"/>
</resources>
<connections>
<connection>
<sender>buttonBox</sender>
@ -77,11 +375,11 @@
<receiver>MakeCellOptionsDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel" >
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel" >
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
@ -93,11 +391,11 @@
<receiver>MakeCellOptionsDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel" >
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel" >
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>

View File

@ -336,28 +336,80 @@ MakeCellOptionsDialog::MakeCellOptionsDialog (QWidget *parent)
: QDialog (parent)
{
setupUi (this);
setObjectName (QString::fromUtf8 ("make_cell_options_dialog"));
QToolButton *buttons[3][3] = { { lb, cb, rb }, { lc, cc, rc }, { lt, ct, rt } };
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
connect (buttons[i][j], SIGNAL (clicked ()), this, SLOT (button_clicked ()));
}
}
}
bool
MakeCellOptionsDialog::exec_dialog (const db::Layout &layout, std::string &name)
MakeCellOptionsDialog::exec_dialog (const db::Layout &layout, std::string &name, int &mode_x, int &mode_y)
{
do {
BEGIN_PROTECTED
QToolButton *buttons[3][3] = { { lb, cb, rb }, { lc, cc, rc }, { lt, ct, rt } };
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
buttons[i][j]->setChecked (j - 1 == mode_x && i - 1 == mode_y);
}
}
origin_groupbox->setChecked (mode_x >= -1);
if (QDialog::exec ()) {
if (origin_groupbox->isChecked ()) {
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
if (buttons[i][j]->isChecked ()) {
mode_x = j - 1;
mode_y = i - 1;
}
}
}
} else {
mode_x = mode_y = -2;
}
name = tl::to_string (cell_name_le->text ());
if (name.empty ()) {
throw tl::Exception (tl::to_string (QObject::tr ("Cell name must not be empty")));
} else if (layout.cell_by_name (name.c_str ()).first) {
throw tl::Exception (tl::to_string (QObject::tr ("A cell with that name already exists: ")) + name);
}
return true;
} else {
return false;
}
END_PROTECTED
} while (true);
}
void
MakeCellOptionsDialog::button_clicked ()
{
QToolButton *buttons[3][3] = { { lb, cb, rb }, { lc, cc, rc }, { lt, ct, rt } };
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
if (buttons [i][j] != sender ()) {
buttons [i][j]->setChecked (false);
}
}
}
}
// --------------------------------------------------------------------------------
// RoundCornerOptionsDialog implementation

View File

@ -134,9 +134,14 @@ class MakeCellOptionsDialog
: public QDialog,
private Ui::MakeCellOptionsDialog
{
Q_OBJECT
public:
MakeCellOptionsDialog (QWidget *parent);
bool exec_dialog (const db::Layout &layout, std::string &name);
bool exec_dialog (const db::Layout &layout, std::string &name, int &mode_x, int &mode_y);
private slots:
void button_clicked ();
};
/**
@ -146,6 +151,8 @@ class MakeArrayOptionsDialog
: public QDialog,
private Ui::MakeArrayOptionsDialog
{
Q_OBJECT
public:
MakeArrayOptionsDialog (QWidget *parent);
bool exec_dialog (db::DVector &a, unsigned int &na, db::DVector &b, unsigned int &nb);
@ -160,6 +167,8 @@ class RoundCornerOptionsDialog
: public QDialog,
private Ui::RoundCornerOptionsDialog
{
Q_OBJECT
public:
RoundCornerOptionsDialog (QWidget *parent);
~RoundCornerOptionsDialog ();

View File

@ -58,11 +58,11 @@ MainService::MainService (db::Manager *manager, lay::LayoutView *view, lay::Plug
m_flatten_insts_levels (std::numeric_limits<int>::max ()),
m_flatten_prune (false),
m_align_hmode (0), m_align_vmode (0), m_align_visible_layers (false),
m_origin_mode_x (-1), m_origin_mode_y (-1), m_origin_visible_layers_for_bbox (false),
m_array_a (0.0, 1.0), m_array_b (1.0, 0.0),
m_array_na (1), m_array_nb (1)
{
// collect the options pages and build the options dialog
std::vector<edt::Service *> edt_services = mp_view->get_plugins <edt::Service> ();
{
// .. nothing yet ..
}
MainService::~MainService ()
@ -912,7 +912,7 @@ MainService::cm_make_cell ()
const lay::CellView &cv = view ()->cellview (cv_index);
if (dialog.exec_dialog (cv->layout (), m_make_cell_name)) {
if (dialog.exec_dialog (cv->layout (), m_make_cell_name, m_origin_mode_x, m_origin_mode_y)) {
// Compute the selection's bbox to establish a good origin for the new cell
db::Box selection_bbox;
@ -940,8 +940,13 @@ MainService::cm_make_cell ()
db::Cell &target_cell = cv->layout ().cell (target_ci);
// create target cell instance
db::Instance target_cell_inst = cv.cell ()->insert (db::CellInstArray (db::CellInst (target_ci), db::Trans (selection_bbox.lower_left () - db::Point ())));
db::ICplxTrans to = db::ICplxTrans (db::Trans (db::Point () - selection_bbox.lower_left ()));
db::Vector ref;
if (m_origin_mode_x >= -1) {
ref = db::Vector (selection_bbox.left () + ((m_origin_mode_x + 1) * selection_bbox.width ()) / 2, selection_bbox.bottom () + ((m_origin_mode_y + 1) * selection_bbox.height ()) / 2);
}
db::Instance target_cell_inst = cv.cell ()->insert (db::CellInstArray (db::CellInst (target_ci), db::Trans (ref)));
db::ICplxTrans to = db::ICplxTrans (db::Trans (-ref));
for (std::vector<edt::Service *>::const_iterator es = edt_services.begin (); es != edt_services.end (); ++es) {

View File

@ -201,6 +201,8 @@ private:
int m_align_vmode;
bool m_align_visible_layers;
std::string m_make_cell_name;
int m_origin_mode_x, m_origin_mode_y;
bool m_origin_visible_layers_for_bbox;
db::DVector m_array_a, m_array_b;
unsigned int m_array_na, m_array_nb;

View File

@ -99,3 +99,6 @@ plugins.depends += lib rdb db
}
unit_tests.depends += plugins $$MAIN_DEPENDS
RESOURCES += \
laybasic/laybasic/layResources.qrc

View File

@ -1,7 +1,8 @@
<ui version="4.0" >
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>AlignCellOptionsDialog</class>
<widget class="QDialog" name="AlignCellOptionsDialog" >
<property name="geometry" >
<widget class="QDialog" name="AlignCellOptionsDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
@ -9,52 +10,68 @@
<height>342</height>
</rect>
</property>
<property name="windowTitle" >
<string>Align Cell</string>
<property name="windowTitle">
<string>Adjust Cell Origin</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<layout class="QVBoxLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin">
<number>9</number>
</property>
<property name="topMargin">
<number>9</number>
</property>
<property name="rightMargin">
<number>9</number>
</property>
<property name="bottomMargin">
<number>9</number>
</property>
<item>
<widget class="QLabel" name="label" >
<property name="text" >
<widget class="QLabel" name="label">
<property name="text">
<string>Put origin relative to cell's bounding box at ...</string>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_2" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>0</hsizetype>
<vsizetype>0</vsizetype>
<widget class="QFrame" name="frame_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape" >
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow" >
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" >
<property name="margin" >
<layout class="QHBoxLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin">
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
<property name="topMargin">
<number>9</number>
</property>
<property name="rightMargin">
<number>9</number>
</property>
<property name="bottomMargin">
<number>9</number>
</property>
<item>
<spacer>
<property name="orientation" >
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<property name="sizeHint" stdset="0">
<size>
<width>64</width>
<height>20</height>
@ -63,187 +80,205 @@
</spacer>
</item>
<item>
<widget class="QFrame" name="frame_3" >
<property name="frameShape" >
<widget class="QFrame" name="frame_3">
<property name="frameShape">
<enum>QFrame::Box</enum>
</property>
<property name="frameShadow" >
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<layout class="QGridLayout" >
<property name="margin" >
<layout class="QGridLayout">
<property name="leftMargin">
<number>15</number>
</property>
<property name="spacing" >
<property name="topMargin">
<number>15</number>
</property>
<property name="rightMargin">
<number>15</number>
</property>
<property name="bottomMargin">
<number>15</number>
</property>
<property name="spacing">
<number>6</number>
</property>
<item row="0" column="2" >
<widget class="QToolButton" name="ct" >
<property name="text" >
<item row="0" column="2">
<widget class="QToolButton" name="ct">
<property name="text">
<string>...</string>
</property>
<property name="icon" >
<iconset resource="layResources.qrc" >:/ct.png</iconset>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/ct.png</normaloff>:/ct.png</iconset>
</property>
<property name="iconSize" >
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable" >
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0" >
<widget class="QToolButton" name="lt" >
<property name="text" >
<item row="0" column="0">
<widget class="QToolButton" name="lt">
<property name="text">
<string>...</string>
</property>
<property name="icon" >
<iconset resource="layResources.qrc" >:/lt.png</iconset>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/lt.png</normaloff>:/lt.png</iconset>
</property>
<property name="iconSize" >
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable" >
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="3" >
<widget class="QToolButton" name="rt" >
<property name="text" >
<item row="0" column="3">
<widget class="QToolButton" name="rt">
<property name="text">
<string>...</string>
</property>
<property name="icon" >
<iconset resource="layResources.qrc" >:/rt.png</iconset>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/rt.png</normaloff>:/rt.png</iconset>
</property>
<property name="iconSize" >
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable" >
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QToolButton" name="lc" >
<property name="text" >
<item row="1" column="0">
<widget class="QToolButton" name="lc">
<property name="text">
<string>...</string>
</property>
<property name="icon" >
<iconset resource="layResources.qrc" >:/lc.png</iconset>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/lc.png</normaloff>:/lc.png</iconset>
</property>
<property name="iconSize" >
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable" >
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="2" >
<widget class="QToolButton" name="cc" >
<property name="text" >
<item row="1" column="2">
<widget class="QToolButton" name="cc">
<property name="text">
<string>...</string>
</property>
<property name="icon" >
<iconset resource="layResources.qrc" >:/cc.png</iconset>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/cc.png</normaloff>:/cc.png</iconset>
</property>
<property name="iconSize" >
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable" >
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="3" >
<widget class="QToolButton" name="rc" >
<property name="text" >
<item row="1" column="3">
<widget class="QToolButton" name="rc">
<property name="text">
<string>...</string>
</property>
<property name="icon" >
<iconset resource="layResources.qrc" >:/rc.png</iconset>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/rc.png</normaloff>:/rc.png</iconset>
</property>
<property name="iconSize" >
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable" >
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0" >
<widget class="QToolButton" name="lb" >
<property name="text" >
<item row="2" column="0">
<widget class="QToolButton" name="lb">
<property name="text">
<string>...</string>
</property>
<property name="icon" >
<iconset resource="layResources.qrc" >:/lb.png</iconset>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/lb.png</normaloff>:/lb.png</iconset>
</property>
<property name="iconSize" >
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable" >
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="2" >
<widget class="QToolButton" name="cb" >
<property name="text" >
<item row="2" column="2">
<widget class="QToolButton" name="cb">
<property name="text">
<string>...</string>
</property>
<property name="icon" >
<iconset resource="layResources.qrc" >:/cb.png</iconset>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/cb.png</normaloff>:/cb.png</iconset>
</property>
<property name="iconSize" >
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable" >
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="3" >
<widget class="QToolButton" name="rb" >
<property name="text" >
<item row="2" column="3">
<widget class="QToolButton" name="rb">
<property name="text">
<string>...</string>
</property>
<property name="icon" >
<iconset resource="layResources.qrc" >:/rb.png</iconset>
<property name="icon">
<iconset resource="../../lay/lay/layResources.qrc">
<normaloff>:/rb.png</normaloff>:/rb.png</iconset>
</property>
<property name="iconSize" >
<property name="iconSize">
<size>
<width>31</width>
<height>31</height>
</size>
</property>
<property name="checkable" >
<property name="checkable">
<bool>true</bool>
</property>
</widget>
@ -253,10 +288,10 @@
</item>
<item>
<spacer>
<property name="orientation" >
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<property name="sizeHint" stdset="0">
<size>
<width>88</width>
<height>20</height>
@ -268,28 +303,28 @@
</widget>
</item>
<item>
<widget class="QCheckBox" name="vis_only_cbx" >
<property name="text" >
<widget class="QCheckBox" name="vis_only_cbx">
<property name="text">
<string>Use visible layers only for bounding box</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="adjust_calls_cbx" >
<property name="text" >
<widget class="QCheckBox" name="adjust_calls_cbx">
<property name="text">
<string>Adjust instances in parents</string>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" >
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>8</height>
@ -298,26 +333,35 @@
</spacer>
</item>
<item>
<widget class="QFrame" name="frame" >
<property name="frameShape" >
<widget class="QFrame" name="frame">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow" >
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" >
<property name="margin" >
<layout class="QHBoxLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<spacer>
<property name="orientation" >
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<property name="sizeHint" stdset="0">
<size>
<width>209</width>
<height>20</height>
@ -326,18 +370,18 @@
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButton" >
<property name="text" >
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>Ok</string>
</property>
<property name="default" >
<property name="default">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_2" >
<property name="text" >
<widget class="QPushButton" name="pushButton_2">
<property name="text">
<string>Cancel</string>
</property>
</widget>
@ -362,7 +406,7 @@
<tabstop>vis_only_cbx</tabstop>
</tabstops>
<resources>
<include location="layResources.qrc" />
<include location="../../lay/lay/layResources.qrc"/>
</resources>
<connections>
<connection>
@ -371,11 +415,11 @@
<receiver>AlignCellOptionsDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel" >
<hint type="sourcelabel">
<x>237</x>
<y>203</y>
</hint>
<hint type="destinationlabel" >
<hint type="destinationlabel">
<x>147</x>
<y>81</y>
</hint>
@ -387,11 +431,11 @@
<receiver>AlignCellOptionsDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel" >
<hint type="sourcelabel">
<x>325</x>
<y>202</y>
</hint>
<hint type="destinationlabel" >
<hint type="destinationlabel">
<x>325</x>
<y>57</y>
</hint>