Пример #1
0
PartsEditorViewsWidget::PartsEditorViewsWidget(SketchModel *sketchModel, WaitPushUndoStack *undoStack, ConnectorsInfoWidget* info, QWidget *parent, ItemBase * fromItem) : QFrame(parent) {
    init();

    m_showTerminalPointsCheckBox = new QCheckBox(this);
    m_showTerminalPointsCheckBox->setText(tr("Show Anchor Points"));
    connect(m_showTerminalPointsCheckBox, SIGNAL(stateChanged(int)), this, SLOT(showHideTerminalPoints(int)));

    m_breadView = createViewImageWidget(sketchModel, undoStack, ViewLayer::BreadboardView, "breadboard_icon.png", EmptyBreadViewText, info, ViewLayer::Breadboard, fromItem);
    m_schemView = createViewImageWidget(sketchModel, undoStack, ViewLayer::SchematicView, "schematic_icon.png", EmptySchemViewText, info, ViewLayer::Schematic, fromItem);
    m_pcbView = createViewImageWidget(sketchModel, undoStack, ViewLayer::PCBView, "pcb_icon.png", EmptyPcbViewText, info, ViewLayer::Copper0, fromItem);

    m_breadView->setViewLayerIDs(ViewLayer::Breadboard, ViewLayer::BreadboardWire, ViewLayer::Breadboard, ViewLayer::BreadboardRuler, ViewLayer::BreadboardNote);
    m_schemView->setViewLayerIDs(ViewLayer::Schematic, ViewLayer::SchematicWire, ViewLayer::Schematic, ViewLayer::SchematicRuler, ViewLayer::SchematicNote);
    m_pcbView->setViewLayerIDs(ViewLayer::Schematic, ViewLayer::SchematicWire, ViewLayer::Schematic, ViewLayer::SchematicRuler, ViewLayer::PcbNote);

    connectPair(m_breadView,m_schemView);
    connectPair(m_schemView,m_pcbView);
    connectPair(m_pcbView,m_breadView);

    connectToThis(m_breadView);
    connectToThis(m_schemView);
    connectToThis(m_pcbView);


    m_viewsContainter = new QSplitter(this);
    m_viewsContainter->addWidget(addZoomControlsAndBrowseButton(m_breadView));
    m_viewsContainter->addWidget(addZoomControlsAndBrowseButton(m_schemView));
    m_viewsContainter->addWidget(addZoomControlsAndBrowseButton(m_pcbView));
    m_viewsContainter->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);

    m_guidelines = new QLabel(tr("Please refer to the <a style='color: #52182C' href='http://fritzing.org/learning/tutorials/creating-custom-parts/'>guidelines</a> before modifying or creating parts"), this);
    m_guidelines->setOpenExternalLinks(true);
    m_guidelines->setObjectName("guidelinesLabel");

    QHBoxLayout *labelLayout = new QHBoxLayout();
    labelLayout->addSpacerItem(new QSpacerItem(0,0,QSizePolicy::MinimumExpanding,QSizePolicy::Fixed));
    labelLayout->addWidget(m_guidelines);
    labelLayout->addSpacerItem(new QSpacerItem(0,0,QSizePolicy::MinimumExpanding,QSizePolicy::Fixed));

    QFrame *toolsAndInfoContainer = new QFrame(this);
    QHBoxLayout *layout2 = new QHBoxLayout(toolsAndInfoContainer);
    layout2->addLayout(labelLayout);
    layout2->addWidget(m_showTerminalPointsCheckBox);
    layout2->setMargin(1);
    layout2->setSpacing(1);

    QVBoxLayout *lo = new QVBoxLayout(this);
    lo->addWidget(m_viewsContainter);
    lo->addWidget(toolsAndInfoContainer);
    lo->setMargin(3);
    lo->setSpacing(1);

    this->resize(width(),220);
    //this->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed);
}
Пример #2
0
void SessionGroup::addSession(Session* session)
{
    _sessions.insert(session,false);

    QListIterator<Session*> masterIter(masters());

    while ( masterIter.hasNext() )
        connectPair(masterIter.next(),session);
}
Пример #3
0
void SessionGroup::setMasterStatus(Session* session , bool master)
{
    bool wasMaster = _sessions[session];
    _sessions[session] = master;

    if (    !wasMaster && !master
         || wasMaster && master )
      return;

    QListIterator<Session*> iter(_sessions.keys());
    while ( iter.hasNext() )
    {
        Session* other = iter.next();

        if ( other != session )
        {
            if ( master )
                connectPair(session,other);
            else
                disconnectPair(session,other);
        }
    }
}
Пример #4
0
void SessionGroup::connectAll(bool connect)
{
    QListIterator<Session*> masterIter(masters());

    while ( masterIter.hasNext() )
    {
        Session* master = masterIter.next();

        QListIterator<Session*> otherIter(_sessions.keys());
        while ( otherIter.hasNext() )
        {
            Session* other = otherIter.next();

            if ( other != master )
            {
                if ( connect )
                    connectPair(master,other);
                else
                    disconnectPair(master,other);
            }
        }
    }
}