File: test_ui_base.py

package info (click to toggle)
python-traitsui 8.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 18,232 kB
  • sloc: python: 58,982; makefile: 113
file content (42 lines) | stat: -rw-r--r-- 1,371 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# (C) Copyright 2004-2023 Enthought, Inc., Austin, TX
# All rights reserved.
#
# This software is provided without warranty under the terms of the BSD
# license included in LICENSE.txt and may be redistributed only under
# the conditions described in the aforementioned license. The license
# is also available online at http://www.enthought.com/licenses/BSD.txt
#
# Thanks for using Enthought open source!

import unittest

from traits.api import HasTraits, Int
from traitsui.api import Item, View
from traitsui.tests._tools import (
    create_ui,
    requires_toolkit,
    ToolkitName,
)


class ObjectWithNumber(HasTraits):
    number = Int()


@requires_toolkit([ToolkitName.qt])
class TestStickyDialog(unittest.TestCase):
    """Test _StickyDialog used by the UI's Qt backend."""

    def test_sticky_dialog_with_parent(self):
        obj = ObjectWithNumber()
        obj2 = ObjectWithNumber()
        parent_view = View(Item("number"), title="Parent")
        nested = View(Item("number"), resizable=True, title="Nested")
        with create_ui(obj, dict(view=parent_view)) as ui:
            with create_ui(obj2, dict(parent=ui.control, view=nested)) as ui2:
                from pyface.qt import QtCore

                self.assertFalse(
                    ui2.control.windowState()
                    & QtCore.Qt.WindowState.WindowMaximized
                )