Entities now give elements config and theme parameters
This commit is contained in:
		
							parent
							
								
									4c9743387b
								
							
						
					
					
						commit
						cd8371a3f3
					
				@ -225,9 +225,8 @@ type Collapsible interface {
 | 
			
		||||
type Themeable interface {
 | 
			
		||||
	tomo.Element
 | 
			
		||||
	
 | 
			
		||||
	// SetTheme sets the element's theme to something fulfilling the
 | 
			
		||||
	// theme.Theme interface.
 | 
			
		||||
	SetTheme (tomo.Theme)
 | 
			
		||||
	// HandleThemeChange is called whenever the theme is changed.
 | 
			
		||||
	HandleThemeChange ()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Configurable represents an element that can modify its behavior to fit within
 | 
			
		||||
@ -235,7 +234,7 @@ type Themeable interface {
 | 
			
		||||
type Configurable interface {
 | 
			
		||||
	tomo.Element
 | 
			
		||||
	
 | 
			
		||||
	// SetConfig sets the element's configuration to something fulfilling
 | 
			
		||||
	// the config.Config interface.
 | 
			
		||||
	SetConfig (tomo.Config)
 | 
			
		||||
	// HandleConfigChange is called whenever configuration parameters are
 | 
			
		||||
	// changed.
 | 
			
		||||
	HandleConfigChange ()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -99,3 +99,22 @@ type ScrollableEntity interface {
 | 
			
		||||
	// as a result of a call to ScrollTo()), or their content size.
 | 
			
		||||
	NotifyScrollBoundsChange ()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ThemeableEntity is given to elements that support the Themeable interface.
 | 
			
		||||
type ThemeableEntity interface {
 | 
			
		||||
	tomo.Entity
 | 
			
		||||
 | 
			
		||||
	// Theme returns the currently active theme. When this value changes,
 | 
			
		||||
	// the HandleThemeChange method of the element is called.
 | 
			
		||||
	Theme () tomo.Theme
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ConfigurableEntity is given to elements that support the Configurable
 | 
			
		||||
// interface.
 | 
			
		||||
type ConfigurableEntity interface {
 | 
			
		||||
	tomo.Entity
 | 
			
		||||
 | 
			
		||||
	// Config returns the currently active config. When this value changes,
 | 
			
		||||
	// the HandleThemeChange method of the element is called.
 | 
			
		||||
	Config () tomo.Config
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user