Beispiel #1
0
void SnakeList::advanceItems(){
    goToFirst();
    SnakePart* head = get();

    switch(head->direction()){
    case head->UP:
        head->setY( head->y() - head->partSize );
        break;
    case head->DOWN:
        head->setY( head->y() + head->partSize );
        break;
    case head->RIGHT:
        head->setX( head->x() + head->partSize );
        break;
    case head->LEFT:
        head->setX( head->x() - head->partSize );
        break;
    }

    goToLast();
    for(int i = count()-1; i > 1; i--){
        SnakePart* act = get();
        SnakePart* previ = 0;
        if(current->prev != 0)
            previ = current->prev->content;
        if(previ != 0 && act != 0){
            act->setDirection(previ->direction());
            act->setX(previ->x());
            act->setY(previ->y());
            act->setZ(previ->getZ());
            act->advance();
        }
        goToPrevious();
    }
}
Beispiel #2
0
void Screen::keyReleaseEvent(QKeyEvent *ev)
{
    qDebug() << __PRETTY_FUNCTION__ << __LINE__ << __FILE__;
    switch (ev->key())
    {
    case key_return:
        goToPrevious();
    default:
        break;
    }
    ev->accept();
}
Beispiel #3
0
Screen::Screen(ScreensContainer::ScreenId id , GuiHandler *guiHandler, ScreensContainer *parent)
    : m_id(id),
      m_footer(NULL),
      m_screenManager(parent),
      m_guiHandler(guiHandler)
{
    const QMetaObject &mo = ScreensContainer::staticMetaObject;
    int index = mo.indexOfEnumerator("ScreenId"); // watch out during refactorings
    QMetaEnum metaEnum = mo.enumerator(index);

    if (this->objectName().isEmpty())
        this->setObjectName(metaEnum.valueToKey(id));
    this->resize(800, 400);
    QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
    sizePolicy.setHorizontalStretch(0);
    sizePolicy.setVerticalStretch(0);
    sizePolicy.setHeightForWidth(this->sizePolicy().hasHeightForWidth());
    this->setSizePolicy(sizePolicy);
    this->setMinimumSize(QSize(800, 400)); // this includes the footer
    this->setMaximumSize(QSize(1600, 800));

    m_mainGrid = new QGridLayout(this);
    m_mainGrid->setSpacing(0);
    m_mainGrid->setObjectName("gridLayout");
    m_mainGrid->setContentsMargins(0, 0, 5, 0);
    QPalette palette;
    QBrush brush1(QColor(245, 245, 245, 255));
    brush1.setStyle(Qt::SolidPattern);
    palette.setBrush(QPalette::Active, QPalette::Window, brush1);
    palette.setBrush(QPalette::Inactive, QPalette::Base, brush1);
    palette.setBrush(QPalette::Inactive, QPalette::Window, brush1);
    palette.setBrush(QPalette::Disabled, QPalette::Base, brush1);
    palette.setBrush(QPalette::Disabled, QPalette::Window, brush1);
    this->setPalette(palette);
    this->setAutoFillBackground(true);

    connect(m_guiHandler, SIGNAL(goToPrevious()), this, SLOT(goToPrevious()));
}