Beispiel #1
0
 public void RaiseStateChangedEvent(LibraryComponent sender, LibraryComponentState state)
 {
     if (StateChangedEvent != null)
     {
         StateChangedEvent(sender, state);
     }
 }
Beispiel #2
0
        private void ComponentOnStateChangedEvent(LibraryComponent sender, LibraryComponentState state)
        {
            Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() =>
            {
                //add active items
                if (state == LibraryComponentState.Active)
                {
                    TreeViewItem item = new TreeViewItem();
                    item.Header       = ((LibraryComponent)sender).Caption;
                    item.Tag          = sender;

                    plugTree.Items.Add(item);

                    return;
                }
                //remove inactive items
                for (int index = 0; index < plugTree.Items.Count; index++)
                {
                    Control vi           = (Control)plugTree.Items[index];
                    var libraryComponent = vi.Tag as LibraryComponent;
                    if (libraryComponent != null)
                    {
                        if (sender == libraryComponent)
                        {
                            switch (state)
                            {
                            case LibraryComponentState.Active:

                                break;

                            case LibraryComponentState.Inactive:
                                plugTree.Items.Remove(vi);
                                libraryComponent.ComponentUI.FadeOut();
                                break;

                            case LibraryComponentState.Hidden:

                                break;

                            case LibraryComponentState.Static:

                                break;

                            default:
                                throw new ArgumentOutOfRangeException("state");
                            }
                        }
                    }
                }
            }));
        }
Beispiel #3
0
        private void LibraryAdder_ListenToChanges(TrackViewModel tk, Guid mguid)
        {
            if (myState != LibraryComponentState.Active)
            {
                RaiseStateChangedEvent(this, LibraryComponentState.Active);
                myState = LibraryComponentState.Active;
                App.Current.Dispatcher.BeginInvoke(new Action(() =>
                {
                    var mw = App.Current.MainWindow as MainWindow;
                    if (mw != null)
                    {
                        mw.hLibrary.grdDD.FadeOut();
                    }
                }));
            }

            if (myState != LibraryComponentState.Inactive && tk.Path == mguid.ToString())
            {
                RaiseStateChangedEvent(this, LibraryComponentState.Inactive);
                myState = LibraryComponentState.Inactive;
            }
        }