User Tools

Site Tools


macros:active_binding

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
macros:active_binding [2017/11/22 08:01] – created icke_siegenmacros:active_binding [2019/01/04 16:43] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Active Binding ====== ====== Active Binding ======
  
-You will have noticed that the factory macros for palette fade time and palette overlap feature something special: if e.g. you fire the macro to set palette overlap to 50%, this macro handle (key or button) is highlighted as active until you set palette overlap to another value. In this case, this is very useful to always have an overview what values overlap and fade are set to.+You will have noticed that the factory macros for palette fade time and palette overlap feature something special: if e.g. you fire the macro to set palette overlap to 50%, this macro handle (key or button) is highlighted as active until you set palette overlap to another value. In this case, this is very useful to always have an overview what values overlap and fade time are set to.
  
-Having a look into the code receals the secret:+Having a look into the code reveals the secret:
  
 <code xml> <code xml>
Line 19: Line 19:
 ''<active binding="{propertyLink id='Palette.MasterOverlap' converter='Math.EqualityConverter' converterParameter='0.5'}"/>'' ''<active binding="{propertyLink id='Palette.MasterOverlap' converter='Math.EqualityConverter' converterParameter='0.5'}"/>''
  
-A reasonable assumption for this to understand is:+You could read this as 
  
   * bind the 'active'ness of this handle to a condition   * bind the 'active'ness of this handle to a condition
Line 27: Line 27:
     * a certain value, see ''converterParameter='0.5' ''.     * a certain value, see ''converterParameter='0.5' ''.
  
-At he moment, this is only listed here for information. There are few potentially interesting aspects which might eventually be looked into: +Another - simpler - way would be to directly link to property which needs to be of type [[macros:type:boolean]]:
-  * this is, next to ''description'' and ''sequence'', another child of the ''macro'' element +
-  * interesting syntax, with curly braces {} and propertyLink, converter, and converterParameter. Maybe we meet this again somewhere :-)+
  
 +''<active binding="Windows.Scrolling.ScrollLock" />''
 +
 +In any case, **you can only bind to properties, not to functions**. 
 +  The active binding requires there to be a property, properties fire events
 +  when they change which allow the UI to update. Generally the UI does not 
 +  continually call functions to get current values it depends on events to 
 +  allow it to update. (Gregory Haynes)
 +  
 +//This is the reason why currently there is no way to use active binding to show whether a trigger mapping is enabled in [[macros:example:toggletriggermappings]] - there are no universal properties available for this as at compile time it is not known how many trigger mappings should be supported.//
 +
 +Active binding is referred to in these examples:
 +
 +{{backlinks>.#macros:example}}
macros/active_binding.1511337691.txt.gz · Last modified: 2017/11/22 08:01 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki