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); }
void SessionGroup::addSession(Session* session) { _sessions.insert(session,false); QListIterator<Session*> masterIter(masters()); while ( masterIter.hasNext() ) connectPair(masterIter.next(),session); }
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); } } }
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); } } } }