static PyObject *meth_QSpacerItem_changeSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        int a0;
        int a1;
        QSizePolicy::Policy a2 = QSizePolicy::Minimum;
        QSizePolicy::Policy a3 = QSizePolicy::Minimum;
        QSpacerItem *sipCpp;

        static const char *sipKwdList[] = {
            NULL,
            NULL,
            sipName_hPolicy,
            sipName_vPolicy,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, NULL, "Bii|EE", &sipSelf, sipType_QSpacerItem, &sipCpp, &a0, &a1, sipType_QSizePolicy_Policy, &a2, sipType_QSizePolicy_Policy, &a3))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->changeSize(a0,a1,a2,a3);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QSpacerItem, sipName_changeSize, NULL);

    return NULL;
}
Ejemplo n.º 2
0
/*!
    Sets the direction of this layout to \a direction.
*/
void QBoxLayout::setDirection(Direction direction)
{
    Q_D(QBoxLayout);
    if (d->dir == direction)
        return;
    if (horz(d->dir) != horz(direction)) {
        //swap around the spacers (the "magic" bits)
        //#### a bit yucky, knows too much.
        //#### probably best to add access functions to spacerItem
        //#### or even a QSpacerItem::flip()
        for (int i = 0; i < d->list.size(); ++i) {
            QBoxLayoutItem *box = d->list.at(i);
            if (box->magic) {
                QSpacerItem *sp = box->item->spacerItem();
                if (sp) {
                    if (sp->expandingDirections() == Qt::Orientations(0) /*No Direction*/) {
                        //spacing or strut
                        QSize s = sp->sizeHint();
                        sp->changeSize(s.height(), s.width(),
                            horz(direction) ? QSizePolicy::Fixed:QSizePolicy::Minimum,
                            horz(direction) ? QSizePolicy::Minimum:QSizePolicy::Fixed);

                    } else {
                        //stretch
                        if (horz(direction))
                            sp->changeSize(0, 0, QSizePolicy::Expanding,
                                            QSizePolicy::Minimum);
                        else
                            sp->changeSize(0, 0, QSizePolicy::Minimum,
                                            QSizePolicy::Expanding);
                    }
                }
            }
        }
    }
    d->dir = direction;
    invalidate();
}
Ejemplo n.º 3
0
void QSpacerItemProto::changeSize(int w, int h, QSizePolicy::Policy hPolicy, QSizePolicy::Policy vPolicy)
{
  QSpacerItem *item = qscriptvalue_cast<QSpacerItem*>(thisObject());
  if (item)
    item->changeSize(w, h, hPolicy, vPolicy);
}