Rule Of Halves Buttons
Using update
In your operator add a property
double_angle = BoolProperty(update=self.double_angle)

Add a double_angle method to your operator
class sharpenOperator(bpy.types.Operator):
    '''ToolTip'''
    
    def double_angle(self, context):
        if self.double_angle:
            self.angle *= 2
            self.double_angle = False

Add to the draw method
    row = box.row(align=True)
    sub = row.row()
    sub.alignment = 'LEFT'
    sub.prop(self, &quot;double_angle&quot;, text=&quot;&quot;, icon='X')
    
    row.prop(self, &quot;angle&quot;, slider=True)
    sub = row.row()
    sub.alignment = 'RIGHT'
    
    sub.enabled = self.angle &lt; radians(90) # doesn't work in F6
    sub.prop(self, &quot;double_angle&quot;, text=&quot;&quot;, icon='X')