当前位置: 首页>>代码示例>>C++>>正文


C++ Medium::getID方法代码示例

本文整理汇总了C++中Medium::getID方法的典型用法代码示例。如果您正苦于以下问题:C++ Medium::getID方法的具体用法?C++ Medium::getID怎么用?C++ Medium::getID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Medium的用法示例。


在下文中一共展示了Medium::getID方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: addMedium

/**
 * @brief MainWindow::addMedium fügt ein Medium in die Datenbank und ins UI ein
 * @param mType Typ des Mediums
 * @param mName Titel des Mediums
 * @param mID ID des Mediums, falls verfügbar (wenn leer, dann wird eine eigene erstellt)
 * @return ID des eingefügten Mediums
 */
int MainWindow::addMedium(MType mType, QString mName, QString detail, int mID){
    QString mTypeString;
    QString mEntry;
    Medium *medium;
    QString detailType;
    /// Unterscheidung zwischen Medien Typ: erstellt verschieden Klassen und füllt die Zusatzinformationen
    switch (mType){
    case book:
        mTypeString="Buch";
        medium = new Book(mName);
        ((Book*)medium)->setAuthor(detail);
        detailType="Autor: ";
        break;
    case cd:
        mTypeString="CD";
        medium = new CD(mName);
        ((CD*)medium)->setInterpret(detail);
        detailType="Interpret: ";
        break;
    case dvd:
        mTypeString="DVD";
        medium = new DVD(mName);
        ((DVD*)medium)->setDirector(detail);
        detailType="Regisseur: ";
        break;
    default:
        mTypeString="-";
        medium = new Medium(mName);
    }
    if (detail.isEmpty()){
        detail = "-";
        detailType = "";
    }
    /// Medium in Datenbank erfassen (Fehler, falls ID bereits existiert)
    if (mID == -1){
        lendlib->addMediumToList(medium);
    } else {
        if (!lendlib->addMediumToList(medium, mID)){
            otherErr = true;
            errString = "Medium konnte nicht mit vorgegebener ID eingegeben werden.";
            checkError();
        }
    }

    mEntry = QString::number(medium->getID());

    /// UI-Elemente erstellen
    QWidget *newMedium = new QWidget;
    QHBoxLayout *newMediumLayout = new QHBoxLayout(newMedium);
    QPushButton *delB = new QPushButton("Löschen");
    QLabel *type = new QLabel(mTypeString);
    QLabel *title = new QLabel(mName);
    QLabel *lendee = new QLabel("");
    QPushButton *retlendB = new QPushButton("Ausleihen");

    /// UI-Eigenschaften anpassen
    newMedium->setObjectName(mEntry);
    newMedium->setToolTip("Typ: "+mTypeString+"\nTitel: "+mName+"\n"+detailType+detail);
    delB->setObjectName("del"+mEntry);
    delB->setToolTip("Lösche Medium "+mEntry+": "+mName);
    type->setObjectName("type"+mEntry);
    title->setObjectName("title"+mEntry);
    lendee->setObjectName("lendee"+mEntry);
    retlendB->setObjectName("retlend"+mEntry);
    retlendB->setToolTip("Leihe Medium "+mEntry+" aus: "+mName);

    newMedium->layout()->setMargin(0);
    newMedium->setStyleSheet("border-bottom: 1px solid #DEE2CF");
    delB->setStyleSheet("background: #DEE2CF;");
    delB->setMinimumWidth(60);
    delB->setMaximumWidth(60);
    delB->setMinimumHeight(25);
    delB->setMaximumHeight(25);
    connect(delB, SIGNAL (released()), this, SLOT (deleteMediumButton()));
    retlendB->setStyleSheet("background: #DEE2CF;");
    retlendB->setMinimumWidth(100);
    retlendB->setMaximumWidth(100);
    retlendB->setMinimumHeight(25);
    retlendB->setMaximumHeight(25);
    connect(retlendB, SIGNAL (released()), this, SLOT (retlendMediumButton()));
    type->setMinimumWidth(60);
    type->setMaximumWidth(60);
    lendee->setMinimumWidth(100);
    lendee->setMaximumWidth(100);

    newMediumLayout->addWidget(delB);
    newMediumLayout->addWidget(type);
    newMediumLayout->addWidget(title);
    newMediumLayout->addWidget(lendee);
    newMediumLayout->addWidget(retlendB);
    qobject_cast<QVBoxLayout*>(ui->allMediaScroll->layout())->insertWidget(getInsertPosition(mName),newMedium);

    ui->allMediaScroll->layout()->removeItem(ui->mediaSpacer);
//.........这里部分代码省略.........
开发者ID:Nos-,项目名称:htw,代码行数:101,代码来源:mainwindow.cpp


注:本文中的Medium::getID方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。