QString KstIfaceImpl::activeWindow() { KstApp *app = KstApp::inst(); KMdiChildView *view = app->activeWindow(); if (view) { return view->caption(); } return QString::null; }
bool KstIfaceImpl::positionWindow(int topleftX, int topleftY, int width, int height) { KstApp *app = KstApp::inst(); KMdiChildView *win = app->activeWindow(); if (win) { if (topleftX >= 0 && topleftY >= 0 && width >= 0 && height >= 0){ QRect rectangle(topleftX, topleftY, width, height); win->setExternalGeometry(rectangle); return true; } } return false; }
bool KstIfaceImpl::setTileMode(int mode) { KstApp *app = KstApp::inst(); bool returnval = false; if (app->mdiMode() == KMdi::ChildframeMode) { KMdiChildView *activewin = app->activeWindow(); if (activewin) { returnval = true; switch (mode) { case 1: app->cascadeWindows(); break; case 2: app->cascadeMaximized(); break; case 3: app->expandVertical(); break; case 4: app->expandHorizontal(); break; case 5: app->tilePragma(); break; case 6: app->tileAnodine(); break; case 7: app->tileVertically(); break; default: returnval = false; break; } } } return returnval; }
bool KstIfaceImpl::plotEquation(const QString& xvector, const QString& equation, const QString& plotName, const QColor& color) { KstVectorPtr v; Kst2DPlotPtr plot; QString etag, ptag; KST::vectorList.lock().readLock(); KstVectorList::Iterator it = KST::vectorList.findTag(xvector); KST::vectorList.lock().unlock(); KstApp *app = KstApp::inst(); if (equation.isEmpty() || it == KST::vectorList.end()) { return false; } v = *it; etag = KST::suggestEQName(QString(equation).replace(QRegExp("[\\[\\]\\s]"), "_")); ptag = "P-" + plotName; if (!plotName.isEmpty()) { //find the plot, or P-plotName KMdiIterator<KMdiChildView*> *iter = app->createIterator(); bool found = false; while (iter->currentItem() && !found) { KMdiChildView *childview = iter->currentItem(); KstViewWindow *viewwindow = dynamic_cast<KstViewWindow*>(childview); if (viewwindow && !found) { Kst2DPlotList plotlist = viewwindow->view()->findChildrenType<Kst2DPlot>(false); Kst2DPlotList::Iterator plot_iter = plotlist.findTag(plotName); if (plot_iter != plotlist.end()) { plot = *plot_iter; found = true; } else { Kst2DPlotList::Iterator plot_iter = plotlist.findTag(ptag); if (plot_iter != plotlist.end()) { plot = *plot_iter; found = true; } } } iter->next(); } app->deleteIterator(iter); } //if the plot does not exist, create it if (!plot) { //put the plot in the active window KMdiChildView *activewin = app->activeWindow(); if (!activewin) { QString windowname = app->newWindow("W1"); activewin = app->findWindow(windowname); } KstViewWindow *viewwindow = dynamic_cast<KstViewWindow*>(activewin); if (viewwindow) { KstTopLevelViewPtr pTLV = viewwindow->view(); plot = pTLV->createObject<Kst2DPlot>(ptag); } } KstEquationPtr eq = new KstEquation(etag, equation, v, true); if (!eq->isValid()) { return false; } KstVCurveList vcurves = kstObjectSubList<KstBaseCurve,KstVCurve>(plot->Curves); KstVCurvePtr vc = new KstVCurve(KST::suggestCurveName(etag, true), eq->vX(), eq->vY(), 0L, 0L, 0L, 0L, color.isValid() ? color : KstColorSequence::next(vcurves,plot->backgroundColor())); KST::dataObjectList.lock().writeLock(); KST::dataObjectList.append(KstDataObjectPtr(eq)); KST::dataObjectList.append(KstDataObjectPtr(vc)); KST::dataObjectList.lock().unlock(); plot->addCurve(KstBaseCurvePtr(vc)); _doc->forceUpdate(); _doc->setModified(); return true; }
void KstCurveDifferentiateI::apply() { KstApp *app = KstApp::inst(); KstViewWindow *window; int maxSequences = 0; getOptions(); saveProperties(); _seqVect.clear(); _seqVect.resize(4); if (_lineColorOrder > -1) { _lineColorSeq.setRange(0, KstColorSequence::count()); _seqVect.insert(_lineColorOrder, &_lineColorSeq); maxSequences++; } if (_pointStyleOrder > -1) { _pointStyleSeq.setRange(0, KSTPOINT_MAXTYPE - 1); _seqVect.insert(_pointStyleOrder, &_pointStyleSeq); maxSequences++; } if (_lineStyleOrder > -1) { _lineStyleSeq.setRange(0, KSTLINESTYLE_MAXTYPE - 1); _seqVect.insert(_lineStyleOrder, &_lineStyleSeq); maxSequences++; } if (_lineWidthOrder > -1) { _lineWidthSeq.setRange(1, KSTLINEWIDTH_MAX); _seqVect.insert(_lineWidthOrder, &_lineWidthSeq); maxSequences++; } if (maxSequences > 0) { int i; _seqVect.resize(maxSequences); for (i = 0; i < maxSequences-1; i++) { _seqVect[i]->hookToNextSequence(_seqVect[i+1]); } _seqVect[maxSequences-1]->hookToNextSequence(0L); if (_applyTo == 0) { window = dynamic_cast<KstViewWindow*>(app->activeWindow()); if (window) { cycleWindow(window); } } else { KMdiIterator<KMdiChildView*> *it = app->createIterator(); if (it) { while (it->currentItem()) { if (_repeatAcross == 1) { _seqVect[0]->reset(); } window = dynamic_cast<KstViewWindow*>(it->currentItem()); if (window && !window->view()->children().isEmpty()) { cycleWindow(window); } it->next(); } app->deleteIterator(it); } } } close(); }