You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
"""
 | 
						|
Dummy layout. Used when somebody creates an `Application` without specifying a
 | 
						|
`Layout`.
 | 
						|
"""
 | 
						|
 | 
						|
from __future__ import annotations
 | 
						|
 | 
						|
from prompt_toolkit.formatted_text import HTML
 | 
						|
from prompt_toolkit.key_binding import KeyBindings
 | 
						|
from prompt_toolkit.key_binding.key_processor import KeyPressEvent
 | 
						|
 | 
						|
from .containers import Window
 | 
						|
from .controls import FormattedTextControl
 | 
						|
from .dimension import D
 | 
						|
from .layout import Layout
 | 
						|
 | 
						|
__all__ = [
 | 
						|
    "create_dummy_layout",
 | 
						|
]
 | 
						|
 | 
						|
E = KeyPressEvent
 | 
						|
 | 
						|
 | 
						|
def create_dummy_layout() -> Layout:
 | 
						|
    """
 | 
						|
    Create a dummy layout for use in an 'Application' that doesn't have a
 | 
						|
    layout specified. When ENTER is pressed, the application quits.
 | 
						|
    """
 | 
						|
    kb = KeyBindings()
 | 
						|
 | 
						|
    @kb.add("enter")
 | 
						|
    def enter(event: E) -> None:
 | 
						|
        event.app.exit()
 | 
						|
 | 
						|
    control = FormattedTextControl(
 | 
						|
        HTML("No layout specified. Press <reverse>ENTER</reverse> to quit."),
 | 
						|
        key_bindings=kb,
 | 
						|
    )
 | 
						|
    window = Window(content=control, height=D(min=1))
 | 
						|
    return Layout(container=window, focused_element=window)
 |