mirror of
				https://github.com/slint-ui/slint.git
				synced 2025-10-30 03:27:22 +00:00 
			
		
		
		
	 c931cc28ae
			
		
	
	
		c931cc28ae
		
			
		
	
	
	
	
		
			
			* [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
		
			
				
	
	
		
			57 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| // Copyright © SixtyFPS GmbH <info@slint.dev>
 | |
| // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
 | |
| 
 | |
| import { MaterialPalette, MaterialFontSettings } from "styling.slint";
 | |
| 
 | |
| // A container widget with a title.
 | |
| export component GroupBox {
 | |
|     in property <string> title;
 | |
|     in property <bool> enabled: true;
 | |
|     in property <length> content-padding: 16px;
 | |
| 
 | |
|     accessible-role: groupbox;
 | |
|     accessible-label: root.title;
 | |
|     accessible-enabled: root.enabled;
 | |
| 
 | |
|     states [
 | |
|         disabled when !root.enabled : {
 | |
|             background.border-color: MaterialPalette.control-foreground;
 | |
|             background.opacity: 0.38;
 | |
|         }
 | |
|     ]
 | |
| 
 | |
|     VerticalLayout {
 | |
|         spacing: 4px;
 | |
| 
 | |
|         if root.title != "" : Text {
 | |
|             color: MaterialPalette.control-foreground;
 | |
|             // FIXME after Roboto font can be loaded
 | |
|             //font-family: MaterialFontSettings.body-small.font;
 | |
|             font-size: MaterialFontSettings.body-large.font-size;
 | |
|             font-weight: MaterialFontSettings.body-small.font-weight;
 | |
|             overflow: elide;
 | |
|             horizontal-alignment: center;
 | |
|             text: root.title;
 | |
| 
 | |
|             states [
 | |
|                 disabled when !root.enabled : {
 | |
|                     opacity: 0.38;
 | |
|                 }
 | |
|             ]
 | |
|         }
 | |
| 
 | |
|         background := Rectangle {
 | |
|             border-radius: 16px;
 | |
|             border-width: 1px;
 | |
|             border-color: MaterialPalette.border;
 | |
|             vertical-stretch: 1;
 | |
|             background: MaterialPalette.alternate-background;
 | |
| 
 | |
|             GridLayout {
 | |
|                 padding: root.content-padding;
 | |
| 
 | |
|                 @children
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |