コード例 #1
0
        private void BindActionToActionPanel(ProgressOperationAction action)
        {
            var button = actionPanel.Add(new Button()
            {
                Text = action.DisplayName, Tag = action
            });

            button.Pressed.SubscribeForLifetime(action.Action, button);
        }
コード例 #2
0
        private void UnbindActionToActionPanel(ProgressOperationAction action)
        {
            var toRemove = actionPanel.Controls.Where(c => c.Tag == action).SingleOrDefault();

            if (toRemove == null)
            {
                throw new InvalidOperationException("No action to remove");
            }

            actionPanel.Controls.Remove(toRemove);
        }
コード例 #3
0
 private void Actions_Removed(ProgressOperationAction action)
 {
     UnbindActionToActionPanel(action);
 }
コード例 #4
0
 private void Actions_Added(ProgressOperationAction action)
 {
     BindActionToActionPanel(action);
 }
コード例 #5
0
 private void BindActionToActionPanel(ProgressOperationAction action)
 {
     var button = actionPanel.Add(new Button() { Text = action.DisplayName, Tag = action });
     button.Pressed.SubscribeForLifetime(action.Action, button.LifetimeManager);
 }
コード例 #6
0
 private void Actions_Removed(ProgressOperationAction action)
 {
     UnbindActionToActionPanel(action);
 }
コード例 #7
0
 private void Actions_Added(ProgressOperationAction action)
 {
     BindActionToActionPanel(action);
 }
コード例 #8
0
        private void UnbindActionToActionPanel(ProgressOperationAction action)
        {
            var toRemove = actionPanel.Controls.Where(c => c.Tag == action).SingleOrDefault();
            if (toRemove == null)
            {
                throw new InvalidOperationException("No action to remove");
            }

            actionPanel.Controls.Remove(toRemove);
        }