qtquick: Implement the missing methods in ViewWrapper
This commit is contained in:
@@ -119,31 +119,35 @@ void ViewWrapper_qtquick::setObjectName(const QString &name)
|
|||||||
|
|
||||||
QRect ViewWrapper_qtquick::geometry() const
|
QRect ViewWrapper_qtquick::geometry() const
|
||||||
{
|
{
|
||||||
qFatal("not implemented");
|
if (isRootView()) {
|
||||||
return {};
|
if (QWindow *w = m_item->window()) {
|
||||||
|
return w->geometry();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return QRect(QPointF(m_item->x(), m_item->y()).toPoint(), m_item->size().toSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
QPoint ViewWrapper_qtquick::mapToGlobal(QPoint /*localPt*/) const
|
QPoint ViewWrapper_qtquick::mapToGlobal(QPoint localPt) const
|
||||||
{
|
{
|
||||||
qFatal("not implemented");
|
return m_item->mapToGlobal(localPt).toPoint();
|
||||||
return {};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QPoint ViewWrapper_qtquick::mapFromGlobal(QPoint /*globalPt*/) const
|
QPoint ViewWrapper_qtquick::mapFromGlobal(QPoint globalPt) const
|
||||||
{
|
{
|
||||||
qFatal("not implemented");
|
return m_item->mapFromGlobal(globalPt).toPoint();
|
||||||
return {};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ViewWrapper_qtquick::setGeometry(QRect)
|
void ViewWrapper_qtquick::setGeometry(QRect rect)
|
||||||
{
|
{
|
||||||
qFatal("not implemented");
|
setSize(rect.width(), rect.height());
|
||||||
|
ViewWrapper_qtquick::move(rect.topLeft().x(), rect.topLeft().y());
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<ViewWrapper> ViewWrapper_qtquick::childViewAt(QPoint) const
|
std::shared_ptr<ViewWrapper> ViewWrapper_qtquick::childViewAt(QPoint p) const
|
||||||
{
|
{
|
||||||
qFatal("not implemented");
|
auto child = m_item->childAt(p.x(), p.y());
|
||||||
return {};
|
return child ? asQQuickWrapper(child) : nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<Window> ViewWrapper_qtquick::window() const
|
std::shared_ptr<Window> ViewWrapper_qtquick::window() const
|
||||||
@@ -161,9 +165,17 @@ bool ViewWrapper_qtquick::isRootView() const
|
|||||||
return View_qtquick::isRootView(m_item);
|
return View_qtquick::isRootView(m_item);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ViewWrapper_qtquick::setVisible(bool)
|
void ViewWrapper_qtquick::setVisible(bool is)
|
||||||
{
|
{
|
||||||
qFatal("not implemented");
|
if (isRootView()) {
|
||||||
|
if (QWindow *w = m_item->window()) {
|
||||||
|
if (!w->isVisible()) {
|
||||||
|
w->show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
m_item->setVisible(is);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ViewWrapper_qtquick::isVisible() const
|
bool ViewWrapper_qtquick::isVisible() const
|
||||||
@@ -176,37 +188,63 @@ bool ViewWrapper_qtquick::isVisible() const
|
|||||||
return m_item->isVisible();
|
return m_item->isVisible();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ViewWrapper_qtquick::move(int, int)
|
void ViewWrapper_qtquick::move(int x, int y)
|
||||||
{
|
{
|
||||||
qFatal("not implemented");
|
if (isRootView()) {
|
||||||
|
if (QWindow *w = m_item->window()) {
|
||||||
|
w->setPosition(x, y);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
m_item->setX(x);
|
||||||
|
m_item->setY(y);
|
||||||
|
setAttribute(Qt::WA_Moved);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ViewWrapper_qtquick::activateWindow()
|
void ViewWrapper_qtquick::activateWindow()
|
||||||
{
|
{
|
||||||
qFatal("not implemented");
|
if (QWindow *w = m_item->window())
|
||||||
|
w->requestActivate();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ViewWrapper_qtquick::isMaximized() const
|
bool ViewWrapper_qtquick::isMaximized() const
|
||||||
{
|
{
|
||||||
qFatal("not implemented");
|
if (QWindow *w = m_item->window())
|
||||||
return {};
|
return w->windowStates() & Qt::WindowMaximized;
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ViewWrapper_qtquick::isMinimized() const
|
bool ViewWrapper_qtquick::isMinimized() const
|
||||||
{
|
{
|
||||||
qFatal("not implemented");
|
if (QWindow *w = m_item->window())
|
||||||
return {};
|
return w->windowStates() & Qt::WindowMinimized;
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
QSize ViewWrapper_qtquick::maximumSize() const
|
QSize ViewWrapper_qtquick::maximumSize() const
|
||||||
{
|
{
|
||||||
qFatal("not implemented");
|
if (auto view = unwrap()) {
|
||||||
return {};
|
return maximumSize();
|
||||||
|
} else {
|
||||||
|
qFatal("not implemented");
|
||||||
|
return {};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ViewWrapper_qtquick::setSize(int, int)
|
void ViewWrapper_qtquick::setSize(int w, int h)
|
||||||
{
|
{
|
||||||
qFatal("not implemented");
|
if (isRootView()) {
|
||||||
|
if (QWindow *window = m_item->window()) {
|
||||||
|
QRect windowGeo = window->geometry();
|
||||||
|
windowGeo.setSize(QSize(w, h));
|
||||||
|
window->setGeometry(windowGeo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
m_item->setSize(QSizeF(w, h));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ViewWrapper_qtquick::is(Type t) const
|
bool ViewWrapper_qtquick::is(Type t) const
|
||||||
@@ -295,9 +333,13 @@ void ViewWrapper_qtquick::setFocus(Qt::FocusReason reason)
|
|||||||
m_item->forceActiveFocus(reason);
|
m_item->forceActiveFocus(reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ViewWrapper_qtquick::setFocusPolicy(Qt::FocusPolicy)
|
void ViewWrapper_qtquick::setFocusPolicy(Qt::FocusPolicy policy)
|
||||||
{
|
{
|
||||||
qFatal("not implemented");
|
if (auto view = unwrap()) {
|
||||||
|
view->setFocusPolicy(policy);
|
||||||
|
} else {
|
||||||
|
qFatal("not implemented");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ViewWrapper_qtquick::hasFocus() const
|
bool ViewWrapper_qtquick::hasFocus() const
|
||||||
@@ -326,16 +368,24 @@ void ViewWrapper_qtquick::setWindowTitle(const QString &title)
|
|||||||
w->setTitle(title);
|
w->setTitle(title);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPoint ViewWrapper_qtquick::mapTo(View *, QPoint) const
|
QPoint ViewWrapper_qtquick::mapTo(View *parent, QPoint pos) const
|
||||||
{
|
{
|
||||||
qFatal("not implemented");
|
if (!parent)
|
||||||
return {};
|
return {};
|
||||||
|
|
||||||
|
auto parentItem = asQQuickItem(parent);
|
||||||
|
return parentItem->mapFromGlobal(m_item->mapToGlobal(pos)).toPoint();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ViewWrapper_qtquick::testAttribute(Qt::WidgetAttribute) const
|
bool ViewWrapper_qtquick::testAttribute(Qt::WidgetAttribute attr) const
|
||||||
{
|
{
|
||||||
qFatal("not implemented");
|
if (auto view = unwrap()) {
|
||||||
return {};
|
// Only real views have min size
|
||||||
|
return view->testAttribute(attr);
|
||||||
|
} else {
|
||||||
|
qFatal("not implemented");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ViewWrapper_qtquick::setCursor(Qt::CursorShape shape)
|
void ViewWrapper_qtquick::setCursor(Qt::CursorShape shape)
|
||||||
|
|||||||
@@ -450,8 +450,7 @@ QRect View_qtquick::geometry() const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QRect r(QPointF(QQuickItem::x(), QQuickItem::y()).toPoint(), QQuickItem::size().toSize());
|
return QRect(QPointF(QQuickItem::x(), QQuickItem::y()).toPoint(), QQuickItem::size().toSize());
|
||||||
return r;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QRect View_qtquick::normalGeometry() const
|
QRect View_qtquick::normalGeometry() const
|
||||||
|
|||||||
Reference in New Issue
Block a user