title: Rule-based properties management
body: <p>If one looks at hierarchical structure of html and dfm, he could find similarities (nested structure, properties (attributes) and so on). The next step is to ask is there something like css (Cascade style sheets) in Delphi world. So for example rule like this </p>
  
  <pre><code>TPanel TPanel BorderWidth=2
  </code></pre>
  
  <p>could define that for any TPanel placed in another panel the property BorderWidth should always be 2. </p>
  
  <p>or </p>
  
  <pre><code>TPanel.MyPanel TLabel Font.Style=[fsBold] 
  </code></pre>
  
  <p>for TPanel named MyPanel any label inside should be bolded (similarly to css The particular name (MyPanel) can be equivalent to id attribute of html) </p>
  
  <p>So is there library/unit that was developed for something like this? </p>
  
  <p>I suppose there should be some challenges </p>
  
  <ul>
  <li><p>implementing this in design-time can pose some compatibility problems with internal form designer of Delphi (Probably this library can be more run-time oriented)</p></li>
  <li><p>In html world it is mostly about visual so an error could lead just to visual peculiarities, but in Delphi properties sometimes intended to be set explicitly by the programmer's hand and making it subject of mass management could pose security and stability threats.</p></li>
  </ul>
  
  <p>Nevertheless, I thought that we are too bound to properties manual changing. Even if it's copy-paste, the root of any property change is a dedicated mouse click. </p>