void PropertiesPalette_Group::handleSelectionChanged() { if (!m_haveDoc || !m_ScMW || m_ScMW->scriptIsRunning()) return; PageItem* currItem = currentItemFromSelection(); if (m_doc->m_Selection->count() > 1) { bool widgetEnabled = false; if (m_haveItem && m_item) { if ((m_item->isGroup()) && (!m_item->isSingleSel)) widgetEnabled = true; } setEnabled(widgetEnabled); } else { int itemType = currItem ? (int) currItem->itemType() : -1; m_haveItem = (itemType != -1); switch (itemType) { case -1: setEnabled(false); break; case PageItem::ImageFrame: case PageItem::LatexFrame: case PageItem::OSGFrame: if (currItem->asOSGFrame()) { setEnabled(false); } break; case PageItem::Arc: case PageItem::TextFrame: case PageItem::Line: case PageItem::ItemType1: case PageItem::ItemType3: case PageItem::Polygon: case PageItem::PolyLine: case PageItem::PathText: case PageItem::RegularPolygon: setEnabled(false); break; case PageItem::Symbol: setEnabled(true); break; } } if (currItem) { setCurrentItem(currItem); } updateGeometry(); repaint(); }
void PropertyWidget_PathText::handleSelectionChanged() { if (!m_doc || !m_ScMW || m_ScMW->scriptIsRunning()) return; PageItem* currItem = currentItemFromSelection(); setCurrentItem(currItem); updateGeometry(); }
void PropertiesPalette_Shadow::handleSelectionChanged() { if (!m_haveDoc || !m_ScMW || m_ScMW->scriptIsRunning()) return; PageItem* currItem = currentItemFromSelection(); if (currItem) setCurrentItem(currItem); updateGeometry(); }
void PropertiesPalette_Line::handleSelectionChanged() { if (!m_haveDoc || !m_ScMW || m_ScMW->scriptIsRunning()) return; PageItem* currItem = currentItemFromSelection(); if (m_doc->m_Selection->count() > 1) { setEnabled(true); } else { int itemType = currItem ? (int) currItem->itemType() : -1; m_haveItem = (itemType != -1); lineMode->setEnabled(false); switch (itemType) { case -1: setEnabled(false); break; case PageItem::ImageFrame: case PageItem::LatexFrame: case PageItem::OSGFrame: setEnabled(currItem->asOSGFrame() == NULL); break; case PageItem::Line: setEnabled(true); lineMode->setEnabled(true); break; case PageItem::Arc: case PageItem::ItemType1: case PageItem::ItemType3: case PageItem::Polygon: case PageItem::PolyLine: case PageItem::PathText: case PageItem::RegularPolygon: case PageItem::TextFrame: setEnabled(true); break; case PageItem::Symbol: setEnabled(false); break; } } if (currItem) { setCurrentItem(currItem); } updateGeometry(); //repaint(); }
void PropertiesPalette_Text::handleSelectionChanged() { if (!m_haveDoc || !m_ScMW || m_ScMW->scriptIsRunning()) return; PageItem* currItem = currentItemFromSelection(); if (m_doc->m_Selection->count() > 1 ) { setEnabled(false); flopBox->flopRealHeight->setChecked(true); } else { int itemType = currItem ? (int) currItem->itemType() : -1; m_haveItem = (itemType != -1); switch (itemType) { case -1: m_haveItem = false; setEnabled(false); break; case PageItem::TextFrame: case PageItem::PathText: setEnabled(true); break; case PageItem::Table: setEnabled(m_doc->appMode == modeEditTable); break; default: setEnabled(false); break; } } if (currItem) { setCurrentItem(currItem); } updateGeometry(); //repaint(); }
void PropertiesPalette_XYZ::handleSelectionChanged() { if (!m_haveDoc || !m_ScMW || m_ScMW->scriptIsRunning()) return; nameEdit->setEnabled(m_doc->m_Selection->count() == 1); PageItem* currItem = currentItemFromSelection(); if (m_doc->m_Selection->count() > 1) { m_oldRotation = 0; double gx, gy, gh, gw; m_doc->m_Selection->getGroupRect(&gx, &gy, &gw, &gh); int bp = basePointWidget->checkedId(); if (bp == 0) m_ScMW->view->RCenter = FPoint(gx, gy); else if (bp == 1) m_ScMW->view->RCenter = FPoint(gx + gw, gy); else if (bp == 2) m_ScMW->view->RCenter = FPoint(gx + gw / 2.0, gy + gh / 2.0); else if (bp == 3) m_ScMW->view->RCenter = FPoint(gx, gy + gh); else if (bp == 0) m_ScMW->view->RCenter = FPoint(gx + gw, gy + gh); xposLabel->setText( tr( "&X-Pos:" ) ); widthLabel->setText( tr( "&Width:" ) ); yposLabel->setText( tr( "&Y-Pos:" ) ); heightLabel->setText( tr( "&Height:" ) ); xposSpin->showValue(gx); yposSpin->showValue(gy); widthSpin->showValue(gw); heightSpin->showValue(gh); rotationSpin->showValue(0); xposSpin->setEnabled(true); yposSpin->setEnabled(true); widthSpin->setEnabled(true); heightSpin->setEnabled(true); rotationSpin->setEnabled(true); nameEdit->setEnabled(false); flipH->setCheckable( false ); flipV->setCheckable( false ); flipH->setChecked(false); flipV->setChecked(false); flipH->setEnabled(true); flipV->setEnabled(true); setEnabled(true); } else { int itemType = currItem ? (int) currItem->itemType() : -1; m_haveItem = (itemType!=-1); if (itemType == -1) { doGroup->setEnabled(false); doUnGroup->setEnabled(false); } nameEdit->setEnabled(true); basePointWidget->setEnabled(true); setEnabled(true); //CB If Toggle is not possible, then we need to enable it so we can turn it off //It then gets reset below for items where its valid flipH->setCheckable(true); flipV->setCheckable(true); if ((itemType == 2) || (itemType == 4) || ((itemType >= 9) && (itemType <= 12)) || (itemType == 15)) { flipH->setCheckable(true); flipV->setCheckable(true); } else { flipH->setCheckable(false); flipV->setCheckable(false); flipH->setChecked(false); flipV->setChecked(false); } //CB Why cant we do this for lines? // flipH->setEnabled((itemType !=-1) && (itemType !=5)); // flipV->setEnabled((itemType !=-1) && (itemType !=5)); flipH->setEnabled(itemType !=-1); flipV->setEnabled(itemType !=-1); switch (itemType) { case -1: xposLabel->setText( tr( "&X-Pos:" ) ); widthLabel->setText( tr( "&Width:" ) ); yposLabel->setText( tr( "&Y-Pos:" ) ); heightLabel->setText( tr( "&Height:" ) ); xposSpin->showValue(0); yposSpin->showValue(0); widthSpin->showValue(0); heightSpin->showValue(0); rotationSpin->showValue(0); levelLabel->setText(" "); setEnabled(false); break; case PageItem::ImageFrame: case PageItem::LatexFrame: case PageItem::OSGFrame: #ifdef HAVE_OSG if (currItem->asOSGFrame()) { setEnabled(true); rotationSpin->setEnabled(false); } #endif break; case PageItem::Line: basePointWidget->setEnabled(false); break; } } if (currItem) { setCurrentItem(currItem); } updateGeometry(); repaint(); }