                     }
 
                     data[operation]?.button.isSelected=true
+                    data[operation]?.function()
                     DispatchQueue.main.asyncAfter(deadline: .now() + durationOfTap) { [weak self] in
                         self?.data[operation]?.button.isSelected=false
                     }

    public func addComponentSliderRed        (side:CGFloat = 32, title:NSAttributedString? = nil, action:((Int)->Bool)? = nil) -> ComponentSlider {
        let slider = self.addComponentSlider(label  : "R" | UIColor.white | UIFont.systemFont(ofSize: UIFont.smallSystemFontSize),
                                             title  : title,
                                             color  : UIColor(rgb:[1,0,0]),
                                             side   : side)
        
        slider.update = { [weak self] slider,color,animate in

            return data[`for`]?.function
        }
        
        public func set(for:Operation, function:@escaping ()->()) {
            if var data = data[`for`] {
                data.function = function
                self.data[`for`] = data
