dynamic icon panel function