本文整理汇总了C++中currentView函数的典型用法代码示例。如果您正苦于以下问题:C++ currentView函数的具体用法?C++ currentView怎么用?C++ currentView使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了currentView函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DCHECK
void ValidationMessageClientImpl::checkAnchorStatus(Timer<ValidationMessageClientImpl>*)
{
DCHECK(m_currentAnchor);
if (monotonicallyIncreasingTime() >= m_finishTime || !currentView()) {
hideValidationMessage(*m_currentAnchor);
return;
}
// Check the visibility of the element.
// FIXME: Can we check invisibility by scrollable non-frame elements?
IntRect newAnchorRectInViewport = currentView()->contentsToViewport(m_currentAnchor->pixelSnappedBoundingBox());
// FIXME: This intersection eliminates the part of the rect outside the root view.
// If this is meant as a visiblity test, intersecting it against the viewport rect
// likely makes more sense.
newAnchorRectInViewport = intersection(currentView()->convertToRootFrame(currentView()->boundsRect()), newAnchorRectInViewport);
if (newAnchorRectInViewport.isEmpty()) {
hideValidationMessage(*m_currentAnchor);
return;
}
IntRect newAnchorRectInViewportInScreen = currentView()->getHostWindow()->viewportToScreen(newAnchorRectInViewport, currentView());
if (newAnchorRectInViewportInScreen == m_lastAnchorRectInScreen && m_webView.pageScaleFactor() == m_lastPageScaleFactor)
return;
m_lastAnchorRectInScreen = newAnchorRectInViewportInScreen;
m_lastPageScaleFactor = m_webView.pageScaleFactor();
m_webView.client()->moveValidationMessage(newAnchorRectInViewport);
}
示例2: hideValidationMessage
void ValidationMessageClientImpl::showValidationMessage(const Element& anchor, const String& message)
{
if (message.isEmpty()) {
hideValidationMessage(anchor);
return;
}
if (!anchor.renderBox())
return;
if (m_currentAnchor)
hideValidationMessage(*m_currentAnchor);
m_currentAnchor = &anchor;
IntRect anchorInRootView = currentView()->contentsToRootView(anchor.pixelSnappedBoundingBox());
m_lastAnchorRectInScreen = currentView()->hostWindow()->rootViewToScreen(anchorInRootView);
m_lastPageScaleFactor = m_webView.pageScaleFactor();
m_message = message;
WebTextDirection dir = m_currentAnchor->renderer()->style()->direction() == RTL ? WebTextDirectionRightToLeft : WebTextDirectionLeftToRight;
AtomicString title = m_currentAnchor->fastGetAttribute(HTMLNames::titleAttr);
if (m_client)
m_client->showValidationMessage(anchorInRootView, m_message, title, dir);
m_webView.client()->showValidationMessage(anchorInRootView, m_message, title, dir);
const double minimumSecondToShowValidationMessage = 5.0;
const double secondPerCharacter = 0.05;
const double statusCheckInterval = 0.1;
m_finishTime = monotonicallyIncreasingTime() + std::max(minimumSecondToShowValidationMessage, (message.length() + title.length()) * secondPerCharacter);
// FIXME: We should invoke checkAnchorStatus actively when layout, scroll,
// or page scale change happen.
m_timer.startRepeating(statusCheckInterval);
}
示例3: hideValidationMessage
void ValidationMessageClientImpl::showValidationMessage(const Element& anchor, const String& message, TextDirection messageDir, const String& subMessage, TextDirection subMessageDir)
{
if (message.isEmpty()) {
hideValidationMessage(anchor);
return;
}
if (!anchor.layoutBox())
return;
if (m_currentAnchor)
hideValidationMessage(*m_currentAnchor);
m_currentAnchor = &anchor;
IntRect anchorInViewport = currentView()->contentsToViewport(anchor.pixelSnappedBoundingBox());
m_lastAnchorRectInScreen = currentView()->getHostWindow()->viewportToScreen(anchorInViewport, currentView());
m_lastPageScaleFactor = m_webView.pageScaleFactor();
m_message = message;
const double minimumSecondToShowValidationMessage = 5.0;
const double secondPerCharacter = 0.05;
const double statusCheckInterval = 0.1;
m_webView.client()->showValidationMessage(anchorInViewport, m_message, toWebTextDirection(messageDir),
subMessage, toWebTextDirection(subMessageDir));
m_finishTime = monotonicallyIncreasingTime() + std::max(minimumSecondToShowValidationMessage, (message.length() + subMessage.length()) * secondPerCharacter);
// FIXME: We should invoke checkAnchorStatus actively when layout, scroll,
// or page scale change happen.
m_timer.startRepeating(statusCheckInterval, BLINK_FROM_HERE);
}
示例4: ASSERT
void ValidationMessageClientImpl::checkAnchorStatus(Timer<ValidationMessageClientImpl>*)
{
ASSERT(m_currentAnchor);
if (monotonicallyIncreasingTime() >= m_finishTime || !currentView()) {
hideValidationMessage(*m_currentAnchor);
return;
}
// Check the visibility of the element.
// FIXME: Can we check invisibility by scrollable non-frame elements?
IntRect newAnchorRect = currentView()->contentsToRootView(m_currentAnchor->pixelSnappedBoundingBox());
newAnchorRect = intersection(currentView()->convertToRootView(currentView()->boundsRect()), newAnchorRect);
if (newAnchorRect.isEmpty()) {
hideValidationMessage(*m_currentAnchor);
return;
}
IntRect newAnchorRectInScreen = currentView()->hostWindow()->rootViewToScreen(newAnchorRect);
if (newAnchorRectInScreen == m_lastAnchorRectInScreen && m_webView.pageScaleFactor() == m_lastPageScaleFactor)
return;
m_lastAnchorRectInScreen = newAnchorRectInScreen;
m_lastPageScaleFactor = m_webView.pageScaleFactor();
if (m_client)
m_client->moveValidationMessage(newAnchorRect);
m_webView.client()->moveValidationMessage(newAnchorRect);
}
示例5: loadBufferIntoView
void Notepad_plus::fileNew()
{
BufferID newBufID = MainFileManager->newEmptyDocument();
loadBufferIntoView(newBufID, currentView(), true); //true, because we want multiple new files if possible
activateBuffer(newBufID, currentView());
}
示例6: setUseCurrentView
void SVGSVGElement::setupInitialView(const String& fragmentIdentifier, Element* anchorNode)
{
bool hadUseCurrentView = m_useCurrentView;
if (fragmentIdentifier.startsWith("xpointer(")) {
// FIXME: XPointer references are ignored (https://bugs.webkit.org/show_bug.cgi?id=17491)
setUseCurrentView(false);
} else if (fragmentIdentifier.startsWith("svgView(")) {
if (currentView()->parseViewSpec(fragmentIdentifier))
setUseCurrentView(true);
} else if (anchorNode && anchorNode->hasTagName(SVGNames::viewTag)) {
if (SVGViewElement* viewElement = anchorNode->hasTagName(SVGNames::viewTag) ? static_cast<SVGViewElement*>(anchorNode) : 0) {
SVGElement* element = SVGLocatable::nearestViewportElement(viewElement);
if (element->hasTagName(SVGNames::svgTag)) {
SVGSVGElement* svg = static_cast<SVGSVGElement*>(element);
svg->inheritViewAttributes(viewElement);
setUseCurrentView(true);
}
}
}
if (!hadUseCurrentView) {
if (!m_useCurrentView)
return;
} else if (!m_useCurrentView)
currentView()->setTransform(emptyString());
// Force a layout, otherwise RenderSVGRoots localToBorderBoxTransform won't be rebuild.
if (RenderObject* object = renderer())
RenderSVGResource::markForLayoutAndParentResourceInvalidation(object);
// FIXME: We need to decide which <svg> to focus on, and zoom to it.
// FIXME: We need to actually "highlight" the viewTarget(s).
}
示例7: currentView
int AMBrowseScansView::numberOfSelectedItems()
{
if(!currentView())
return 0;
return currentView()->selectionModel()->selectedRows().count();
}
示例8: currentView
void ZLApplication::resetWindowCaption() {
if (!myWindow.isNull()) {
if ((currentView() == 0) || (currentView()->caption().empty())) {
myWindow->setCaption(ZLibrary::ApplicationName());
} else {
myWindow->setCaption(ZLibrary::ApplicationName() + " - " + currentView()->caption());
}
}
}
示例9: makeActive
void KateViewSpace::makeActive(bool focusCurrentView)
{
if (! isActiveSpace()) {
m_viewManager->setActiveSpace(this);
if (focusCurrentView && currentView()) {
m_viewManager->activateView(currentView()->document());
}
}
Q_ASSERT(isActiveSpace());
}
示例10: preserveAspectRatio
AffineTransform SVGSVGElement::viewBoxToViewTransform(float viewWidth, float viewHeight) const
{
AffineTransform ctm = SVGFitToViewBox::viewBoxToViewTransform(currentViewBoxRect(), preserveAspectRatio(), viewWidth, viewHeight);
if (useCurrentView() && currentView()) {
AffineTransform transform;
if (currentView()->transform().concatenate(transform))
ctm *= transform;
}
return ctm;
}
示例11: currentView
AffineTransform SVGSVGElement::viewBoxToViewTransform(float viewWidth, float viewHeight) const
{
FloatRect viewBoxRect;
if (useCurrentView()) {
if (currentView()) // what if we should use it but it is not set?
viewBoxRect = currentView()->viewBox();
} else
viewBoxRect = viewBox();
AffineTransform ctm = SVGFitToViewBox::viewBoxToViewTransform(viewBoxRect, preserveAspectRatio(), viewWidth, viewHeight);
if (useCurrentView() && currentView())
return currentView()->transform()->concatenate().matrix() * ctm;
return ctm;
}
示例12: getView
void ViewController::addView(ControllableView *view,bool destroyOld) {
ControllableView *tmpView = getView(view->type());
if(tmpView == view) return;
ControllableView * cView = currentView();
if(tmpView) removeView(tmpView,destroyOld);
m_views.append(view);
m_currentViewIndex = -1; // reset index because it can be not valid
if(cView) setCurrent(cView);
// Check if the old current view was replaced by a new one and set new to current
if(cView && !currentView()) setCurrent(view);
if(view->jsObject())
view->jsObject()->setParent(this); // for javascript access.
}
示例13: currentView
void ViewController::hideCurrentView() {
ControllableView *view = currentView();
if(view) {
qDebug() << "ViewController::hideCurrentView: " + view->objectName();
view->hide();
}
}
示例14: currentView
void SVGSVGElement::inheritViewAttributes(SVGViewElement* viewElement)
{
SVGViewSpec* view = currentView();
m_useCurrentView = true;
view->inheritViewAttributesFromElement(this);
view->inheritViewAttributesFromElement(viewElement);
}
示例15: currentView
void WebRenderMainWindow::handleDownloadRequest(QNetworkReply *reply) {
DownloadListItem *item = new DownloadListItem;
QNetworkAccessManager *qNam = currentView()->getWebView()->page()->networkAccessManager();
item->setNetworkAccessManager(qNam);
item->startDownload(reply);
item->show();
}